Материал: Информационная система составления расписания

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Информационная система составления расписания

Введение

Несмотря на повсеместную интеграцию компьютерных технологий в повседневную и профессиональную деятельность человека, тем не менее, большинство учебных заведений среднего специального и высшего звена не используют программное обеспечение для составления расписания, а выполняют этот процесс вручную. Такой способ составления расписания является не рациональным, требует больших трудовых и временных затрат, и при этом полученное расписание далеко не всегда отвечает критериям оптимальности. В представленной работе рассматривается задача автоматизирования процесса составления расписания в учебном заведении - Кировском Авиационном техникуме (КАТ).

Все выше сказанное обуславливает актуальность данной работы.

Степень разработанности задачи. Проблема автоматизации составления расписания актуальна, поэтому были созданы прототипы системы. Проанализировав существующие системы, такие как «1С:Автоматизированное составление расписания. Университет», «НИКА», «Галактика Расписание учебных занятий» и другие, был сделан вывод, что системы имеют недостатки: дороговизна (некоторые системы по цене превышают 70 тыс. руб.), неполный функционал (нет возможности оптимизации системы составления расписания), а также ограничения интеграции (система разработана для школ, для Вузов она уже не применима или наоборот).

Объектом исследования является расписание учебных занятий в образовательном учреждении.

Предметом исследования является система автоматизации составления расписания учебного заведения при заданных ограничениях на количественные, качественные и временные характеристики расписания.

Цель: разработка системы автоматизации составления расписания образовательного учреждения.

Задачи:

·        разработка системы баз данных для сопровождения образовательного процесса;

·        подготовка макета приложения, интегрированного с БД;

·        сбор и загрузка исходных данных;

·        разработка математического алгоритма оптимизации составления расписания;

·        реализация системы оптимизации составления расписания образовательного учреждения.

Методы исследования:

·        интервьюирование с администратором учебной части;

·        концептуальное и физическое моделирование базы данных и приложения (MSSQLServer);

·        современные технологии программирования (ООП, С#);

·        методы дискретной математики (теория расписания).

Апробация. Программа заполнена конкретными данными, взятыми из реального источника. Перед тем как начать разработку базы данных и приложения были определены основные данные, которые следует включить.

Структура работы. В первой части работы содержится теория реляционных баз данных, описание понятий моделирования и математических методов оптимизации. Вторая часть дипломной работы посвящена оптимизации расписания учебного заведения, что включает в себя постановку задачи, технические и функциональные требования к приложению и выбор программного обеспечения. Третья часть - практическая реализация создания комплексного приложения по составлению расписания образовательного учреждения.

Практическая значимость работы состоит в том, что разработанное приложение допускает тиражирование на других учебных заведениях аналогичного профиля.

Глава 1. Теоретические основы моделирования системы составления расписания

данные расписание образовательный алгоритм

1.1 Основы проектирования информационно-прикладных систем

Система составления расписания для образовательного учреждения относится к классу информационно-прикладных систем. ИПС обеспечивает поддержку деловых процессов, выполняемых в организации или в совокупности взаимодействующих организаций. Существует множество способов визуально представить информационно прикладные системы. В работе рассмотрена нотация BPMN, один из видов визуального представления ИПС. Объектами нотации BusinessProcessModelandNotation являются события, процессы, шлюзы, которые создают группу элементов потока, объекты данных или базы данных, соединяющие элементы (потоки управления, потоки сообщений и ассоциации), зоны ответственности, т.е. пулы и дорожки, а также сноски, которые являются артефактами. Любой процесс можно декомпозировать на более мелкие процессы.

Рассмотрим процесс создания программы для решения проблемы. Менеджер сталкивается с проблемой, которая является актуальной и требует решения. Он определяет платежеспособных клиентов. Если необходимость в решении этой проблемы есть, то менеджер пытается придумать решение. Подобрав несколько вариантов, он должен предложить их потенциальным клиентам. Пользователи, пробуя каждый вариант, определяют наилучший, также предлагают дополнительные решения или недостающие функции. После сбора требований менеджер создает интерфейс программы (WEB-страница, локальная программа или мобильное приложение). Затем определяет язык программирования, на котором будет написана программа. Руководитель выясняет необходимость подсоединения программы к базе данных, при необходимости создает ее. Прежде чем начать программировать менеджер разрабатывает логику программы, с помощью которой создает альфа - версию приложения. После завершения разработки версии он тестирует ее у нескольких пользователей, затем если нужно, то корректирует ее и создает окончательную бета-версию и внедряет. (Рис.1)

Рис.1 Модель разработки проекта

1.2 Реляционная база данных

Реляционная база данных - совокупность взаимосвязанных плоских таблиц. Т.е. в реляционной базе данных вся информация организована в таблицах, разделенных на строки и столбцы, на пересечении которых содержатся значения данных. Соответственно у каждой таблицы имеется индивидуальное имя, которое связано с ее содержанием. Столбцы таблиц имеют свое имя, в одной таблице не должно быть столбцов с одинаковым именем. В отличие от столбцов строки не имеют имени, располагаются в неопределенном порядке. Количество строк может быть любое (таблица может иметь много строк, а может не иметь ни одной). Информация в базе данных является явным значением данных. Не существует специальных связей или указателей, соединяющих две разных таблицы. Также про реляционную модель можно сказать, что все значения в таблицах являются скалярными, т.е. для любой строки и столбца существует только одно значение.

1.3 Интерфейс

Интерфейс - это помощь во взаимодействии пользователя с выбранной программой. Существуют два вида визуального интерфейса пользователя: текстовый и графический. Рассмотрим поподробнее эти виды интерфейса. Текстовый интерфейс пользователя - это представление информации, в которой содержится набор символов. В данном интерфейсе пользователь использует командную строку, а также устройство интерактивного взаимодействия для нахождения той или иной информации. Графический интерфейс отличается от текстового тем что, пользователь использует не только командные строки, но и кнопки, меню, а также другие графические элементы.

Графический интерфейс пользователя делится WEB-интерфейс, локальный интерфейс и мобильный интерфейс.

WEB-интерфейс - это средство работы пользователя с сайтом, который открыт через браузер. Существует огромное количество методов создания WEB-интерфейса, используя различные языки программирования, которые будут рассмотрены в следующей части. У любого пользователя есть доступ к сайтам через различные браузеры, поэтому WEB-интерфейс - это совокупность средств для широкой публики.

В отличие от WEB-интерфейс локальный интерфейс предназначен для ограниченного круга пользователей, для индивидуального пользователя. Минусом локального интерфейса является невозможность связаться с окружающим миром, а также ограниченностью функционала, установленного пользователем. Однако, если система предназначена для узкого круга людей, необходимо использовать именно этот локальный интерфейс. Большинство людей в современном обществе помимо компьютеров используют мобильные устройства, которые являются постоянным средством общения с окружающим миром. Многие Web-страницы не предназначены для маленького дисплея смартфона, поэтому разработчики создают мобильный интерфейс. Таким образом, использование интерфейса напрямую связано с поставленными задачами и удобством пользования в определенной программе или приложении.

1.4 Обзор существующих решений

Для создания интерфейсов разработчики используют различные языки программирования. Рассмотрим некоторые из них.

·    Java - один из наиболее известных языков программирования, который помогает создать Web-интерфейс. Сам язык очень простой, но позволяет расширить функционал веб-страниц. Также этот язык используется для создания мобильных приложений.

·        JavaScript - язык программирования позволяющий создать для сайта интерактивные элементы. JavaScript позволяет подобрать индивидуальный интерфейс для любого пользователя.

·        Язык программирования С# идеальный язык для разработки приложений или программ на платформе Windows.

·        PHP - язык программирования, способный работать с массивами данных. На данный момент большинство многофункциональных сайтов создано с помощью языка PHP.

·        Язык С++ более низкого уровня, т.к. работает напрямую с железом.

·        Python - язык программирования, способный работать не только с Web-приложениями, помогает анализировать данные, мобильные приложения. Чаще всего Python используется для создания и обработки научной информации, а также больших массивов данных.

·        Си (С) - это простой, но мощный язык, способный работать с ядрами операционных систем. На данный момент этот язык является не популярным.

·        SQL - язык, предназначенный для обработки массивов данных, позволяет быстро находить необходимые данные, сортировать информацию, редактировать ее с помощью запросов.

·        Objective-C - фундаментальный язык программирования, позволяющий писать мобильные приложения для iOS.

·        Perl - один из мощнейших и старейших языков программирования, требующий достаточно глубоких знаний.

·        Язык VisualBasic позволяет создавать приложения, ориентированные на бизнес, автоматизирует работу базовых программ MSOffice.

Таким образом, существует огромное количество языков программирования, которое из года в год пополняют более новые и универсальные языки. Однако, выделенные в работе языки программирования являются основными и используются для разработки мобильного, локального и Web-интерфейсов.

1.5 Математическая модель

Математическая оптимизация - это нахождение оптимального (минимального или максимального) значения целевой функции по некоторому параметру или по заданным ограничениям. Учитывая ограничения и оптимизацию функцию можно выделить два вида переменных: управляемые и неуправляемые. Целевая функция (экономическая функция) складывается из этих переменных. Чаще всего для оптимизации рассматриваются экономические ситуации.

 - функция, которую необходимо привести к минимальному или оптимальному значению в зависимости от параметра х.

Х = {, } - набор параметров, которыми можно управлять уменьшать, увеличивать при поиске оптимальной точки функции у. Это признак, с помощью которого производится оценка функции.

 - ограничительные функции. Такие функции обычно состоят из системы математических уравнений или неравенств (балансовых уравнений или неравенств).

Построение математической модели проходит в шесть этапов:

1)      сбор информации о ситуации, в которой требуется оптимизация, о целях построения модели;

)        сбор теоретической информации о целевой функции и об оптимизационной точке;

)        построение структуры модели;

)        математическое построение модели с коэффициентами при необходимости;

)        построение ограничений и проверка целевых функций на ограничения;

)        использование модели.

Для понимания того, в какой точке будет оптимальный результат необходимо ввести понятие локального и глобального экстремума. Локальной точкой максимума (локальной точкой минимума) называется точка , где для любой окрестности функции  выполняется неравенство

 ()

Глобальный экстремум отличается от локального экстремума тем, что он является максимальным или минимальным значением функции. Глобальный экстремум функции может быть одновременно локальным экстремумом (Рис. 2), а также может быть максимальным или минимальным значением (Рис.3) на выбранном промежутке.

Рис. 2: Точка 1 - точка локального и глобального максимума; Точка 2 - точка локального и глобального минимума

Рис. 3: Точка 1 - точка глобального максимума; Точка 2 - точка локального максимума; Точка 3 - точка локального минимума; Точка 4 - точка глобального минимума

Источник: https://www.bibliofond.ru/view.aspx?id=896641