4.3.2.
Пользовательские модули
Для
разделения
функционала
перечисленных
выше
классов
пользователей
,
было
решено
создать
модули
пользователей
.
Классы
«
Гость
»
и
«
Пользователь
»
используют
модуль
по
умолчанию
(default).
Для
расширения
функциональности
до
уровня
классов
«
Администратор
», «
Учитель
»
и
«
Родитель
»,
дополнительно
19
подключаются
модули
admin, teacher
и
parent
соответственно
.
В
каждом
из
этих
модулей
размещаются
контроллеры
и
представления
,
обеспечивающие
функциональность
соответствующего
класса
.
4.3.3.
Структура Базы Данных
В процессе проектирования веб-‐сервиса «Электронный
дневник» было принято решение о хранении всего
динамически изменяющегося содержимого в базе данных.
База данных используется для хранения информации о
зарегистрированных пользователях, их привилегиях и
настройках, и принадлежности к учебному классу. Также в базе
данных хранятся внутришкольные объявления, домашние
задания, оценки, личные сообщения, информация о предметах и
привилегиях (Рис. 3).
Рис. 3. Схема базы данных
20
У каждой таблицы задан первичный ключ id, благодаря
которому можно однозначно идентифицировать любую запись
таблицы.
4.3.4.
Модель-‐Представление-‐Контроллер(Model-‐View-‐
Controller)
В качестве архитектуры серверной части проекта было
принято решение использовать архитектуру «Модель-‐
Представление-‐Контроллер»
(Рис. 4),
т.е.
архитектуру
программного обеспечения, в которой модель данных
приложения, пользовательский интерфейс и управляющая
логика разделены на три отдельных компонента, так, что
модификация одного из компонентов оказывает минимальное
воздействие на другие компоненты.
21
Рис. 4. Схема архитектуры «Модель-‐Представление-‐Контроллер»
1
Шаблон MVC позволяет разделить данные, представление и
обработку действий пользователя на три отдельных
компонента:
•
модель (Model). Модель предоставляет данные (обычно
для View), а также реагирует на запросы (обычно от
контроллера), изменяя своё состояние;
•
представление
(View).
Отвечает
за
отображение
информации (пользовательский интерфейс);
1
Режим
доступа
: http://www.bhartisoftland.com/technologies-skill-sets/gifs/mvc-
php.png
22
•
контроллер
(Controller).
Интерпретирует
данные,
введённые пользователем, и информирует модель и
представление о необходимости соответствующей реакции.
Важно отметить, что как представление, так и поведение
зависят от модели. Однако модель не зависит ни от
представления, ни от поведения. Это одно из ключевых
достоинств подобного разделения, позволяющее строить
модель независимо от визуального представления, а также
создавать несколько различных представлений для одной
модели.
|