Информационная система составления расписания
Основы проектирования информационно-прикладных систем. Подготовка макета приложения, интегрированного с БД. Сбор и загрузка исходных данных. Разработка и реализация математического алгоритма оптимизации составления расписания образовательного учреждения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.02.2017 |
Размер файла | 3,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Несмотря на повсеместную интеграцию компьютерных технологий в повседневную и профессиональную деятельность человека, тем не менее, большинство учебных заведений среднего специального и высшего звена не используют программное обеспечение для составления расписания, а выполняют этот процесс вручную. Такой способ составления расписания является не рациональным, требует больших трудовых и временных затрат, и при этом полученное расписание далеко не всегда отвечает критериям оптимальности. В представленной работе рассматривается задача автоматизирования процесса составления расписания в учебном заведении - Кировском Авиационном техникуме (КАТ).
Все выше сказанное обуславливает актуальность данной работы.
Степень разработанности задачи. Проблема автоматизации составления расписания актуальна, поэтому были созданы прототипы системы. Проанализировав существующие системы, такие как «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 Математическая модель
Математическая оптимизация - это нахождение оптимального (минимального или максимального) значения целевой функции по некоторому параметру или по заданным ограничениям. Учитывая ограничения и оптимизацию функцию можно выделить два вида переменных: управляемые и неуправляемые. Целевая функция (экономическая функция) складывается из этих переменных. Чаще всего для оптимизации рассматриваются экономические ситуации.
y - функция, которую необходимо привести к минимальному или оптимальному значению в зависимости от параметра х.
Х = {, } - набор параметров, которыми можно управлять уменьшать, увеличивать при поиске оптимальной точки функции у. Это признак, с помощью которого производится оценка функции.
- ограничительные функции. Такие функции обычно состоят из системы математических уравнений или неравенств (балансовых уравнений или неравенств).
Построение математической модели проходит в шесть этапов:
1) сбор информации о ситуации, в которой требуется оптимизация, о целях построения модели;
2) сбор теоретической информации о целевой функции и об оптимизационной точке;
3) построение структуры модели;
4) математическое построение модели с коэффициентами при необходимости;
5) построение ограничений и проверка целевых функций на ограничения;
6) использование модели.
Для понимания того, в какой точке будет оптимальный результат необходимо ввести понятие локального и глобального экстремума. Локальной точкой максимума (локальной точкой минимума) называется точка , где для любой окрестности функции выполняется неравенство
()
Глобальный экстремум отличается от локального экстремума тем, что он является максимальным или минимальным значением функции. Глобальный экстремум функции может быть одновременно локальным экстремумом (Рис. 2), а также может быть максимальным или минимальным значением (Рис.3) на выбранном промежутке.
Рис. 2: Точка 1 - точка локального и глобального максимума; Точка 2 - точка локального и глобального минимума
Рис. 3: Точка 1 - точка глобального максимума; Точка 2 - точка локального максимума; Точка 3 - точка локального минимума; Точка 4 - точка глобального минимума
Глобальный экстремум не всегда является оптимальным, он вычисляет только максимальное или минимальное значение для определенных ограничений. Поэтому для разработки ограничений для системы составления расписания для образовательных учреждений необходимо использовать локальный экстремум.
Вывод
В данной главе мы познакомились с понятием реляционная модель, информационно-прикладная система, интерфейс и математическая модель, которые понадобятся в ходе создания базы данных и приложения создания расписания в Кировском Авиационном техникуме.
Глава 2. Постановка задачи оптимизации расписания учебного заведения
2.1. Постановка задачи
Необходимо создать базу данных, которая хранила всю информацию о специальностях, группах, учебном плане, преподавателях с предполагаемой нагрузкой, аудиторном фонде и т.д. Одной из важнейших задач данной работы является разработка программы для редактирования данных из базы, для составления тарификации и выгрузки информации в Excel-файл, для формирования сетки с расписанием.
2.2 Требования к системе
Для того чтобы создать приложения для составления расписания, необходимо сформулировать требования к образовательным учреждениям, а также специфические требования к системе кировского авиационного техникума.
Требования к образовательным учреждениям - это общие требования, которые подходят к любой школе, техникуму или ВУЗу. Ниже перечислены требования, подходящие к нашей системе.
1) Один преподаватель не может вести предмет у двух групп одновременно.
2) У одной группы не может одновременно вести два преподавателя.
3) Две группы не могут заниматься одновременно в одном кабинете.
4) Группа не может заниматься в двух предметах одновременно.
5) Урок не должен превышать 45 минут, а пара - 90 минут.
6) В день не может быть больше 6 пар или 8 уроков.
Для того чтобы понять требования к системе образования в Кировском авиационном техникуме, необходимо понять структуру техникума.
Кировский авиационный техникум - один из лучших техникумов города Кирова. Обучающиеся получает среднее общее полное образование. Студенты в техникуме приобретают профессию. Производственное обучение идет по трем основным профилям: технологическому, вычислительному и экономическому, которые дают возможность получить десятки востребованных престижных профессий. КАТ выпускает профессионалов, которые действительно требуются в Кировской области. Специальностей достаточно много, поэтому и система составления расписания очень сложная. КАТ располагается в двух корпусах, которые находятся, по сути, в одном здании. Однако время звонков в разных корпусах разное. Также у постоянных преподавателей и у администрации есть фиксированные кабинеты, в которых они проводят занятия. Остальные преподаватели проводят занятия в свободных аудиториях. Также некоторые преподаватели наемные, внешние, поэтому могут работать только в определенный день и в определенное время. Поэтому составление расписания для данного учебного заведения - сложный и достаточно долгий процесс. Чтобы упростить задачу составления расписания в КАТ, администрация техникума проявила желание о создании приложения, упрощающего процесс составления расписания в Кировском Авиационном техникуме.
2.2.1 Технические требования
Для реализации приложения были поставлены конкретные задачи, необходимо было знать, что пользователь хочет видеть в приложении, какие функции оно должно выполнять. После собеседования с заведующей учебной частью Кировского Авиационного техникума, был выявлен ряд требований. Администратор учебной части высказала пожелания по структуре приложения, выделив в нем четыре основных части: настройка данных, тарификация, составление расписания и оптимизация. Заведующая учебной частью описала, как должна выглядеть и работать каждая часть такого приложения. В приложении необходимо сделать авторизацию, чтобы в программу заходил только администратор учебной части, т.к. информация, хранящаяся в программе, конфиденциальна.
Настройка данных. В настройке данных пользователь должен просматривать, какие существуют в учебном заведении специальности, группы, предметы, кабинеты, а также сотрудники. Все эти данные можно редактировать, удалять и добавлять новые данные. В настройке пользователь может менять информацию о семестре и учебном годе, в котором составляется расписание.
Тарификация. В разделе тарификация пользователь хочет видеть несколько подразделов: «Предметы и группы», «Формирование тарификации», «Просмотр тарификации», «Итоговая тарификация». С помощью подраздела «Предметы и группы» пользователь может просмотреть, какие предметы присутствуют в учебном плане отдельных групп, сколько часов у группы предполагается по каждому предмету с учетом вида занятия (теория, лаб.работы, консультирование по курсовому проекту и т.д). У пользователя должна быть возможность выгрузить всю информацию о связи Предметов и Групп в xlsx файл. Также в этой части у пользователя должна быть возможность самому создать связь предмет - группа. В разделе «Формирование тарификации» пользователь не только может добавить связь Предмет - Группа, но и назначить преподавателя (преподавателей) на выбранный предмет у выбранной группы. В подразделе «Просмотр» пользователь может увидеть, какие предметы и в каких группах ведут определенные преподаватели, а также посчитать нагрузку преподавателей. В последнем подразделе «Итоговая тарификация» пользователь может выгрузить годовую тарификацию преподавателей в xlsx файл.
Составление расписания. Эта часть также делится на несколько частей. Первая из них - настройка кабинетов преподавателей, в которой пользователь может присвоить кабинет определенному преподавателю, т.е. если данный преподаватель ведет какие-либо пары, то у него будет преимущество вести их в выбранном кабинете. Вторая часть состоит из занятости групп. С помощью этой части пользователь может контролировать, когда у выбранной группы есть окна. Третья часть - редактирование и просмотр расписания преподавателей. Пользователь должен выбрать преподавателя, затем заполнить дни недели и пары группами, в которых этот преподаватель ведет. Следующая часть - редактирование и просмотр расписания групп. В этом окне администратор выбирает в окнах преподавателей для уже заранее выбранной группы. Аналогичное редактирование и просмотр происходит с кабинетами и группами. И последняя, очень важная функция - это функция экспорта в xlsx файл всего расписания.
Оптимизация. Часто бывает, что расписание необходимо составить в самые короткие сроки, а лучше всего при нажатии одной кнопки, поэтому необходимо сделать функцию автоматического составления расписания, при которой соблюдаются все поставленные ограничения. Это расписание не будет абсолютно оптимальным, т.к. у преподавателей есть особые пожелания на счет времени занятий. Однако в данной работе под понятием «оптимальное расписание» подразумевается автоматизированное составление расписания.
2.2.2 Функциональные требования
Для корректного входа в программу администратору необходимо ввести логин и пароль.
В "Настройке данных" нужно создать несколько разделов: редактирование групп, редактирование предметов, редактирование кабинетов, редактирование сотрудников, настройка семестра. В каждом разделе пользователь с помощью таблиц сможет увидеть информацию, которая хранится в базе данных. А также с помощью трех кнопок пользователь сможет удалить, редактировать, добавить информацию в таблицы и базу данных. С помощью раздела «Установки» можно выбрать период времени, семестр и нажать кнопку, которая бы подтверждала ваш выбор. В этой части должен быть переход на вкладки с тарификацией и с составлением расписания.
Когда пользователь переходит, с помощью кнопки, с формы с настройкой данных на форму с тарификацией, он может увидеть 4 раздела: «Предметы и группы», «Формирование тарификации», «Просмотр тарификации», «Итоговая тарификация». Чтобы выполнить задачу просмотра нагрузки групп, пользователь должен выбрать группу, затем с помощью таблицы в этом разделе сможет посмотреть: какие преподаватели ведут в этой группе, какой предмет, сколько часов отводится на теорию, лаб.работы, курсовой проект и т.д. Также в программе должны быть несколько кнопок: очистить всю информацию об определенной группе, удалить определенную информацию о группе, добавить связь между преподавателем, группой и количеством часов, кнопка выгрузки информации в xlsx файл. В разделе «Просмотр» должна быть выполнена задача визуального представления нагрузки преподавателя, который выбран пользователем. Информация о том, в каких группах он ведет, какой предмет, сколько часов, должна появиться в таблице на экране. Дополнительно требуется кнопка выгрузки данных о нагрузке преподавателе в xlsx файл. В разделе «Формирование тарификации» пользователь может связать данные из разных сущностей базы данных, т.е. назначить выбранного из списка преподавателя в выбранную из списка группу, чтобы он вел определенный предмет. С помощью кнопки «Связать» программа должна осуществлять связь и вносить изменения в базу данных. В разделе «Итоговая тарификация» можно сформировать годовую тарификацию преподавателей с помощью двух списков, в одном из которых хранится информация обо всех преподавателях, в другой выбираются, те из них, которые будут тарифицированы. С помощью кнопок можно добавлять из первого списка во второй выбранных преподавателей. Обязательно в этом разделе должна быть кнопка выгрузки выбранных преподавателей, хранящихся во втором списке, в xlsx файл.
Также с формы настройки информации пользователь может перейти на форму с составлением расписания, нажав кнопку. В этой части будет несколько вкладок: «Выбор кабинетов», «Занятость групп», «Занятость преподавателей», «Расписание», «Экспорт». Каждая вкладка выполняет свои задачи. При нажатии на вкладку «Выбор кабинетов» пользователь может присвоить кабинет преподавателю на определенный предмет. Связь будет происходить при выборе из списка определенного корпуса, кабинета, преподавателя и предмета преподавателя. Чтобы связать эти данные нужно будет нажать на кнопку, информация о присвоении кабинета преподавателем на определенный предмет будет появляться в общей таблице, которая также будет на этой форме. Пользователь сможет удалить привязанность преподавателя к кабинету, редактировать ее с помощью кнопок. Вторая вкладка - «Занятость групп». На ней пользователь сможет выбрать группу и с помощью таблицы, посмотреть, занята группа в определенный день недели, в определенное время. Если у группы уже стоит предмет, то ячейка - красная, если свободная пара, то ячейка зеленая. Вкладка «Занятость преподавателей» очень похожа на вкладку «Занятость групп». Пользователь также выбирает преподавателя и по таблице видит, где у него свободные пары, а где он занят. Во вкладке «Расписание» есть три подраздела: расписание по преподавателю, расписание по группе, расписание по кабинету. Если пользователь выберет расписание преподавателей, то из общего списка может выделить конкретного преподавателя и составить расписание именно для него. Если пользователь нажимает на вкладку расписание группы, то видит аналогичную форму, где сначала выбирает группу, а затем заполняет таблицу предметами. Во вкладке расписание по кабинетам пользователь с помощью таблицы и списка кабинетов, может увидеть в какое время и в какой день недели занимается та или иная группа. И последняя вкладка - «Экспорт». С помощью кнопок пользователь может выгрузить общее расписание, расписание по кабинетам, расписание по отдельным группам, расписание по конкретным преподавателям.
Также на этой форме с помощью кнопки пользователь может вернуться на форму настройки данных. На этой же вкладке должна быть кнопка «Оптимизация», нажав на которую пользователю необходимо будет сохранить уже готовое расписание в нужную папку.
Выход из программы осуществляется через форму «Настройка данных» с помощью кнопки «Выход».
2.3 Обоснование выбора ПО
Из всего огромного выбора программного обеспечения для своей курсовой работы я выбрала SQLServer. SQLServer - это максимально функциональные программы, которые предназначены для создания и хранения базы данных и обеспечения доступа из других программ. Так же SQLServer считается довольно надежной программой, потому что имеет сложный доступ к данным.SQL Server позволяет резервное копирование в любой момент рабочего дня без отключения пользователей. Так как наша база данных находится в третьей нормальной форме, то это идеальная программа для создания БД.
Также для удобного использование базы администратором была выбрана программа VisualStudio, на которой было написано приложение. VisualStudio - программа, которая имеет ряд плюсов, такие как: расширяемость системы (можно подгружать любые exe, импортировать классы, объекты из др. программ), кроссплатформенность, открытость исходных библиотек, исполняемых программ, возможность привлечения сторонних разработчиков при разработке системы, защищенность и контроль версий подключаемых алгоритмов, скорость работы, удобство разработки и многие другие.
Для оптимизации ручного составления расписания было выбрана программа IBMiLogCPLEXOptimizationStudio. Это программа имеет ряд преимуществ. Во-первых, язык программы достаточно прост, очень похож на язык программирования С#. Также программа прекрасно совместима с MSOExcel, VisualStudio. С помощью математических ограничений программа автоматически выдает результат оптимизации.
SQLServer и VisualStudio являются продукцией Microsoft, поэтому легко интегрируются. Так как программа VisualStudio поддерживает два языка программирования: C# и VisualBasic. Для разработки приложения был выбран язык С#. Это один из самых мощных языков программирования, который помогает создавать безопасные программы. С помощью С# разработчик в с своей программе может использовать методы, типы, итераторы, наследование, полиморфизм, а также другие функции. Благодаря преимуществам языка С#, он выбран как основной язык для написания приложения.
2.3.1 Базы данных
Для построения базы данных был создан ее макет в программе Erwin. (Рис.4)
Рис.4 Макет базы данных
2.3.2 Интерфейс
Для выполнения требований был спроектирован макет интерфейса, с помощью которого создано приложение.
2.3.3 Оптимизация
С помощью некоторого множества ресурсов можно создать фиксированную систему заданий. Цель дипломной работы: при известных ограничениях необходимо найти наилучший, оптимальный алгоритм составления расписания. Основные показатели оптимальности: временная длина расписания, а также соблюдение всех ограничений.
Показатели составления расписания:
· Мнения преподавателей, связанные с удобным для них временем.
· Предоставление аудиторий преподавателям и закрепление их за ними.
· Учет мнения преподавателей по поводу желательных аудиторий.
· Необходимость осуществления замены преподавателей.
Ограничения для составления расписания:
· Нельзя проводить занятия у двух или более групп в одной аудитории и в одно время.
· Нельзя ставить два или более предмета у одной группы.
· Один преподаватель не может вести предметы у двух групп одновременно.
· Количество уроков в день у преподавателя не должно превышать 8.
· Количество уроков в день у группы не должно превышать 8.
· Время одного урока не должно превышать 80 минут.
Необходимо определить математические множества, с помощью которых представить математическую модель составления расписания.
Множества:
- преподаватель (первый индекс - предмет, который ведет преподаватель (если предметов несколько, то продлить список через запятую), последний индекс - уникальный номер преподавателя, хранящийся в базе данных образовательного учреждения).
- группа (первый индекс - специальность этой группы, второй индекс - год выпуска, последний индекс - уникальный номер группы, хранящийся в базе данных образовательного учреждения).
- специальность (индекс - уникальный номер специальности, хранящийся в базе данных образовательного учреждения).
- предмет (индекс - уникальный номер предмета, хранящийся в базе данных образовательного учреждения).
- время занятия на неделе (первый индекс - индекс дня недели, второй индекс - время пары)
- день недели (индекс - уникальный номер дня недели: понедельник, вторник, среда, четверг, пятница, суббота, воскресенье).
- время пары (первый индекс - часы начала урока (от 0 до 23), второй индекс - минуты начала урока (от 0 до 59), третий индекс - часы конца урока (от 0 до 23), четвертый индекс - минуты конца урока (от 0 до 59)).
- аудитория (первый индекс - корпус, второй индекс - номер кабинета)
- связь (первый индекс - уникальный номер группы, второй индекс - уникальный номер преподавателя, третий индекс - уникальный номер аудитории, четвертый индекс - уникальный номер времени занятий).
Необходимо решить несколько приоритетных задач:
1) Соблюдение ограничений
2) Временная оптимизация занятий у групп
3) Оптимизация времени, затрачиваемое преподавателями
4) Минимизация «окон» у групп
5) Минимизация «окон» у преподавателей
Соблюдение ограничений
- выбранный индекс
n - все индексы, кроме выбранного
r - любой индекс
· Нельзя проводить занятия у двух или более групп в одной аудитории и в одно время
· Нельзя проводить занятия у группы в разных аудиториях в одно время
· Нельзя ставить два или более преподавателя у одной группы одновременно.
· Один преподаватель не может вести предметы у двух групп одновременно.
· Количество уроков в день у преподавателя не должно превышать 8.
n - количество возможных пар в день
a - индекс выбранного преподавателя
r - любой индекс
· Количество уроков в день у группы не должно превышать 8.
n - количество возможных пар в день
a - индекс выбранной группы
r - любой индекс
· Время одного урока не должно превышать 80 минут.
a - индекс часов начала урока
b - индекс минут начала урока
c - индекс часов конца урока
d - индекс минут конца урока
В данном случае функцией минимизации является функция . Необходимо подсчитать количество связей для определенных m, который соответствует всем , где с - некое постоянное значение.
Выводы
Мы определились с задачей нашей курсовой работы, с программным обеспечением. Эти три момента сильно взаимосвязаны, т.к. в зависимости от базы данных существуют различные пути реализации, т.е. разные программы.
Глава 3. Программная реализация
3.1 Физическая реализация БД
Для реализации базы данных, отражающую сессионную успеваемость студентов, необходимо создать 13 сущностей и три из которых - перевязочные таблицы.
Данная база данных находится в третьей нормальной форме и для этого существует ряд обоснований.
1) Все слабые и сильные сущности представлены в виде реляционных таблиц: каждая запись представлена в виде неповторимых строк таблицы с описанными полями-столбцами. По отношению к каждой из таблиц можно применить движение вставки, удаления, редактирования записи. Все атрибуты во всех таблицах атамарны, поэтому база данных находится в первой нормальной форме.
2) В виду употребления суррогатных ключей - все неключевые атрибуты находятся в полной функциональной зависимости от ID, для каждого отношения мы указали АК, чья полная функциональная зависимость очевидна, поэтому отношения находятся во второй нормальной форме.
3) Сущность Type_teacher не зависит от других сущностей. Сущность Teacher не зависит от других сущностей, кроме сущности Type_teacher. Сущность Group не зависит от других сущностей, кроме Type_education, Specialty. Type_education - сущность, которая не зависит от других сущностей. Сущность Semester не зависит от других сущностей. Также сущность Specialty является независимой. Number_lesson - независимая сущность. Lesson - сущность, которая зависит только от Number_lesson. Сущность Cabinet - независимая. Subject - независимая сущность. Teacher_Cabinet - перекрестная таблица, которая зависит от сущностей: Teacher, Cabinet. Teacher_Subject - перекрестная таблица, которая зависит от сущностей: Teacher, Subject. Connect - перекрестная таблица, которая зависит от сущностей: Lesson, Teacher_Subject, Cabinet, Semester, Group. Во всех отношениях отсутствуют транзитивные связи, поэтому данная база данных находится в третьей нормальной форме.
Связь между сущностями реализована таким образом, как показано на диаграмме (рис.5). Как видно из диаграммы в базе данных используются только идентифицирующие связи один ко многим.
Рис. 5. «Модель базы данных «Raspisanie»
Как видно из схемы, настройка целостности базы данных была произведена - каждый кортеж имеет первичный ключ и связываемые поля из главных таблиц являются первичными ключами, кроме того связываемые поля имеют одинаковый тип данных.
Произведена синхронизация первичного и внешнего ключей при удалении, добавлении, что позволяет обеспечить точность данных.
3.2 Описание исходных данных
Рассмотрим каждую таблицу базы данных в отдельности.
1. Сущность “Type_teacher”.
В КАТ существует несколько типов преподавателей. От типа преподавателя зависит нагрузка, кабинеты, в которых проходят занятия и т.д. В КАТ на данный момент существует 4 типа преподавателей: администрация, обычные преподаватели, внутренние преподаватели и внешние. Поэтому в базе данных необходимо создать сущность “Type_teacher”, чтобы иметь возможность отслеживания типы преподавателей. (Прил.1)
Свойства:
· Int ID_Type_teacher(PK) - первичный ключ таблицы “Type_teacher”, идентификатор типа преподавателя.
· Varchar(50) Name_teacher - название типа преподавателя.
2. Сущность “Teacher”.
В КАТ, как и в любом университете или школе, важной составляющей являются преподаватели. Поэтому необходимо создать сущность “Teacher”, чтобы иметь возможность отслеживания преподавателей определенных предметов. (Прил.2)
Свойства:
· Int ID_Teacher(PK) - первичный ключ таблицы “Teacher”, идентификатор преподавателя.
· Int ID_type_teacher (FK)-внешний ключ, с помощью данного поля происходит связь с таблицей Type_teacher (связь: не идентифицирующая 1 ко многим).
· Varchar(50) Surname - фамилия преподавателя.
· Varchar(50) Name - имя преподавателя.
· Varchar(50) Second_Name - отчество преподавателя.
3. Сущность “Group”.
Так же помимо преподавателей существуют группы, которые помогают упростить процесс обучения, разделяя всех студентов на части. (Прил.3)
Свойства:
· Int ID_Grup(PK) - первичный ключ таблицы “Group”, идентификатор группы.
· TextGrup_Name - свойство, в котором описывается номер группы.
· IntID_Type_education - (FK) - внешний ключ, с помощью данного поля происходит связь с таблицей Type_education (связь: не идентифицирующая 1 ко многим).
· IntID_Specialty - (FK) - внешний ключ, с помощью данного поля происходит связь с таблицей Specialty (связь: не идентифицирующая 1 ко многим).
4. Сущность “Specialty”.
Все группы объединяются в специальности, с помощью которых можно делать разделения по предметам и преподавателям. Поэтому необходимо создать сущность специальность. (Прил.4)
Свойства:
· Int ID_code_specialty (PK) - первичный ключ таблицы “Specialty”, идентификатор специальности.
· TextName_specialty- свойство в котором описывается название специальности.
5. Сущность “Type_education”.
Часто бывает, что какое-то учебное заведение подразделяется на несколько частей, например: КАТ делится на две части: техникум и лицей. Также некоторые школы имеют четкое разделение: подготовительная группа, начальная школа, среднее звено, старшие классы. Поэтому необходимо создать сущность «Type_education». (Прил.5)
Свойства:
· Int ID_type_education (PK) - первичный ключ таблицы “Type_education”, идентификатор типа учебного заведения.
· TextName_type_education - поле, описывающее название типа учебного заведения.
6. Сущность “Semester”.
Данная сущность хранит информацию о семестре, на который составляется расписание. (Прил.6)
Свойства:
· Int ID_Semester (PK)-первичный ключ таблицы “Semester”, идентификатор тренировки.
· IntNumber_semester - поле, описывающее номер семестра.
7. Сущность “Number_lesson”.
Данная сущность содержит информацию о времени проведении пар в разных корпусах на день. (Прил.7)
Свойства:
· Int ID_Number_lesson (PK) - первичный ключ таблицы “Number_lesson”, идентификатор номера урока.
· TextTime - поле, описывающее время начала и время окончания пары.
· IntCorpus - поле, описывающее корпус, т.к. в разных корпусах время пар разное.
· Varchar(50) Name - поле, описывающее название пары.
8. Сущность “Lesson”.
Данная сущность содержит информацию о времени занятий на каждый день недели. (Прил.8)
Свойства:
· IntID_lesson (PK) - первичный ключ таблицы “Lesson”, идентификатор времени и даты занятия
· Int ID_Number_lesson(FK) - внешний ключ, указывает на id времени занятия, связывает данную сущность с сущностью “Number_lesson” (не идентифицирующая связь: 1 ко многим).
· Varchar(50) Day_week - поле, описывающее день недели, т.к. занятия зависят не только от времени занятия, но и от дня недели
9. Сущность “Cabinet”.
Данная сущность хранит информацию о кабинетах в учебном заведении, где проходят занятия. (Прил.9)
Свойства:
· IntID_Cabinet (PK) - первичный ключ таблицы “Cabinet”, идентификатор кабинета.
· IntNumber_campus - поле, описывающее номер корпуса.
· IntNumber (AK) - поле, описывающее номер кабинета
10. Сущность “Teacher_cabinet”.
Данная таблица является перекрестной, фиксирует привязку учителя к определенному кабинету, что означает, что у этого преподавателя при выборе кабинета будет преимущество. (Прил.10)
Свойства:
· Int ID_Teacher_Cabinet (PK) - первичный ключ таблицы “Teacher_Cabinet”, идентификатор причины, по которой отсутствовал студент на форме контроля .
· Int ID_Teacher (FK)- внешний ключ, указывает на id преподавателя, связывает данную сущность с сущностью “Teacher” (Идентифицирующая связь: 1 ко многим.)
· Int ID_Cabinet (FK)- внешний ключ, указывает на id кабинета, связывает данную сущность с сущностью “Cabinet” (Идентифицирующая связь: 1 ко многим.)
11. Сущность “Subject”.
Данная сущность фиксирует предмет, который является одним из основных критериев расписания. (Прил.11)
Свойства:
· Int ID_Subject (PK) - первичный ключ таблицы “Subject”, идентификатор предмета.
· Varchar(MAX) Name_subject - поле, описывающее предмет
12. Сущность “Teacher_Subject”.
Данная таблица является перекрестной, фиксирует какие предметы, может вести тот или иной преподаватель. (Прил.12)
Свойства:
· Int ID_Teacher_Subject (PK) - первичный ключ таблицы “Teacher_Subject”, идентификатор связи между преподавателем и предметом, который он ведет.
· Int ID_Teacher (FK)- внешний ключ, указывает на id преподавателя, связывает данную сущность с сущностью “Teacher” (Идентифицирующая связь: 1 ко многим.)
· Int ID_Subject (FK)- внешний ключ, указывает на id предмета, связывает данную сущность с сущностью “Subject” (Идентифицирующая связь: 1 ко многим.)
13. Сущность “Connect”.
Данная таблица является перекрестной, фиксирует соединение между данными. (Прил.13)
Свойства:
· Int ID_Connect (PK) - первичный ключ таблицы “Connect”, идентификатор соединения.
· Int ID_Lesson (FK)- внешний ключ, указывает на id времени занятия, связывает данную сущность с сущностью “Lesson” (Идентифицирующая связь: 1 ко многим.)
· Int ID_Teacher_Student (FK)- внешний ключ, указывает на id контакта преподавателя с предметом, связывает данную сущность с сущностью “Teacher_Student” (Идентифицирующая связь: 1 ко многим.)
· Int ID_Cabinet (FK)- внешний ключ, указывает на id кабинета, связывает данную сущность с сущностью “Cabinet” (Идентифицирующая связь: 1 ко многим.)
· Int ID_Semester (FK)- внешний ключ, указывает на id семестра, связывает данную сущность с сущностью “Semester” (Идентифицирующая связь: 1 ко многим.)
· Int ID_Grup (FK)- внешний ключ, указывает на id группы, связывает данную сущность с сущностью “Grup” (Идентифицирующая связь: 1 ко многим.)
· IntTeo - поле, описывающее количество теоретических часов
· IntLab - поле, описывающее количество лабораторных часов
· IntExam - поле, описывающее количество экзаменационных часов
· IntKKP- поле, описывающее количество часов консультаций по курсовому проектированию
· IntPKP - поле, описывающее количество часов приема курсового проекта
· IntRPr - поле, описывающее количество часов руководства практикой
· IntDP - поле, описывающее количество часов дипломного проектирования
· IntGAK- поле, описывающее количество часов государственно экзаменационной комиссии
· IntDZ- поле, описывающее количество часов дополнительных занятий
· IntOne - поле, описывающее количество часов в первом семестре
· IntTwo - поле, описывающее количество часов во втором семестре
3.3 Интерфейс
По техническим требованиям было создано приложение, которое описывает две части из трех технических требований.
Первая форма - форма авторизации, в систему может зайти только один человек (заведующая учебной частью Кировского Авиационного техникума, которая отвечает за составление расписания). У администратора приложения есть свой собственный логин - «Боброва» и пароль - «1234». Если логин и пароль вводятся верно, то пользователь переходит на форму DataInfo, если нет, то получает сообщение о запросе повторно ввести логин и пароль.
Рис. 6. Начальная форма Form1
Если пользователь неверно ввел пароль, то появляется сообщение об ошибке. (Рис.7)
Рис. 7. Сообщение об ошибке при неправильном вводе данных
Если пользователь правильно вводит логин и пароль, то он переходит на форму DataInfo, которая отображает настройку данных. Администратор может нажать на вкладку «Группы», на ней можно увидеть две кнопки «Техникум» и «ООУ» - это две образовательные структуры, которые существуют в данном учебном заведении, однако у нас есть информация только об образовательной структуре - «Техникум». В этой вкладке пользователь может посмотреть, какие группы существуют в Техникуме и на каких специальностях они обучаются. Также внизу таблицы есть три кнопки «Удалить», «Редактировать», «Добавить», с помощью которых администратор может корректировать данные в базе при каких-либо изменениях.
Рис. 8. Форма DataInfo, вкладка Группы
При нажатии на кнопку «Добавить» пользователь переходит на форму Add_Group, на которой он может добавить группу, заполнив все поля и нажав на кнопку «Добавить». После нажатия кнопки в базу данных добавляется новая группа. Чтобы не добавлять данные, необходимо нажать на кнопку «Отмена». (Рис.9)
Рис. 9. Форма Add_Group
При нажатии на кнопку «Редактировать» пользователь переходит на форму, похожую на Add_Group, но уже с заполненными полями, которые можно редактировать. При нажатии на кнопку «Сохранить» все данные будут редактированы, прежняя информация о группе будет удалена, а новая информация сохранена. (Рис.10)
Рис. 10. Форма Editing_Group
При нажатии на кнопку «Удалить» пользователя программа переспросит, действительно ли он хочет удалить выделенную группу. При нажатии в сообщении «ОК» группа будет удалена из базы данных. (Рис.11)
Рис.11. Сообщение об удалении группы и специальности
Также есть вкладка «Предметы», с помощью которой администратор может просматривать, какие существуют предметы в КАТ. Пользователь также может настраивать данные (удалять, редактировать, добавлять) с помощью кнопок, которые располагаются под таблицей. (Рис.12)
Рис. 12. Форма DataInfo, вкладка Предметы
При нажатии на кнопку «Добавить» пользователь переходит на форму Add_Subject, на которой он может уже добавить предмет, заполнив все поля и нажав на кнопку «Добавить». После нажатия кнопки в базу данных добавляется новый предмет. Чтобы не добавлять данные, необходимо нажать на кнопку «Отмена». (Рис.13)
Рис. 13. Форма Add_Subject
При нажатии на кнопку «Редактировать» администратор переходит на форму Editing_Subject, это форма очень похожа на форму Add_Subject, но с заполненными полями, которые можно редактировать. При нажатии на кнопку «Сохранить» все данные будут редактированы, прежняя информация о предмете будет удалена, а новая информация сохранена. (Рис.14)
Рис. 14. Форма Editing_Subject
При нажатии на кнопку «Удалить» пользователя программа переспросит, действительно ли он хочет удалить выделенный предмет. При нажатии в сообщении «ОК» предмет будет удален из базы данных. (Рис.15)
Рис. 15. Сообщение об удалении предмета
Во вкладке «Кабинеты» пользователь сможет просмотреть все имеющиеся кабинеты с корпусами в таблице. Чтобы отредактировать, удалить или добавить некоторые кабинеты необходимо нажать на кнопки «Добавить», «Редактировать», «Удалить». (Рис.16)
Рис. 16. Форма DataInfo, вкладка Кабинеты
При нажатии на кнопку «Добавить» пользователь переходит на форму Add_Kabinet, на которой он может уже добавить кабинет, заполнив все поля и нажав на кнопку «Добавить». После нажатия кнопки в базу данных добавляется новый кабинет. Чтобы не добавлять данные, необходимо нажать на кнопку «Отмена». (Рис.17).
Рис. 17. Форма Add_Kabinet
При нажатии на кнопку «Редактировать» администратор переходит на форму Editing_Kabinet, это форма очень похожа на форму Add_Kabinet, но с заполненными полями, которые можно редактировать. При нажатии на кнопку «Сохранить» все данные будут редактированы, прежняя информация о кабинете будет удалена, а новая информация сохранена. (Рис.18)
Рис. 18. Форма Editing_Kabinet
При нажатии на кнопку «Удалить» пользователя программа переспросит, действительно ли он хочет удалить выделенный кабинет. При нажатии в сообщении «ОК» кабинет будет удален из базы данных. (Рис.19)
Рис. 19. Сообщение об удаления кабинета
Во вкладке «Сотрудники» пользователь может выбрать тип сотрудников: Администрация, Преподаватели, Внутренние и Внешние сотрудники, при нажатии на кнопки слева справа в таблице будут высвечиваться преподаватели данного типа. Также преподавателей можно добавлять, удалять, редактировать. (Рис.20)
Рис. 20. Форма DataInfo, вкладка Сотрудники
При нажатии на кнопку «Добавить» пользователь переходит на форму Add_Teacher, на которой он может добавить преподавателя, заполнив все поля и нажав на кнопку «Добавить». После нажатия кнопки в базу данных добавляется новый преподаватель. Чтобы не добавлять данные, необходимо нажать на кнопку «Отмена». (Рис.21)
Рис. 21. Форма Add_teacher
При нажатии на кнопку «Редактировать» пользователь переходит на форму, похожую на Add_Teacher, но уже с заполненными полями, которые можно редактировать. При нажатии на кнопку «Сохранить» все данные будут редактированы, прежняя информация о преподавателе будет удалена, а новая информация сохранена. (Рис.22)
Рис. 22. Форма Editing_Teacher
При нажатии на кнопку «Удалить» пользователя программа переспросит, действительно ли он хочет удалить выделенную группу. При нажатии в сообщении «ОК» преподаватель будет удален из базы данных. (Рис.23)
Рис.23. Сообщение об удалении преподавателя
Также на этой форме есть две больших кнопки сверху формы: «Тарификация», «Составление расписания». Кнопка «Составление расписания» заблокирована на этой стадии проекта, т.к. эта часть проекта перенесена на следующий год. Кнопка «Тарификация» активна, при нажатии на нее пользователь переходит на форму Tarif.
На форме Tarif существует 4 вкладки: Предметы и группы, Просмотр, Формирование тарификацией, Итоговая тарификация. Каждая часть составляет полностью всю тарификацию. Рассмотрим каждую вкладку отдельно.
На вкладке «Предметы и группы» пользователь может выбрать группу, чтобы посмотреть, какие преподаватели, какие предметы и сколько часов ведут в этой группе. Пользователь может удалить предмет и преподавателя, который ведет этот предмет, в определенной группе, нажав кнопку «Удалить». Также пользователь может добавить новый предмет, который будет изучать группа, а также выбрать преподавателя, нажав кнопку «Добавить». При нажатии на кнопку «Очистить» программа удаляет все данные, имеющиеся о преподавателях и их предметах, которые ведутся в определенных группах. Внизу этой вкладки есть 4 кнопки: «Запомнить», «Вставить», «Отчет», «Журнал». 3 из них пока заблокированы, однако кнопка «Отчет» выгружает всю таблицу с информацией о часах в группе в xlsx файл в необходимом формате.
Рис. 24. Форма Tarif, вкладка Предметы и группы
Рис. 25. Форма Add_conect
Во вкладке «Просмотр» пользователь может выбрать необходимого преподавателя и посмотреть его нагрузку в таблице на семестр: в каких группах он ведет, какие предметы и по сколько часов. Данную таблицу нельзя отредактировать, т.к. эта форма только для просмотра нагрузки преподавателя, если пользователь захочет что-то добавить, ему необходимо перейти обратно на вкладку «Предметы и группы». На форме также есть две кнопки: «Удалить», «Отчет». Кнопка «Удалить» удаляет из нагрузки преподавателя не нужные группы или предметы. С помощью кнопки «Отчет» программа выгружает данные в таблице о каком-либо преподавателе в специальный xlsx файл. (Рис.26)
Рис. 26. Форма Tarif, вкладка Просмотр
Третья вкладка, «Формирование тарификации», является основой тарификации, где пользователь может составлять тройки связи: преподаватель, группа и предмет. При нажатии кнопки «Связать» программа добавляет данные о связи в базу данных. (Рис.27)
Рис. 27. Форма Tarif, вкладка Формирование тарификации
Последняя вкладка «Итоговая тарификация» позволяет пользователю выгрузить информацию о нагрузке определенных преподавателей в xlsxфайл. (Рис.28.)
Рис. 28. Форма Tarif, вкладка Итоговая тарификация
Чтобы составить расписание необходимо на вкладке «Tarif»нажать кнопку «Тарификацию», чтобы перейти на форму «Raspis», где администратор может вручную или автоматически составить расписание. На вкладке «Кабинеты преподавателя» пользователь может закрепить кабинет для преподавателя на определенный предмет. Например, урок химии может проходить только в кабинете, приспособленном для химических опытов.
Рис. 29. Форма Raspis, вкладка Кабинеты преподавателя
Чтобы просмотреть связи преподавателей с кабинетами, необходимо на вкладке «Raspis» нажать на кнопку «Просмотр» и перейти на форму «Teacher_Cabinet». На открытой форме пользователь может узнать кабинет, который закреплен на преподавателе, а также узнать преподавателя, который прикреплен к кабинету.
Рис. 30. Форма Teacher_Cabinet
На форме «Raspis» вкладке «Редактор/Просмотр» пользователь может вручную создать расписание для преподавателей, групп, кабинетов. Для этого необходимо выбрать предмет, для кого составляется расписание, выбрать из списка нужную кандидатуру и с помощью таблицы узнать, какие занятия еще не вставлены в сетку с расписанием. А также оптимизировать расписание с помощью кнопки «Оптимизировать».
Рис. 31. Форма Raspis, вкладка Редактор/просмотр
3.4 Usecases
Подобные документы
Практический опыт и проблемы внедрения систем автоматизированного составления расписания. Описание исходных данных для разработки функционала программы. Описание структуры разделов пользовательского интерфейса. Модуль проверок корректности расписания.
курсовая работа [3,6 M], добавлен 26.09.2014Анализ существующих решений для составления расписания репетитора. Разработка архитектуры программного продукта. Выбор инструментальных средств. Проектирование реляционной базы данных. Определение методики тестирования. Реализация интерфейса пользователя.
дипломная работа [411,7 K], добавлен 22.03.2018Составление математической модели расписания в школе. Назначение и область применения программного продукта. Обоснование выбора инструментальных средств. Описание разработки, алгоритмов и методов решения, форматов данных и пользовательского интерфейса.
курсовая работа [1,6 M], добавлен 18.01.2012Реализация информационно-справочной системы расписания поездов в Microsoft Visual Studio 2008 на языке C#. Методика разработки и основное содержание данной программы, алгоритмы ее реализации. Требования к программе и оценка ее эффективности, листинг.
курсовая работа [5,0 M], добавлен 19.08.2012Логическое проектирование и разработка общей концепции системы. Составление расписания приема специалистов. Обработка заявок от клиентов. Построение информационно-логической модели системы. Шаблон для стандартных страниц. Данные для доступа к базе.
дипломная работа [4,8 M], добавлен 10.07.2015Систематизация, закрепление и расширение теоретических знаний студентов, приобретение практических навыков обследования предметной области, концептуального и физического проектирования базы данных. Освоение средств хранения информационных ресурсов.
курсовая работа [780,1 K], добавлен 23.10.2021Особенности написания базы данных на языках программирования C++, применимой для расписания занятий в университете. Этапы работы: ввод новой записи, изменение, просмотр базы данных, поиск данных. Алгоритмы, используемые в процессе выполнения проекта.
практическая работа [16,6 K], добавлен 12.06.2010Информационная безопасность для системы "Составление расписания". Обеспечения защиты данных в системе, разрабатываемой для учебной части и методы практической реализации обеспечения безопасности этих данных. Обеспечение защиты от потери информации.
курсовая работа [203,3 K], добавлен 30.11.2008Сущность и основные функции СУБД Microsoft Access. Алгоритм создания базы данных расписания поездов и параметров их передвижения. Проектирование форм для сводных таблиц с помощью конструктора окон. Разработка отчетов и запросов на выборку данных.
курсовая работа [8,6 M], добавлен 18.03.2011Теоретические основы проектирования информационно-справочных систем. Значение информационно-справочных компонент в корпоративных информационных системах. Разработка концептуальной и инфологической модели информационно-справочной системы ГОУ НПО ПУ №33.
дипломная работа [645,4 K], добавлен 02.09.2010