2) Следующим шагом в реализации моей программы стала разработка реляционной схемы данных. Для этой цели я использовала программу PowerDesigner.
Спроектированные реляционные таблицы:
Таблица TEACHER – список учителей
Таблица SEX – пол
Таблица METHODIC_DAY – методические дни
Таблица CLASS_GUIDANCE – классное руководство
Таблица SUBJECT – список предметов
Таблица TEACHING_LOAD – преподавательская нагрузка
Таблица CLASS – список классов
Таблица SCHOOL_HALF_YEAR – школьное полугодие
Таблица STUDY_PLAN – учебный план
Таблица SUBJECT_POINTS – баллы предметов
Таблица CLASS_ROOM – кабинеты
Таблица TIME_TABLE – расписание
Схема реляционной базы данных:
3) Следующей моей задачей была разработка самой программы с удобным пользовательским интерфейсом. Для реализации этой задачи решено было использовать среду разработки Borland Developer Studio 2006, язык программирования – Delphi. Раньше мне не приходилось работать в этой среде и писать на этом языке, но я всегда хотела его освоить. Достаточно много времени ушло на изучение Delphi.
Первым моим шагом в разработке программы стало создание меню-справочника, содержащего все таблички и позволяющего изменять, добавлять и удалять данные из этих табличек:
Выбирая в меню «Предметы», получаем:
Следующая форма появляется при выборе в меню пункта «Учителя»:
При желании возможно добавление нового учителя в список учителей:
Аналогично выглядит форма со списком классов:
По реляционной модели данных видно, что для учителя определяется большое количество параметров, таких как: методический день, классное руководство и нагрузка. Для удобства на форме «Учителя» была создана кнопка «Дополнительно», нажав на которую пользователь получает доступ к вышеуказанным параметрам, например:
По сути, процесс составления расписания – оптимизационная задача, поэтому для её решения я использую метод моделируемого отжига – один из интереснейших методов решения оптимизационных задач. Сейчас моя программа находится на стадии выявления целевой функции и решения оптимизационной задачи методом моделируемого отжига.
4) Ознакомление с программами, подобными моей работе, на мой взгляд, очень важно. Я почерпнула для себя много нового из программы ASCTimetable, пожалуй, самой распространенной, судя по отзывам в интернете. К сожалению, других подобных программ мне не удалось скачать. Вообще, эти программы дорогое удовольствие! ASCTimetable в бесплатном режиме доступна только на ограниченный промежуток времени. Моя школа не в состоянии приобрести подобную программу.
ASCTimetable показалась мне довольно легкой в пользовании, хотя к ней необходимо привыкнуть, ведь она включает в себя очень много параметров, хотя не могу сказать, что среди них есть лишние. Для своей программы я позаимствовала несколько важных условий для создания расписания из ASCTimetable. Мне очень понравился интерфейс программы: очень яркий и наглядный.
К сожалению, даже эта программа, включающая в себя множество деталей, не может удовлетворять всем школам. Какие-то параметры могут быть лишними, каких-то параметров может не хватать…. Для моего представления о составлении расписания в моей школе, многие параметры найденной программы показались для меня странными и ненужными.
Очень неудобно, на мой взгляд, организован ввод данных об учителе. Одного поля мало для вписывания имени, отчества и фамилии. Также для меня непонятно, для чего нужно сокращение имени учителя и что такое общий и основной кабинет.
Мне очень понравилась система организации рабочего времени учителя. Хотелось бы взять её на заметку для моей программы.
К сожалению, я не могу просмотреть код ASCTimetable, но меня неприятно удивило составленное этой программой расписание.
Заключение
В заключение хочу сказать, что моя курсовая работа в следующем году плавно перетечет в дипломную работу. В этом учебном году я набрала внушительный информационный запас, которого мне будет достаточно для дальнейшей реализации программы. Сейчас я довольно четко представляю суть и содержание своей работы. Конечно, хотелось бы реализовать больше, чем фактически удалось в этом учебном году. Но так получилось, что на усвоение материала времени ушло гораздо больше, нежели я предполагала.
Список используемой литературы
1) В.В.Фараонов, П.В.Шумаков Delphi5 Руководство разработчика баз данных, Москва, «Нолидж», 2001
2) http://zdd.1september.ru/2006/08/5.htm - наука составлять расписание
3) http://ru.wikipedia.org/wiki/Database