Мои проекты
Расписание занятий в университете

Расписание занятий в университете

Тема моей дипломной работы — Разработка веб-интерфейса системы доступа к базам данных на примере расписания занятий на факультете.

Главной целью перед собой я ставлю достижение простоты и удобства пользования данной системой. Для этого необходимо:

  1. Разобраться со структурой расписания;
  2. Создать свою базу данных;
  3. Разработать интерфейс.

Моя работа представляет собой веб-приложение — сайт, на котором пользователь может легко и быстро найти свое расписание, а администратор может удобно и просто ввести уже составленное ранее расписание в базу данных.

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

Преимущества моей системы

В отличие от старой базы данных моя система имеет ряд существенных преимуществ.

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

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

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

В-четвертых, экспорт данных в формате PDF.

Инструментарий

В работе я пользовался самыми популярными инструментами для разработки веб-приложений. Это язык программирования PHP, и база данных MySQL. Использовал следующее программное обеспечение:

  1. Графический редактор GIMP для создания макетов сайта.
  2. Zend Studio — для написания и отладки программного кода на PHP.
  3. Кросплатформенный веб-сервер XAMPP, который включает в себя Аpache, MySQL и PHP.

Все программы распространяются свободно.

Этапы разработки

Всю работу я разделил на этапы:

  1. Создание структуры расписания.
  2. Дизайн. Создание макетов.
  3. Верстка макетов в HTML.
  4. Создание структуры базы данных.
  5. Программирование.

Структура расписания

На первом этапе, я детально изучил расписание факультета и выявил такую особенность. Каждое занятие может проходить еженедельно или по числителю/знаменателю, для всей группы или по подгруппам. Таким образом, можно выделить пять различных видов занятий.

Пять различных видов занятий

Каждое занятие имеет два одинаковых блока описания. Первый блок — это академ. группа, день недели и номер занятия. Второй блок — это предмет, преподаватель, аудитория и тип занятия. Между этими блоками существует блок с «адресом» занятия. В этом блоке описывается вид занятия. Таким образом, можно представить такую структуру расписания.

Структура расписания в университете

Дизайн

Имея такую структуру расписания, я разработал интерфейс и дизайн сайта. Основная задача дизайна — сделать информацию удобной для восприятия. На этом этапе очень важно детально продумать интерфейс сайта и проработать пользовательские сценарии поведения.

Макет главной страницы

Главная страница. Здесь простой пользователь с помощью «Фильтра расписания» выбирает свою группу, день недели и получает свое расписание.

Представление расписания занятий на сайте

Администратор может не только просмотреть расписание, но и редактировать его. Для редактирования расписания администратору необходимо авторизироваться на сайте.

Форма авторизации на сайте

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

Страница администрирования базы данных расписания занятий в университете

Редактирование этих баз данных происходит очень легко.

Редактирование базы данных предметов

Редактирование расписания происходит при помощи фильтра расписания, где администратор выбирает группу, день недели и номера занятий, которые он хочет добавить или отредактировать. Нажимая на кнопку «Редактировать», администратор попадает на страницу редактирования расписания, где открыты необходимые занятия.

Редактирование расписания занятий в университете

Верстка макетов в HTML

Следующий этап — это верстка макетов в формате HTML с использованием CSS. Верстка макета осуществляется соответственно его структуре.

Макет сайта

Преимущество верстки слоями состоит в том, что данные отделяются от представления. То есть структура данных описывается в html, а все стили вынесены в отдельный файл css.


Структура базы данных

Разработка структуры базы данных. База данных состоит из восьми таблиц.

Структура базы данных

Все расписание формируется по правилу четыре переменных. DIF — идентификатор первого уровня ветвления. ORD — идентификтор второго уровня деления. ND — числитель/знаменатель. SB — разделение на подгруппы.

Таким образом, эти четыре переменные дают нам 81 комбинацию, из которых только 13 будут описывать необходимые нам виды занятий.

Матрица видов занятий

Последний этап — это программирование.


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