Файл: Проектирование реализации операций бизнес-процесса «Обеспечение послепродажного обслуживания» ( Выбор комплекса задач автоматизации ).pdf
Добавлен: 15.06.2023
Просмотров: 360
Скачиваний: 3
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
1.1.2. Организационная структура управления предприятием
1.1.3. Программная и техническая архитектура ИС предприятия
1.2 Характеристика существующих бизнес – процессов
1.3 Характеристика документооборота, возникающего при решении задачи
1.4 Обоснование проектных решений по информационному обеспечению
1.5 Обоснование проектных решений по программному обеспечению
2.1 Информационная модель и её описание
2.2 Характеристика нормативно-справочной, входной и оперативной информации
2.3 Характеристика результатной информации
2.4 Общие положения (дерево функций и сценарий диалога)
2.5 Характеристика базы данных
2.6 Структурная схема пакета (дерево вызова программных модулей)
2.7 Описание программных модулей
В качестве системы управления базой данный для разрабатываемой информационной системы была выбрана СУБД MySQL.
Для хранения всех необходимых данных была спроектирована и создана база данных, состоящая из 8 таблиц. ER-модель спроектированной базы данных представлена на рисунке 17.
Рисунок 17 – ER-модель базы данных
Описание все таблиц базы данных представлены в таблицах 6-12.
Таблица 6
Таблица users
|
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
|---|---|---|---|---|
|
Код пользователя |
id |
int |
11 |
AI |
|
Логин пользователя |
login |
varchar |
255 |
|
|
ФИО пользователя |
username |
varchar |
255 |
unique |
|
Код роли пользователя |
roleid |
int |
11 |
|
|
Пароль пользователя (в зашифрованном виде) |
password |
varchar |
255 |
|
|
Email пользователя |
|
varchar |
255 |
|
|
Телефон |
phone |
varchar |
255 |
Таблица 7
Таблица roles
|
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
|---|---|---|---|---|
|
Код роли |
id |
int |
11 |
AI |
|
Наименование роли |
caption |
varchar |
255 |
Таблица 8
Таблица defects
|
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
|---|---|---|---|---|
|
Код вида неисправности |
id |
int |
11 |
AI |
|
Наименование вида неисправности |
caption |
varchar |
255 |
|
|
Комментарий |
comment |
longtext |
65566 |
Таблица 9
Таблица works
|
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
|---|---|---|---|---|
|
Код ремонтной работы |
id |
int |
11 |
AI |
|
Наименование ремонтной работы |
caption |
varchar |
255 |
|
|
Комментарий |
comment |
longtext |
65566 |
Таблица 10
Таблица category
|
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
|---|---|---|---|---|
|
Код категории техники |
id |
int |
11 |
AI |
|
Наименование категории техники |
caption |
varchar |
255 |
|
|
Комментарий |
comment |
longtext |
65566 |
Таблица 11
Таблица equipments
|
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
|---|---|---|---|---|
|
Номер техники |
id |
int |
11 |
AI |
|
Наименование техники |
caption |
varcher |
255 |
|
|
Серийный номер |
serial |
varcher |
255 |
|
|
Код категории техники |
categoryid |
int |
11 |
|
|
Комментарий |
comment |
longtext |
65655 |
Таблица 12
Таблица defects
|
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
|---|---|---|---|---|
|
Код записи о ремонте |
id |
int |
11 |
AI |
|
Комментарий |
comment |
varchar |
255 |
|
|
Код пользователя (автора комментария) |
userid |
int |
11 |
|
|
Комментарий к диагностике |
diagnoscomment |
varchar |
255 |
|
|
Комментарий к ремонту |
workcomment |
varchar |
255 |
|
|
Дата создания |
createat |
datetime |
||
|
Дата диагностики |
diagnosdate |
datetime |
||
|
Дата ремонта |
repairdate |
datetime |
SQL-скрипт для создания базы данных приведен в приложении 1.
2.6 Структурная схема пакета (дерево вызова программных модулей)
Популярность языка php обусловила появление большого числа фреймворков, основанных на нем. Фреймворк – программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
Для написания информационной системы использовался фреймворк языка php Symfony 2.
Symfony 2 – самый популярный PHP-фреймворк в мире. Он включает в себя весь набор инструментов, используемый для быстрой разработки веб-приложений, и при этом абсолютно ничего не навязывает создаваемому приложению. Разработчик может быстро начать работу, используя дистрибутив Symfony2.
Сильные стороны Symfony 2:
- Высокая скорость работы за счет использования шаблонизатора под именем Twig, который использует оптимизированный PHP-код;
- Гибкость в настройке - Symfony позволяет конфигурировать приложения в трех различных форматах: аннотации, XML, YML. Есть возможность использовать все конфигурации одновременно;
- Расширяемость – поскольку Symfony основан на концепции DI (слабая связанность), программист может в любое время расширять приложение за счет подключения новых бандлов, которые минимально влияют на работу других бандлов, но зато возможна конфигурация их совместной работы;
- Стабильность – длительное время поддержки версий;
- Ориентированность на разработчика - Symfony имеет очень удобную консоль и для того, чтобы программист не выполнял рутинную работу, консоль Symfony делает генерацию определенного кода вместо программиста с помощью определенных команд.
Symfony 2 – это набор компонентов, таких как:
- HttpFoundation – данный компонент Symfony отвечает за обработку запросов и ответов приложения (Request и Response соответвенно). Также он содержит в себе классы, которые позволяют программисту заниматься работой с файлами и сессией;
- Routing – компонент, который занимается маршрутизацией в приложении и позволяет конфигурировать, каким именно образом должны обрабатываться URL;
- Form – компонент, который позволяет программисту легко и удобно генерировать, а также управлять формами: простыми или загрузочными;
- Validator – набор классов, который позволяет программисту проверять данные на корректность. Содержит в себе множество правил для проверок: начиная простой проверкой на пустоту объекта, заканчивая различными сложными правилами.
- ClassLoader – библиотека, которая позволяет подключать в систему PHP-классы без использования явного require.
- Templating – тулкит для загрузки/рендеринга шаблонов. Также поддерживается множественное наследование шаблонов (шаблонизатор Twig);
- Security – библиотека, которая создана для решения вопросов, которые касаются различных типов безопасности, при создании приложения;
- Translation – компонент, которые позволяет реализовать многоязычность сайта.
Данный фреймворк работает с подходом к программированию, называемый Model-view-controller (MVC, «модель-представление-контроллер», «модель-вид-контроллер»).
Основная идея данного подхода заключается в разделении данных, их представлениях и обработку действий пользователей на три больших группы:
- Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Объекты данной группы не содержат информации, как эти знания можно визуализировать.
- Представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами. Главная задача – представить информацию, хранимой в модели в виде, воспринимаемым пользователем.
- Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Важно отметить, что как представление, так и контроллер зависят от модели. Однако модель не зависит ни от представления, ни от контроллера. Тем самым достигается назначение такого разделения: оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
В таблице 13 приведен список разработанных программных модулей-контроллеров, в таблице 14 – модели, в таблице 15 – представления.
Таблица 13
Программные модули Controller
|
Номер |
Название |
Описание |
|
1 |
DefaultContoller.php |
Класс контроллера, обрабатывающий маршрут главной страницы информационной системы и маршрут формирования отчета |
|
2 |
AbstractController.php |
Родительский класс контроллера, содержащий методы для отображения данных и форм, обработки отправленных форм |
|
3 |
SecurityController.php |
Класс контроллера, содержащий методы и функции, необходимые для реализации функций авторизации, выхода из сайта, управления профилем пользователя |
|
4 |
RepairsController.php |
Класс контроллера, содержащий методы для реализации работы с записями о ремонте ИС |
|
5 |
SpravController.php |
Класс контроллера, содержащий методы для реализации работы со справочниками |
Таблица 14
Программные модули Model
|
Номер |
Название |
Описание |
|
1 |
AbstractEntity.php |
Родительский класс модели, содержащий базовые методы и свойства для реализации классов модели |
|
2 |
User.php |
Класс модели, содержащий атрибуты и методы для работы с объектом пользователя |
|
3 |
Repair.php |
Класс модели, содержащий атрибуты и методы для работы с объектом отделения |
|
4 |
Equipent.php |
Класс модели, содержащий атрибуты и методы для работы с объектом заявки |
|
5 |
Work.php |
Класс модели, содержащий атрибуты и методы для работы с объектом комментария к заявке |
|
6 |
Defect.php |
Класс модели, содержащий атрибуты и методы для работы с объектом статуса заявки |
|
7 |
Role.php |
Класс модели, содержащий атрибуты и методы для работы с объектом роли пользователя |
|
8 |
Category.php |
Класс модели, содержащий атрибуты и методы для работы с видом неисправности |
Таблица 15
Программные модули View
|
1 |
AbstractFormType.php |
Класс формы управления данными |
|
2 |
LoginFormType.php |
Класс формы авторизации |
|
3 |
FilterFormType.php |
Класс формы для реализации фильтров |
|
4 |
UserFormType.php |
Класс формы для реализации работы с данными пользователя |
|
5 |
RepairFormType.php |
Класс формы для реализации работы с данными записи о ремонте |
|
6 |
SpravFormType.php |
Класс формы для реализации работы с записью справочника |
2.7 Описание программных модулей
Главная особенность объектно-ориентированного программирования (ООП) заключается в том, что при использовании этого метода происходит оперирование объектами. Под объектом в программировании понимается совокупность свойств, методов их обработки и событий, на которые данные объект может реагировать. Под свойствами объекта обычно понимают структуры данных, характерные для данного объекта, или другими словами – набор свойств характеризуют какой-либо объект. Метод – это способ влияния на свойства объекта, обычно используют два метода – установка какому-то свойству определенного значения, и считывание значения этого свойства. Объединение данных и свойственных им процедур обработки в одном объекте, называется инкапсуляцией и является одним из важнейших принципов ООП.
Еще одним фундаментальным понятием ООП является класс.
Классом называют шаблон, на основе которого создается конкретный программные объект. То есть в классе описаны все свойства и методы, определяющие поведение каждого объекта, созданного на основе этого класса. Также принято каждый объект, созданный на основе класса называть экземпляром этого класса.
Следующими важнейшими принципами ООП являются наследование и полиморфизм.
Наследование – такая организация классов, которая подразумевает создание новых классов на базе существующих и позволяет классу потомку иметь (наследовать) все свойства класса – родителя.
Полиморфизм – означает, что рожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, в каком месте цепочки (дерева классов) они находятся, иными словами это концепция, реализующая "множество методов в одном интерфейсе".