Разработка системы учета успеваемости студентов на основе рейтинговой системы - подсистема "Кафедра"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?тура интерфейса программного средства
При проектировании интерфейса нужно так же учесть следующее:
Активные элементы интерфейса (ссылки, кнопки) должны выделяться и контрастировать со статическими.
Необходимо максимально снизить количество перезагрузок страницы при использовании одной функции программного средства.
Интерфейс должен быть прост и не перегружен лишними элементами.
4 Реализация программного средства
.1 Выбор средств реализации
Для реализации нашей задачи нам необходима система клиент-сервер с централизованным хранением данных успеваемости и разграничением доступа к этим данным. Для этого была выбрана платформа Web, с использованием языка PHP, веб-сервера Apache и сервера баз данных MySql.
Выбранный подход имеет следующие преимущества:
Централизованное хранение данных об успеваемости учащихся и распределенный доступ к этим данным.
Логика разграничения доступа храниться на сервере, что повышает безопасность системы.
Относительная легкость установки и разворачивания серверной части.
Нет необходимости в специальной клиентской части - доступ к системе можно получить из любого web-браузера.
Возможность получения доступа, откуда угодно посредством сети Интернет (в т. ч. с мобильных устройств)
Веб-сервер Apache является одним из самых распространенных серверов. Он установлен на более чем 80% всех интернет-серверов и является стандартом де-факто в этой сфере. Установка и настройка сервера хорошо документирована. Кроме того, существую дистрибутивы для всех распространенных ОС, таких как Windows, Unix и Linux.
Сервер MySql является простым и удобным сервером для работы с реляционными базами данных базами данных. Имеет поддержку различных типов таблиц, работающих с транзакциями или атомарными операциями, а также поддерживает триггеры, хранимые процедуры и представления.
Связка PHP-MySql используется повсеместно и хорошо зарекомендовала себя своей скоростью и производительностью. Кроме того, PHP имеет встроенные средства для работы с данным сервером баз данных и установка дополнительных компонентов не требуется.
PHP 5 является удобным, платформонезависимым, интерпретируемым ООП-языком, с самым большим репозитарием кода на сегодняшний день. Язык PHP очень гибок и позволяет быстро и просто реализовывать алгоритмы обработки данных, которые потребовали бы написания отдельных сложных функций и классов в других языках.
Еще один важный критерий выбора данных средств - независимость от платформы конечного кода и структуры БД системы: веб-приложение, созданное под ОС Windows легко, без изменений переносится на платформу Linux/Unix.
.2Реализация информационного обеспечения
Для создания физической структуры БД было использовано средство phpMyAdmin, которое является административной утилитой серверов MySql, написанной на PHP.
Создание структуры происходит следующим образом:
с помощью phpMyAdmin создается новая база данных, определяются имена пользователей и пароли для доступа к БД, если это необходимо
с помощью диаграммы сущьность-связь определяются имена таблицы, полей и типов данных
осуществляется создание таблицы в phpMyAdmin
процесс повторяется для всех таблиц в структуре БД
при создании представления проектируется SQL запрос к БД, производится тестирование его на правильность полученных данных, а затем создание представления с помощью специального средства phpMyAdmin
.3Реализация пользовательского интерфейса
Пользовательский интерфейс реализуется путем отделения HTML-кода от кода программного средства, и использования прослойки - библиотеки-шаблонизатора. Для нашей системы была выбрана библиотека Smarty.
Созданный таким образом шаблон, подключается затем из нужного места программы, ему передаются необходимые параметры для отображения содержимого, и он выводится.
Создание шаблона происходит следующим образом: в текстовом редакторе создается и редактируется HTML-страница нужной нам структуры, затем в код страницы вводятся специальные Smarty-теги, ответственные за отображение активного контента. Такие теги имеют вид: {тег [параметр …]} для управляющей структуры, например if, for, или foreach. Тег {$переменная} выведет значение переменной в место, где он расположен. Так, например тег {$content} выведет значение переменной $content.
В нашей системе будет один первичный и несколько вторичных шаблонов. Первичный шаблон содержит в себе полный код HTML-страницы, разделенной на блоки, тэг и ссылку на подключаемые таблицы стилей CSS и статические элементы дизайна. Для отображения конкретного содержимого используется вторичный шаблон, он может содержать в себе таблицы, формы и т. д. Какой следует подключить вторичный шаблон - определяет котроллер, получивший управление в данный момент. Имя вторичного шаблона передается в первичный и тот включает необходимый шаблон в вывод.
В нашей системе присутствует большое количество страниц, осуществляющих вывод списковых данных (факультеты, кафедры, группы и т. д.). Создание отдельного шаблона для каждой такой страницы нецелесообразно, поэтому был создан универсальный шаблон list.tpl. Этот шаблон принимает не конкретные, а общие данные списка - количество и название полей для отображения, таблицу со значениями полей, ссылки для редактирования/добавления/изменения данных (если есть) и прочее. Большинство страниц выводится с применением именно это