Смекни!
smekni.com

Применение метода моделируемого отжига к задаче составления школьного расписания (стр. 4 из 4)

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