Автор работы: Пользователь скрыл имя, 28 Февраля 2011 в 12:45, курсовая работа
Разработать программу, позволяющую максимально автоматизировать трудоемкий процесс составления школьного расписания, применяя метод моделируемого отжига.
Введение…………………………………………………………………………………………………………….3
Цель курсовой работы………………………………………………………………………………………..4
Постановка задач курсовой работы…………………………………………………………………..5
Реализация задач курсовой работы
Задача 1)………………………………………………………………………………………….6
Задача 2)………………………………………………………………………………………….20
Задача 3)………………………………………………………………………………………….23
Задача 4)………………………………………………………………………………………….26
Заключение……………………………………………………………………………………………………………29
Список используемой литературы……………………………………………………………………….30
Приложения…………………………………………………………………………………………………………..31
Журнал транзакций в сочетании с сегментом отката (область, в которой хранится копия всех изменяемых в ходе транзакции данных) гарантирует целостность данных. В случае сбоя запускается процедура восстановления, которая просматривает отдельные его записи следующим образом:
Firebird вообще не имеет ни журнала изменений, ни сегмента отката, а реализует MVCC, записывая новые версии строк прямо в активное пространство данных. Также поступает MS SQL 2005. Теоретически это даёт максимальную эффективность при параллельной работе с данными, но ценой является необходимость «сборки мусора», то есть удаления старых и уже не нужных версий строк.
Для реализации самой программы мне необходимо было изучить язык программирования Delphi, так как раньше мне не приходилось с ним работать. Я выбрала именно этот язык, потому что считаю, что в настоящее время он очень востребован, и изучить его будет для меня очень полезно. Среда разработки - Borland Developer Studio 2006. Изучением языка я занималась в течение года, и продолжаю этим заниматься до сих пор. Также я изучила такие программы как Power Designer, Firebird и IBExpert.
Следующим шагом в моей работе после сбора информации стало составление общей картины из собранных данных. Эта часть работы оказалась очень кропотливой, ведь процесс составления расписания включает в себя множество нюансов. Итак, я разобралась, что должна представлять собой итоговая программа.
Во-первых, программа должна включать в себя следующие таблицы: учителя, предметы, методические дни, классное руководство, школьное полугодие, нагрузка учителя, список классов, список кабинетов, балловая оценка предметов, учебный план и само расписание. Эти таблицы и связи между ними решено было реализовывать в программе Power Designer. Для всех таблиц должна быть реализована возможность вносить изменения в имеющиеся данные, удалять их и добавлять новые. Необходимо создать справочную систему, доступную для неопытного пользователя, по эксплуатации данной программы. Для таблиц должна быть реализована возможность изменять данные, удалять и добавлять новые. Также необходима проверка вводимых данных на соответствие типу данных. Замечание по поводу начальных классов: для них предполагается прописывание только тех предметов, которые ведут другие учителя (не классный руководитель).
Во-вторых, программа должна включать реализацию следующих запросов: получение информации по каждому учителю, по каждому классу, по каждому кабинету.
В рабочем окне должна быть реализована возможность выбора учебного года. Также мне бы хотелось, чтобы в этом же окошке была реализована возможность вписывания пожеланий учителей: предпочтение методического дня и рабочего времени (предпочтение работы с самого утра или нет, с окнами или без).
Расписание должно создаваться для каждого класса отдельно. Нужно учесть следующие параметры:
- начальная школа не учится по субботам
- максимальное количество уроков в день (начальное звено – 5 уроков, среднее и старшее звено – 6 уроков)
- балловая система предметов
- отсутствие сдвоенных уроков в начальной и средней школе
- чередование
предметов точного и
- ход
дневной и недельной
- пожелания учителей, у каждого должен быть методический день
- основная
учебная нагрузка должна
- необходимо
учитывать что в каждом классе
на уроках английского, трудов
и физкультуры (в старших
Вид расписания предполагается представить в таком же виде, как показано в приложении 1.
Я
планирую реализовать формирование
таблиц с расписанием и балловой
системой для каждого класса (приложение
6), а также зарисовку
Спроектированные реляционные таблицы:
Таблица TEACHER – список учителей
Таблица SEX – пол
Таблица METHODIC_DAY – методические дни
Таблица CLASS_GUIDANCE – классное руководство
Таблица SUBJECT – список предметов
Таблица TEACHING_LOAD – преподавательская нагрузка
Таблица CLASS – список классов
Таблица SCHOOL_HALF_YEAR – школьное полугодие
Таблица STUDY_PLAN – учебный план
Таблица SUBJECT_POINTS – баллы предметов
Таблица CLASS_ROOM – кабинеты
Таблица TIME_TABLE – расписание
Схема реляционной
базы данных:
Первым моим шагом в разработке программы стало создание меню-справочника, содержащего все таблички и позволяющего изменять, добавлять и удалять данные из этих табличек:
Выбирая в меню «Предметы», получаем:
Следующая форма появляется при выборе в меню пункта «Учителя»:
При желании возможно добавление нового учителя в список учителей:
Аналогично выглядит форма со списком классов:
По реляционной модели данных видно, что для учителя определяется большое количество параметров, таких как: методический день, классное руководство и нагрузка. Для удобства на форме «Учителя» была создана кнопка «Дополнительно», нажав на которую пользователь получает доступ к вышеуказанным параметрам, например:
По
сути, процесс составления расписания
– оптимизационная задача, поэтому для
её решения я использую метод моделируемого
отжига – один из интереснейших методов
решения оптимизационных задач. Сейчас
моя программа находится на стадии выявления
целевой функции и решения оптимизационной
задачи методом моделируемого отжига.
ASC Timetable показалась мне довольно легкой в пользовании, хотя к ней необходимо привыкнуть, ведь она включает в себя очень много параметров, хотя не могу сказать, что среди них есть лишние. Для своей программы я позаимствовала несколько важных условий для создания расписания из ASC Timetable. Мне очень понравился интерфейс программы: очень яркий и наглядный.
К
сожалению, даже эта программа, включающая
в себя множество деталей, не может
удовлетворять всем школам. Какие-то
параметры могут быть лишними, каких-то
параметров может не хватать…. Для
моего представления о составлении расписания
в моей школе, многие параметры найденной
программы показались для меня странными
и ненужными.
Очень неудобно, на мой взгляд, организован ввод данных об учителе. Одного поля мало для вписывания имени, отчества и фамилии. Также для меня непонятно, для чего нужно сокращение имени учителя и что такое общий и основной кабинет.
Мне очень
понравилась система
К сожалению, я не могу просмотреть код ASC Timetable, но меня неприятно удивило составленное этой программой расписание.
Заключение
В
заключение хочу сказать, что моя
курсовая работа в следующем году
плавно перетечет в дипломную работу.
В этом учебном году я набрала внушительный
информационный запас, которого мне будет
достаточно для дальнейшей реализации
программы. Сейчас я довольно четко представляю
суть и содержание своей работы. Конечно,
хотелось бы реализовать больше, чем фактически
удалось в этом учебном году. Но так получилось,
что на усвоение материала времени ушло
гораздо больше, нежели я предполагала.
Список используемой литературы
Информация о работе Применение метода моделируемого отжига к задаче составления школьного расписания