Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.15 Mб
Скачать
  1. Функциональное проектирование

В данном разделе подробно рассматривается функционирование программных модулей. Перечислены соответствующие классы и большинство их компонентов, описана структура и связи таблиц в базе данных. Состав и отношения основных классов показаны также на диаграмме классов (чертёж ГУИР.400201.206 РР.1).

  1. Классы, реализующие непосредственно логику работы веб-приложения

К данным классам относятся прежде всего классы контроллеров их сервисов и моделей со своими менеджерами.

Контроллеры обрабатывают входящие запросы, действия пользователей. Принимают данные отправляемые пользователями и передают их на дальнейшую обработку своим сервисам. Контроллеры реализуют необходимую логику веб-приложения. Родительским классом контроллеров является класс Controller, содержащий основные возможности данных классов:

  • предобработка данных;

  • пост обработка данных;

  • инициализация класса View, ответственного за формирование представления.

Сервисы в данном приложении это такой вид классов, в которых заключена основная обработка данных. Посредством этих классов осуществляется взаимодействия с менеджерами моделей, а те в свою очередь с моделями таблиц, для последующей отправки запросов к базе данных. Родительским классом сервисов является класс Service, предоставляет следующие базовые возможности:

  • проверка данных;

  • формирование ошибок;

  • построение постраничной навигации.

Основным классом приложения является класс Dispatcher. Его предназначение заключается в принятии запроса, определение контроллера, ответственного за обработку пришедшего запроса. Также инициализирует базовые свойства контроллера и определяет порядок выполнения его функций.

Контроллер, который был вызван классом Dispatcher, осуществляет:

  • принятие входящих параметров;

  • предобработку данных;

  • вызов сервисов, с передачей им данных;

  • принятие ответа от сервиса и его обработка;

  • формирование ответа.

Все методы контроллера с являются так называемыми методами

действий. Методы действий представляют такие методы контроллера, которые обрабатывают запросы по определенному URL.

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

За поиск HTML-шаблонов и формирование разметки отвечает класс представления View. Класс контроллера вызывает отдельный компонент представления, который создает в качестве ответа HTML-разметку. За ответы в формате JSON отвечает класс JsonResponse, также вызываемый из класса контроллера.

      1. Класс AccountController

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

Методы класса AccountController, приведены в таблице 3.1.

Таблица 3.1 – Методы класса AccountController

Метод

Описание

login

Осуществляет авторизацию пользователя и предоставление ему доступа к системе.

logout

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

      1. Класс ConvictionsController

Данный класс отвечает за работу с осуждениями правонарушителей.

Свойства класса ConvictionsController, приведены в таблице 3.2.

Методы класса ConvictionsController, приведены в таблице 3.3.

Таблица 3.2 – Свойства класса ConvictionsController

Свойство

Описание

layout

Данное свойство отвечает за базовый шаблон представления. Обеспечивающий изменение внешнего вида страницы.

Таблица 3.3 – Методы класса ConvictionsController

Метод

Описание

сonvictions

Предоставляет страницу со списком осуждений правонарушителя и связанными с ней функциями.

Продолжение таблицы 3.3

Метод

Описание

createConviction

Предоставляет страницу с формой создания, содержащей поля соответствующие полям из таблицы «Осуждения». Передав в функцию данные формы, будет запущен процесс записи информации в базу данных.

viewConviction

Предоставляет страницу с данными об осуждении.

editConviction

Предоставляет страницу с формой редактирования, содержащей поля соответствующие полям из таблицы «Осуждения». Передав в функцию данные формы, будет запущен процесс записи информации в базу данных.

deleteConviction

Осуществляет удаление осуждения по переданному идентификатору.