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

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

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

иной роли. На основе данных хранилища ролей определяется роль пользователя - главный администратор, администратор кафедры или преподаватель. В зависимости от полученной роли пользователь получает те или иные права доступа в системе. Права доступа хранятся в хранилище вместе с ролями.

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

Администратор кафедры имеет права на доступ к системе на уровне кафедры и ниже - редактирование специальностей, групп, предметов и т.д.

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

 

2.2 Построение диаграммы потоков данных

 

На основе приведенного описания построим диаграмму потоков данных. Диаграмма потоков данных схематично представлена в приложении Б.

 

3 Проектирование программного средства

 

.1 Проектирование архитектуры программного средства

 

Общую схему функционирования web-приложения можно представить следующим образом: пользователь запрашивает страницу через свой web-браузер. Web-браузер формирует HTTP-запрос и отправляет его серверу. Сервер анализирует запрос, далее он либо выдает запрошенный пользователем файл (картинка, статический HTML, flash-анимация), либо передает управление PHP-скрипту. Если пользователь ввел какие-либо данные в форму, то они передаются в скрипт как параметры. В зависимости от запрошенных данных скрипт может обращаться к серверу баз данных и получать данные из БД. Затем скрипт формирует HTML-страницу и передает ее web-серверу, а тот, в свою очередь, возвращает страницу браузеру пользователя через HTTP. Концептуальную схему этого процесса можно увидеть на рисунке 2.

 

Рис. 2. Общая схема функционирования web-приложения

Из рисунка мы видим, что анализ введенных пользователем данных, работа с БД и формирование страницы ответа происходит в одном PHP скрипте. Такой подход крайне неудобен. При небольшом изменении дизайна страницы или структуры базы данных затрагивается весь скрипт. Кроме того, такой подход неудобен для разделения труда между программистами и дизайнерами.

Для отделения логики скрипта от представления будет использован специальный шаблон проектирования.

 

.1.1 Шаблон MVC

Для отделения логической структуры и реализации компонентов ПС будет применен шаблон проектирования (паттерн) программного обеспечения model-controller-view. Суть его заключается в том, что ПС разделяется на три независимых компонента :

Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контролера ), изменяя свое состояние.

Представление (View). Отвечает за отображение информации (пользовательский интерфейс).

Поведение (Controller). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции.

 

Рис. 3. Структура MVC

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

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

 

Рис. 3. Диаграмма последовательностей архитектуры MVC

3.2 Проектирование структуры информационного обеспечения

 

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

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

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

 

.3 Проектирование интерфейса программного средства

 

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

Интерфейс нашего ПС будет состоять из 4х основных блоков:

.Заголовок (Хэдер) . Содержит картинку и название ПС.

2.Нижняя часть (Футер). Содержит копирайт.

.Блок меню слева. Содержит меню с основной навигацией системы.

.Блок содержимого (контент). В нем будет отображаться основное содержимое.

Структура блоков показана на рисунке 4.

 

ХэдерМенюКонтентФутерРис. 4. Стру?/p>