Диплом: Исследование и разработка информационной системы учета работы педагогических работников на примере ГБПОУ МО "Авиационный техникум имени В.А. Казакова"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
44
Library, STL), которая предоставляет обширный набор обобщенных
контейнеров и алгоритмов;
дополнительные типы данных;
обработка исключений;
виртуальные функции;
поддержка объектно-ориентированного программирования через классы.
C++ предоставляет все четыре возможности ООП — абстракцию,
инкапсуляцию, наследование (в том числе и множественное) и
полиморфизм.
перегрузка (overloading) операторов;
ссылки и операторы управления свободно распределяемой памятью.
поддержка обобщённого программирования через шаблоны функций и
классов;
пространства имён;
встраиваемые (inline) функции;
перегрузка имён функций;
C++ — язык, складывающийся эволюционно. В отличие от языков с
формальным определением семантики, каждый элемент C++ заимствовался из
других языков отдельно и независимо от остальных элементов (ничто из
предложенного C++ за всю историю его развития не было новшеством в
Computer Science), что сделало язык чрезвычайно сложным, со множеством
дублирующихся и взаимно противоречивых элементов, блоки которых основаны
на разных формальных базах. В этом отношении C++ повторяет путь PL/1, но, в
отличие от последнего, длительное повсеместное использование C++ обеспечил
выбор языка Си в качестве отправной точки [21].
Javaобъектно-ориентированный язык программирования, который
разрабатывается компанией Sun Microsystems с 1991 года и официально
выпущенный 23 мая 1995 года. Изначально этот язык программирования
назывался Oak (James Gosling) и разрабатывался для бытовой электроники, но
впоследствии был переименован в Java и стал использоваться для написания
апплетов, приложений для серверного программного обеспечения.
Программы на Java могут быть транслированы в байт-код, выполняемый
45
на виртуальной java-машине (JVM) – программе, обрабатывающей байт-код и
передающей инструкции оборудованию, как интерпретатор, но с тем отличием,
что байт-код, в отличие от текста, обрабатывается значительно быстрее.
Этот язык Java зародился как часть проекта создания передового ПО для
различных бытовых приборов. Реализация проекта была начата на языке C++, но
вскоре возникло несколько проблем, для борьбы с которыми было изменение
самого инструмента – языка программирования. Стало очевидно, что необходим
платформо-независимый язык программирования, позволяющий создавать
программы, которые не приходилось бы компилировать отдельно для каждой
архитектуры, и можно использовать на различных процессорах под различными
операционными системами.
Ява потребовался для создания интерактивных продуктов для сети
Интернет. Фактически, большинство архитектурных решений, принятых при
создании языка, было продиктовано желанием предоставить синтаксис, сходный
с языками C и C++. В Java используются практически такие же соглашения для
объявления переменных, передачи параметров, операторов и для управления
выполнением кода. В Java были добавлены все хорошие черты C++.
Три ключевых элемента объединились в технологии этого языка:
Java предоставляет для широкого использования свои апплеты (applets)
небольшие, надежные, динамичные, не зависящие от платформы активные
сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут
настраиваться и распространяться потребителям с такой же легкостью, как
любые документы HTML
Java высвобождает мощь объектно-ориентированной разработки
приложений, сочетая простой и знакомый синтаксис с надежной и
удобной в работе средой разработки. Это позволяет широкому кругу
программистов быстро создавать новые программы и новые апплеты
Java предоставляет программисту богатый набор классов объектов для
ясного абстрагирования многих системных функций, используемых при
работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов
заключается в том, что они обеспечивают создание независимых от
46
используемой платформы абстракций для широкого спектра системных
интерфейсов
Pythonинтерпретируемый объектно-ориентированный язык
программирования высокого уровня с динамической типизацией,
автоматическим управлением памятью и удобными высокоуровневыми
структурами данных, такими как словари (хэш-таблицы), списки, кортежи.
Поддерживает классы, модули (которые могут быть объединены в пакеты),
обработку исключений, а также многопоточные вычисления. Питон обладает
простым и выразительным синтаксисом. Язык поддерживает несколько
парадигм программирования: структурное, объектно-ориентированное,
функциональное и аспектно-ориентированное.
В таблице 1.4 приведены сравнительные характеристики языков
программирования.
Таблица 1.4
Сравнительная таблица основных характеристик рассматриваемых языков
программирования
Характеристики
C++
Java
Python
Принцип обработки кода
компилятор
компилятор/
интерпретатор
интерпретатор
Объектно-
ориентированный
+
+
+
Ручное управление
памятью
+
-
-
Перегрузка функций
+
+
-
Управление
асинхронными методами
и потоками
+
-
-
Механизм работы с
динамическими данными
и сборка мусора
-
+
-
Кроссплатформенность
+
+
+
В качестве языка программирования для ИС был выбран язык «C++», с
использованием среды разработки Qt Creator, так как он имеет встроенные
механизмы для работы с СУБД MySQL. Также имеется бесплатная версия этой
среды разработки, в ней можно создавать приложения для различных
операционных систем, в том числе Windows.
47
Минимальная версия операционной системы Windows на которой будет
работать ИС должна быть семь или выше.
1.5.3. Обоснование проектных решений по техническому обеспечению
Техническое обеспечение – совокупность технических средств,
компьютерной техники, средств передачи информации, используемых в
автоматизированных системах управления и в информационных системах.
Для функционирования программы по учёту работы педагогических
работников потребуется сервер с базой данных MSSQL, и несколько рабочих
станций, число которых зависит от желаемого числа пользователей, работающих
одновременно.
Минимальные системные требования сервера:
Видеоадаптер – любой.
Процессор – частота не менее 2,5 ГГц
Оперативная память – не менее 4 Гбайт
Свободное место на жёстком диске – не менее 500 Гбайт
Сетевая карта – любая
Минимальные системные требования рабочего места пользователя:
Видеоадаптер – любой.
Разрешение экрана – 1024х768 или более
Процессор – частота не менее 2 ГГц
Оперативная память – не менее 2 Гбайт
Свободное место на жёстком диске – не менее 120 Гбайт
Сетевая карта – любая
Сервер и компьютер рабочего места пользователя должны быть
объединены в локальную сеть.
Компьютеры, установленные в учебном заведении, превосходят
описанные параметры, поэтому их модернизация или замена не требуется.
48
II. Проектная часть
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Жизненный цикл информационной системы – это период создания и
использования информационной системы (ИС), начиная с момента
возникновения потребности в ИС и заканчивая моментом полного её выхода из
эксплуатации. Существует несколько моделей и стандартов, в той или иной
степени регламентирующих жизненный цикл:
ГОСТ 34.601-90 распространяется на автоматизированные системы и
устанавливает стадии и этапы их создания. Кроме того, в стандарте содержится
описание содержания работ на каждом этапе. Стадии и этапы работы,
закрепленные в стандарте, в большей степени соответствуют каскадной модели
жизненного цикла. [1]
ISO/IEC 12207:1995 стандарт на процессы и организацию жизненного
цикла. Распространяется на все виды заказного ПО [2].
Custom Development Method (и, методика Oracle) по разработке
прикладных информационных систем под заказ - конкретный материал,
детализированный до уровня заготовок проектных документов, рассчитанных на
использование в проектах с применением Oracle. Степень адаптивности CDM
ограничивается тремя моделями ЖЦ: "классическая" (предусмотрены все
работы/задачи и этапы), "быстрая разработка" (Fast Track), "облегченный
подход", рекомендуемый в случае малых проектов и возможности быстро
прототипировать приложения.
Rational Unified Process (RUP) предлагает итеративную модель разработки,
включающую четыре фазы: начало, исследование, построение и внедрение.
Каждая фаза может быть разбита на этапы (итерации), в результате которых
выпускается версия для внутреннего или внешнего использования. Прохождение
через четыре основные фазы называется циклом разработки, каждый цикл
завершается генерацией версии системы. Если после этого работа над проектом
не прекращается, то полученный продукт продолжает развиваться и снова
минует те же фазы. Суть работы в рамках RUP — это создание и сопровождение
49
моделей, а не бумажных документов, поэтому этот процесс привязан к
использованию конкретных средств моделирования (UML), а также конкретной
технологии проектирования и разработки (объектно-ориентированный анализ,
object-oriented analysis, OOA, объектно-ориентированное программирование,
object-oriented programming, OOP).
Microsoft Solution Framework (MSF) сходна с RUP, так же включает
четыре фазы: анализ, проектирование, разработка, стабилизация, является
итерационной, предполагает использование объектно-ориентированного
моделирования [11]. MSF в сравнении с RUP в большей степени ориентирована
на разработку бизнес-приложений [20].
Extreme Programming (XP). Экстремальное программирование является
самым новым среди рассматриваемых методологий, сформировалось в 1996 году.
В основе методологии командная работа, эффективная коммуникация между
заказчиком и исполнителем в течение всего проекта по разработке ИС, а
разработка ведется с использованием последовательно дорабатываемых
прототипов.
Для данного проекта выбран стандарт ISO/IEC 12207, который является
международным и его рекомендации представляются общими для любых
моделей жизненного цикла. Модель это структура, которая определяет
последовательность процессов, действий и задач на протяжении всего
жизненного цикла.
На сегодняшний день используются несколько основных моделей.
Наиболее востребованными оказались:
Каскадная.
Итерационная (с промежуточным контролем).
Спиральная.
Модели каскадная и с промежуточным контролем включают следующие
этапы ЖЦ ПО:
Анализ;
Проектирование;
Реализация и тестирование;
50
Внедрение;
Сопровождение.
Каскадная модель предполагает строго последовательную реализацию
перечисленных этапов жизненного цикла. Достоинства модели: формирование
на каждом этапе законченного комплекта документации и возможность
планирования сроков завершения работ и соответствующих затрат. Недостаток:
несоответствие реальному процессу создания ПО, который обычно не
укладывается в жесткую схему и требует возврата к предыдущим этапам до
уточнения или пересмотра принятых решений.
Модель с промежуточным контролем приближает жизненный цикл к
реальному процессу создания и применения ПО. В отличие от каскадной модели,
она допускает возврат каждого этапа жизненного цикла на любой предыдущий
этап для выполнения межэтапной корректировки. При этом обеспечивается
большая надежность ПО, но вместе с тем увеличивается длительность периода
разработки.
Этапы спиральной модели:
Анализ;
Проектирование;
Реализация и тестирование;
Внедрение прототипа;
Создание новой версии.
Эксплуатация
Спиральная модель жизненного цикла устраняет недостатки предыдущих
и упор в ней делается на начальные этапы: анализ и проектирование. На них
реализуемость технических решений проверяется с помощью создания
прототипов. Неполное завершение работ на очередном этапе позволяет
переходить на следующий этап. Незавершенная работа может выполняться на
следующем витке спирали, обеспечивая возможность предъявить пользователям
некоторый рабочий вариант для уточнения требований.
Для данного проекта оптимальной считаю спиральную модель, так как в
ней учтены все недостатки каскадной и итерационной модели. В процессе
тестирования промежуточных версий часто возникают новые замечания от
51
пользователей, которые можно реализовать на новом витке спиральное модели.
Краткое рассмотрение ключевых положений по каждому из этапов:
На этапе анализа необходимо получить информацию как происходит учёт
рабочего времени преподавателей. На этапе проектирования по результатам
анализа происходит проектирование структуры базы данных и программы. На
этапе реализации создаётся база данных, программируются элементы
программы, а также происходит тестирование и отладка.
Этап внедрения подразумевает развёртывание базы данных на сервере
предприятия, установка программы на рабочих станциях в учебной части и
аудиториях и настройка программы.
Существуют четыре основные стратегии внедрения системы:
Параллельная стратегия — для случая, когда старую работающую
систему необходимо заменить новой. Одновременно работают старая
(ручная) и новая система, и их выходные документы сравниваются.
Если они согласуются длительное время, осуществляется переход на
новую систему.
Скачок – резкий переход от старой системы к новой. Если данные не
точные и люди не обучены, то есть риск сорвать поставки и
финансовые расчеты.
Пилотный проект – это тактика скачка, но применяемая к
ограниченному числу изделий. Область применения стратегии – малый
участок деятельности. Такой подход наиболее надежен, он снижает
риск.
Узкое место — это малая часть производственного процесса. При
внедрении узкого места план внедрения выполняется только для
"узкого места" и для людей, работающих в нем.
Рассматриваемая задача автоматизирует малый участок производственной
деятельности, затрагивает сотрудников учебной части и преподавателей,
поэтому для рассматриваемой задачи выбрана стратегия узкого места.
На этапе эксплуатации необходимо заполнить первичные данные, т.е.
создать пользователей программы, заполнить списки студентов, группы, и т.д., а
52
также обучить пользователей, как работать с программой.
2.1.2. Ожидаемые риски на этапах жизненного цикла и их описание
При разработке проекта автоматизации предприятия выполняется
множество задач по управлению проектом, разработкой программного
обеспечения, проектирования и внедрения информационной системы. У каждой
задачи есть свои особенности и в ходе разработки существуют различные риски.
Причиной возникновения рисков являются неопределенности,
существующие в каждом проекте. Риски могут быть известными, то есть такими,
которые могут быть определены, оценены и для которых возможно
планирование. Под неизвестными рисками следует понимать те риски, которые
не идентифицированы и не могут быть заранее спрогнозированы.
Наиболее распространённые риски:
внутренние сложности календарного планирования;
увеличение требований со стороны заказчика в ходе реализации
проекта;
текучка кадров;
низкая производительность.
Последний по счёту риск зависит непосредственно от разработчиков. На
оставшиеся оказывают влияние либо внешние факторы, либо работа менеджера
проекта [10].
Внутренние сложности календарного планированияпри составлении
планов часто следуют пожеланию заказчика или завышенными оценками
возможностей работников. В результате происходит расхождение планов и
сроков проекта. Если срок сильно занижен, то появляются проблемы с
заказчиком и перерасход ресурсов. Если срок завышен, то можно потерять
клиента, т.к. могут найтись конкуренты, которые смогут сделать быстрее.
Для снижения риска нужно заложить запас времени на случай ошибок
планирования, а также возникновения непредвиденных ситуаций, а также
максимально привлекать программистов к оценке сроков.
Увеличение требований со стороны заказчика в ходе реализации
проектаво время разработки заказчик может менять требования к программе,
53
особенное если это большой проект, что ведёт к дополнительным трудозатратам.
Чтобы уменьшить риск, нужно закладывать 1% изменений в месяц и
также регулярно обсуждать с заказчиком изменение сроков. Использовать
расстановку приоритетов вместо избегания изменений, что позволит
рационально выполнить новые требования.
Текучка кадровв случае увольнения сотрудника, который уже вовлечён
в проект, придётся его заменить и это потребует время.
Для снижения риска нужно чтобы определённая задача выполнялась не
только одним человеком, и устраивать «пятиминутки», чтобы остальные
участники знали, чем занимаются другие. Требуется создать комфортную среду
и замотивировать сотрудников для уменьшения желания уволиться. [19]
Низкая производительность – производительность сотрудников или
одного человека трудно оценить т.к. она постоянно меняется. Важное значение
имеет следствие закона Паркинсона: команда разработчиков активизируется
только к концу срока сдачи проекта, а в остальное время работает в полсилы.
Поэтому необходимо разбивать задачу на короткие этапы создавая
ощущение скорого дедлайна.
2.1.3. Организационно-правовые и программно-аппаратные средства
обеспечения информационной безопасности и защиты информации
Меры по защите информации в разрабатываемой информационной
системе включает в себя следующее:
защита информации от внутренних угроз;
защита информации от внешних угроз.
Защита от внутренних угроз. В программе используется разделение
прав доступа. После запуска программы появляется окно авторизации, где
необходимо ввести логин и пароль. После пяти неверных попыток входа
программа блокируется на пять секунд, что затрудняет подбор пароля.
Предусмотрено три уровня доступа:
Администратор – 0

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран