Министерство образования и науки Российской Федерации
ФГБОУ ВО РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ
ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
(РГГМУ)
Институт Информационных систем и геотехнологий
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ
БАКАЛАВРСКАЯ РАБОТА
На тему «Разработка информационной системы по составлению расписания проведения
учебных занятий в ВУЗе с использованием ГИС-методологии»
Исполнитель ______________Ильин Максим Алексеевич ___ ________________
(фамилия, имя, отчество)
Руководитель ___________к.т.н., доцент кафедры ПИ________________________
(ученая степень, ученое звание)
_____________________Яготинцева Наталья Владимировна_________________
(фамилия, имя, отчество)
«К защите допускаю»
Заведующий кафедрой _______________
(подпись)
_________________доктор технических наук, профессор___________________ (ученая
степень, ученое звание)
_____________________Истомин Евгений Петрович_______________________
(фамилия, имя, отчество)
«___»__________20__г.
Санкт–Петербург
2020
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .............................................................................................................. 5
1 ГЛАВА – АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ, СФЕРЫ ПРИМЕНЕНИЯ
СИСТЕМЫ
ПО
АВТОМАТИЗИРОВАННОМУ
СОСТАВЛЕНИЮ
РАСПИСАНИЯ ....................................................................................................... 8
1.1 Анализ типовой структуры организации ВУЗа ............................................. 8
1.1.1 Миссия организации ...................................................................................... 8
1.1.2 Управленческая структура ВУЗа .................................................................. 9
1.1.3 Состояние информационных технологий на примере РГГМУ ............... 11
1.1.4 Модель процесса составления расписания «as-is» ................................... 12
1.1.5 Модель потоков данных в ВУЗе, в процессе формирования учебного
расписания ............................................................................................................. 15
1.2 Обоснование выбранной задачи .................................................................... 16
1.2.1 Особенности предметной области.............................................................. 16
1.2.2 Обоснование потребности информатизации процесса ............................ 18
1.3 Анализ требований и концептуальное проектирование Информационной
Системы.................................................................................................................. 19
1.3.1 Описание используемой методологии выработки функциональных
требований и алгоритмов оптимизации и их результаты ................................. 19
1.3.2 Исследование информационной системы автоматизирующей процесс
составления расписания и еѐ влияния на организацию .................................... 21
1.3.3 Стадии проектирования и разработки ....................................................... 25
1.3.4 Технико-экономическое обоснование ....................................................... 26
2 ГЛАВА – ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ПО
АВТОМАТИЗИРОВАННОМУ СОСТАВЛЕНИЮ РАСПИСАНИЯ .............. 30
2.1 Разработка UML Диаграмм ............................................................................ 30
2.1.1 Разработка диаграммы вариантов использования .................................... 30
2.1.2 Разработка диаграмм последовательности ................................................ 32
2
2.1.3 Разработка диаграммы развѐртывания ...................................................... 43
2.1.4 Разработка диаграммы компонентов ......................................................... 44
2.1.5 Разработка ER диаграммы ........................................................................... 46
2.1.6
Разработка
диаграммы
процессов
по
нотации
IDEF0
внутри
Информационной Системы .................................................................................. 47
3 ГЛАВА – РЕАЛИЗАЦИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ ПО
АВТОМАТИЗИРОВАННОМУ СОСТАВЛЕНИЮ РАСПИСАНИЯ .............. 50
3.1 Реализация интерфейса................................................................................... 50
3.1.1 Главное меню................................................................................................ 50
3.1.2 Меню просмотра .......................................................................................... 51
3.1.3 Меню вноса параметров автоматизированного составления расписания
................................................................................................................................. 52
3.1.4 Меню импорта данных из xlsх файлов ...................................................... 53
3.1.5 Меню экспорта расписания ......................................................................... 54
3.1.6 Меню справки ............................................................................................... 55
3.2 Реализации Базы Данных ............................................................................... 58
3.2.1 Таблица «Группы» ...................................................................................... 58
3.2.2 Таблица «Аудитории» ................................................................................. 59
3.2.2 Таблица «Преподаватели» .......................................................................... 60
3.2.3 ТАБЛИЦА «ПРЕДМЕТЫ».......................................................................... 60
3.2.4 Таблица «Учебный план» ............................................................................ 61
3.2.5 Таблица «Расписание» ................................................................................. 62
3.2.6 Таблица «Настройки» .................................................................................. 62
3.2.7 Примеры кода работы программы с базой данных .................................. 63
3.3 Реализация алгоритма автоматической генерации расписания ................. 66
3.4 Тестирование ................................................................................................... 70
4 ГЛАВА – РАСЧЁТ НАДЁЖНОСТИ СИСТЕМЫ .......................................... 71
ЗАКЛЮЧЕНИЕ ..................................................................................................... 75
СПИСОК ЛИТЕРАТУРЫ..................................................................................... 77
ПРИЛОЖЕНИЕ А (ISA АНАЛИЗ)...................................................................... 81
3
ПРИЛОЖЕНИЕ Б .................................................................................................. 82
4
ВВЕДЕНИЕ
В
эпоху
стремительного
научно-технического
и
социально-
экономического развития, всѐ больше людей стремятся и имеют возможность
получать образовательные услуги, в частности услуги ВУЗов.
Несмотря на перспективы получения большого количества сотрудников
высокой степени квалификации, такая ситуация так же ведѐт к появлению
административных сложностей. Данные сложности наиболее широко
проявляют себя в сфере ручной обработки большого массива данных,
основой которых служат: сведенья о большом числе групп, данные о
направлениях их подготовки и соответствующим им занятиям, а также
данные аудиторного фонда, преподавательского состава и технического
обеспечения университета. Ярким последствием подобных сложностей,
обусловленных составлением расписания в ручном режиме с учѐтом
большого числа групп, ограниченного аудиторного фонда и минимально
необходимого учебного персонала, является неизбежное возникновение
ошибок, вызванных человеческим фактором. К таким ошибкам можно
отнести совмещение занятий разных групп в одном учебном помещении или
у одного преподавателя, в одно и то же время. Не меньшую проблему
вызывает и решения проблемы ограничений аудиторного фонда, путѐм
распределения учебных занятий групп по разным корпусам, территориально
расположенных на значительном удалении друг от друга. Результатом этого
становятся проблемы перемещения, как студентов, так и преподавателей из
одного здания в другое в непредназначенные для этого моменты времени
(короткие
перерывы).
В
силу
вышеперечисленного,
создание
автоматизированных средств по генерации и оптимизации, учитывающей
географическую удалѐнность корпусов, расписания учебных занятий,
является сложной и достаточно актуальной задачей.
Объектом исследования данной работы является типовая структура
высшего учебного заведения, на примере Российского Государственного
5
Гидрометеорологического Университета, обуславливающая возникновение и
возможные пути решения проблемы нерационального применения ресурсов
выражающиеся в некорректном учебном расписании. Основным предметом
исследования является процесс составления и оптимизации учебного
расписания.
Цель данной работы – разработка ИС автоматизации процесса
составления расписания с учѐтом ГИС методологии. Под Гис методологией
подразумевается учѐт удалѐнности корпусов, для недопущения перехода
между ними в непредназначенные для этого перерывы между занятиями.
Это, при правильно подобранном алгоритме расставления занятий и
возможности ВУЗа предоставить минимально необходимое количество
учебных помещений и преподавателей, может решить множество проблем,
вызванных человеческим фактором.
В данной работе были применены следующие методы и технологии для
достижения цели:
1 Применение нотации IDEF для анализа и моделирования процессов;
2 Применение
нотации
UML
для
формирования
модели
информационной системы;
3 Сравнительный анализ, представленных на рынке информационных
систем схожего назначения, для выработки основных требований к
программе;
В ходе выполнения и написания ВКР были использованы следующие
вспомогательные программы: пакет программ Microsoft Office и программа
построения ER диаграммы – ValentinaStudio.
Для непосредственной реализации проекта ВКР, а именно программы по
автоматизации процесса составления расписания были применены:
1 Объектно-ориентрованный
язык
программирования
высшего
уровня – Java, посредством открытого пакета разработки Open
JDK[1];
2 Интеллектуальная среда программирования – «NetBeans IDE» [2];
6
3 Встраиваемая база данных – SQLite[3];
4 Среда проектирования баз данных – «SQLiteStudio» [4];
5 Свободно
распространяемая
библиотека
java
JDBC[5],
–
организующая подключение программ написанных на языке java к
базам даных;
6 Свободно
распространяемая
библиотека
java
–
POI[6],
обеспечивающая взаимодействия с офисными документами;
Результаты данной ВКР содержат:
1 Разработанную программу по составлению расписания с учѐтом
ГИС методологии, а так же описывающие еѐ модели;
2 Расчѐт надѐжности информационной системы, частью которой
является разработанная программа;
7
1 глава – Анализ предметной области, сферы применения системы по
автоматизированному составлению расписания
1.1 Анализ типовой структуры организации ВУЗа
1.1.1 Миссия организации
Высшее учебное заведение (ВУЗ), представляет собой многопрофильное
государственное учреждение. Одной из целей ВУЗа, согласно статье 69
федерального
закона
№273-ФЗ,
высококвалифицированных
кадров
является
обеспечение
по
основным
всем
подготовки
направлениям
общественно полезной деятельности в соответствии с потребностями
общества
и
государства,
удовлетворение
потребностей
личности
в
интеллектуальном, культурном и нравственном развитии, углублении и
расширении образования, научно-педагогической квалификации. Помимо
этой задачи, ВУЗы могут осуществлять другие виды деятельности,
включающие в себя[7]:
1 Развитие наук и искусств посредством научных исследований и
творческой деятельности научно-педагогических работников и
обучающихся,
использование
полученных
результатов
в
образовательном процессе[8];
2 Подготовка, переподготовка и повышение квалификации работников
с высшим образованием и научно-педагогических работников
высшей квалификации;
3 Формирование у обучающихся гражданской позиции, способности к
труду и жизни в условиях современной цивилизации и демократии;
4 Сохранение и приумножение нравственных, культурных и научных
ценностей общества;
5 Распространение
знаний
среди
населения,
образовательного и культурного уровня.
8
повышение
его
Уникальной
миссией
гидрометеорологического
Российского
университета
можно
государственного
назвать
подготовку
специалистов гидрометеорологического профиля подготовки, а так же
специалистов
иных
дисциплин,
владеющих
начальными
знаниями,
связанными с гидрометеорологией и еѐ ответвлениями географического,
экономического и иных характеров[9].
В рамках имеющегося задания, исследование задач организации будет
происходить преимущественно в сфере его образовательной деятельности, в
частности организации учебного процесса. Прочие задачи ВУЗа, могут быть
частично освещены в данной работе, при их весомом воздействии на
основную цель исследования.
1.1.2 Управленческая структура ВУЗа
Типовая организационная структура управления ВУЗом представлена в
виде линейной модели управления. Структура ВУЗа представлена на рис 1.
рисунок 1 – структура управление ВУЗом;
9
В организации, ректор является главной фигурой управления, под
непосредственным управлением которого находиться администрация ВУЗа,
включающая в себя различные отделы, возглавляемые либо Проректорами
конкретных направлений, либо иными уполномоченными лицами. В тоже
время, структура организации предусматривает наличие совещательного
органа при ректоре – учѐного совета. В должностные обязанности ректора
входит:
1 организация
деятельности
финансово-хозяйственной
и
вуза
сотрудников,
(установка
оклада
производственной
размера
стипендии учащихся и пр.);
2 руководство образовательной деятельностью;
3 выработка стратегии развития вуза;
4 руководство, работой всех подразделений вуза, включая учебную и
научно-исследовательскую часть;
5 издание приказов, утверждение правил приема абитуриентов в вуз;
6 прием и увольнение сотрудников, определение их должностных
обязанностей;
7 утверждение расписания, структуры вуза;
8 обеспечение охраны труда и пожарной безопасности;
9 подготовка финансовых и иных отчетов о работе вуза и пр.
Под непосредственным управлением ректором находятся все проректора
ВУЗа, а также главы всех департаментов, осуществляющих обслуживание
организации.
В
задачи
проректора
по
учебной
работе,
входит
управление
библиотечным фондом, а также осуществления контроля выполнения задач,
связанных с осуществлением мероприятий, связанных с образовательным
процессом:
1 Приѐм студентов;
2 Составления расписания;
3 Составления учебных программ;
10
4 Контроль работы факультетов и кафедр.
В задачи проректор по научной работе входит координирование научной
деятельности ВУЗа, в том числе организации деятельности аспирантуры и
отделов дополнительного образования.
В задачи проректора по административно-хозяйственным работам и
комплексной безопасности входит контроль за: состоянием учебных
аудиторий, общежитий, столовых и служб безопасности ВУЗа. Кроме того,
на него возлагаются обязанности по контролю склада.
В задачи главы департамента по внешним связям входит контроль
рекламных функций ВУЗа, таких как привлечение новых студентов и
сотрудников к организации и еѐ деятельности.
Задачи
экономико-юридического
управления
заключаются
в
обеспечении легитимности работы ВУЗа, защиты его прав в суде, контроль
финансов и выдача заработных плат и стипендий, осуществление приѐма на
работу сотрудников[10].
1.1.3 Состояние информационных технологий на примере РГГМУ
В рамках данной работы было проведено изучение технического
оснащения
Университета,
организации
с
целью
Российского
выявления,
Гидрометеорологического
аппаратных
возможностей
для
дальнейшего введения информационных систем.
Организация обладает техническое обеспечение в виде комплексов
компьютеров, представленных как моноблоками, так и системными боками с
полным набором периферических устройств, как для административной
работы, так и для учебной деятельности. Так же, в собственности ВУЗа
находиться сервер, обеспечивающий работоспособность информационного
сайта университета. Помимо этого, организация обладает собственным
сервисом электронной почты, обеспечиваемым тем же сервером.
11
Предприятие
обладает
географически
разрозненной
структурой,
выраженной наличием корпусов учреждения в различных частях города. Для
решения
проблемы
пользователями,
передачи
находящимися
данных
в
между
различных
компьютерными
корпусах,
используется
локальные сети, объединѐнные в единую структуру через глобальную сеть
интернет. Такое решение позволяет хранить данные в общем доступе, с
возможностью их применения с любого устройства подключенного к сети.
В качестве программного обеспечения, в организации применяется
операционные системы Windows, различных версий, а так же наборы
прикладных программ, таких как Microsoft Word, Excel и д.р.
1.1.4 Модель процесса составления расписания «as-is»
В процессе осуществления своей основной задачи по формированию
требуемого уровня знаний и умений у обучающихся, организация (ВУЗ)
использует комплекс мероприятий, включающих в себя задействование
персонала, учебных пособий и аудиторного фонда, для обеспечения
обучающего процесса. Важной особенностью процесса обучения, является
наличие
учебного
расписания,
главной
целью
которого
является
координирование деятельности студентов и персонала для наиболее полного
выполнения плана всех мероприятий. Наибольшее влияние на составление
учебного расписания оказывают следующие факторы:
1 Объем аудиторного фонда;
2 Наличие персонала необходимой квалификации;
3 Регламент
составления
расписания,
или
другие
внутренние
документы организации;
4 Нормативные документы и стандарты Министерства Науки и
Высшего Образования;
5 Законы РФ;
12
Помимо вышеперечисленного, на составление расписания так же
влияют:
1 Личные предпочтения работников;
2 Иные задачи и цели, стоящие перед ВУЗом;
3 Расположение зданий ВУЗа (для заведений, имеющих несколько
учебных корпусов);
4 Транспортная система;
5 Наличие предприятий питание в зданиях ВУЗа, или в его
окрестностях.
Рассматриваемая деятельность, осуществляемая ВУЗом, носит, в
большей своей части, просветительско-обучающий характер. Однако, в силу
особенностей (возрастных, социальных, экономических и д.р.) присущих
основному кругу потребителей (студентам), организация вынуждена так же
брать на себя выполнение таких задач как:
1 Размещение (общежития);
2 Питание;
3 Правово-социальная
сторонних
поддержка
организаций
(подготовка
(транспортные
документов
организации,
для
армия,
медицинские учреждения и д.р.) и их передача);
4 Организация досуга;
В рамках проекта по автоматизации процесса составления расписания
были исследованные входные и выходные документы, напрямую связанные с
исследуемым процессом. К входным документам, на основании которых
строиться расписание можно отнести:
1 Регламент расписания учебных занятий, под подписью ректора или
проректора по учебно-методической работе;
2 Учебная нагрузка преподавателей;
3 Список используемого аудиторного фонда;
4 Мотивированные пожелания преподавателей;
5 Список групп.
13
Часть документов предоставляется в виде excel таблиц, либо совместно
с ними. Среди вышеперечисленных документов Регламент расписания
учебных занятий, является наиболее постоянным внутренним документом
ВУЗа, который в обязательном порядке содержит главы:
1 Общие положения;
2 Требования к расписанию учебных занятий;
3 Порядок
взаимодействия
со
структурными
подразделениями
университета;
4 Оценка качества расписания.
Прочие документы, кроме списка аудиторного фонда, предоставляются
управляющими кафедр.
Выходным документом является само расписание, на титульном листе
которого проставляется печать организации и подпись ответственного за
расписание лица (проректор, ректор).
После получения всей требуемой документации, лицо, отвечающее за
составление расписания, в полуавтоматическом режиме при использовании
программы excel, составляет расписание. После составления макета
расписания, оно передаѐтся в учебно-методический отдел для проверки его
соответствия рабочим учебным планам, календарным учебным графикам,
аудиторной нагрузке на группу/подгруппу студентов в день и на неделю,
аудиторной нагрузке преподавателя в день и т.д.
В случае наличие ошибок или недоработок, расписание возвращается на
исправление ошибок, после чего вновь проходит проверка. Если расписание
удовлетворяет всем нормам оно публикуется на сайте и стендах организации
в течении нескольких дней.
После публикации расписания, начинается приѐм заявок на изменение
расписания, при удовлетворении которых происходит изменение расписания
и публикация нового варианта.
14
1.1.5 Модель потоков данных в ВУЗе, в процессе формирования учебного
расписания
В рамках темы ВКР, был исследован документооборот, происходящий
во время процесса составления и обновления расписания. Было выявлено,
что в документообороте процесса первичного составления расписания
участвуют три вида документации:
1 Организационная документация – регламент составления расписания
2 Распорядительная документация – приказ на составление расписания
под подписью ректора или проректора
3 Информационно-справочная – документы, получаемые от кафедр и
управления хозяйственными комплексами (Списки групп, учебная
нагрузка преподавателей, пожелания преподавателей, аудиторный
фонд);
Модель DFD потоков данных, процесса формирования первичного
расписания, представлена на рисунках 2 и 3[11].
Рисунок 2 – Верхний уровень модели DFD потоков данных
15
Рисунок 3 – Второй уровень модели DFD потоков данных
После создания первичного расписания, в качестве дополнительных
данных влияющих на дальнейший внос изменений в расписание, в модель
потока данных включаются служебные записки от преподавательского
состава. Данные документы представляют собой обратную связь с научным
персоналом и сигнализируют о наличии не состыковок и ошибок в
расписании, требующих внесения в него изменений.
1.2 Обоснование выбранной задачи
1.2.1 Особенности предметной области
Особенность
процессов,
сущность
которых
заключается
в
распределении различного типа ресурсов, в том числе и временных, всегда
состоит в потребности рационализации результата с учѐтом факторов
психологического
принятия.
Другими
словами,
задача
составления
расписания, помимо естественных требований к непротиворечивости,
заключающихся в отсутствии наложения занятий друг на друга в какой-либо
16
форме,
осложнена
задействованных
в
потребностью
реализации
учитывать
основных
интересы
функций
сторон,
организации
с
применением составленного расписания.
Применительно к задаче составления учебного расписания в ВУЗе,
данная особенность требуют учѐта следующих факторов:
1 Локализация образовательного процесса в конкретном учебном
корпусе, по крайней мере, в рамках одних суток;
2 Недопущение
нерационального
использования
ограниченных
ресурсов;
3 Учѐт пожеланий преподавательского состава к распределению
занятий в учебном расписании.
Рассмотрим представленные выше факторы подробнее.
Локализация образовательного процесса в рамках одного здания
(корпуса),
требуется
для
предоставления
преподавательскому
и
студенческому составу, достаточного количества времени применяемого в:
процессе подготовки к продолжению учебной деятельности, в том числе
переходе в иные аудитории; осуществлении обеденного перерыва; получении
физического и психологического отдыха. Учѐт данного фактора в течение, по
крайней мере, одних суток, позволяет исключить нагрузку, вызванную
необходимостью перемещения между корпусами, негативно влияющую на
проведение учебно-образовательной деятельности.
Недопущение использования ресурсов организации в нерациональном
виде, обосновывается их ограниченностью. Результатом их необоснованного
и бесконтрольного применения, может стать снижение эффективности
работы всей организации, вызванное невозможностью применения ресурсов
в критически зависящих от них процессах.
Учѐт пожеланий преподавательского состава, в процессе составления
расписания, требуется для снижения уровня напряжѐнности. Статистически,
результатами подобных решений является повышение производительности
труда и уровня вовлеченности в него персонала организации.
17
1.2.2 Обоснование потребности информатизации процесса
Процесс составления расписания требует учѐта многих факторов и
рассмотрения множества вариантов решений. При составлении расписания в
ручном режиме, даже с использованием рационализированных алгоритмов,
высока вероятность ошибок вызванных человеческим фактором. Результатом
этого является необходимость задействования больших временных ресурсов
для недопущения или устранения ошибок, а также упрощение методов
формирования расписания, а соответственно снижения к ним требований.
В тоже время использование автоматизированных систем позволяет
применять более ресурсоѐмкие и сложные алгоритмы анализа имеющейся
информации и синтеза на еѐ основе расписания в короткие сроки без
увеличения количества ошибок, возникающих при реализации алгоритмов и
потери их эффективности. Однако при таком варианте решения проблемы
возникают свои недостатки, обоснованные невозможностью учѐта системой
всех возможных факторов влияющих на итоговый вид расписания.
Таким
образом,
наиболее
эффективным
решением
является
использование комбинированного подхода. При нѐм начальное расписание
генерируется при помощи автоматизированных средств, что позволяет
получить опору для дальнейшей модификации, учитывающую основные
требования к расписанию, такие как непротиворечивость, локализация
учебного процесса и так далее. Затем, специалист отдела по составлению
расписания, может проводить коррекцию сгенерированного расписания,
вручную подгоняя под особенности конкретного ВУЗа.
Такой подход
позволяет снизить нагрузку на персонал отдела расписания, снимая с него
необходимость
формирования
предоставляет
возможность
всего
расписания,
составления
учитывающего возможные требования.
18
и
в
расписания,
тоже
время
максимально
1.3 Анализ требований и концептуальное проектирование
Информационной Системы
1.3.1 Описание используемой методологии выработки функциональных
требований и алгоритмов оптимизации и их результаты
В процессе формирования требований к функциональным возможностям
проектируемой,
в
рамках
выпускной
квалификационной
информационной системы, был проведѐн анализ
работы,
имеющихся на рынке
аналогов системы.
По
результатам
проведѐнного
анализа
разрабатываемая
информационная система должна будет включать в себя следующие
основные и дополнительные функции.
Основные функции:
1 Составление расписания в автоматическом режиме;
2 Ручное редактирование расписаний;
3 Сведений окон между парами к минимуму;
4 Ограничение дневного объѐма пар[12]
Дополнительные функции:
1 Учѐт занятости аудитории;
2 Учѐт предпочтений преподавателей;
3 Вывод информации в EXEL, XLSХ;
4 Учѐт максимально допустимого количества занятий в день у
студентов и преподавателей;
5 Разбиение групп на подгруппы.
Для обеспечения оптимальности составляемого расписания необходимо
формирование целевой функции для еѐ дальнейшего применения в
алгоритмах оптимизации. Данная функция должна основываться на
входящих,
в
проектируемую
информационную
систему,
потоках
информации, а также типе применяемого алгоритма оптимизации. Схема,
19
взаимодействующих с информационной системой потоков информации
представлена на рисунке 4.
Рисунок 4 – схема информационных потоков, взаимодействующих с ИС
В качестве алгоритма общей оптимизации расписания предполагается
применение «Жадного» алгоритма, заключающегося в принятии локально
оптимальных решений на каждом этапе, допуская, что конечное решение
также окажется оптимальным [13]. Локально-оптимальное решение на каждом
этапе находится состязательным путѐм на основе оценок, выдаваемых ИС
тому или иному решению, в зависимости от степени его соответствия
требованиям к элементам расписания. Поиск локально-оптимального
решения происходит через нахождение максимума для элемента расписания.
При этом, целевая функция расчѐта оптимального элемента может быть
выражена следующей формулой:
(1)
где:
A – Свободность аудитории (0 или 1);
20
T – Свободность преподавателя (0 или 1);
Ds – Переход между корпусами студентов (1, если переход не должен
осуществляться, 1 если это возможно);
Dt – Переход между корпусами преподавателей (1, если переход не
должен осуществляться, 1 если это возможно);
P – Соответствие элемента расписания пожеланиям преподавателя (0 –
не соответствует, 1 – соответствует смена (утренняя / вечерняя), 2 –
соответствует требованию ко дню отдыха, 3 – соответствует всем
требованиям);
Ws – Возникновение окна у студентов (-0.5 если возникает, 0.5 если не
возникает);
Wt – Возникновение окна у преподавателя (-0.5 если возникает, 0.5 если
не возникает).
1.3.2 Исследование информационной системы автоматизирующей
процесс составления расписания и еѐ влияния на организацию
Исследование проектируемой ИС представлено в виде 4 типов анализа,
из которых 3 типа (SWOT, VCM, BPR) представлены в основной части
курсовой работы, а ISAанализ представлен в приложении A.
SWOT анализ
Программа
по
автоматизации
процесса
составления
расписания
призвана оптимизировать процесс обучения, используя в качестве критерия
оценки эффективность составляемого расписания и удовлетворение им
определенных требований (отсутствие окон в расписании, удовлетворение
персональных
предпочтений
рабочего
персонала,
отсутствие
перегруженности расписания). Введение данной программы может привести
к различным последствиям, указанным в приведѐнной ниже таблице SWOT
анализа (табл. 1).
21
таблица 1 – SWOT анализ.
Внутренняя среда
Внешняя среда
Сильные стороны
Ускорение разработки расписание;
Уменьшение влияния человеческого
фактора ошибки.
Привлечение большего числа
студентов/ сотрудников, за счѐт
создания комфортных условий
обучения/работы. Более
комфортные условия обучения, в
свою очередь, позволят студентам
более результативно использовать
время обучения в вузе, что повысит
их подготовленность к будущей
профессии и, следовательно,
повысит их конкурентоспособности[14].
Слабые стороны
Появление ошибок
машинного характера
(ошибки алгоритма).
Уменьшение
финансирования
организации, ведущие к
уменьшению штата
персонала, занимающегося
оптимизацией расписания и
выявлением ошибок
машинного характера.
VCM анализ
1 Оценка информационной емкости продуктов и процессов
Продукт ИС содержит в себе информацию о проведение учебной
деятельности. В него входит информация о преподавателях, группах,
аудиториях, и времени проведения занятий.
Процесс составление расписания содержит в себе информацию обо
всех возможных аудиториях, преподавателях и группах, которые
требуется связать в единое расписание.
2 В отрасли образования информационные технологии используются, как
способ хранения, демонстрации и передачи информации, как о
содержании занятий, так и о самих занятиях (время проведения, место
проведения, действующий преподаватель, группы, участвующие в
занятиях)
3 Способы, с помощью которых информационные технологии создают
конкретное преимущество:
Автоматизация составления расписания занятий, как следствие,
ограничение объѐма работ.
Ограничения на составления расписания вручную, не позволяющие
использовать занятые аудитории и занятых преподавателей повторно.
Хранение информации в электроном виде (быстрое создание копий,
малое количество занимаемого физического пространства)
Передача информации о расписании и/или содержании дисциплины
удалѐнно.
22
Использование технических устройств для проведения занятий.
4 Способы, как информационные технологии могут создавать новое
направление в обучение (бизнесе)
Удалѐнное обучение с помощью информационных средств.
Самостоятельное обучение с помощью информационных средств.
Появление
новых
обучающих
программ,
связанных
с
информационными технологиями.
5 План извлечение выгоды из использования ИС
Уменьшение издержки на ошибки в результате человеческого
фактора.
Уменьшение издержек на персонал.
Сокращение времени создания расписания.
BPR анализ
Данный тип анализа представляет собой две схемы процессов,
проходящих в организации до (рис 2) и после (рис 3) внедрения системы.
Рисунок 5 – процесс составления расписания до внедрения ИС
23
Рисунок 6 – процесс составления расписания после внедрения ИС
Как
видно
из
автоматизированному
структуру
вышеуказанных
составлению
составления
схем,
расписания
расписания.
внедрение
вносит
ИС
изменения
Автоматизированный
по
в
процесс
составления первичного расписания позволяет не допустить появление
наиболее неблагоприятных ошибок, связанных с объединением различных
занятий в одной аудитории, либо назначение одного преподавателя на
несколько пар. Система автоматического вывода расписания из программы
позволяет в кратчайшие сроки вывести расписание и передать его на
кафедры, для превентивного устранения ошибок машинного характера
24
(недостаточная оптимизация расписания относительно индивидуальных
пожеланий преподавателей). Направление человеческих ресурсов отдела
расписания на рассмотрение подобных заявок, а не на составление макета
расписания,
позволяет
более
тщательно
рассмотреть
пожелания
преподавателей, на предмет их обоснованности и непротиворечивости. Это
позволит вносить в расписания коррекции, не нарушающие его целостность и
непротиворечивость.
Проведение
всех
вышеуказанных
действий
до
согласования и, соответственно публикации расписания, позволяет не только
сократить бюрократическую деятельность, но и уменьшить возможности
неправильной трактовки версий расписания.
1.3.3 Стадии проектирования и разработки
При проектировании и разработке информационной системы можно
выделить шесть основных этапов, включающих в себя:
1 Разработка моделей;
2 Создание базы данных;
3 Написание кода программы;
4 Тестирование ИС;
5 Доработка и финальное тестирование ИС;
6 Выпуск готового продукта.
Более подробно стадии проектирования и реализации ИС, совместно с
под этапами и сроками выполнения каждого, представлены на диаграмме
Ганта (рисунок 7)[15]. Для оценки затрачиваемого на каждый этап времени,
был использован метод экспресс оценки трудоемкости и сроков создания
программного изделия на основе системы моделей с различной точностью
оценки. За основу нормирования данного метода используется число
исходных команд программного изделия, под которыми понимаются
уникальные строки.
25
Рисунок 7 – диаграмма Ганта
1.3.4 Технико-экономическое обоснование
Главной
целью,
разрабатываемого
в
рамках
выпускной
квалификационной работы приложения, является повышения качества, и
удобства расписания путѐм автоматизации части процессов, связанных с
рутинным трудом по составлению первичной формы расписания, и как
следствие
направление
оптимизации
освобождѐнных
расписания
под
ресурсов
конкретные
на
улучшения
условия.
и
Составление
качественного, оптимизированного учебного расписания должно повысить
производительность учебы студентов (благодаря отсутствию временных
потерь связанных с «окнами расписания»), и работы преподавателей
(благодаря учѐту личных пожеланий преподавательского состава), а так же
повысить
эффективность
использования
ограниченных
ресурсов
(специализированных классов).
Применение подобного приложения в рамках учебного заведения,
способно снизить количество время, требуемое для составления расписания,
что позволяет избежать потери учебных часов, которые могут быть вызваны
26
резкими и непрогнозируемыми изменениями в университете (изменение
преподавательского состава, аудиторного фонда, учебной программы и т.д.).
Также, внедрение подобного приложения снижает нагрузку на отделы
организации, связанные с процессами составления расписания, что позволяет
снизить требования к их сотрудникам и уменьшить их количество.
Себестоимость программного продукта, можно рассчитать как сумму
заработной платы вовлечѐнных в производство программы сотрудников и
стоимость применяемых в процессе разработке инструментов.
Рассмотрим заработную плату сотрудников вовлечѐнных в производство
программы, для вычисления еѐ итоговой стоимости и сотрудника отдела
расписания для последующего вычисления экономической эффективности
разработанной программы. Сведения взяты с сайта распространения
вакансий
[16, 17]
, по указанным, или схожим по обязанностям и требованиям,
должностям. Все данные представлены в таблице 2.
Таблица 2 – статистические данные по вакансиям
Должность
Данные по заработной плате
Минимальная
Максимальная
Средняя
Менеджер
по
организации
учебного процесса
Junior
Frontend
разработчик
Тестировщик
20,000 руб.
50,000 руб.
35,000 руб.
40,000 руб.
100,000 руб.
70,000 руб.
25,000 руб.
180,000 руб.
102, 500 руб.
Программный
инженер
40,000 руб.
120,000 руб.
80,000 руб.
Рассмотрим вовлечѐнные в производство программы инструменты:
1Open JDK – свободно распространяемый пакет разработки приложений
на языке Java;
2NetBeans IDE – свободно распространяемая среда программирования;
27
3SQLite – свободно распространяемая, встраиваемая, база данных.
Вследствие свободного распространения программного инструментария
создания компьютерного обеспечения, итоговая стоимость программы будет
основываться на стоимости оплаты труда сотрудников.
Рассчитаем на основе средней заработной платы (взятой за сутки),
вовлечѐнных в производство программного продукта, сотрудников и данных
об этапах, выделенных на диаграмме Ганта стоимость программного изделия.
Расчѐты представим в табличной форме (табл. 3)
Таблица 3 – расчѐт себестоимости программного продукта
Задача
Начало Завершение Длительность Исполнитель
1.Разработка моделей
05.02.20
26.02.20
28 Программный инженер
1.1.Анализ предметной области и
выявление требований к програмному
продукту
05.02.20
19.02.20
14 Программный инженер
1.2.Составление UML диаграмм
19.02.20
26.02.20
7 Программный инженер
1.3.Составление DFD диаграмм
26.02.20
04.03.20
7 Программный инженер
2.Создание базы данных
04.03.20
09.03.20
5 Front-End разработчик
3.Написание кода
09.03.20
10.04.20
32 Front-End разработчик
3.1.Написание программы взаимодействия
09.03.20
с базой данных
18.03.20
3.2.Написание графической части
18.03.20
27.03.20
3.3.Написание расчётной части
27.03.20
10.04.20
4.Тестирование, исправление ошибок
10.04.20
20.04.20
4.1.Тестирование
интерфейса
10.04.20
13.04.20
4.2.Тестирование математическилогического аппарата
4.3.Устранение неполадок
13.04.20
16.04.20
16.04.20
20.04.20
5.Доработка и финальное тестирование 20.04.20
09.05.20
5.1.Внесение добавочных функций
5.2.Тестирование добавочных функций
5.3.Исправление ошибок
6.Выпуск готового продукта
6.1 Написание технической литературы
6.2 Презентация проекта
Примерная стоимсоть проекта
02.05.20
05.05.20
09.05.20
16.05.20
15.05.20
16.05.20
16.05.20
20.04.20
02.05.20
05.05.20
09.05.20
09.05.20
15.05.20
05.02.20
9 Front-End разработчик
9 Front-End разработчик
14 Front-End разработчик
10 Тестировщик+Разработчик
3 Тестировкщик
3 Тестировкщик
4 Front-End разработчик
19 Тестировщик+Разработчик
12 Front-End разработчик
3 Тестировкщик
4 Front-End разработчик
7 Программный инженер
6 Программный инженер
1 Программный инженер
101
ЗП (за сутки) Итог
2 666,67 ₽ 74 666,67 ₽
2 666,67 ₽
2 666,67 ₽
2 666,67 ₽
2 333,33 ₽
2 333,33 ₽
37 333,33 ₽
18 666,67 ₽
18 666,67 ₽
11 666,67 ₽
74 666,67 ₽
2 333,33 ₽
2 333,33 ₽
2 333,33 ₽
3 055,56 ₽
3 416,67 ₽
21 000,00 ₽
21 000,00 ₽
32 666,67 ₽
30 555,56 ₽
10 250,00 ₽
3 416,67 ₽ 10 250,00 ₽
2 333,33 ₽ 9 333,33 ₽
2 694,44 ₽ 51 194,44 ₽
2 333,33 ₽
3 416,67 ₽
2 333,33 ₽
2 666,67 ₽
2 666,67 ₽
2 666,67 ₽
28 000,00 ₽
10 250,00 ₽
9 333,33 ₽
18 666,67 ₽
16 000,00 ₽
2 666,67 ₽
261 416,67 ₽
Таким образом, итоговая себестоимость программы будет составлять
261416,67 рублей.
Для дальнейшего расчѐта экономическо эффективности внедрения
данного приложения в структуру предприятия следует вычислить прибыль,
которое может оно принести. С точки зрения финансовой стороны
предприятия, прибылью можно считать уменьшение издержек на оплату
труда сотрудников. В частности, внедрения подобного приложение должно
28
привести к уменьшению требований к должности менеджера по организации
учебного процесса. В свою очередь это может привести к уменьшению
размера заработной платы или упразднение самой должности с передачей
части еѐ обязанностей, неавтоматизированных информационной системой,
другим лицам. В обоих случаях объѐм затрачиваемых средств уменьшается, в
том числе с учѐтом увеличения заработной платы сотрудника берущего на
себя обязанности упраздняемой должности. Таким образом, при упразднении
должности с передачей еѐ полномочий другому сотруднику, с увеличением
его заработной платы на 10000 рублей, экономическую эффективность
можно рассчитать по следующей формуле:
Ээф = Эгод – (К * Е), где
(2)
Ээф – экономическая эффективность;
Эгод – годовой экономический эффект от внедрения приложения
(соответствует разнице между годовой зарплатой менеджера по организации
учебного процесса и годовой прибавке для другой должности (300 000 руб));
К – затраты на реализацию (без учѐта затрат на помещение,
электроэнергию и т.д., (261416,67 руб));
Е – нормативный эффект экономической эффективности капитальных
вложений (0,15)[18].
Следовательно, экономическая эффективность буде равна:
Ээф= 300 000 – (261416,67 * 0,15) ≈ 260 787,49;
А окупаемость в годах (Т), рассчитывающаяся как отношение затрат к
прибыли за год: Т = 261416,67 / 300000 = 0,8713889. Отсюда мы видим, что
спроектированные приложение окупается в течение года.
29
2 глава – Проектирование Информационной Системы по
автоматизированному составлению расписания
2.1 Разработка UML Диаграмм
2.1.1 Разработка диаграммы вариантов использования
В рамках этапа проектирования, была разработана диаграмма вариантов
использование (use-case diagram), описывающая основополагающие функции
разрабатываемой информационной системы, а также функции, входящие в
составах основных или расширяющие их[19] (рисунок 6).
Рисунок 8 – UML диаграмма вариантов использования
30
В ходе анализа требований к системе, был выявлен основной актѐр,
обозначенный в диаграмме как «Пользователь», через которого идѐт вся
непосредственная работа с ИС. В рамках текущего проекта предполагается,
что данным пользователем будет являться работник отдела расписания.
Действия, которые указанный пользователь может ожидать от системы,
условно можно разделить на четыре типа:
Внесение данных;
Просмотр данных;
Удаление данных;
Работа с расписанием.
В то время, как первые три функции характерны для любой
информационной системы, работающей с информацией, четвѐртая является
отличительной особенностью, характерной для систем планирования
деятельности,
в
число
которых
можно
отнести
и
проектируемую
информационную систему. Рассмотрим подробнее указанные на диаграмме
функции.
Функция внесения данных включает в себя возможность внесения
информации через форму, как через основной источник вводимой
информации.
Однако
импортирования
данная
данных
из
функция
внешнего
расширяется
источника
возможностью
(Excel
файлов),
позволяющих загружать большие объѐмы заранее структурированной
информации миную необходимость еѐ вода.
Функция просмотр данных, отвечает за возможность отображения как
введѐнной, так и сгенерированной самой информационной системой
информации,
соответственно
данная
функция
обобщает
«просмотр
введѐнных ранее данных» и «просмотр сгенерированного расписания»,
связанных с ней связью включения. Однако, данная функция расширена
возможностью «вывода» расписания во внешний источник в виде Excel
файла.
31
Функция удаления данных предназначена для избавления программы от
лишних данных, мешающих составлению расписания, а также освобождению
ресурсов компьютера, для его более быстрой работы.
Функция работы с расписанием, включает в себя наиболее важные для
данной ИС функции, а именно автоматическую генерацию расписания, и
внесение в неѐ изменений. Эта функция носит знаковый характер для ИС,
отличающей еѐ от других.
2.1.2 Разработка диаграмм последовательности
На основании диаграммы вариантов использования, был проведѐн
следующий этап проектирования ИС – разработка сценариев поведения ИС и
основывающихся на них диаграмм последовательностей (sequence diagram).
Данный этап работы призван показать алгоритмы взаимодействия ИС с
пользователем, а также описать основные, задействованные в выполнении
вызываемых
функций,
компоненты
программного
обеспечения.
На
основании этих сценариев и диаграмм, в дальнейшем, будет сформировано
меню программы[20]. Рассматриваемые сценарии:
1 Первая группа – Внесение данных:
1.1. Внесение данных из .xlsx файла;
1.2. Внесение данных через форму;
2 Вторая группа – Просмотр данных:
2.1. Просмотр введѐнных данных;
2.2. Просмотр сгенерированного расписания;
3 Третья группа – Удаление данных:
3.1. Удаление данных (всех);
3.2. Удаление элемента учебного плана;
4 Четвѐртая группа – Работа с расписанием:
4.1. Автоматическое составление расписания;
4.2. Ручное внесение изменений в расписание.
32
Также, в рамках этого этапа будут рассмотрены некоторые исключения.
Сценарий 1.1 – «Внесение данных из .xlsx файла»
Целью данного сценария является описание действий пользователя, а
также реакции проектируемой системы на запрос об импорте в неѐ сведений
из внешнего файла формата xlsx. Предполагается возможность импорта
следующих данных:
1
Список аудиторий с указанием их параметров;
2
Учебный план;
3
Список преподавателей.
Также, в данный сценарий включено описание возможных ошибок,
возникающих в ходе выполнения поставленной задачи.
таблица 4 – сценарий внесение данных из .xlsx файла
Действие актѐра
Ответ системы
2. Система открывает меню
выбора
типа
данных,
для
1. Пользователь нажимает на
автоматического вноса, с полями для
кнопку «Автоматическое внесение».
указания месторасположения файла,
в которых они находятся.
3. Пользователь выбирает тип
вносимых данных и указывает
директорию файла, в котором они
находятся.
4. Пользователь нажимает на
кнопку загрузить, соответствующую
5. Система находит указанный
требуемому
полю,
подтверждая файл. Исключение 1.
загрузку.
6.
Система
загружает
содержимое файла в базу данных и
сигнализирует об успехе операции,
стирая
содержимое
строки
директории.
33
таблица 5 – Исключение 1 сценария внесения данных из .xlsx файла
Действие актѐра
Ответ системы
5.
Система
не
находит
указанный файл.
6. Система сигнализирует, что
требуемый файл не был найден,
сохраняя
содержимое
строки
директории.
3. Пользователь выбирает тип
вносимых данных и указывает
директорию файла, в котором они
находятся.
Рисунок 9 – Диаграмма Последовательности сценария 1.1
34
Сценарий 1.2 – «Внесение данных через форму»
Целью данного сценария является описание реакции проектируемой
информационной системы на внесение пользователем сведений в базу
данных посредством внутреннего графического интерфейса программы.
Кроме этого также описывается реакция системы на внос некорректных
данных (Исключение 1).
таблица 6 – сценарий внесение данных через форму
Действие актѐра
1 Пользователь нажимает на кнопку
«Ввод».
3 Пользователь нажимает на кнопку,
обозначающую
требуемый
тип
входных данных.
5 Пользователь заполняет все поля
предложенной формы.
6 После заполнения всех полей,
Пользователей нажимает кнопку
«Ввести».
Ответ системы
2 Система открывает меню выбора
типа вносимых данных.
4 Система открывает требуемую
форму
ввода
информации
с
примерами.
7 Система проверяет информацию на
допустимость типов.
8 Система собирает информацию из
полей и заносит еѐ в базу данных.
Система сигнализирует об успехе,
очищая форму от введѐнных данных.
Исключение 1.
таблица 7 – Исключение 1 сценария внесения данных через форму
Действие актѐра
Ответ системы
8.
Система
находит
несоответствие вносимых данных,
требуемому типу.
9. Система сигнализирует, что
введены
неправильные
данные,
сохраняя содержимое поля.
5. Пользователь заполняет все
поля предложенной формы.
35
Рисунок 10 – Диаграмма Последовательности сценария 1.2
Сценарий 2.1 – «Просмотр введѐнных данных»
Сценарий «просмотр введѐнных данных» описывает реакцию системы
на запрос пользователя о предоставлении хранящихся в базе данных
сведений, введѐнных как ручным, с применением специальных форм, так и
автоматизированным, с использованием файлов excel, способом.
Предоставление
системой
данных
происходит
путѐм
открытия
программой нового окна и вывода в нѐм формы запроса типа требуемой
пользователю информации. Далее, в соответствии с конкретным запросом,
открывается одна из 5 таблиц в которых отображается запрошенная
пользователем информация
36
таблица 8 – Сценария просмотра введѐнных данных
Действие актѐра
Ответ системы
2. Система открывает отдельное
1. Пользователь нажимает на кнопку
окно, содержащее меню выбора
«Просмотр».
просматриваемых данных.
4.
Система
открывает
меню,
3. Пользователь нажимает на кнопку, содержащее выпадающий список,
«Просмотр вводимой информации».
уточняющий тип запрашиваемых
данных.
5.
Пользователь
выбирает
в
выпадающем меню, требуемые ему
данные.
7. Система открывает в меню
6. Пользователь нажимает на кнопку
таблицу,
содержащую
в
себе
«Выбрать»
требуемые данные.
Рисунок 11 – Диаграмма Последовательности сценария 2.1
37
Сценарий 2.2 – «Просмотр расписания»
Сценарий, рассматривающий запрос пользователя на показ расписания.
таблица 9 – сценарий просмотра расписания
Действие актѐра
Ответ системы
2. Система открывает отдельное
1. Пользователь нажимает на кнопку
окно, содержащее меню выбора
«Просмотр».
просматриваемых данных.
4.
Система
открывает
меню,
3. Пользователь нажимает на кнопку содержащее выпадающий список,
«Просмотр расписания».
уточняющий группу, по которой
просматривается расписание.
5.
Пользователь
выбирает
в
выпадающем меню, требуемые ему
группу, по еѐ id.
7. Система открывает в меню
6. Пользователь нажимает на кнопку
таблицу,
содержащую
в
себе
«Выбрать»
расписания по указанной группе.
Рисунок 12 – Диаграмма Последовательности сценария 2.2
38
Сценарий 3.1 – «Удаление данных (всех)»
Сценарий «удаление данных (всех)» описывает поведение пользователя,
целью которого является удаление всех сведений из программы. В сценарии
так же продемонстрирована реакция системы.
таблица 10 – сценарий удаления данных (всех)
Действие актѐра
Ответ системы
2. Система открывает меню с
1. Пользователь нажимает на
возможностью выбора удаления
кнопку «Удаление».
разного типа информации.
3. Пользователь нажимает на
кнопку «удалить», соответствующую
4. Система очищает базу данных,
удалению всей информации из базы от всей хранимой в ней информации.
данных.
5. Система сообщает об успех,
выводя соответствующее окошко.
Рисунок 13 – Диаграмма Последовательности сценария 3.1
39
Сценарий 3.2 – «Удаление элемента учебного плана»
Данный сценарий описывает действия пользователя направленные на
удаление конкретной записи учебного плана из программы, и еѐ реакции
системы на них.
таблица 11 – сценарий удаления элемента учебного плана
Действие актѐра
1. Пользователь нажимает на кнопку
«Удаление».
3. Пользователь вводит в поле id
(учебного плана) номер удаляемого
элемента.
4. Пользователь нажимает на кнопку
«удалить», соответствующую
удалению указанного элемента
учебного плана.
Ответ системы
2. Система открывает меню с
возможностью выбора удаления
разного типа информации.
5. Система удаляет из базы данных
указанный элемент учебного плана.
6. Система сообщает об успех,
выводя соответствующее окошко.
Рисунок 14 – Диаграмма Последовательности сценария 3.2
40
Сценарий 4.1 – «Автоматическое составление расписания»
Сценарий описывает алгоритм запрос пользователя на составление
расписания и реакцию системы на него.
Таблица 12 – сценарий автоматического составления расписания
Действие актѐра
Ответ системы
2. Система открывает меню с
1.Пользователь нажимает на
возможностью
выбора
пункта
кнопку «Автоматическая генерация».
«Сгенерировать расписание».
4. Система запускает функцию
3.Пользователь нажимает на
составления расписания, блокирую
кнопку «Сгенерировать расписание».
кнопку до конца операции.
5. Система сообщает об успехе,
выводя кнопку из заблокированного
расписания.
Рисунок 12 Диаграмма Последовательности сценария 4.1
41
Сценарий 4.2 – «Ручное внесение изменений в расписание»
Данный сценарий представляет собой алгоритм действий пользователя,
направленный
на
более
углублѐнную
настройку,
автоматически
сгенерированного системой расписания, под потребности высшего учебного
заведения.
В сценарии указаны требуемые действия пользователя, совместно с
реакцией
системы
на
них,
демонстрирующие
правильный
порядок
функционирования программного продукта, для достижения поставленной
цели
–
кластеризации
расписания
по
критериям
не
учитываемым
программой.
Таблица 13 – сценарий ручного внесения изменений в расписание
Действие актѐра
Ответ системы
2. Система открывает меню с
1. Пользователь нажимает на
возможностью
выбора
пункта
кнопку «Автоматическая генерация».
«Сгенерировать расписание».
4. Система открывает окно с
формой изменения расписания, с
3. Пользователь нажимает на
всеми заблокированными полями,
кнопку «Изменить расписание».
кроме поля введения id изменяемой
записи.
5.
Пользователь вводит id
изменяемой записи и подтверждает
6. Система разблокирует все
свой выбор нажатием кнопки поля для ввода
«Выбрать»
7. Пользователь заполняет все
пункты
формы,
используя
выпадающие списки и поля (в поле
аудитория вначале вводиться номер
корпуса, затем кнопка «изменить», и
в разблокированном выпадающем
списке выбирается аудитория).
8. Пользователь нажимает на
9. Система вносит изменение в
кнопку «Изменить».
базу данных.
42
Рисунок 13 – Диаграмма Последовательности сценария 4.2
2.1.3 Разработка диаграммы развѐртывания
Проектируемая программа предполагает развѐртку в рамках одного
рабочего места. В результате использования встраиваемого файла базы
данных SQLite, потребность в наличии отдельного сервера базы данных
отсутствует.
Таким образом, внешний вид диаграммы развѐртывания, описывающей
форму развѐртывания программы в компьютерной системе, будет выглядеть
в виде одного узла, содержащего в себе как базу данных, так и приложение,
работающее с ней[21]. Диаграмма развѐртывания представлена на рисунке 14.
43
Рисунок 14 – Диаграмм Развѐртывания
2.1.4 Разработка диаграммы компонентов
Проектируемая информационная система, для исполнения своих
главных функций должна содержать следующие элементы:
1 Свободно распространяемая библиотека подключения проектов
написанных на языке Java, к базе данных SQLite – Java Database
Connector (jdbc.jar);
2 Библиотеки
Java
осуществляющие
написанного кода (library.jar);
3 Файл базы данных (Raspis.db);
4 Программный код (kod.class);
5 Элемент внешнего интерфейса (IInterface).
44
корректную
работу
Рисунок 15 – Диаграмм Компонентов
45
2.1.5 Разработка ER диаграммы
Важной частью любой ИС является база данных. В проекте по
автоматизации расписания, она должна играть роль, как хранилища данных,
из которого программа будет брать информацию для
составления
расписания, так и место сохранения уже составленного расписания для
возможности его редактирования.
В проектируемой базе данных предполагается наличие семи таблиц:
Таблица групп (а1) – представляет из себя справочник групп с указанием
их: названия, курса, кода, программы подготовки, id и даты возникновения;
Таблица аудиторий (а2) – представляет из себя справочник аудиторий с
указанием их: занятости, корпуса, id (номер внутри корпуса), типа
аудитории;
Таблица преподавателей (а3) – представляет собой справочник
преподавателей, включающий их: Полное имя, желаемый свободный день, id,
ведомые предметы (5), приоритет, желаемую смену работы, должность,
занятость;
Таблица предметов (а4) – представляет собой справочник предметов,
включающий их: id, название, требуемый тип класса;
Таблица учебного плана (а5) представляет собой справочник учебного
плана, каждая запись которого включает: id, код обучения, курс, количество
подгрупп, количество практических занятий, количество теоретических
занятий, предмет, назначенный преподаватель, тип обучения;
Таблица сохранения расписания (а6) – сдержит в себе последовательные
записи всех пар по всем группам (пары записываются исключительно
последовательно (с 1 по 60), поэтому дополнительная нумерация не
требуется);
Таблица настроек параметров составления расписания (а7) – справочник
параметров составления расписания: Допустимость занятий в разных
46
корпусах; Количество учебных недель; Допустимость окон у студентов;
Допустимость окон у Преподавателей; Допустимость совместных пар.
ER – диаграмма таблицы представлена на рисунке 16.
Рисунок 16 – диаграмма базы данных
2.1.6 Разработка диаграммы процессов по нотации IDEF0 внутри
Информационной Системы
Диаграммы процессов, представленные на рисунках 17, 18 и 19
описывают проходящие внутри ИС процессы, а также влияющие на них
внешние информационные потоки. На рисунке 17, ИС представлена в виде
«Чѐрного ящика», когда мы видим все входящие потоки, и видим результат.
Диаграмма,
представленная
на
рисунке
18,
расширяет
понимание
проходящих внутри ИС процессов, показывая три этапа обработки
информации:
47
1 Сбор сведений о ресурсах;
2 Составление расписания с учѐтом всех требований;
3 Приведения расписания к типовой форме.
Однако если первое и третье действие не требует отдельного описания,
то второе, в силу своей не конкретизированной формулировки, требует
дополнительного раскрытия представленного в диаграмме на рисунке 19, где
процесс составления расписания также расчленяется на три этапа:
Составление списков занятий для всех групп;
Расстановка занятий с учѐтом всех требований;
Внесение в расписание возможных связанных с обоснованными
пожеланиями сотрудников.
Рисунок 17 – IDEF0 диаграмма верхнего уровня
48
Рисунок 18 – IDEF0 диаграмма среднего уровня
49
Рисунок 19 – IDEF0 диаграмма нижнего уровня
3 глава – Реализация Информационной Системы по
автоматизированному составлению расписания
3.1 Реализация интерфейса
Реализация интерфейса осуществляется посредством использования
языка высшего программирования Java и имеющихся в нѐм графических
библиотек.
Меню программы выполнено в виде нескольких окон:
1. главное окно;
2. окно просмотра;
3. окно экспорта;
4. окно настроек.
3.1.1 Главное меню
На рисунке 19 представлено главное меню программы, содержащее
шесть навигационных кнопок:
1 «Ввод» - открытие меню выбора типа вводимых данных;
2 «Просмотр» - открытие окна выбора типов, просматриваемых
данных;
3 «Автоматическая
генерация»
-
открытие
меню
выбора,
содержащее:
4 Кнопку запуска составления расписания;
5 Кнопку открытия меню настроек параметров составления
расписания;
6 Кнопку открытия меню вноса изменений в расписание.
7 «Удаление» - открытие меню выбора удаляемых данных;
8 «Автоматическое внесение» - открытие меню импорта данных из
внешних файлов
50
9
«?» - открытия окна справки.
Рисунок 20 – внешний вид главного меню ИС
3.1.2 Меню просмотра
На рисунках 20 и 21 изображена реализация окна просмотра
информации. На рисунке 20 отображено меню выбора типа просматриваемой
информации.
51
Рисунок 20 – вид меню просмотра (выбор просматриваемых данных)
Рисунок
21
показывает
реализацию
табличной
формы
вывода
информации. В данном случае выводится автоматически сгенерированное
расписания одной из групп.
Рисунок 21 - вид меню просмотра (таблица просмотра расписания)
3.1.3 Меню вноса параметров автоматизированного составления
расписания
ИС автоматизации процесса составления расписания, предлагает
возможность настройки основных параметров автоматического составления
расписания, под конкретную учебную организацию. Полученные из данной
таблицы данные, в дальнейшем применяются в формуле нахождения
локально-оптимальных решений, «Жадного» алгоритма оптимизации.
Реализация меню настройки параметров представлено на рисунке 22.
52
Рисунок 22 – вид меню настроек
3.1.4 Меню импорта данных из xlsх файлов
ИС предоставляет возможность автоматического внесения данных из
внешнего источника данных (Excel файлов), установленной формы. Это, в
свою очередь, позволяет ускорить процесс сбора сведений необходимых для
составления оптимального расписания.
На рисунке 23 продемонстрирована реализация меню импорта таких
типов данных как:
1 Данные о преподавателях;
2 Данные об аудиториях;
3 Данные об элементах учебного плана.
53
Рисунок 23 – вид меню автоматического внесения данных (импорта из xlsx)
3.1.5 Меню экспорта расписания
Доведение составленного расписания до конечных потребителей
(студентов и преподавателей), является важной задачей отдела по
составлению учебного расписания.
Для решения данной задачи ИС предоставляет возможность экспорта
расписания во внешний Excel файл. Реализация меню экспорта расписания
представлена на рисунке 24.
54
Рисунок 24 – вид меню экспорта расписания
3.1.6 Меню справки
Рассмотрим
программную
реализацию
окон
проектируемого
приложения на примере окна «Справка». Код данного окна можно условно
разделить на три части: импортируемые библиотеки; публичный класс окна,
реализующий функции графической части; класс импорта изображений из
источников. Рассмотрим каждый из этих элементов подробнее.
Первая
часть,
содержащая
список
библиотек,
отвечает
за
работоспособность используемых в программе функций, чьи библиотеки не
подключаются
к
проекту
автоматически.
В
конкретной
программе
используются библиотеки, отвечающие за: формирование окна, обработку
событий, связанных с воздействием пользователя на элементы окна, и
55
обработки исключений связанных с действиями пользователя и загрузкой
файлов содержащихся на внешних ресурсах.
1.
2.
3.
4.
5.
6.
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.sql.SQLException;
import javax.imageio.ImageIO;
import javax.swing.*;
Основной класс окна состоит из двух половин: первая – отвечающая за
формирование окна и его наполнение. В ней описывается расположение
элементов и их атрибуты (включающие в себя размер, цвет, содержание,
доступность и видимость).
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public class sprafka extends JFrame {
Container cont;
JComboBox d1 = new JComboBox();
JButton choise = new JButton("Выбрать");
JScrollPane scr;
JLabel lbl = new JLabel();
int aleph = 0;
public void prosmotr() throws SQLException {
setTitle("Справка");
setBounds(100, 100, 540, 620);
setResizable(false);
setContentPane(new BgPanel9());
cont = getContentPane();
cont.setLayout(null);
cont.setEnabled(true);
cont.setVisible(true);
setVisible(true);
d1.setSize(320, 40);
d1.setLocation(20, 20);
d1.addItem("Область применения"); d1.addItem("Функции");
d1.addItem("Ввод данных в систему"); d1.addItem("Вывод данных из системы");
d1.addItem("Удаление");d1.addItem("Внесение изменений");
d1.addItem("Генерация расписания");
choise.setSize(120, 40);
choise.setLocation(400, 20);
cont.add(d1);
cont.add(choise);
initlistener();
}
Вторая половина данного класса, отвечает за реакцию программы на
воздействие пользователя на элементы меню. В частности, программа, при
нажатии
кнопки «Выбрать», просматривает элемент окна «Выпадающий
список», что бы определить выбранное в нѐм содержимое и на основе этого
вывести на экран требуемую информацию.
56
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
private void initlistener() {
choise.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (aleph == 0){}else{cont.remove(scr);}
int beta = d1.getSelectedIndex();
switch (beta) {
case 0:lbl.setIcon(paintIcon("spr0.bmp"));break;
case 1:lbl.setIcon(paintIcon("spr1.bmp"));break;
case 2:lbl.setIcon(paintIcon("spr2.bmp"));break;
case 3:lbl.setIcon(paintIcon("spr3.bmp"));break;
case 4:lbl.setIcon(paintIcon("spr4.bmp"));break;
case 5:lbl.setIcon(paintIcon("spr5.bmp"));break;
case 6:lbl.setIcon(paintIcon("spr6.bmp"));break;
}
cont.setEnabled(false);
cont.setVisible(false);
scr = new JScrollPane(lbl);
scr.setSize(500, 500);
scr.setLocation(20, 80);
aleph++;
cont.add(scr);
cont.setLayout(null);
cont.setEnabled(true);
cont.setVisible(true);}});
}
Третья
часть
программы
отвечает
за
работу
программы
с
изображениями, содержащимися в виде jpg и bmp файлов, используемыми
как для оформления меню, так и для хранения справочной информации. В
коде прописывается статичный адрес требуемых изображений, что позволяет
заменять содержимое справки, заменой соответствующих изображений.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
class BgPanel9 extends JPanel {
public void paintComponent(Graphics g) {
Image im = null;
java.net.URL u = getClass().getResource("/images/fon9.bmp");
try {im = ImageIO.read(u);} catch(IOException e){}
g.drawImage(im, 0, 0, null);}
}
public ImageIcon paintIcon(String d) {
Image im = null;
java.net.URL u = getClass().getResource("/images/" + d);
try{im = ImageIO.read(u);}catch(IOException e){}
ImageIcon s = new ImageIcon(im);
return s;}
}
Результат работы данной части программы продемонстрирован на
рисунке 25, отображающем внешний вид окна справки.
57
Рисунок 25 – окно справки
3.2 Реализации Базы Данных
Реализация БД является критически важным аспектом разработки
программного обеспечения, требующего хранения и обработки информации.
Ниже представлена реализация таблиц БД, используемый в программе,
автоматизирующей процесс составления расписания в среде разработки с
указанием примера заполнения таблиц.
3.2.1 Таблица «Группы»
Рисунок 26 – Вид реализованной таблицы «Группы» в SQLiteStudio
58
На рисунке 26 представлена реализация таблицы БД «Группы». Ниже, в
таблице 14 указан пример еѐ заполнения.
таблица 14 - таблица с примером заполнения БД (таблица "Группы")
Пример заполнения таблицы "Групп"
NAME
BEGINING PROGRAM
KURS
…
…
…
…
PI
1092016 Бакалавриат
1
ID
…
10
KOD
…
90303
3.2.2 Таблица «Аудитории»
Рисунок 27 – Вид реализованной таблицы «Аудитории» в SQLiteStudio
На рисунке 27 представлена реализация таблицы БД «Аудитории».
Ниже, в таблице 15 указан пример еѐ заполнения.
Таблица 15 - таблица с примером заполнения БД (таблица "Группы")
ID
…
101
Пример заполнения таблицы "Аудитории"
Tip
Korp
…
…
n
1
59
y1-y60
…
0
3.2.2 Таблица «Преподаватели»
Рисунок 28 – Вид реализованной таблицы «Преподаватели» в SQLiteStudio
На рисунке 28 представлена реализация таблицы БД «Аудитории».
Ниже, в таблице 16 указан пример еѐ заполнения.
таблица 16 - таблица с примером заполнения БД (таблица
"Преподаватели")
Пример заполнения таблицы "Преподаватели"
ID FIO Smena FreeD Status p1 p2 p3 p4 p5 Priority
ay
…
…
…
…
…
… … … … …
…
1 Никол
0
0
Проф 1
2
3
4
5
75
аев
ессор
Н.Н
3.2.3 Таблица «Предметы»
Рисунок 29 – Вид реализованной таблицы «Предметы» в SQLiteStudio
60
y1-y60
…
0
На рисунке 29 представлена реализация таблицы БД «Предметы». Ниже,
в таблице 17 указан пример еѐ заполнения.
таблица 17 - таблица с примером заполнения БД (таблица " Предметы")
ID
…
0
Пример заполнения таблицы "Предметы"
NAME
TipClas
…
…
Математика
n
3.2.4 Таблица «Учебный план»
Рисунок 30 – Вид реализованной таблицы «Учебный план» в SQLiteStudio
На рисунке 30 представлена реализация таблицы БД «Предметы». Ниже,
в таблице 18 указан пример еѐ заполнения.
таблица 18 - таблица с примером заполнения БД (таблица "Учебный план")
KodO
…
90303
Пример заполнения таблицы "Учебный план"
Kurs Predmet Teor Pract Teacher id Podgroop
TipO
…
…
…
…
…
…
…
…
4
1
150
0
3
11
2
Магиструра
61
3.2.5 Таблица «Расписание»
Рисунок 31 – Вид реализованной таблицы «Расписание» в SQLiteStudio
На рисунке 31 представлена реализация таблицы БД «Предметы». Ниже,
в таблице 19 указан пример еѐ заполнения.
таблица 19 - таблица с примером заполнения БД (таблица "Расписание")
Пример заполнения таблицы "Расписание"
idGroop para idPredmet idPrepod IdAud tip name TPr
…
…
…
….
…
…
…
…
1
3
1
2
101
teor
korp
…
1
idZap
…
100
3.2.6 Таблица «Настройки»
Рисунок 32 – Вид реализованной таблицы «Настройки» в SQLiteStudio
62
На рисунке 32 представлена реализация таблицы БД «Предметы». Ниже,
в таблице 20 указан пример еѐ заполнения.
таблица 20 - таблица с примером заполнения БД (таблица "Настройки")
KolWeak
…
25
Пример заполнения таблицы "Настройки"
SWindow
TWindow AKaudition
id
…
…
…
…
10
10
50
1
TogetherPar
…
15
3.2.7 Примеры кода работы программы с базой данных
Рассмотрим используемые типовые решения для формирования кода
программы, организующего еѐ работу с базой данных SQLite. В процессе
работы с базой данных можно условно выделить четыре основных
компонента таких как: общая часть; часть, применяемая для загрузки данных
в программу; часть, применяемая для загрузки данных в базу данных; часть,
используемая для удаления данных из базы данных[22]. Так же, в процессе
обмена
данных
для
удобства
обработки
информации
используется
специфичные типы данных, исполненные в виде классов.
Общая часть классов
Общая часть всех классов направленных на работу с базой данных,
представляет собой код, обеспечивающий еѐ подключение к программе. В
данном коде храниться абсолютный или относительный путь к базе данных.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private static final String CON_STR = "путь к базе данных";
Private static«Название класса» instance = null;
Public static synchronized«Название класса» getInstance() throwsSQLException {
if(instance == null)
instance = new«Название класса»();
return instance;
}
Private Connection connection;
private«Название класса»() throwsSQLException {
DriverManager.registerDriver(newJDBC());
this.connection = DriverManager.getConnection(CON_STR);
}
Загрузка данных:
63
Ниже представленный код отвечает за передачу SQL запроса, с
указанием требуемой информации, в базу данных и обработку еѐ ответа, с
занесением результатов в переменные специального типа данных. Функция,
организованная подобным образом, в случае отсутствия необходимости в
поиске конкретного содержимого базы данных, может обладать полностью
статичным SQL запросом[23]. Однако, путѐм внесение дополнительного
аргумента функции вызова функции, а так же добавление в запрос элемента
―WHERE‖ и текстовой переменой связанной с аргументом, можно сделать
запрос динамическим, что позволяет запрашивать у базы данных не просто
список содержимого, но и конкретные записи соответствующие вводимого в
функцию аргументу.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public List<тип загружаемых данных>getAllProducts() {
try (Statement statement = this.connection.createStatement()) {
List<тип загружаемых данных> products = new ArrayList<тип загружаемых данных>();
ResultSetresultSet = statement.executeQuery("SELECT «Столбцы таблицы БД»FROM «Таблица БД»");
while (resultSet.next()) {
products.add(new Product(resultSet.getInt("Столбец таблицы целочисленных чисел"),
resultSet.getString("Столбец таблицы строк"),
resultSet.getDouble("Столбец таблицы дробных чисел")));
}
return products;
} catch (SQLException e) {
e.printStackTrace();
returnCollections.emptyList();
}
}
Внесение данных:
Также как и код, отвечающий за импорт данных в программу, код
экспорта данных в базу данных содержит в себе SQL запрос, содержащий в
себе название таблицы и столбцов в которые следует вносить данные. На
входе такой вариант кода требует простых или спецевических переменных
содержащих вводимые данные.
1.
2.
3.
4.
5.
6.
7.
8.
9.
public void addProduct(«Тип переменной вносимых данных» product) {
try (PreparedStatement statement = this.connection.prepareStatement(
"INSERT INTO «Название таблицы»(`Название столбца таблицы`) " +"VALUES(?)")) {
statement.setObject(1, «вводимые данные (по типу столбца)»);
statement.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
Удаление данных:
64
Основой работы участка кода, отвечающего за удаление требуемых
строк из базы данных, так же как и в предыдущих случаях служит SQL
запрос. В этом запросе указывается название таблицы и параметры строки
(критерии), по которым определяется строка для удаления.
1.
2.
a.
3.
4.
5.
6.
7.
8.
public void deleteProduct(int id) {
try (PreparedStatement statement = this.connection.prepareStatement(
"DELETE FROM «Название таблицы» WHERE« Название столбца по которому ищется удаляемая
строка»= ?")) {
statement.setObject(1, «критерий удаления»);
statement.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
Пример класса, представляющий собой специфичный тип данных
Основной целью специфических типов данных служит упрощение
работы с кодом, через объединение информации о свойствах неких объектов
в единое целое[6]. Это позволяет значительно сокращать объѐм аргументов
вызываемых функций. Так же, классы отвечающие за специфичные типы
данных, могут обладать внутренними функциями, необходимыми для
обработки информации. В качестве примера, ниже приведѐн класс,
отвечающий за тип данных «аудитория», содержащий в себе поля
описывающие: номер аудитории; еѐ корпус; количество пар, которые можно
провести в ней; тип; массив занятости конкретных часов у данной аудитории.
Кроме того в данном классе содержится конструктор для переменных
данного типа.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
package project.classes;
//Класс создающий тип данных(аудитория) для работы экспортѐра/импортѐра из базы данных
public class p01 {
public int id;
public int korp;
public int freePar;
public String tip;
public boolean [] zn = new boolean[60];
public p01(int id, intkorp, String tip) {
this.id = id;
this.korp = korp;
this.tip = tip;
freePar = 60; // изначально у любой аудитории 60 свободных пар ( 5 пар, 12 дней)
}}
65
3.3 Реализация алгоритма автоматической генерации расписания
Алгоритм
функции
программы
по
автоматической
генерации
расписания выполнен в виде нескольких отдельных классов, занимающихся
импортированием данных из базы данных, расстановкой предметов и
обеспечению исполнения минимальных условий оптимальности (отсутствия
наложений занятий, как у студентов, так и преподавателей; обеспечение
использования аудиторного фонда по целевому назначению и т.д.)
Алгоритм реализован в виде 5 следующих этапов:
1Загрузка из базы данных всех имеющихся групп и информации об их
учебном плане. Составление на их основе двумерного массива «ячеек»
(представляющих
собой
специфичный
тип
данных,
который
имеет
следующие параметры требуемые для составления расписания: id группы, id
предмета, id преподавателя, id аудитории, номер корпуса, тип требуемой
аудитории для занятия, название предмета и тип проводимого занятия
(теоретическое или практическое)), где каждый столбец отвечает за группу, а
строчка за соответствующее одно занятие.
2Расстановка на основе имеющегося двумерного массива аудиторий с
учетом параметра ячейки «тип требуемой аудитории для занятия»;
3Нормализация массива – добавления пустых «ячеек» или удаление
имеющихся (с выводом предупреждения об этом пользователю) для
доведения количества строчек в каждом столбце до 60 (максимальное
количество занятий проводимых за две недели).
4Расстановка занятий (алгоритм представлен на рисунке 32);
5Сохранение сгенерированного, в виде двумерного массива «ячеек»,
расписания в базу данных с возможностью последующей демонстрации и
редактирования.
Данный алгоритм в своѐм схематичном виде[24,
рисунке 32.
66
25]
представлен на
Рисунок 32 – алгоритм расстановки занятий
67
В указанном выше алгоритме, для определения оптимальности выбора
конкретного занятия под разные пары (первой, второй, третьей, четвѐртой и
пятой) используются отличающиеся друг от друга критерии.
Особо стоит отметить, что расстановка занятий начинается не с первой
пары, а со второй, что позволяет алгоритму органично вписывать возможные
переходы между корпусами (осуществляемые во время большого перерыва
между второй и третьей парой) и избежать возникновения «окон» в
расписании, возникающих, приоритетно на этих парах.
Рассмотрим критерии оптимальности выбора для каждой отдельно
взятой пары.
Критерии оптимальности вторых пар:
1 Соответствующая данному занятию аудитория должна быть
свободна;
2 Соответствующий данному занятию преподаватель должен быть
свободен;
3 Соответствие личным предпочтениям преподавателей;
Критерии оптимальности первых пар:
1 Наличие занятий на второй паре;
2 Корпус аудитории второй пары должен соответствовать корпусу
аудитории первой пары;
3 Соответствующая данному занятию аудитория должна быть
свободна;
4 Соответствующий данному занятию преподаватель должен быть
свободен;
5 Соответствие личным предпочтениям преподавателей;
Критерии оптимальности третьих пар:
1 Корпус
аудитории
необязательно
третьей
должен
пары
соответствовать
второй пары;
68
предпочтительно,
корпусу
но
аудитории
2 Соответствующая данному занятию аудитория должна быть
свободна;
3 Соответствующий данному занятию преподаватель должен быть
свободен;
4 Соответствие личным предпочтениям преподавателей;
Критерии оптимальности четвѐртых пар:
1 Наличие занятий на третьей паре;
2 Корпус аудитории четвѐртой пары должен соответствовать
корпусу аудитории третьей пары;
3 Соответствующая данному занятию аудитория должна быть
свободна;
4 Соответствующий данному занятию преподаватель должен быть
свободен;
5 Соответствие личным предпочтениям преподавателей;
Критерии оптимальности пятой пары:
1 Корпус аудитории пятой пары должен соответствовать корпусу
аудитории третьей пары;
2 Соответствующая данному занятию аудитория должна быть
свободна;
3 Соответствующий данному занятию преподаватель должен быть
свободен;
4 Соответствие личным предпочтениям преподавателей;
Для пятой пары предпочтительно выставление пустой ячейки занятия,
если такое представляется возможным в соответствии с существующим
учебным планом.
Переход между корпусами предполагается выполнять исключительно в
промежутке между второй и третьей парой, однако количество переходов, в
соответствии с критериями оптимальности третьей, четвѐртой и пятой пары
должно минимизироваться.
69
3.4 Тестирование
Важным этапом создания программного продукта, является его
тестирование, во время которого выявляется уровень соответствия ИС
заданному ТЗ, а также выявляются ошибки, подлежащие устранению[26].
Для проверки реализованной программы по автоматизации процесса
составления
расписания,
были
составлены
следующие
тест-кейсы,
призванные проверить работоспособность программы и еѐ компонентов, а
также верифицировать еѐ свойства. В рамках текущего проекта будут
проверены четыре свойства системы:
Корректности работы меню программы;
Корректное отображение информации;
Корректный импорт данных;
Работоспособность функции составления расписания.
Вышеуказанные
тест-кейс
представлены
в
приложении
Б.
В
совокупности, они покрывают основной контингент функциональных
возможностей ИС. Их выполнение подтверждает минимально необходимую
работоспособность программного продукта по составлению расписания,
обеспечивая соблюдения условий, к проектируемой системе, представленных
в задании на выпускную квалификационную работу, как по тестированию,
так по соответствию функций.
70
4 глава – Расчѐт надѐжности системы
Исходными данными для расчѐта надѐжности информационной системы
по автоматизации процесса составления расписания служат[27]:
Структурная схема узлов и их связей Информационной Системы;
Статистические и вероятностные данные по элементам;
Срок предполагаемой работы Информационной системы.
Рассмотрим подробнее схему узлов и связей (рисунок 2). Данная схема
содержит в своѐм составе десять отдельных блоков. Однако следует
отметить, что схема содержит два параллельных компонента, из-за чего
количество связанных линейно отдельных блоков составляет всего половину
от общего количество. В то же время общая вероятность отказа каждого из
параллельных компонентов может быть рассмотрена как комплексный блок.
Таким образом, можно сказать, что системы содержит семь линейным
образом связанных блока.
Рисунок 36 – структурная схема ИС
В качестве статистических данных об элементах, были взяты сведения
из открытых источников для физических[28], а также программных
компонентов используемых в рассматриваемой информационной системе.
Для программных элементов, разработанных в рамках дипломной работы,
были взяты среднестатистические показатели, основанные на следующих
факторах[29]:
Объѐм кода;
Уровень языка программирования;
71
Все вышеперечисленные данные приведены в таблице 21, с указанием
типа используемой информации.
таблица 21 – исходные данные по элементам информационной системы
Устройство ввода –
компьютерная мышь
Устройство ввода –
компьютерная
клавиатура
Аппаратное
обеспечение
компьютера (процессор)
Операционная система
Блок обработки
входных данных (часть
интерфейса системы)
Блок обращение к Базе
данных
Блок обращения к
системному файлу,
содержащему настройки
База данных
Блок формирования и
вывода ответа
Устройство вывода
информации – монитор
Интенсивность отказов
λ= 3,22·10-7
Интенсивность отказов
λ= 60,72·10-7
Вероятность отказа за
год
Q = 0,17 (P = 0,83)
Вероятность
безотказной работы
Интенсивность отказов
(согласно размеру – 15
Мбайт и времени
работы 1 год)
Интенсивность отказов
(согласно размеру – 15
Мбайт и времени
работы 1 год)
Интенсивность отказов
(согласно размеру – 15
Мбайт и времени
работы 1 год)
Вероятность
безотказной работы
(год)
Интенсивность отказов
(согласно размеру – 15
Мбайт и времени
работы 1 год)
Интенсивность отказов
72
P = 0,98
λпо= 0,000004962
λпо= 0,000004962
λпо= 0,000004962
P = 0,9999
λпо= 0,000004962
λ= 20,9·10-7
Представленные данные содержат в себе, как вероятности безотказной
работы и вероятности отказов, так и параметр интенсивности отказов. Для
расчѐта надѐжности блоков и всей системы требуется привести параметры
интенсивности отказов к вероятности безотказной работы. Рассчитаем
требуемые
значения
согласно
формуле
безотказной
работы
экспоненциального закона распределения[30]:
(3)
Данные используемые при расчете и полученные результаты приведены
в таблице 22.
таблица 22 – Расчѐт надѐжности отдельных блоков
Элемент
Устройство ввода
– компьютерная
мышь
Устройство ввода
– компьютерная
клавиатура
Блок обработки
входных данных
(часть
интерфейса
системы)
Блок обращение к
Базе данных
Блок обращения к
системному
файлу,
содержащему
настройки
Блок
формирования и
вывода ответа
Устройство
вывода
информации –
монитор
Интенсивность
отказов
Время
Результат
0,000000322
8760 (часов в год)
e-0,00282072 =
0,99718
0,000006072
8760 (часов в год)
e-0,05319072 =
0,94819
0,000004962
8760 (часов в год)
e-0,04346712 =
0,95746
8760 (часов в год)
e-0,04346712 =
0,95746
8760 (часов в год)
e-0,04346712 =
0,95746
0,000004962
8760 (часов в год)
e-0,04346712 =
0,95746
0,00000209
8760 (часов в год) e-0,0183084 = 0,98185
0,000004962
0,000004962
73
Для расчѐта надѐжности блоков состоящих из параллельно соединѐнных
элементов
воспользуемся
следующей
формулой
(расчѐт
вероятности
безотказной работы, основанный на выявлении вероятности отказа всех
элементов одновременно, с возможностью вычислить вероятность того что
по крайней мере один элемент будет в рабочем состоянии)[31]:
∏
Рассмотрим блоки с параллельным соединением:
Блок ввода – вероятность безотказной работы данного блока будет
равна Робщ = 1 – ((1-0,99718)* (1-0,94819)) =1 – 14,61*10-5 = 0,9998539;
Блок работы с внешними файлами – вероятность безотказной работы
данного блока будет равна Робщ = 1 – ((1-0,95746*0,9999)* (1-0,95746)) =
1 – 18,136* 10-4 = 0,9981864;
Теперь, зная вероятности безотказной работы блоков с параллельным
соединением, используем следующую формулу для расчѐта надѐжности всей
системы, как линейно объединѐнных блоков (вероятность безотказной
работы всех блоков одновременно).
∏
Таким образом, надѐжность информационной системы будет равна:
Pис= 0,9998539 * 0,83 * 0,98 * 0,95746 * 0,9981864 * 0,95746 * 0,98185 = 0,73069
74
ЗАКЛЮЧЕНИЕ
В ходе выполнения выпускной квалификационной работы были
продемонстрированы теоретические и практические навыки и умения,
полученные в рамках обучения. Подводя еѐ итоги можно выделить
следующие наиболее значимые достигнутые результаты:
1 Проведение анализа предметной области сферы применения
разрабатываемого, согласно теме работы, программного продукта, с
выявлением основных параметров и функций проектируемой
программы, представленное в аналитической части работы;
2 Разработка модели программного продукта, включающая в себя:
написание технического задания, разработку UML, ER и DFD
диаграмм, а также возможных сценариев взаимодействия, с ней
пользователя показанных в главе посвящѐнной проектной части
работы;
3 Реализация приложения, автоматизирующего процесс составления
расписания, продемонстрированная в третьей главе, с учѐтом
следующих требований:
a. отсутствие окон и перемещений между корпусами в
непредназначенные для этого моменты времени для
студентов;
b. учѐт личных пожеланий преподавателей;
c. запрет на наложение пар разных групп в одной аудитории
или у одного преподавателя на одной паре;
4 Расчѐт надѐжности информационной системы, как совокупности
разработанной программы с программными и техническими
средствами,
ответственными
за
осуществления
еѐ
функционирования, показанный в четвѐртой главе.
Следует
отметить,
что
разработанная
в
ходе
выпускной
квалификационной работы программа обладает такими минусами как
75
одностороннее составление расписания, при котором минимизация окон и
переходов между корпусами происходит преимущественно у студентов, а так
же ряд проблем связанных с удобством использования интерфейса
программы. Первая проблема может быть решена за счѐт применения более
эффективных
алгоритмов
расстановки
хронологии
занятий
и/или
используемого аудиторного фонда. Второй недостаток может быть убран
путѐм расширения интерфейса программы с внесением в него большего
числа интерактивных элементов.
При написании данной работы были продемонстрированы результаты
разработки программы в виде изображений готового интерфейса программы,
структуры еѐ базы данных, а так же частей кода представленных как
примеры (полный листинг кода продемонстрирован в приложении Г).
В заключение можно сказать, что поставленная перед данной выпускной
квалификационной работой цель, а именно разработка приложения по
автоматизации процесса составления расписания с учѐтом ГИС методологии
(где
геоинформационную
составляющую
образуют
пространственно-
атрибутивные данные об аудиториях и временные данные, связанные с
конкретными промежутками проведения занятий – парами) была достигнута.
76
СПИСОК ЛИТЕРАТУРЫ
1
OpenJDK – онлайн ресурс предоставляющий объединѐнные
открыто-ресурсные реализации платформ Java и иных связанных проектов
[Электронный ресурс]. — Режим доступа: http://openjdk.java.net, свободный.
(Дата обращения: 26.05.2020);
2
Netbeans.org – онлайн проект занимающийся распространением и
развитием интегрированной среды разработки NetBeans [Электронный
ресурс]. — Режим доступа: https://netbeans.org/index_ru.html, свободный.
(Дата обращения: 26.05.2020);
3
SQLite.org
–
сайт
проекта
по
разработке,
развитию,
распространению и поддержке встраиваемой базы данных [Электронный
ресурс]. — Режим доступа: https://www.sqlite.org/index.html, свободный.
(Дата обращения: 26.05.2020);
4
Сайт проекта, посвящѐнный распространению и развитию
SQLiteStudio [Электронный ресурс]. — Режим доступа: https://sqlitestudio.pl,
свободный. (Дата обращения: 26.05.2020);
5
Java-online – обучающий интернет портал представляющий темы
и технологии, фреймворки и библиотеки, утилиты и инструменты разработки
/ Статья о подключении баз данных через jdbc [Электронный ресурс]. —
Режим доступа: http://java-online.ru/jdbc-connection.xhtml, свободный. (Дата
обращения: 26.05.2020);
6
Сoderlessons.com – обучающий интернет сайт предоставляющий
уроки по программированию, DevOps и другим IT-технологиям / Apache POI
–
Краткое
руководство
[Электронный
ресурс].
—
Режим доступа:
https://coderlessons.com/tutorials/java-tekhnologii/izuchite-apache-poi/apache-poikratkoe-rukovodstvo, свободный. (Дата обращения: 26.05.2020);
7
Консультант / Правовые ресурсы [Электронный ресурс]. —
Режим доступа:
http://www.consultant.ru/document/cons_doc_LAW_61798/,
свободный. (Дата обращения: 17.11.2019);
77
8
ФЗ 273 от 29.12.2012 «Об образовании»;
9
Rshu.ru
–
сайт
российского
государственного
гидрометеорологического университета [Электронный ресурс]. — Режим
доступа: http://www.rshu.ru, свободный. (Дата обращения: 26.05.2020);
10
Павлюткин И.В. Образовательные организации как открытые
системы: детерминанты вузовских стратегий в трех организационных
популяциях. Препринт WP10/2006/04. М.: ГУ ВШЭ, 2006
11
Структурный анализ потоков данных (Data Flow Diagrams –
DFD):метод. указания / сост. Д.Ю. Киселев, Ю.В. Киселев, В.Д. Макарьев. –
Самара: Изд-во СГАУ, 2014. – 12 с.
12
Приказ Минобрнауки России от 22.12.2014 N 1601 (ред. от
13.05.2019) "О продолжительности рабочего времени (нормах часов
педагогической работы за ставку заработной платы) педагогических
работников и о порядке определения учебной нагрузки педагогических
работников, оговариваемой в трудовом договоре" (Зарегистрировано в
Минюсте России 25.02.2015 N 36204);
13
Математическая логика и теория алгоритмов : учеб. Пособие для
студ. высш. учеб. Заведений / В. И. Игошин. – 2-е изд., стер. – М.:
Издательский центр «Академия», 2008. – 448 с. — ISBN 978-5-7695-4593-1;
14
Зайцева Н.А. Научно-практические аспекты применения тайм-
менеджмента для повышения профессиональной конкурентоспособности
выпускников ВУЗов // Российские регионы: взгляд в будущее. – 2016. –
№3(8) – С. 33-49;
15
Microsoft Excel для начинающих – обучающий онлайн проект,
предоставляющий бесплатные уроки по MS Excel и MS Word/ Диаграмма
Ганта
[Электронный
ресурс].
—
Режим
доступа:
https://office-
guru.ru/excel/kak-sozdat-diagrammu-ganta-v-excel-481.html, свободный. (Дата
обращения: 26.05.2020);
16
HeadHunter — один из самых крупных сайтов по поиску работы и
сотрудников в мире / Статистика по заработным платам [Электронный
78
ресурс]. — Режим доступа: https://spb.hh.ru/search/vacancy, свободный. (Дата
обращения: 26.05.2020);
Trud.com – интернет проект по организации связи между
17
работодателями и соискателями мире / Статистика по заработным платам
[Электронный ресурс]. — Режим доступа: https://sankt-peterburg.trud.com/jobs,
свободный. (Дата обращения: 26.05.2020);
Инфопедия – обучающий интернет ресурс для углубления
18
теоретических
и
практических
экономическая
знаний
/
Экономический
эффективность
эффект
Режим
и
доступа:
https://infopedia.su/20x18b0.html, свободный. (Дата обращения: 26.05.2020);
StudFiles файловый архив студентов / Концептуальная модель
19
uml
[Электронный
ресурс].
—
Режим
доступа:
https://studfiles.net/preview/2704746/page:15/, свободный. (Дата обращения:
19.05.2019);
Познайка.Орг - Сайт знаний / Базовые принципы языка UML
20
[Электронный ресурс]. — Режим доступа:https://poznayka.org/s94226t1.html,
свободный. (Дата обращения: 30.10.2019);
ИНТУИТ – национальный открытый университет / Нотация и
21
семантика
языка
UML
[Электронный
ресурс].
—
https://www.intuit.ru/studies/courses/32/32/lecture/1024
,
Режим
доступа:
свободный.
(Дата
обращения: 18.05.2019);
22
SQLITE
alekseygulynin.ru – обучающий интернет портал / работа с
в
JAVA
[Электронный
ресурс].
—
Режим
доступа:
https://alekseygulynin.ru/rabota-s-sqlite-v-java/, свободный. (Дата обращения:
26.05.2020);
23
SQL
ITVDN – видеокурсы по программированию / Обзор основных
запросов
[Электронный
ресурс].
—
свободный.
https://itvdn.com/ru/blog/article/m-sql,
26.05.2020);
79
Режим
(Дата
доступа:
обращения:
Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. / Алгоритмы:
24
построение и анализ = Introduction to Algorithms / Под ред. И. В. Красикова.
— 2-е изд. — М.: Вильямс, 2005. — 1296 с. — ISBN 5-8459-0857-4;
Чеботарѐв В.Е., Косенко В.Е. Проектирование информационных
25
систем: учебное пособие. К.: СГАКУ, 2015. — 448 с. — ISBN 978-5-86433510-7;
TADVISER – российский интернет-портал и аналитическое
26
агентство / Тестирование программного продукта [Электронный ресурс]. —
Режим
доступа:http://www.tadviser.ru/index.php/Статья:Тестирование_программного_
продукта, свободный. (Дата обращения: 26.05.2020);
Надѐжность информационных систем : учебное пособие /Ю.Ю.
27
Громов, О.Г. Иванова, Н.Г. Мосягина, К.А. Набатов. –Тамбов : Изд-во ГОУ
ВПО ТГТУ, 2010. – 160 с. – 100 экз. – ISBN978-5-8265-0911-1
Vuzlit – интернет архив студенческих работ / Расчет надежности
28
аппаратной
части
[Электронный
ресурс].
—
Режим
https://vuzlit.ru/972069/raschet_nadezhnosti_apparatnoy_chasti,
доступа:
свободный.
(Дата обращения: 26.05.2020);
29
теории
Areliability.com - Учебный онлайн проект по надѐжности, рискам,
вероятностей,
статистике
и
комбинаторике
/
надѐжность
программного обеспечения [Электронный ресурс]. — Режим доступа:
https://areliability.com/nadyozhnost-programmnogo-obespecheniya/, свободный.
(Дата обращения: 26.05.2020);
30
Морозов Ю.М. Надѐжность аппаратно-программных комплексов:
учеб. пособие/ Ю.М. Морозов. – 2011. – 136 с.
31
Основы теории надѐжности: учебное пособие / Н.Н. Кокушин,
А.А. Тихонов, С.Г. Петров, В.Е. Головко, И.В. Клюшкин; ГОУВПО
СПбГТУРП. – СПб., 2011. – 77 с.
80
ПРИЛОЖЕНИЕ А (ISA Анализ)
Что
Как
сущность Где
составляет
функционирует?
сущность Кто
расположена?
работает
сущностью?
с Когда с сущностью чтото происходит?
сущность
сущность?
существует
Предоставляет
Планировщик
Данные
Почему
систематизированную
информацию
Территориальное
расположение
Пользователь
Получение
Важные события
расписания
Экономическая
Во
Владелец
Концепцию
Выдаѐт решение
Компьютер
Работник
время выгода
взаимодействия
сотрудниками
в
с результате
автоматизации
процесса
Проектировщик Алгоритм
Конструктор
Программный
код
Программные
Субподрядчик
блоки
(объекты)
Проходит
по
всем
этапам алгоритма
Исполняет код
Задействует
блоки
Модель
Пользователь
Технологическая
архитектура
Структура процессов
Модель работы
программы
Описания
Пользователь
Структуры управления
правил
планирования
все Сетевая
Пользователь
архитектура
81
Определение временных Реализация
привязок
логики работы
ПРИЛОЖЕНИЕ Б
Тестирование работоспособности основных кнопок навигации
главного меню
Таблица 19 – тест план проверки работоспособности навигационных
кнопок
Номе
р
Номер
технического
Задания
Тест
Описание
кейс
сценарий
Ожидаемый результат
Отрыть элемент
меню «Ввод»
Выбрать
работо
способ
ности
АБВ123
ТЗ-080
интерфейс
выбора типа данных для
ввода.
из
Провер предложенного
ка
Открывается
«Ввод группы»
Выбрать кнопку
«Назад»
Открывается
интерфейс
ввода группы.
Открывается
интерфейс
выбора типа данных для
ввода.
основн
Выбрать
ых
предложенного
Открывается
кнопок
«Ввод
ввода аудитории.
навига
аудитории»
ции
главног
о меню
из
Выбрать кнопку
«Назад»
Выбрать
Открывается
интерфейс
интерфейс
выбора типа данных для
ввода.
из
предложенного
Открывается
интерфейс
«Ввод
ввода преподавателя.
преподавателя»
Продолжение таблицы 19
82
Выбрать
кнопку
«Назад»
Открывается
интерфейс
выбора типа данных для
ввода.
Выбрать
из
предложенного
«Ввод предмета»
Выбрать
кнопку
«Назад»
Открывается
интерфейс
ввода предмета.
Открывается
интерфейс
выбора типа данных для
ввода.
Выбрать
из
предложенного
«Ввод
учебного
расписания»
Выбрать
кнопку
«Назад»
Открывается
интерфейс
ввода
учебного
расписания.
Открывается
интерфейс
выбора типа данных для
ввода.
Открывается
окно
интерфейса просмотра с
Выбрать
кнопку возможностью
«Просмотр»
просмотра:
выбора
вводимой
информации, расписания
и занятости.
Открывается
Выбрать
кнопку
«Автоматическая
генерация»
выбора
интерфейс
содержащий:
сгенерировать
новое
расписание,
изменить
расписание,
изменить
настройки.
Продолжение таблицы 19
83
Выбрать кнопку
«Удалений»
Открывается
интерфейс
выбора информации из
программы.
Открывается
интерфейс
автоматического
Выбрать кнопку внесения:
списка
«Автоматическо
преподавателей,
списка
е внесение»
аудиторий,
списка
элементов
учебного
плана.
Выбрать кнопку Открывается
«?»
окно
интерфейса справки.
Тестирование работоспособности меню просмотра
Таблица 20 – тест план проверки работоспособности меню просмотра
Номе
р
Номер
технического
Задания
Тест
Описание
кейс
сценарий
Ожидаемый результат
Провер
АБВ124
ТЗ-080
ка
Открывается
работо
интерфейса просмотра с
способ
Выбрать
кнопку возможностью
ности
«Просмотр»
просмотра:
окно
выбора
вводимой
меню
информации,
просмо
расписания и занятости.
тра
84
Продолжение таблицы 20
Выбрать
кнопку Открывается интерфейс
«Просмотр
с возможностью выбора
вводимой
типа
информации»
данных.
Выбор
просматриваемых
в
выпадающем списке
пункта «Группы» и
нажатие
кнопки
Открытие
таблицы
содержащей группы.
«Выбрать»
Выбор
в
выпадающем списке
пункта
Открытие
«Аудитории»
нажатие
таблицы
и содержащей аудитории
кнопки
«Выбрать»
Выбор
в
выпадающем списке
пункта
«Преподаватели» и
нажатие
кнопки
Открытие
таблицы
содержащей
преподавателей.
«Выбрать»
Выбор
в
выпадающем списке
пункта «Предметы»
и нажатие кнопки
Открытие
таблицы
содержащей предметы.
«Выбрать»
Продолжение таблицы 20
85
Выбор
в
списке
пункта «Элементы Открытие
учебного плана» и содержащей
нажатие
таблицы
элементы
кнопки учебного плана.
«Выбрать»
Открывается
окно
интерфейса просмотра с
Выбрать
кнопку возможностью
«Вернуться»
просмотра:
выбора
вводимой
информации,
расписания и занятости.
Открывается интерфейс
Выбрать
кнопку с возможностью выбора
«Просмотр
конкретной группы по
расписания»
еѐ id для просмотра еѐ
расписания.
Выбор
в
выпадающем
списке любого id,
кроме 0, и нажатие
кнопки «Выбрать»
Открытие
содержащей
расписания
таблицы
элементы
данной
группы.
Открывается
окно
интерфейса просмотра с
Выбрать
кнопку возможностью
«Вернуться»
просмотра:
выбора
вводимой
информации,
расписания и занятости.
Продолжение таблицы 20
86
Выбрать
кнопку
«Просмотр
Открывается интерфейс
с возможностью выбора
типа
занятости»
занятости
для
просмотра.
Выбор
в
выпадающем
списке
пункта
«Аудитории»
нажатие
и
кнопки
Открытие
содержащей
таблицы
занятость
аудиторий
«Выбрать»
Выбор
в
выпадающем
списке
пункта
«Преподаватели»
и нажатие кнопки
Открытие
содержащей
таблицы
занятость
преподавателей
«Выбрать»
Открывается
окно
интерфейса просмотра с
Выбрать
кнопку возможностью
«Вернуться»
просмотра:
выбора
вводимой
информации,
расписания и занятости.
87
Тестирование
работоспособности
автоматического
вноса
списка
аудиторий
Таблица 21 – тест план проверки функции импорта списка аудиторий
Номер
Номе
техничес
р
кого
Тест кейс
Описание
Ожидаемый результат
сценарий
Задания
Открывается интерфейс
Выбрать
кнопку
«Автоматическое
внесение»
в
главном меню
125
ТЗ-080
внесения:
работоспо
Внести в строку
собности
«Автоматическое
автоматич
внесение
еского
аудиторий» путь
вноса
к
списка
содержащему
аудиторий
список
списка
файлам
xlsx,
аудиторий.
Нажать
кнопку
«Загрузить»,
находящуюся
слева от строки
на ровне с ней.
88
списка
преподавателей, списка
аудиторий,
элементов
плана.
Проверка
АБВ-
автоматического
списка
учебного
Продолжение таблицы 21
Проверить
внеслись
ли
указанные
В таблице аудиторий,
аудитории в меню должны присутствовать
просмотра
-> записи
аналогичные
просмотр
записям
вводимой
файле загрузки
информации
в
исходном
->
аудитории
Тестирование работоспособности автоматической генерации расписания
Таблица 22 – тест план проверки функции автоматической генерации
расписания
Номер
Номе
техничес
р
кого
Тест кейс
Описание
Ожидаемый результат
сценарий
Задания
Проверка
Открывается интерфейс
работоспо
АБВ125
ТЗ-080
собности
Выбрать
автоматич
«Автоматическая
еской
генерация»
генерации
главном меню
расписани
кнопку
в
автоматического
внесения:
преподавателей, списка
аудиторий,
элементов
плана.
я
89
списка
списка
учебного
Продолжение таблицы 22
Выбрать
кнопку
«Сгенерировать
расписание»
В
Проверить
ли
было
создано
расписание
в
меню просмотра >
просмотр
расписания
любая группа
->
таблице,
присутствовать
расписание,
из
состоящие
60
записей
включающих
в
День,
Предмет,
Пару,
себя:
Преподавателя,
Аудиторию,
(занятия),
(записи)
90
должно
Корпус,
Тип
ID
Отзывы:
Авторизуйтесь, чтобы оставить отзыв