- •Введение
- •Анализ предметной области
- •Структура комитета государственной безопасности Республики Беларусь
- •Обзор существующих аналогов
- •Аналитический обзор
- •Язык программирования php
- •Архитектура клиент-сервер
- •Rest-сервис
- •Системное проектирование
- •Функциональное проектирование
- •Классы, реализующие непосредственно логику работы веб-приложения
- •Класс AccountController
- •Класс ConvictionsController
- •Класс DefendantsController
- •Класс ExcelController
- •Класс IndexController
- •Класс NoticesController
- •Класс PlacesWorkController
- •Класс PreventivesController
- •Класс PrivateCasesController
- •Класс UrlController
- •Класс UsersController
- •Класс RelativesController
- •Класс ChangePinaltiesController
- •Класс ViolationsController
- •Класс AmnistiesController
- •Класс PartnersController
- •Класс PaymentsController
- •Класс TreatmentsController
- •Структура таблиц базы данных
- •Классы работы с базой данных и доступа к данным
- •Класс ModelManager
- •Класс DynamicModel
- •Разработка программных модулей
- •Авторизация
- •Заведение дела
- •Программа и методика испытаний
- •Определение вида тестирования
- •Объект тестирования
- •Выход из системы
- •Добавить сотрудника
- •Просмотреть список сотрудников
- •Редактировать сотрудника
- •Изменить пароль сотрудника
- •Удалить сотрудника
- •Добавить правонарушителя
- •Просмотреть список правонарушителей
- •Просмотреть правонарушителя
- •Редактировать правонарушителя
- •Удалить правонарушителя
- •Добавить место работы правонарушителя
- •Просмотреть место работы правонарушителя
- •Редактировать место работы правонарушителя
- •Удалить место работы правонарушителя
- •Добавить родственника
- •Просмотреть список родственников
- •Просмотреть родственника
- •Редактировать родственника
- •Удалить родственника
- •Добавить дело
- •Просмотреть список дел
- •Просмотреть дело
- •Редактировать дело
- •Удалить дело
- •Добавить осуждение
- •Просмотреть список осуждений
- •Просмотреть осуждение
- •Редактировать осуждение
- •Удалить осуждение
- •Добавить нарушение
- •Просмотреть список нарушений
- •Просмотреть нарушение
- •Редактировать нарушение
- •Удалить нарушение
- •Добавить отчет профучета
- •Просмотреть список отчетов профучета
- •Просмотреть отчет профучета
- •Редактировать отчет профучета
- •Удалить отчет профучета
- •Руководство пользователя
- •Назначение веб-приложения для автоматизации учета правонарушений
- •Условия выполнения
- •Функциональные возможности
- •Авторизация сотрудников
- •Ведение базы сотрудников
- •Ведение базы правонарушений
- •Ведение базы личных дел правонарушителей
- •Технико-экономическое обоснование проекта веб-приложения для автоматизации учета правонарушений
- •Характеристика программного продукта
- •Расчет затрат и отпускной цены веб-приложения для автоматизации учета правонарушений
- •Основная заработная плата исполнителей проекта определяется по формуле (7.1):
- •Расчет стоимостной оценки результата от разработки веб-приложения по автоматизации учета правонарушений
- •Расчет показателей эффективности разработки программного продукта
- •Заключение
- •Список используемых источников
Функциональное проектирование
В данном разделе подробно рассматривается функционирование программных модулей. Перечислены соответствующие классы и большинство их компонентов, описана структура и связи таблиц в базе данных. Состав и отношения основных классов показаны также на диаграмме классов (чертёж ГУИР.400201.206 РР.1).
Классы, реализующие непосредственно логику работы веб-приложения
К данным классам относятся прежде всего классы контроллеров их сервисов и моделей со своими менеджерами.
Контроллеры обрабатывают входящие запросы, действия пользователей. Принимают данные отправляемые пользователями и передают их на дальнейшую обработку своим сервисам. Контроллеры реализуют необходимую логику веб-приложения. Родительским классом контроллеров является класс Controller, содержащий основные возможности данных классов:
предобработка данных;
пост обработка данных;
инициализация класса View, ответственного за формирование представления.
Сервисы в данном приложении это такой вид классов, в которых заключена основная обработка данных. Посредством этих классов осуществляется взаимодействия с менеджерами моделей, а те в свою очередь с моделями таблиц, для последующей отправки запросов к базе данных. Родительским классом сервисов является класс Service, предоставляет следующие базовые возможности:
проверка данных;
формирование ошибок;
построение постраничной навигации.
Основным классом приложения является класс Dispatcher. Его предназначение заключается в принятии запроса, определение контроллера, ответственного за обработку пришедшего запроса. Также инициализирует базовые свойства контроллера и определяет порядок выполнения его функций.
Контроллер, который был вызван классом Dispatcher, осуществляет:
принятие входящих параметров;
предобработку данных;
вызов сервисов, с передачей им данных;
принятие ответа от сервиса и его обработка;
формирование ответа.
Все методы контроллера с являются так называемыми методами
действий. Методы действий представляют такие методы контроллера, которые обрабатывают запросы по определенному URL.
Результатом взаимодействия этих классов при обработке запроса, является ответ, в качестве которого может выступать HTML-страница или же данные в формате JSON.
За поиск HTML-шаблонов и формирование разметки отвечает класс представления View. Класс контроллера вызывает отдельный компонент представления, который создает в качестве ответа HTML-разметку. За ответы в формате JSON отвечает класс JsonResponse, также вызываемый из класса контроллера.
Класс AccountController
Данный класс отвечает за доступ пользователя к системе.
Методы класса AccountController, приведены в таблице 3.1.
Таблица 3.1 – Методы класса AccountController
Метод |
Описание |
login |
Осуществляет авторизацию пользователя и предоставление ему доступа к системе. |
logout |
Осуществляет выход пользователя из системы. Закрывая доступ ко все ее возможностям. |
Класс ConvictionsController
Данный класс отвечает за работу с осуждениями правонарушителей.
Свойства класса ConvictionsController, приведены в таблице 3.2.
Методы класса ConvictionsController, приведены в таблице 3.3.
Таблица 3.2 – Свойства класса ConvictionsController
Свойство |
Описание |
layout |
Данное свойство отвечает за базовый шаблон представления. Обеспечивающий изменение внешнего вида страницы. |
Таблица 3.3 – Методы класса ConvictionsController
Метод |
Описание |
сonvictions |
Предоставляет страницу со списком осуждений правонарушителя и связанными с ней функциями. |
Продолжение таблицы 3.3
Метод |
Описание |
createConviction |
Предоставляет страницу с формой создания, содержащей поля соответствующие полям из таблицы «Осуждения». Передав в функцию данные формы, будет запущен процесс записи информации в базу данных. |
viewConviction |
Предоставляет страницу с данными об осуждении. |
editConviction |
Предоставляет страницу с формой редактирования, содержащей поля соответствующие полям из таблицы «Осуждения». Передав в функцию данные формы, будет запущен процесс записи информации в базу данных. |
deleteConviction |
Осуществляет удаление осуждения по переданному идентификатору. |
