Разработка системы учета успеваемости студентов на основе рейтинговой системы - подсистема "Кафедра"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?тура интерфейса программного средства

 

При проектировании интерфейса нужно так же учесть следующее:

Активные элементы интерфейса (ссылки, кнопки) должны выделяться и контрастировать со статическими.

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

Интерфейс должен быть прост и не перегружен лишними элементами.

 

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. Этот шаблон принимает не конкретные, а общие данные списка - количество и название полей для отображения, таблицу со значениями полей, ссылки для редактирования/добавления/изменения данных (если есть) и прочее. Большинство страниц выводится с применением именно это