тут - Dvkaysarova.ru

advertisement
Автоматизацияпроцесса управления
расписанием занятий
для многопрофильной школы
с индивидуальным подходом
Содержание
1 Введение ............................................................................................................................................. 5
1.1 Предметная область и основные понятия ................................................................................ 5
1.1.1 Школа.................................................................................................................................... 5
1.1.2 Многопрофильность............................................................................................................ 5
1.1.3 Индивидуальный подход .................................................................................................... 6
1.2 Цель работы ................................................................................................................................ 6
1.3 Актуальность работы ................................................................................................................. 7
1.4 Задачи работы ............................................................................................................................. 8
1.4.1 Итеративный процесс.......................................................................................................... 8
2 Управление расписанием занятий.................................................................................................... 9
2.1 Исследование процесса управления расписанием занятий .................................................... 9
2.1.1 Методы исследования ......................................................................................................... 9
2.1.2 Документы, использованные в исследовании ................................................................ 10
2.2 Цели процесса ........................................................................................................................... 10
2.3 Организация учебного процесса и расписания ..................................................................... 11
2.4 Структура расписания занятий ............................................................................................... 12
2.4.1 Базовое и текущее расписание ......................................................................................... 14
2.4.2 Занятие................................................................................................................................ 14
2.4.3 Время .................................................................................................................................. 15
2.4.4 Предмет .............................................................................................................................. 15
2.4.5 Преподаватели ................................................................................................................... 16
2.4.6 Ученики .............................................................................................................................. 16
2.4.7 Аудитории .......................................................................................................................... 17
2.4.8 Корректность и оптимальность ........................................................................................ 17
2.4.9 План занятий и мероприятий ........................................................................................... 18
2.4.10 Вспомогательные данные ............................................................................................... 19
2
2.5 Задачи процесса ........................................................................................................................ 19
2.5.1 Составление базового расписания ................................................................................... 19
2.5.2 Согласование и составление текущего расписания ....................................................... 19
2.5.3 Верстка и публикация текущего расписания .................................................................. 20
2.5.4 Учет выполнения учебного плана.................................................................................... 21
2.5.5 Процесс управления расписанием как система с обратной связью ............................. 21
2.6 Проблемы процесса .................................................................................................................. 21
2.6.1 Большой объем трудовых затрат ...................................................................................... 22
2.6.2 Недостаточная формальность процесса .......................................................................... 22
2.7 Требования к автоматизированному решению ...................................................................... 23
3 Существующие решения................................................................................................................. 24
3.1 Методы и критерии обзора ...................................................................................................... 24
3.2 Обзор.......................................................................................................................................... 25
3.2.1 Mimosa Scheduling Software ............................................................................................. 25
3.2.2 Lantiv Scheduling Studio 7 ................................................................................................. 26
3.2.3 Экспресс-расписание ........................................................................................................ 27
3.2.4 Ника-Люкс .......................................................................................................................... 27
3.2.5 Расписание 2000 ................................................................................................................ 28
3.2.6 Профиль.............................................................................................................................. 28
3.2.7 ХроноГраф 3.0 Мастер ...................................................................................................... 29
3.3 Результаты обзора ..................................................................................................................... 29
4 Проектирование, разработка и развертывание ............................................................................. 31
4.1 Архитектура системы ............................................................................................................... 31
4.2 Модель данных ......................................................................................................................... 33
4.2.1 Исходные и производные данные .................................................................................... 33
4.2.2 Обеспечение неизменности архивных данных............................................................... 34
4.2.3 Переопределение занятий ................................................................................................. 34
4.2.4 Учебный план .................................................................................................................... 35
3
4.3 Средства реализации ................................................................................................................ 36
4.3.1 Технологии, стандарты и протоколы ............................................................................... 36
4.3.2 Операционная система, компоненты и сервисы ............................................................. 36
4.3.3 Языки программирования и разметки ............................................................................. 37
4.3.4 Библиотекиифреймворки .................................................................................................. 37
4.3.5 Инструменты ...................................................................................................................... 37
4.3.6 Предварительные варианты.............................................................................................. 38
4.4 Информационная архитектура и пользовательский интерфейс ........................................... 38
4.5 Алгоритмы................................................................................................................................. 39
4.5.1 Автоматическая верстка .................................................................................................... 39
4.5.2 Расчет присутствия............................................................................................................ 40
4.5.3 Расчет учебного плана ...................................................................................................... 40
5 Заключение....................................................................................................................................... 42
6 Список литературы .......................................................................................................................... 43
7 Список использованных источников ............................................................................................. 44
Приложение А Диаграмма процесса управления расписанием .................................................. 45
Приложение Б Диаграмма модели данных ................................................................................... 46
Приложение В Диаграмма архитектуры системы ........................................................................ 47
4
1 Введение
В наш век современных технологий,
1.1 Предметная область и основные понятия
Данная работа делается по заявке конкретного учебного заведения – частной школы «Квадривиум» (далее в работе Школа). Предметом большинства исследований данной работы являются
организационные процессы, проходящие в Школе. Там же тестируется и внедряется разрабатываемая в ходе работы автоматизированная система.
Несмотря на это, цели и задачи работы не ограничиваются проблемами единственного учебного заведения и охватывают целый класс проблем, связанный с определенными особенностями организации образовательного процесса в Школе. С похожими проблемами в том или ином виде
сталкивается значительное количество учебных заведений (как частных, так и государственных),
предоставляющих дополнительные образовательные услуги и организующие время учеников в течение всего дня.
Фокусом этой работыявляется создание законченного решения для конкретной проблемы. Тем
не менее, на всех этапах работы достаточное внимание уделяется универсальности создаваемого
решения и перспективам его более широкого применения. Таким образом, в работе соблюдается
баланс между практичностью и универсальностью, что, в свою очередь, обеспечивает полезность
работы как для конкретных учебных заведений в отдельности, так и для достаточно широкого круга образовательных организаций в целом.
1.1.1 Школа
«Квадривиум» — частная многопрофильная начальная школа-полупансион (1 – 4 классы),
«школа на пересечении образовательного стандарта и нестандартного подхода к развитию личности».
Школа основана в 2010 году, имеет бессрочную лицензию на право образовательной деятельности.
На момент выполнения работы в Школе учились 32 ученика, работали 36 преподавателей.
Также в распоряжении Школы находилось 10 аудиторий[11].
1.1.2 Многопрофильность
Многопрофильность Школы означает отсутствие определенного профиля обучения, то есть
специализации учебного плана на какой-то одной теме, (например, на иностранном языке или математике).
5
Дирекция Школыописывает мотивацию, стоящую за подобным подходом следующим образом:
«Ребенку необходимо дать возможность сначала узнать многое, чтобы потом решить, к чему у него
есть склонность.…Мы – против ранней специализации, несмотря на то, что наша школа – первая
ступень к углубленному математическому образованию»[11].
Многопрофильность Школы имеет большое значение для данной работы, так как многопрофильность определяет одну из ключевых особенностей расписания Школы – его объем и насыщенность. Эта особенность является одной из причин тех проблем, которые решает данная работа.
На практике многопрофильный подход означает, что составитель расписания имеет дело примерно с 50 различными видами занятий (подробнее о видах занятий в разделе 2.4.2). Часть занятий
составляет обучение по базовому плану на основе образовательного стандарта, часть занятий –
индивидуальные уроки, занятияв кружках и факультативах.
Школа организована по принципу полупансиона – то есть ученики находятся в Школе целый
день и расписание должно учитывать все время нахождения ученика в Школе, включая обеды, досуг, выполнение самостоятельных заданий и прочую деятельность, что также увеличивает объем
расписания.
1.1.3 Индивидуальный подход
Индивидуальный подход в контексте данной работы означает, что учебный план и расписание
в Школе строятся не на уровне групп (или учебных классов), как это обычно принято в школах, а
на уровне отдельных учеников. На практике используется комбинированный подход: часть занятий
планируется для классов и учебных групп, а часть (индивидуальные, факультативные, внеучебные
и другие занятия, дополнительные к базовому плану) – для отдельных учеников.
Такой подход является второй ключевой особенностью расписания Школы, а значит, и данной
работы. Как и многопрофильность, индивидуальный подход увеличивает размер и насыщенность
расписания, а также делает неприменимым большинство существующих решений по автоматизации процесса управления расписанием, так как они рассчитаны на более распространенный классово-урочный подход (подробнее в разделе 2.3).
Отдельную проблему представляет сочетание индивидуальных и групповых занятий. А отсюда
вытекает и связанная с этим проблема определения, на каком именно занятии присутствует данный
ученик в данное время (решение данной проблемы описано в разделе4.5.2).
1.2 Цель работы
Оптимизация и формализация процесса управления расписанием – такая цель была поставлена
для данной работы. Средством достижения этой цели является автоматизация процесса управления расписанием с помощью внедрения информационной системы управления расписанием.
6
Во-первых, такая формулировка цели предполагает достижение результата, который измерим и
полезен сам по себе. Формулировка цели «Разработать информационную систему»не обеспечивает
полезность разработанной в результате работы информационной системы.
Во-вторых, для достижения цели требуется определенный уровень знаний и умений, а также
способность применить эти знания и умения для решения практической задачи.
Знания, умения, и способности к их практическому применению (другими словами, компетенции), которые необходимы для выполнения этой работы, соответствуют компетенциям, которыми
должен обладать выпускник магистерской образовательной программы «Информационные системы в управлении образованием»[12]. В их число входят компетенции в области:
−
выбора архитектуры и комплексирования аппаратных средств информационных систем управления образованием;
−
принятия решений в управлении;
−
выбора основных схем принятия решений и экспертных методов;
−
оптимизации задачи принятия решений;
−
принятия решений в условиях неопределенности;
−
поиска решений в интеллектуальных системах;
−
проектирования информационных систем и их элементов в управлении образованием с применением современных технологий и методик разработки программного обеспечения;
−
внедрения информационной системы, обучения пользователей и обеспечения технической
поддержки;
−
диагностики современных информационных образовательных систем.
Таким образом, поставленная цель соответствует уровню квалификационной работы выпуск-
ника магистерской образовательной программы «Информационные системы в управлении образованием».
1.3 Актуальностьработы
С управлением расписанием в образовательном учреждении связано несколько классов задач.
Для многих из них существует большое количество различных решений, в то время как для некоторых специфических задач (например, связанных с автоматическим составлением расписания) до
сих пор нет и, возможно, никогда не будет универсальных решений.
Актуальность данной работы заключается в особенностях расписания Школы (описанных в
главе 2). Из-за этих особенностей существующие решения проблемы управления расписанием оказываются неприменимыми и не подходят для достижения поставленной цели. Стоит отметить, что
многие существующие решения (глава 3) возможно адаптировать и внедрить в Школу, но это мо7
жет потребовать трудовых затрат, сравнимых или превышающих затраты на создание нового решения. При этом итоговый результат, хотя и будет работоспособен, не приведет к значительной оптимизации и формализации процесса, то есть не достигнет поставленной цели.
1.4 Задачи работы
Работу, необходимую для достижения указанной цели, можно разбить на несколько общих задач, сгруппированных по виду деятельности и перечисленных в порядке выполнения. Содержание
и результат работы над каждой из задач описаны в соответствующей главе данной пояснительной
записки.
Основные задачи работы:
−
исследование процесса управления образованием в Школе;
−
составление требований к автоматизированной системе управления расписанием;
−
исследование существующих решений по автоматизации процесса управления расписанием;
−
проектирование, разработка и развертывание ИС управления расписанием;
−
тестирование и внедрение ИС в Школе.
1.4.1 Итеративный процесс
В процессе выполнения работы перечисленные выше задачи выполнялись итеративно, то есть
в виде повторяющихся циклов с непрерывным анализом полученных результатов и корректировкой последующих этапов работы.
Например, после внедрения и апробации предварительной версии системы происходил возврат
к исследованию предметной области, разработка следующей версии, ее апробация и т. д.
Подобный итеративный подход позволяет быстро исправлять ошибки, возникающие на этапе
проектирования и реализации, помогает подтверждать или опровергать предположения и гипотезы, сформулированные в процессе исследования предметной области, и в целом способствует
успешной работе в новой области[13], а значит, подходит для применения в данной работе.
В ходе работы на каждой итерации проводилась встреча с персоналом Школы, активно участвующем в процессе управления расписанием, на которой подводились итоги предыдущей итерации и происходил сбор информации для начала следующей. Такая практика предоставляла обратную связь на протяжении всей работы над проектом.
Выбор инструментовпроектирования и разработки также проводился с использованием итеративного подхода (подробно об инструментах разработки в разделе4.2.4).
8
2 Управление расписанием занятий
2.1 Исследование процесса управления расписанием занятий
Для формулировки требований к автоматизированному решению и последующего проектирования ИС было проведено исследование автоматизируемого процесса.
2.1.1 Методыисследования
Исследование проводилось с использованием следующих теоретических и эмпирических методов:
−
наблюдение,
−
сравнение,
−
измерение,
−
эксперимент,
−
опрос,
−
абстрагирование,
−
классификация,
−
анализ и синтез,
−
формализация,
−
индукция и дедукция,
−
мысленное моделирование,
−
восхождение от абстрактного к конкретному.
Исследование процесса начиналось с наблюдения за участниками процесса в работе и с их
опроса, анализа и классификации документов, участвующих в процессе, а также измерения основных характеристик процесса. На основе первичных исследований проблемы были сформулированы основные цели и задачи данной работы.
После чего собранные на первом этапе конкретные сведения о процессе подвергались индукции, анализу и абстрагированию для получения более общих данных о процессе. На основе этих
данных синтезировалась абстрактная модель самого процесса и сущностей, участвующих в нем.
Полученная модель затем подвергалась дальнейшему анализу, сравнению с аналогичными процессами, существующими в данной области.
Верификация модели процесса управления расписанием проводилась с помощью дедукции,
мысленных и реальных экспериментов. Для исправления обнаруженных несоответствий в модели
9
снова проводился сбор первичных данных, их обработка и т. д. Таким образом, исследование происходило циклически, или итеративно, каждая итерация состояла из описанных выше стадий и давала в результате уточненную и расширенную модель процесса.
2.1.2 Документы, использованные в исследовании
Для построения модели процесса управления расписанием использовались следующие документы, участвующие в процессе:
−
списки групп и классов;
−
базовое расписание за два семестра;
−
текущее расписание за все недели одного семестра;
−
программы праздников и выездов за год;
−
учебный план Школы;
−
список сотрудников Школы.
Для проверки расписания и деятельности Школы на соответствие нормам законодательства РФ
использовались следующие документы:
−
Санитарно-эпидемиологические требования к условиям и организации обучения в общеобразовательных учреждениях[14];
−
Федеральный базисный учебный план №1312 от 9 марта 2004 [15];
−
Федеральный государственный образовательный стандарт начального общего образования
[16].
2.2 Цели процесса
Управление – это совокупность процессов планирования, организации и контроля, необходимых для достижения определенной цели [17].
Для полного понимания смысла и деталей, а, следовательно, и решения проблем процесса
управления необходимо понимать цели, на достижение которых направлен этот процесс. Без представления о целях процесса очень сложно понять мотивацию и смысл действий участников процесса, что, в свою очередь, может привести к серьезным ошибкам при принятии ключевых решений и неверной приоритезации задач в ходе работы над изменением процесса.
Поэтому важная часть работы по исследованию процесса управления расписанием была посвящена выяснению целей и задач процесса.
В изучении целей и принципов процесса в числе прочих использовался метод «пять почему» –
итеративнаятехниказадаваниявопросов, применяемая для выяснения причинно-следственных связей, лежащих в основе определенной проблемы[18].
10
Описание целей процесса управления расписанием рассматривается в контексте целей образовательного учреждения в целом. Результат этой работыпредставлен ниже.
−
Выполнение плана по занятиям и мероприятиям. Основной целью деятельности Школы
как образовательного учреждения является собственно обучение. Все процессы, протекающие
в учреждении, подчинены этой цели, и процесс управления расписанием не является исключением. Формально эта цель определена в плане занятий и мероприятий Школы, а расписание –
один из инструментов выполнения этого плана.
−
Организация времени учеников.Все время, которое ученики проводят в Школе (обычно
большую часть дня), должно быть организовано и учтено. Это относится как ко времени на
уроках, так и ко времени, проведенному за другими занятиями (обедами, выполнением домашних заданий, прогулками и т. п.).Расписание занятий играет ключевую роль в достижении этой
цели.
−
Соблюдение санитарных норм.Образовательное учреждение обязано обеспечить охрану здоровья обучающихся согласно принятым санитарным правилам [14]. Следовательно, расписание занятий также должно соответствовать этим правилам.
−
Эффективное использование ресурсов Школы.Образовательное учреждение заинтересовано
в эффективности собственной деятельности. Одна из целей расписания – обеспечение эффективного использования материальных и кадровых ресурсов Школы.
2.3 Организация учебного процесса и расписания
Как правило, процесс обучения в среднем образовательном учреждении организован на основе
повсеместно распространенной классно-урочной системы. Такая система предполагает постоянную группировку учеников в классы, при этом каждый класс соответствует определенной ступени
обучения. В такой системе обучение происходит в форме уроков – регулярных коллективных занятий с определенной темой и дидактической целью, проводимых учителем в учебной аудитории
[19].
Классно-урочная система обучения предполагает достаточно строгую форму учебного расписания, а также деление учащихся на учебные группы по параллелям и классам. Расписание занятий по такой системе имеет периодическую, регулярную форму. Общее время занятий разбивается
на равные промежутки (обычно по 40 или 45 минут) с перерывами. Такая форма значительно облегчает составление и выполнение учебного расписания и делает возможной организацию массового обучения, замещая собой индивидуальную организацию обучения.
Процесс обучения в Школе сочетает в себе классно-урочный и индивидуальный подходы.
Классно-урочный подход используется для организации обучения по базовым, или основным,
предметам учебной программы, определяемым соответствующими образовательными стандартами
11
[16]. Индивидуальные изменения в базовой части возможны по отдельному соглашению с родителями.
Индивидуальный подход применяется для организации опциональных факультативов, кружков, персональных занятий и тренингов. Отдельно происходит организация нерегулярных массовых мероприятий различного характера и продолжительности, а также организация досуга, питания, отдыха учеников.
Следовательно, расписание занятий имеет в своей основе структуру, характерную для расписания классно-урочной системы, но при этом оно не строго следует этой структуре и содержит
большое количество отступлений в указании состава учебных групп, времени, периодичности,
формах и предметах занятий.
В начале учебного дня, когда проходят учебные занятия по основным предметам, расписание
имеет выраженную структуру и похоже на стандартное расписание классно-урочной системы, за
исключением отдельных индивидуальных занятий и нетипичного деления на группы, обусловленного неравномерной наполненностью классов.
Ближе к концу учебного дня расписание принимает более свободную форму, без четкой «сетки», с большим количеством индивидуальных занятий, произвольным временем начала и продолжительностью занятий. Групповые занятия при этом могут проходить не у отдельных классов или
их подгрупп, а с группами, составленными из учеников разных классов.
2.4 Структура расписания занятий
Расписание – таблица, график, в которых содержатся указания о времени, месте и последовательности совершения чего-либо [20].
Расписание занятий – один из главных объектов исследования данной работы. В этом разделе
описываются термины и понятия, связанные с расписанием и используемые в работе в дальнейшем. На основе исследований данного раздела в разделе 4.2 строится модель данных автоматизированной системы управления расписанием.
Расписание занятий содержит информацию о времени, месте, участниках, ресурсах и предмете
будущих или прошедших занятий и используется соответственно для планирования и учета занятий.
Расписание состоит из набора сведений об отдельных занятиях и обычно представляется в виде таблицы или списка занятий, упорядоченных по времени и сгруппированных по участникам,
местам или другим параметрам занятия.
Расписание составляется на какой-то промежуток времени (например, на учебный год) и может
быть периодичным, то есть повторяться во времени с определенным периодом (сутки, неделя и т.
п.). Периодичность расписания становится возможной при наличии большого количества повто12
ряющихся занятий (как при классно-урочной системе, описанной выше) и позволяет, во-первых,
добиться равномерности распределения занятий в течение длительного периода времени, а, вовторых, значительно сокращает трудовые затраты на управление расписанием.
Одно и то же расписание может быть представлено в разном виде. В большинстве случаев расписание представляется в виде одной или нескольких таблиц. Занятия расписания располагаются в
ячейках таблиц, положения строки и столбца определяет параметры занятия, по которым построена таблица.Оставшиеся параметры записываются в саму ячейку.
Чаще всего используется разделение на таблицы по дням с группировкой по времени и группам для строк и столбцов соответственно (Рисунок 1)Рисунок 1 — Расписание за день по классам.
Возможны также и другие представления, например, с разделением по группам и группировкой по
времени и дням (Рисунок 2).
Рисунок 1 — Расписание за день по классам
13
Рисунок 2 — Расписание для класса по дням
2.4.1 Базовое и текущее расписание
Базовое расписание – это периодичное расписание занятий Школы, в котором запланированы
все регулярные занятия (таких большинство). Базовое расписание составляется в начале учебного
года на весь год. Период базового расписания – две недели. На самом деле большинство занятий
повторяются раз в неделю, и только небольшая часть – раз в две недели. Базовое расписание практически не меняется в течение учебного года, за исключением изменений, которые вносятся в середине года перед началом второго семестра.
Текущее расписание – расписание занятий, составляемое на конкретный день на основе базового расписания. Составляется путем внесения изменений в текущее и содержит нерегулярные занятия, а также все незапланированные изменения. Ежедневные занятия в Школе проходят по текущему расписанию. С его помощью также ведется учет выполнения учебного плана.
2.4.2 Занятие
Занятие – составной элемент расписания. Занятие устанавливает связь между временем, местом, предметом, участниками и ресурсами.
Занятия в расписании Школы можно разделить на обычные занятия и занятия вне расписания.
14
−
Обычные занятия проходят в рамках образовательного процесса Школы и являются основными элементами расписания.
−
Занятия вне расписания («внешние» занятия, Рисунок 3) не являются частью образовательного процесса Школы и предназначены для обозначения недоступности места, участников или
ресурса для проведения занятия. Предмет такого занятия обычно неважен. «Внешние» занятия
необходимы для планирования обычных занятий в расписании.
Рисунок 3 — «Внешнее» занятие
2.4.3 Время
Время занятия – непрерывный промежуток времени, в течение которого продолжается занятие.
Указывается в виде даты и времени начала и продолжительности или даты и времени начала и
конца занятия.
Для периодических занятий время указывается не абсолютно, а относительно периода повторения занятия. Например, для недельного расписания указывается только день недели и время занятия.
Большинство занятий проходят в фиксированные промежутки времени определенной длины,
определяемые расписанием звонков, однако значительная часть занятий может иметь произвольные время начала и длину (в рамках требований санитарных правил и норм [14]).
2.4.4 Предмет
Предмет занятия определяет деятельность, которой участники занятия занимаются в течение
всего времени занятия (то есть предмет остается неизменным на протяжении всего занятия).
Предметы можно разделить по видам научебные и внеучебные. Учебные предметы в свою
очередь нестрого делятся на основные, или базовые, и дополнительные, или факультативные (подробнее в разделе 2.3).
В расписании Школы можно выделить несколько форм предметов:
−
Уроки, групповые и индивидуальные. Учебное занятие, в течение которого ученик или группа
учеников изучают определенную учебную дисциплину. Проводится в учебной аудитории при
участии одного или нескольких преподавателей.Повторяется регулярно.
−
Тренинги, групповые и индивидуальные. Учебное занятие, направленное на развитие определенных умений и навыков. Как правило, проводится в учебной аудитории при участии одного
15
или нескольких преподавателей. Отличается от урока формой проведения.Повторяются регулярно.
−
Приемы пищи (завтраки, обеды, полдники и т. п.). Регулярно повторяющиеся занятия, проходят в столовой, обычно в большой группе.
−
Игры или выполнение домашнего задания.Проходят в специально отведенном месте Школы(игровой комнате или учебной аудитории) под надзором одного или нескольких преподавателей и/или воспитателей. Могут не иметь определенного заранее конкретного рода занятия,
участвующие в таком занятии ученики не обязательно занимаются вместе (в отличие от урока
или тренинга).
−
Мероприятия. Запланированные заранее, как правило, разовые, продолжительные занятия, в
которых участвует большое количество учеников. Проходят в Школе. В качестве примера
можно привести школьный спектакль.
−
Выездные мероприятия. Отличаются от обычных тем, что проходят вне Школы. Типичный
пример – экскурсия.
Для занятий вне расписания, кроме общего неопределенного обозначения занятости, можно
дополнительно обозначить несколько специальных форм:
−
приход ученика в Школу в начале дня;
−
уход ученика из Школы в сопровождении родителей и/или попечителей в конце дня;
−
передача ученика в другое образовательное учреждение в конце дня (Рисунок 4).
Рисунок 4 — Передача ученика в другое ОУ в конце дня
2.4.5 Преподаватели
В одном занятии может участвовать несколько преподавателей. Для некоторых видов занятий
преподаватели могут быть не указаны. Например, для обедов и игр не указываются преподаватели,
так как они не участвуют в проведении этих занятий, такие занятия проводятся дежурным персоналом Школы (воспитали и т. п.), чье присутствие на занятии предполагается неявно и не требует
планирования.
У каждого преподавателя есть определенная специализация, которая определяет учебные дисциплины, которые ведет этот преподаватель. В случае, если одну дисциплину ведет несколько преподавателей, за каждым преподавателем «закрепляется» своя учебная группа. Таким образом, получается, что у одного ученика одну дисциплину ведет всегда один преподаватель.
2.4.6 Ученики
Ученики участвуют во всех занятиях (за исключением «внешних»).
16
Ученики Школы разделены на классы по возрасту. В учебном процессе Школы такое деление
является основным, но не единственным.
Для регулярных совместных занятий по определенному предмету на определенной ступени
обучения ученики объединяются в постоянные группы, которые могут разделять и/или объединять
классы. В связи с неравномерной наполненностью классов для проведения некоторых занятий два
класса с разным количеством учеников могут быть объединены, а затем разделены на две равные
группы, так, что в одной группе могут быть ученики разных классов.
Для некоторых факультативных групповых занятий не создается формальной группы. В расписании для таких занятий участвующие ученики указываются поименно (Рисунок 5).
Рисунок 5 — Поименное указание участников занятия
2.4.7 Аудитории
Аудитории или учебные классы – специально оборудованные помещения, в которых проходят
занятия. Для выездных мероприятий может быть указано место проведения мероприятия.
Аудитории могут обладать специализацией, которая определяет предметы, занятия по которым
должны или не должны проводиться в данной аудитории.
2.4.8 Корректность и оптимальность
Корректное расписание – это расписание, отвечающее набору формальных условий, определенных таким образом, чтобы все занятия расписания, удовлетворяющего этим условиям, физически возможно было провести.
Необходимые (но не достаточные) условия корректности расписания, обеспечивающие разделение занятий в пространстве и времени:
−
ученик не может находиться более чем на одном занятии одновременно;
−
преподаватель не может находиться более чем на одном занятии одновременно;
−
в одной аудитории не может проходить более одного занятия одновременно.
Условия оптимальности не являются такими строгими и формальными как условия корректно-
сти и определяют практическую пользу расписания. Условия оптимальности не всегда обязаны
выполняться, могут противоречить друг другу, иметь разный приоритет (то естьвыполнение одного условия может быть полезнее, чем выполнение другого).
В число важных условий оптимальности входят:
−
Соответствие учебному плану и плану мероприятий.
17
−
Оптимальное распределение нагрузки учеников в течение дня. Оптимальность определяетсябольшим количеством правил и рекомендаций, в том числе и соответствующими санитарными
правилами и нормами[14].
−
Соответствие специализации преподавателя и аудитории предмету занятия, соответствие группы или ученика «закрепленному» за ними преподавателю.
−
Соответствие личному графику учеников и преподавателей и расписанию совместного использования аудиторий и других ресурсов. Данное условие может быть преобразовано в условие
корректности с помощью внесения в расписание «внешних» занятий.
−
Соответствие личным предпочтениям участников учебного процесса.
2.4.9 План занятий и мероприятий
План занятий (в той его части, которая связана с данной работой) содержит сведения о количе-
стве занятий, которые необходимо провести втечение определенного периода времени. План занятий указывает только количество занятий по определенному предмету с определенными участниками, в то время как расписание занятий дополнительно указывает время и место каждого занятия.
Таким образом, расписание можно считать расширенным вариантом плана занятий, составляемым на его основе.
План мероприятий отличается от плана занятий тем, что в нем указаны разовые занятия с планируемой датой и временем их проведения. Дата мероприятия может измениться после включения
мероприятия в текущее расписание.
Основной план занятий и мероприятий составляется до расписания, выполнение основного
плана является одной из целей процесса управления расписанием (подробнее в разделе 2.2).
Для того, чтобы рассчитать план занятий за определенный временной промежуток на основе
периодического расписания, необходимо умножить количество занятий в расписании за период на
количество периодов в данном промежутке времени.
Полученный таким образом план можно назвать базовым планом занятий. Он отражает количество занятий, которые были бы проведены, если бы Школа занималась исключительно по базовому расписанию, без текущих изменений. Обычно он отличается от основного плана. Текущее
расписание стремится минимизировать эти отличия.
Текущее расписание за уже прошедшие дни содержит фактически выполненные занятия плана,
другими словами, оно является отчетом о выполнении основного учебного плана. Такой отчет используется в качестве обратной связи при составлении текущего расписания на последующие дни.
18
2.4.10 Вспомогательные данные
Вспомогательными данными можно назвать все данные, связанные непосредственно с расписанием занятий и необходимые для его составления и практического применения.
К таким данным можно отнести:
−
список учеников с разделением по классам;
−
список постоянных учебных групп и состоящих в них учеников;
−
список предметов, с указанием вида и формы, сгруппированных по тематике;
−
список аудиторий и их специализаций;
−
список преподавателей и их специализаций, а также информация об их привязке к ученикам и
учебным группам.
2.5 Задачи процесса
Процесс управления расписанием можно представить в виде цикла, состоящего из нескольких
этапов. Каждому этапу соответствует определенный вид деятельности и, как правило, определенный результат. Некоторые этапы занимают фиксированное время, какие-то продолжаются в течение всего цикла. Непосредственными участниками процесса управления расписанием, а значит, и
исполнителями задач процесса являются учебная часть и секретариат Школы.
Приложение А содержит диаграмму процесса управления расписанием.
Длительность цикла управления расписанием – один учебный год, разделенный на два семестра.
2.5.1 Составление базового расписания
Составление базового расписания происходит в начале цикла, то есть перед началом учебного
года.
На этом этапе учебной частью на основе учебного плана, данных о составе учебных классов,
списка доступных аудиторий и списка преподавателей определяется состав учебных групп и составляется периодическое расписание с периодом в две недели.
Составление базового расписания требует значительных трудозатрат и,как правило, не успевает завершиться к началу занятий. В этом случае базовое расписание изменяется по ходу учебного
процесса.
2.5.2 Согласование и составление текущего расписания
Составление и согласование текущего расписания происходит в течение всего учебного года.
Этим занимается учебная часть и секретарь Школы.Обычно расписание согласуется на текущий
день, а иногда и на несколько последующих дней. В этот процесс входит включение в расписани19
евсех разовых занятий, внеплановых и плановых (указанных в плане разовых мероприятий), а
также исключение из расписания занятий, которые не удастся провести по различным, неизвестным ранее причинам (например, болезнь или недоступность участников).
После этого происходит перенос отмененных занятий на следующие дни (при наличии возможности) и заполнение «пустых мест» в расписании занятиями из плана.
Каждое изменение занятия в расписании должно быть согласовано с его участниками. Также
после внесения изменений необходимо проверить расписание на корректность и оптимальность
(подробнее в разделе 2.4.2). Вышеописанные действия могут потребовать дополнительных изменений, которые также требуют согласования и проверки и могут привести к еще большим изменениям и т.д.
Таким образом, одно изменение в расписании может вызвать целый каскад последующих изменений.
2.5.3 Верстка и публикация текущего расписания
Составленное и согласованное текущее расписание необходимо донести до всех заинтересованных лиц: учеников, их родителей и попечителей, преподавателей и другого персонала Школы.
Для этого верстается расписание по классам за один день, которое затем распечатывается и вывешивается на стенде в Школе (Рисунок 6). Также копия расписания публикуется на веб-сайте Школы.
Рисунок 6 — Расписание занятий на стенде в школе
20
Версткой и публикацией расписания занимается секретарь Школы. Обычно верстка изменений
происходит одновременно с внесением и согласованием изменений.
До внедрения автоматизированной системы верстка и форматирование расписания делались на
компьютере с помощью программы MicrosoftWord. Для публикации расписания на веб-сайте Школы с помощью системы управления содержанием сайта создавалась отдельная копия расписания
(опубликовать на сайте сверстанный ранее документ MicrosoftWord было невозможно из-за технических ограничений системы управления содержанием).
Верстка и публикация расписания происходят после каждого изменения, за один день может
смениться несколько версий текущего расписания.
2.5.4 Учет выполнения учебного плана
Внесение изменений в текущее расписание происходит с учетом отчета о выполнении учебного плана. Этот отчет строится на основе текущего расписания за прошедшие дни. Для его построения необходимо точно учесть количество и состав участников проведенных занятий, что может
быть нетривиальной задачей, учитывая количество занятий и наличие в расписании индивидуальных занятий.
До внедрения автоматизированной системы у этого отчета не было физической формы, персонал учебной части запоминал перенесенные и отмененные занятия, а в трудных случаях использовал журналы преподавателей для восстановления данных о выполнении учебного плана.
2.5.5 Процесс управления расписанием как система с обратной связью
Процесс управления расписанием в Школе можно рассматривать как систему с отрицательной
обратной связью.
Процесс стремится поддерживать равномерный темп выполнения учебного плана. Внешними
воздействиями являются незапланированные отмены или назначения занятий, которые стремятся
изменить заданный темп и помешать выполнению плана. В ответ на это процесс управления вносит противодействующие изменения (отменяя, перенося или добавляя занятия), стремясь компенсировать отклонение от плана исоздавая таким образом петлю обратной связи.
2.6 Проблемы процесса
В этом разделе сформулированы проблемы процесса управления расписанием, решение которых является целью данной работы. Предыдущие разделы данной главы описывают причины возникновения этих проблем, а их решениям посвящены последующие главы работы.
21
2.6.1 Большой объем трудовых затрат
Описанные выше особенности расписания и учебного процесса являются причиной большого
объема трудовых затрат на всех этапах процесса управления расписанием, что приводит к низкой
эффективности персонала Школы. В свою очередь, низкая эффективность персонала, особенно
высококвалифицированного, является нежелательной для любой организации.
Больше всего времени уходит на изменение, согласование, проверку и верстку текущего расписания. В результате опроса и наблюдения за участниками процесса управления расписанием был
оценен приблизительный объем трудозатрат, связанных с этими задачами: в среднем 5 рабочих
часов секретаря и 4 рабочих часа персонала учебной части на каждый учебный день.
Автоматизация позволит снизить упомянутые выше трудозатраты, в особенности связанные с
версткой, проверкой и учетом расписания.
2.6.2 Недостаточная формальность процесса
Менее очевидной проблемой процесса управления расписанием является его недостаточная
формализация. Знания об этапах процесса (например, о правилах составления расписания) нигде
не записаны. Это осложняет участие в процессе незнакомых с ним (процессом) людей, что, в свою
очередь, ограничивает внутреннюю мобильность персонала в организации и увеличивает стоимость приема на работу новых сотрудников.
Глава 2 данной работы является формальным описанием процесса, но этого описания недостаточно для решения описанной выше проблемы. Автоматизированная система управления расписаниям, отражающая в себе процесс управления расписанием в Школе, может являться практическим интерактивным справочником, предоставляющим актуальную и необходимую информацию в
нужно время, в нужном контексте.
Еще один аспект проблемы заключается в том, что информация о текущем состоянии процесса
хранится в разных не связанных друг с другом местах, или вообще нигде не хранится. Это негативно сказывается на прозрачности процесса, а значит, затрудняет контроль над процессом и приводит к лишней работе и ошибкам.
Для работы со всеми данными, связанными с расписанием, используются текстовые и табличные редакторы, работающие, соответственно, на уровне текстового и табличного представления
расписания, а не на уровне сущностей, составляющих расписание. Другими словами, работа с расписанием ведется на неверном, то есть более низком, чем нужно, уровне абстракции. Это также
снижает эффективность работы и ведет к ошибкам.
Специализированная автоматизированная система, в отличие от универсальных программ,может работать на уровне абстракции, который соответствует предметной области.Такая
22
система «знает» максимум информации о данных, с которыми она работает, что позволяет устранить упомянутые выше недостатки процесса управления расписанием.
2.7 Требования к автоматизированному решению
На основе исследований процесса управления расписанием в этом разделе сформулированы
требования к автоматизированной системе управления расписанием, предназначенной для решения проблем, описанных в разделе 2.6.
Целью внедрения автоматизированной системы является решение упомянутых выше проблем,
а перечисленные ниже требования определяют, как именно система должна решать эти проблемы.
В первую очередь необходимо обозначить принципиальные требования к системе:
−
оптимальное отражение сущностей и процессов управления расписанием;
−
возможность эффективного использования в существующих условиях Школы.
Из этих принципов можно сформулировать более конкретные требования:
−
Хранение и редактированиерасписания и плана занятий, а также всех вспомогательных
данных.
−
Автоматическая верстка и публикация расписанияв соответствии с принятым в Школе
форматом. Возможность автоматической публикации на веб-сайте.
−
Автоматическая проверка расписания.
−
Расчёт выполнения учебного плана на основе текущего расписания.
−
Доступ к системе через интернет с различных устройств, как настольных, так и мобильных,
под управлением различных ОС. В частности, доступ с рабочих и домашних компьютеров сотрудников Школы, а также доступ с планшетных компьютеров.
−
Эффективный интерфейс, не требующий специального обучения и отвечающий типичным
условиям работы персонала.
−
Отсутствие необходимости в предварительной установке и технической поддержке системы.
−
Работоспособность при временной потере связи с интернетом.
23
3 Существующие решения
После исследования предметной области и формулировки требований к решению по автоматизации процесса управления составлением расписанием был проведен обзор существующих решений.
Цель обзора – найти существующее решение, удовлетворяющее требованиям, поставленным в
разделе 2.7. В случае, если подходящее решение не удастся найти, обзор позволит составить представление о типичных способах решения проблем, связанных с управлением, что будет полезно
при последующем проектировании новой системы. Кроме того, часть решений, найденных в ходе
обзора, можно будет адаптировать для проектируемой системы.
3.1 Методы и критерии обзора
Для поиска существующих решений использовались открытые источники в интернете, а также
опрос экспертов, работающих в предметной области. Вначале была определена область поиска –
решения для автоматического и ручного составления расписания для школ, затем была сделана
предварительная оценка количества существующих решений в этой области. На основе этой оценки была сформулирована стратегия поиска и обзора существующих решений.
Стоит отметить, что в обзоре рассматривались только решения, информация о которых была
доступна из открытых источников, что исключает из обзора возможные существующие решения,
например, разработанные по заказу для отдельных образовательных учреждений.
Существующие решения были разделены на две части: предназначенные для использования в
России (то есть имеющие интерфейс на русском языке и, как правило, адаптированные для российской специфики) и все остальные (с описанием и интерфейсом на английском языке). Всего
было рассмотрено около десятка русскоязычных аналогов и несколько десятков зарубежных.
Для использования в Школе рассматривались только русскоязычные аналоги, зарубежные решения рассматривались в основном для получения информации, полезной для последующего проектирования новой системы.
Для обзора решений использовались следующие данные, в порядке использования:
−
описание, составленное авторами продукта;
−
руководство пользователя, рекламные материалы;
−
описание и обзоры из сторонних источников;
−
отзывы и обсуждения на форумах и других открытых дискуссионных площадках в интернете;
−
демонстрационная или полная версия продукта (при наличии).
24
При обзоре существующего решения в первую очередь составлялось общее представление о
распространенности, сложности и степени поддержки решения разработчиком. Для этого использовались как данные с сайта продукта – новости, даты выхода последних версий, описание, способы приобретения, наличие и объем руководства пользователя, информация о пользователях, так и
данные из сторонних источников – отзывы и упоминания на других сайтах, обсуждения на форумах, информация о пользователях. Любительские и сильно устаревшие решения с очевидно недостаточным функционалом отбрасывались на данном этапе.
Затем проверялось соответствие решения существующему процессу управления расписанием
и способность отражать структуру расписания. Обычно, для получения представления об используемой приложением модели данных достаточно было изучить возможности редактора расписания. Как правило, на этом этапе становилось понятно, можно ли рассматривать данное решение в
качестве кандидата для внедрения в Школе.
В ходе дальнейшего обзора составлялось представление об остальной функциональности решения, возможных сценариях его использования, а также сложности внедрения и поддержки.
Отдельное внимание уделялось пользовательскому интерфейсу. Для его изучения использовались снимки экрана, приведенные в качестве примеров в описании и руководстве продукта, а также демонстрационная версия, при ее наличии.
3.2 Обзор
В этом разделе перечислены наиболее интересные решения, найденные в ходе обзора, как зарубежные, так и русскоязычные.
3.2.1 Mimosa Scheduling Software
Рисунок7
25
«Mimosa is a scheduling and course planning software for use in any kind of school and university of
varying type and size. Mimosa is also used to schedule conferences, work-shifts and miscellaneous other
tasks in business and industry environments where complex combinations of limited resources must be
efficiently and easily scheduled. Mimosa allows creating schedules automatically, manually or using both
methods mixed»[http://www.mimosasoftware.com/mimosa.html]
3.2.2 Lantiv Scheduling Studio 7
Рисунок8
«Lantiv Scheduling Studio solves the problem of scheduling people, resources and activities. It monitors conflicts, allows easy scheduling using drag and drop and shows everybody's personal schedules. The
workspace of the program is very comfortable.» [http://schedulingstudio.com/]
26
3.2.3 Экспресс-расписание
Рисунок 9
«Идея программы „Экспресс-расписание“ и ее названии – это быстрое расписание. За считанные минуты программа позволяет автоматически составить основное расписание с помощью
УНИКАЛЬНОГО алгоритма с последующей удобной ручной корректировкой. Во многих программах на этом работа с расписанием заканчивается, но в «Экспресс-расписании» наиболее сильной стороной является ведение ЕЖЕДНЕВНЫХ изменений расписания и учет фактически выполненных часов» [http://www.psbatishev.narod.ru/raspis/raspis_sh.htm]
3.2.4 Ника-Люкс
Рисунок 10
«„НИКА-Люкс“ автоматизирует процесс составления недельного школьного расписания занятий в общеобразовательных учреждениях различного статуса и профиля (школы, гимназии, лицеи), учитывая особенности учебных планов и организации учебного процесса, а также требова27
ния методического, санитарно-гигиенического и индивидуально-психологического характера.
Программа
чрезвычайно
легка
в
освоении
и
удобна
в
работе»
[http://www.nikasoft.ru/Products/ProductInfo.aspx?p=1]
3.2.5 Расписание 2000
Рисунок 11
«ПО Расписание 2000 позволяет составлять расписания различной структуры, как периодические - спериодом в одну или несколько недель, так и одноразовые - по заданным датам, например
расписание консультаций и экзаменов. Поддерживаются как стандартные 5-и, 6-и и 7-и дневные
недели, так и любые нестандартные варианты» [http://www.schedule.narod.ru/Sch2000/News.htm]
3.2.6 Профиль
Рисунок 12
«Профиль предназначен для автоматизации планирования и организации учебного процесса
учреждений среднего общего образования, в том числе с профилизацией обучения. На данный момент Профиль является единственным продуктом, предоставляющим возможность гибкой полно28
ценной работы с индивидуальными образовательными тракториями учащихся, а также позволяющим работать непосредственно с расписанием каждого учащегося» [http://www.ooo3t.ru/profil.php]
3.2.7 ХроноГраф 3.0 Мастер
Рисунок 13
«Программный комплекс «1С:ХроноГраф Школа 3.0 ПРОФ» представляет собой новую версию многофункциональной информационной системы электронного документооборота и автоматизации
управления
основной
деятельностью
образовательного
учреждения»
[http://www.chronobus.ru/normbase/detail.php?ELEMENT_ID=1772548]
3.3 Результаты обзора
Значительная часть решений, описанных в обзоре, предоставляет возможности для составления учебного плана и контроля его выполнения, автоматического и ручного составления расписания, ведения текущего расписания, публикации и подготовки расписания к печати и выполнения
других важных задач управления расписанием.Несмотря на это, ни одно из рассмотренных решений не обладает необходимой возможностью указывать произвольное число учеников и учебных
групп для одного занятия.
Хотя некоторые решения позволяют объединять классы в параллели и разделять их на группы,
их функциональности недостаточно для представления структуры расписания Школы. Тоже самое
можно сказать и о возможностях верстки и форматирования расписания.
Большинство решений являются программами, предназначенными для работы на настольных
компьютерах под управлением операционной системы MicrosoftWindows, то есть работа с этими
программами с помощью планшетного компьютера невозможна. Также это означает, что доступ и
работа с данными с различных компьютеров с помощью интернета могут быть невозможными или
ограниченными.
29
Отдельно стоит отметить информационную систему «Профиль», авторы которой заявляют о
возможности составления индивидуальных учебных планов. Такая возможность существует, но
при этом в системе нет возможности создавать индивидуальные занятия.
Из всех рассмотренных решений наибольшее количество релевантной функциональности есть
в системе LantivSchedulingStudio. Эта система значительно гибче, чем большинство аналогов, и
позволяет создавать индивидуальные занятия и занятия с произвольным временем проведения.
Тем не менее, ее возможностей недостаточно для точного учета выполнения учебного плана.
В результате обзора можно заключить, что подавляющее большинство существующих решений предназначены для работы с классно-урочной системой, а значит, не удовлетворяют требованиям, описанным в разделе 2.7, и не соответствуют особенностям структуры расписания и организации учебного процесса в Школе.
Это делает оправданным проектирование и разработку новой автоматизированной информационной системы управления расписанием, которая будет отвечать упомянутым выше требованиям.
30
4 Проектирование, разработка и развертывание
4.1 Архитектура системы
Проектирование информационной системы начинается с разработки ее архитектуры.
Согласно стандарту IEEE 1471[21], архитектура - это «фундаментальная организация системы,
реализованная в ее компонентах, связях этих компонентов друг с другом и внешней средой и
принципах, определяющих структуру и развитие системы».
Решения, принятые на этапе проектирования архитектуры очень сложно изменить в будущем.
Это значит, что архитектура должна быть спроектирована в самом начале работы над системой, то
естькак раз в то время, когда разработчик знает меньше всего о будущей системе. Таким образом,
решения, связанные с выбором архитектуры проекта являются самыми ответственными во всем
ходе работы над проектом.
Частично снизить риск и последствия ошибки на этом этапе может выбор максимально гибкой
и универсальной архитектуры, такой, которая позволит отложить большинство решений до более
поздних стадий разработки, либо поменять их в будущем.
С учетом вышеописанных соображений и в соответствии с итеративным подходом к разработке системы (описанным в разделе 1.4.1), на данном этапе были сформулированы только самые общие компоненты архитектуры.
Проектирование архитектуры основывалось на следующих требованиях и особенностях предметной области, сформулированных в главе 2:
−
Основная задача системы – предоставлять пользователю возможность работать (вносить, изменять, просматривать) с определенными данными.
−
Система должна быть кроссплатформенной, то есть иметь возможность работать более чем на
одной аппаратной платформе и/или операционной системе. Основные поддерживаемые платформы: настольные компьютеры под управлением семейств ОС Windows, MacOSили Linuxпоследних версий, а также планшетные компьютеры под управлением OCAndroidи iOS.
−
Система должна предоставлять доступ к общему набору данных с различных устройств. Обеспечение возможности одновременного редактирования данных несколькими пользователями
не требуется.
−
Система не должна зависеть отпостоянного соединения с интернетом.
Приложение В содержит диаграмму архитектуры системы.
Для данного проекта можно выделить три основных компонента системы:
−
хранилище данных, отвечающее за постоянное хранение всех данных, с которыми работает
система;
31
−
«бизнес-логика», или логика предметной области, – компонент, отвечающий за реализацию
модели данных (описанной в главе 4.2);
−
пользовательский интерфейс (графический), отвечающий за взаимодействие с пользователем.
Такое деление на компоненты является достаточно гибким, так как в принципе позволяет за-
менить реализацию одного из компонентов без необходимости внесения значительных изменений
в остальные компоненты. Кроме того, оно реализует разделение ответственности между компонентами, разделяя между собой данные, их представление и способ их хранения. Это позволяет,
например, сделать несколько версий приложения с разным интерфейсом (например, для разных
устройств) не дублируя бизнес-логику или использовать разные хранилища данных, например, локальное и удаленное.
В начале работы над проектом рассматривалось несколько вариантов построения системы, которые в ходе дальнейшей работы были признаны неподходящими:
−
Классическое веб-приложение, в котором за бизнес-логику и хранение данных отвечает серверная
часть,
а
интерфейс
реализует
клиентская
часть,
работающая
в
веб-
браузере.Недостатком такой архитектуры является полная зависимость от подключения к интернету, что нарушает одно из основных требований к системе.
−
Настольное приложение, которое объединяет в себе все три компонента, используя файлы
для постоянного хранения данных. С этим вариантом также связано несколько проблем в области реализации, а именно, сложность достижения кроссплатформенности, а также необходимость организовывать синхронизацию данных сторонними средствами, что увеличивает объем
необходимой технической поддержки.
Для каждого из этих вариантов рассматривались возможные технологии реализации (подроб-
нее в разделе4.3.6), после чего первые разработки системы были сделаны в виде классического
веб-приложения. Вскоре после этого недостатки такого решения стали очевидны, и проект был переведен на похожую архитектуру, удовлетворяющую всем требованиям:
Автономное веб-приложение(offlineweb-application) с сервером для синхронизации данных.Такое приложение полностью работает в веб-браузере, и хранит данные в нем же. При этом
для хранения «главной» копии данных и их синхронизации используетсяотдельный сервер. Соединение с интернетом необходимо для первого запуска приложения и синхронизации данных. Это
возможно благодаря относительно новым технологиям, доступным в большинстве современных
браузеров, в частности технологии офлайн-приложений [12], являющейся частью стандарта
HTML5.
32
Такая архитектура сохраняет кроссплатформенность классических веб-приложений, не зависит
от постоянного соединения с интернетом, но несколько ограничивает выбор средств реализации.
Кроме того, реализация системы в виде веб-приложения дает возможность распространять систему по модели SaaS (softwareasaservice– программное обеспечение как услуга), что упрощает
установку, обновление и техническую поддержку системы. Стоит отметить, что хотя, строго говоря, автономное веб-приложение не полностью отвечает определению модели SaaS [23], оно все
равно сохраняет большинство преимуществ этой модели.
4.2 Модель данных
Модель данных – многозначный термин,означающий как способ моделирования данных в
принципе, так и конкретную модель данный определенной базе данных.
В контексте данной работы модель данных системы описывает следующие аспекты данных, с
которыми работает разрабатываемая система:
−
Структура данных, а именно, типы сущностей и их атрибуты, а также отношения между
сущностями, представляющими объекты предметной области.
−
Условия и ограничения целостности данных, то есть условия, которые определяют, является
ли определенный набор структурированных данных корректным с точки зрения предметной
области.
−
Способы модификации и получения данных, определяющие возможные действия по извлечению и изменению данных в системе и соответствующие процессам взаимодействия с объектами предметной области.
Модель данных является промежуточным этапом между словестным описанием предметной
области и реализацией модели в программном коде системы, следовательно, с одной стороны, она
должна максимально точно отражать сущности предметной области, а с другой стороны, быть
описанной на формальном языке, определяющем способ реализации этой модели в конкретной системе.
Приложение Б содержит диаграмму модели данных.
4.2.1 Исходные и производные данные
Данные в модели можно разделить на две группы:
Исходные данные – минимальный (нормализованный) набор данных, необходимых для описания сущностей предметной области, другими словами, никакая часть исходных данных не может
быть получена на основе другой части. Исходные данные, согласно названию, не создаются системой, а вводятся извне. Исходные данные должны полностью сохраняться в хранилище данных. (Из
33
данного определения не следует, что любая информация, попадающая в систему извне, является
исходными данными.)
Производные данные – это данные, которые тем или иным способом можно получить из исходных. Могут быть сохранены в хранилище данных в целях оптимизации.
Например, название группы является исходными данными, а количество учеников в группе –
производными.
4.2.2 Обеспечение неизменности архивных данных
Важная задача модели данных – не допустить изменения текущего расписания за уже прошедшие дни и зависящего от него учебного плана при изменении вспомогательных данных. Другими
словами, изменение базового расписания, состава групп, расписания звонков и других похожих
данных должно влиять только на будущее расписание, никак не затрагивая расписание за прошедшие дни.
Эта задача решается за счет дублирования зависимой информации в тот момент, когда занятие
в расписании становится «прошедшим».
Похожее решение используется для изоляции периодов обучения: на каждый учебный год создается отдельная база данных, при наступлении нового учебного года создается новая база данных, в которую копируются все данные с прошедшего года.
Несмотря на то, что такое решение ведет к дублированию данных, оно не противоречит принципам нормализации данных. Архивные данные, по определению, не должны изменяться, а значит, не должны быть связаны с другими данными, которые все еще могут измениться. Дублирование связанных данных в момент архивирования разрывает эту связь.
Теоретически, такое решение неоптимально, то есть приводит к излишнему расходу места и
потерям производительности, так как связанные данные возможно дублировать не в момент архивации, а позже, перед тем, как связанные данные действительно будут изменены (такой прием
называется copy-on-write).
На практике сложности, связанные с реализацией оптимальной стратегии, описанной выше, не
стоят потерь производительности, вызванных неоптимальной, но более простой реализацией.
4.2.3 Переопределение занятий
Переопределение занятий является одной из ключевых функций разрабатываемой системы,
объединяющей групповой и индивидуальный подход к определению расписания. Переопределение
занятий позволяет создать занятие для группы учеников, а затем переопределить его для одного
или нескольких отдельных участников.
34
Переопределение имеет место в случае, когда в расписании задано участие одного ученика одновременно в двух занятиях с разным приоритетом. При этом фактически ученик будет присутствовать на занятии с самым высоким приоритетом, то есть, занятие с более высоким приоритетом
переопределяет занятия с более низким приоритетом. Если присутствие ученика задано на двух
одновременных занятиях с равным приоритетом, то это считается конфликтом (согласно критериям корректности, описанным в разделе 2.4.8).
Приоритет занятия определяется по тому, как заданы участники занятия. Занятия с классом
имеют низший приоритет, занятия с группой – средний, а индивидуальные занятия – высший.
Другими словами, чем более специфично указаны участники занятия, тем выше приоритет этого
занятия.
Рисунок 14 — Пример переопределения занятий
4.2.4 Учебный план
Запись учебного плана соединяет в себе несколько занятий по одному предмету, с одинаковыми участниками и аудиториями. Количество занятий, связанных с записью плана определяет количество часов по данному предмету для данных участников. Таким образом, записи учебного плана
не только задают количество занятий, но и определяют специализацию учителей и аудиторий по
предметам, а так же их закрепление за группами и учениками.
35
4.3 Средства реализации
Подавляющее большинство программного обеспечения, используемого в данной работе, является свободным программным обеспечением с общедоступными (открытыми) исходными кодами.
Этоозначает, что ктоугодноимеетправоиспользовать, копировать, изучать, изменять и улучшать такое программное обеспечениеблагодаря доступности его исходного кода [25].
4.3.1 Технологии, стандарты и протоколы
Автономные одностраничные веб-приложения полностью полагаются на веб-браузер как на
платформу и среду выполнения. Система, разрабатываемая в рамках данной работы, основывается
на следующих API, технологиях, стандартах и протоколах, составляющих так называемый стек
веб-технологий:
−
Стандарты HTML5 и CSS3,определяющие языки разметки и описания стилей страниц приложения, и связанные с ними технологии, необходимые для полноценной работы вебприложения (DOMAPI, OfflineWebApplications, WebStorage, IndexedDB, pushStateи прочие).
−
ECMAScript 5.1(JavaScript), стандартизирующий язык, среду выполнения и стандартную
библиотеку для программ, работающих в браузере. Также используется в серверных компонентах системы.
−
Протокол HTTP, технология AJAX и формат данных JSON, используемые для хранения данных и обмена данными с серверной частью.
Значительными преимуществами приложений, использующих эти технологии, являются их
портируемость и отсутствие необходимости в установке. Работа с приложением возможна на любом устройстве, где есть современный браузер, для первого запуска достаточно открыть страницу
приложения. На момент написания данной работы достаточную поддержку необходимых технологий имели следующие браузеры:
−
Браузеры, использующие движок WebKit: GoogleChrome, Safari, Opera, мобильные браузеры
ОС Android и iOS и другие.
−
Браузеры, использующие движок Gecko: настольная и мобильная версии MozillaFirefox и другие.
−
Настольная и мобильная версии браузера InternetExplorer старше 10 версии включительно.
Стоит отметить, что перечисленные выше браузеры доступны на подавляющем большинстве
устройств, которые могут быть использованы для работы с системой.
4.3.2 Операционная система, компоненты и сервисы
GNU/Linux (дистрибутив ArchLinux) – открытая операционная система. Используется для
написания исходного кода проекта как среда для работы большинства инструментов и для запуска
36
серверной части системы.GNU/Linuxявляется основной платформой для большинства инструментов разработки и компонентов, используемых в проекте.
CouchDB – СУБД, хранящая данные в виде JSON-документов. Использует MapReduceзапросы,
написанные на JavaScript,и протокол HTTPдля доступа к данным. Выбрана в качестве хранилища
данных для серверной части по двум причинам: возможность использовать AJAX-запросы напрямую из браузера для доступа к данным и наличие библиотекиPouchDB.
nginx – веб-сервер и обратный прокси. Используется для отдачи статичных файлов приложения веб-браузеру, а также как обратный прокси для CouchDB.
4.3.3 Языки программирования и разметки
CoffeeScript – языкпрограммирования, компилирующийсявJavaScript.CoffeeScript в целом более выразителен и лаконичен, чем JavaScriptза счет добавления новых синтаксических конструкций, упрощениясуществующих и использования пробелов для отделения блоков кода (significantwhitespace).
Весь программный кодпроекта написан на CoffeeScript.
Sass – декларативный язык, компилирующийся в CSS. Добавляет несколько новых абстракций,
не изменяя синтаксис CSS.
Handlebars – язык HTMLшаблонов, являющийся расширением HTML. Используется в HTMLшаблонах для фреймворка Ember.js.
4.3.4 Библиотекиифреймворки
Ember.js – JavaScript-фреймворк для написания веб-приложений, использующий связывание
данных. Используется в основной части приложения.
jQuery – JavaScript-библиотека для написания веб-приложений. Упрощает работу с APIбраузеров (DOM-манипуляции, обработка событий, AJAX-запросы и пр.).
PouchDB –JavaScript-библиотекадляхраненияданныхвбраузере. Использует API, совместимый
с APICouchDB, имеет возможность прозрачной синхронизации с CouchDBнасервере.
Compass –CSS-фреймворк и набор компонентов, написанный на Sass.
4.3.5 Инструменты
Git – распределенная система контроля версий.
Vim – редактор кода.
Brunch – Набор инструментов для сборки веб-приложений. Компилирует исходные файлы
проекта, склеивает результат в несколько JS иCSSфайлов, предоставляет веб-сервер для разработки.
37
Node.js и NPM – серверная реализация языка JavaScriptи менеджер пакетов для нее. Используется для установки и запуска других инструментов, в частности, Brunch.
FirebugиChromeDevTools – инструменты для отладки веб-приложений, встроенные в браузеры MozillaFirefoxи GoogleChrome.
Ruby, RVM,RubyGems и Bundler– интерпретатор языка Ruby, средства для его установки,а
также менеджер пакетов и зависимостей, необходимые для работы компилятора Sassи фреймворка
Compass.
4.3.6 Предварительные варианты
На первом этапе разработки проекта вместе с различными вариантами архитектуры также были рассмотрены и опробованысредства реализации, в итоге не задействованные в проекте.
− Meteor – JavaScript-фреймворк для разработки веб-приложений, обновляющихся в реальном
времени. Использует протокол WebSocketsдляобмена данными, Node.jsдля серверной части и
MongoDBдля хранения данных.
Не был использован из-за монолитности, недостаточной стабильности, и отсутствия необходимости в обмене данными в реальном времени.
− Ember.js, Rails, MongoDB– набор компонентов, с которого начиналась разработка. В нем для
хранения данных на сервере вместо CouchDB используетсясерверный фреймворк RubyonRailsи
документо-ориентированная СУБД MongoDB.
Впоследствии Railsи MongoDBбыли заменены на CouchDB, что упростило всю систему за счет
того, что позволило клиентской части обращаться к серверному хранилищу напрямую, а также
сделало возможным хранение локальной копии данных в браузере.
Кроме вышеперечисленных вариантов более поверхностно рассматривались следующие средства реализации настольного приложения:
− jRuby, Swing/SWT;
− Ruby, fxRuby или аналогичный GUI-фреймворк;
− Scala,Swing.
4.4 Информационная архитектура и пользовательский интерфейс
Информационная архитектура – это принципы организации, категоризации, маркировки и поиска информации в информационной системе [24].
С точки зрения информационной структуры интерфейс приложения разделен на страницы, или
экраны, каждый экран может содержать:
− Элементы, отображающие информацию (текст, графики, таблицы и прочее)
38
− Элементы для изменения информации или способа ее отображения (кнопки, поля ввода и тому
подобное)
− Элементы навигации, т. е. элементы, указывающие положение текущего экрана относительно
других экранов в организационной структуре приложения и элементы, позволяющие перейти к
другому экрану (ссылки, кнопки и тому подобное).
Каждая страница или экран имеет свой собственный адрес (URL).
Все экраны в приложении основаны на двух шаблонах, описанных ниже.
Обычная страница, предназначена для отображения данных в различном представлении, содержит общую панель навигации, нижний колонтитул («подвал») и центральную панель, которая
отображает содержимое страницы, а также дополнительные элементы навигации и управления
связанные с отображаемой информацией.
Модальное окно, предназначено для изменения определенного элемента. Содержит только
форму с полями, которые возможно изменять и элементы управления, позволяющие сохранить или
отменить сделанные изменения. Не содержит элементов навигации, что гарантирует, что пользователь не сможет перейти на другой экран, оставив несохраненные изменения.
Недостатком такой организации интерфейса является некоторое ограничение пользователя, которые не может во время редактирования данных сделать с системой что-то еще (например, посмотреть что-то на другом экране).
Преимущество выражается в том, что модальное окно исключает возможность оставить (случайно или специально) несохраненные изменения в системе, благодаря чему упрощается количество возможных состояний интерфейса, упрощается ментальная модель системы, а значит, снижается когнитивная нагрузка на пользователя. Другими словами, интерфейс системы упрощается, за
счет некоторой потери гибкости.
4.5 Алгоритмы
4.5.1 Автоматическая верстка
Цель алгоритма автоматической верстки – сверстать таблицу расписания таким образом, чтобы
в ней максимально быстро можно было найти занятия, на которых присутствует ученик, зная, в
каком классе он учится. Алгоритм объединяет, разделяет и упорядочивает ячейки таблицы в соответствии с составом групп, так чтобы занятия в ячейках находились ближе всего к колонке соответствующего класса.Занятия располагаются в ячейках таким образом, чтобы переопределяющие
занятия оказались в одной ячейке с переопределяемыми.Возможно, что одно занятие оказывается в
нескольких ячейках.
Алгоритм получает на вход список занятий в данный день, со всеми связанными вспомогательными данными, расписание звонков и список классов.
39
Результатом работы алгоритма является структура данных представляющая строки таблицы,
каждая строка содержит по ячейке на класс, ячейки могут быть объединены между собой, а также
разделены на подъячейки. Каждая подъячейка содержит список занятий.
Рисунок 15 — Результат работы алгоритма верстки расписания
4.5.2 Расчет присутствия
Алгоритм расчета присутствия определяет, какие конкретно ученики присутствуют на данном
занятии, с учетом состава групп и переопределяющих занятий. Для этого для каждого занятия
определяются его приоритеты, находятся занятия, пересекающиеся с ним по времени, за тем, на
основе этих данных выстраивается иерархия переопределения занятий. После этого, из состава
групп, присутствующих на занятиях в иерархии строится список присутствующих учеников, а
также определяются конфликтующие занятия.
4.5.3 Расчет учебного плана
Алгоритм расчета учебного плана составляет отчет о выполнении учебного плана на основе
расписания. Для каждого занятия в расписании алгоритм находит соответствующие записи учебного плана, учитывая переопределения занятий.
40
Рисунок 16 — Результат работы алгоритма расчета учебного плана
41
5 Заключение
В ходе работы было проведено исследование предметной области, сделан обзор существующих решений, создан проект информационной системы и разработана ее реализация.
Итогом работы является решение (информационная система) по автоматизации процесса
управления расписания в частной школе «Квадривиум», которое может быть применено и в других
учебных заведениях с похожей организацией учебного процесса. Результат работы сочетает в себе
как теоретические исследования процесса управления расписанием в школах с определенным подходом к организации учебного процесса, так и практическое решение проблемы в конкретном
учебном заведении.
Информационная система, разработанная в ходе работы, обладает большей частью функциональности, описанной в проекте, и может быть внедрена в начале следующего учебного года.
Предварительное тестирование показало, что разрабатываемая система способна в значительной
степени оптимизировать и формализовать процесс управления расписанием, а значит можно
утверждать, что поставленная в начале работы цель была достигнута.
42
6 Список литературы
1. CouchDB:The Definitive Guide / авт J. C. Anderson, J. Lehnardt и N. Slater. –
Sebastopol, CA:O’Reilly Media, 2012г.
2. Designed for Use: Create Usable Interfaces for Applications and the Web / авт. L. Mathis. –
Raleigh, NC; Dallas, TX: The Pragmatic Bookshelf, 2011г.
3. Designing Interfaces: Patterns for Effective Interaction Design / авт. J. Tidwell. –
Sebastopol, CA:O’Reilly Media, 2005г.
4. Ember.js in Action/ авт. Joachim Haagen Skeie. – Shelter Island, NY:Manning Publications, 2013 г.
5. JavaScript:The Good Parts / автD. Crockford. –Sebastopol, CA:O’Reilly Media, 2008г.
6. Learning JavaScript Design Patterns: A JavaScript and jQuery Developer's Guide/
автA. Osmani. – Sebastopol, CA: O’Reilly Media, 2012г.
7. The Non-Designer's Design Book / авт. R. Williams. – Berkeley, CA: Peachpit Press, 2008г.
8. The Visual Display of Quantitative Information/ авт. E. Tufte. – Cheshire, CT: Graphics Press,
2001г.
9. Интерфейс. Новые направления в проектировании компьютерных систем / авт. Д.
Раскин. - Санкт-Петербург: Символ-Плюс, 2007г.
10. Программист-прагматик. Путь от подмастерья к мастеру / авт. Э. Хант и Д. Томас. Москва: Лори, 2009г.
43
7 Список использованных источников
11. Частная школа Квадривиум. - 2013 г. - http://quadrivium.ru/.
12. Направления подготовки // Информационно-образовательная система кафедры ИТГС. - 2013
г.. - http://itgs-itmo.ru/text/specs.
13. Совершенный код / авт. Макконел Стив. - Москва; Санкт-Петербург : Русская редакция;
Питер, 2005.
14. Санитарно-эпидемиологические требования к условиям и организации обучения в
общеобразовательных учреждениях. - Москва : Главный государственный санитарный врач
Российской Федерации, 2010 г.
15. Федеральный базисный учебный план и примерные учебные планы для
образовательных учреждений российской федерации, реализующих программы общего
образования. - Москва : Министерство образования Российской Федерации, 2004 г.
16. Федеральный государственный образовательный стандарт начального общего
образования. - Москва : Министерство образования и науки Российской Федерации, 2009 г.
17. Основы Менеджмента (Management)/ авт. Мескон Майкл, Альберт Майкл и Хедоури
Франклин / перев. Евенко Л. И. - Москва : Дело, 1997.
18. The Five Whys/ авт. Serrat Olivier // Knowledge Solutions. - [б.м.] : Asian Development Bank,
February 2009 г.
19. Большая советская энциклопедия. - Москва : Советская энциклопедия, 1969—1978.
20. расписание // Викисловарь. - 2013 г. - http://ru.wiktionary.org/wiki/расписание.
21. ISO/IEC/IEEE 42010:2011, Systems and software engineering — Architecture description. 2011 г.
22. Offline Web applications// HTML Living Standard. - 2013 г. - http://www.whatwg.org/specs/webapps/current-work/multipage/offline.html.
23. Software as a Service Taxonomy/ авт. Traudt Erin и Konary Amy. - [б.м.] : IDC, 2005 г.
24. Information Architecture for the World Wide Web/ авт. Rosenfeld Louis and Morville Peter. [б.м.] : O'Reilly & Associates, 2006. - 3rd.
25. What is free software?/ авт. Free Software Foundation // GNU Project. - 2012 г.. http://www.gnu.org/philosophy/free-sw.html.
44
Приложение А Диаграмма процесса управления
расписанием
Представлена в нотации для моделирования бизнес-процессов (BPMN)
45
Приложение Б Диаграмма модели данных
Представлена в нотации диаграммы классов UML (UMLclassdiagram)
46
Приложение В Диаграмма архитектуры системы
Представлена в нотации диаграммы развертывания UML (UMLdeploymentdiagram)
47
Download