Дипломная работа: Автоматизация учета рабочего времени сотрудников ООО "Центр Плюс"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
62
Таблица 15
Таблица comment
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Код комментария
id
int
11
AI
Текст комментария
texts
varchar
255
Код пользователя (автора
комментария)
userid
int
11
Код заявки
ticketid
int
11
Ссылка на файл
image
varchar
255
Дата создания
createat
datetime
Дата изменения
modifiedat
datetime
SQL-скрипт для создания базы данных приведен в приложении 1.
2.3.3. Структурная схема пакета
Популярность языка php обусловила появление большого числа
фреймворков, основанных на нем. Фреймворк программная платформа,
определяющая структуру программной системы; программное обеспечение,
облегчающее разработку и объединение разных компонентов большого
программного проекта.
Для написания информационной системы использовался фреймворк языка
php Symfony 2.
Symfony 2 самый популярный PHP-фреймворк в мире. Он включает в
себя весь набор инструментов, используемый для быстрой разработки веб-
приложений, и при этом абсолютно ничего не навязывает создаваемому
приложению. Разработчик может быстро начать работу, используя дистрибутив
Symfony2.
Сильные стороны Symfony 2:
Высокая скорость работы за счет использования шаблонизатора под
именем Twig, который использует оптимизированный PHP-код;
Гибкость в настройке - Symfony позволяет конфигурировать
приложения в трех различных форматах: аннотации, XML, YML. Есть
возможность использовать все конфигурации одновременно;
Расширяемость поскольку Symfony основан на концепции DI
(слабая связанность), программист может в любое время расширять приложение
63
за счет подключения новых бандлов, которые минимально влияют на работу
других бандлов, но зато возможна конфигурация их совместной работы;
Стабильность – длительное время поддержки версий;
Ориентированность на разработчика - Symfony имеет очень
удобную консоль и для того, чтобы программист не выполнял рутинную работу,
консоль Symfony делает генерацию определенного кода вместо программиста с
помощью определенных команд.
Symfony 2 это набор компонентов, таких как:
HttpFoundation данный компонент Symfony отвечает за обработку
запросов и ответов приложения (Request и Response соответвенно). Также он
содержит в себе классы, которые позволяют программисту заниматься работой с
файлами и сессией;
Routing компонент, который занимается маршрутизацией в
приложении и позволяет конфигурировать, каким именно образом должны
обрабатываться URL;
Form компонент, который позволяет программисту легко и удобно
генерировать, а также управлять формами: простыми или загрузочными;
Validator набор классов, который позволяет программисту
проверять данные на корректность. Содержит в себе множество правил для
проверок: начиная простой проверкой на пустоту объекта, заканчивая
различными сложными правилами.
ClassLoader библиотека, которая позволяет подключать в систему
PHP-классы без использования явного require.
Templating тулкит для загрузки/рендеринга шаблонов. Также
поддерживается множественное наследование шаблонов (шаблонизатор Twig);
Security библиотека, которая создана для решения вопросов,
которые касаются различных типов безопасности, при создании приложения;
Translation компонент, которые позволяет реализовать
многоязычность сайта.
Данный фреймворк работает с подходом к программированию,
называемый Model-view-controller (MVC, «модель-представление-контроллер»,
«модель-вид-контроллер»).
64
Основная идея данного подхода заключается в разделении данных, их
представлениях и обработку действий пользователей на три больших группы:
Модель (англ. Model). Модель предоставляет знания: данные и
методы работы с этими данными, реагирует на запросы, изменяя своё состояние.
Объекты данной группы не содержат информации, как эти знания можно
визуализировать.
Представление, вид (англ. View). Отвечает за отображение
информации (визуализацию). Часто в качестве представления выступает форма
кно) с графическими элементами. Главная задача представить информацию,
хранимой в модели в виде, воспринимаемым пользователем.
Контроллер (англ. Controller). Обеспечивает связь между
пользователем и системой: контролирует ввод данных пользователем и
использует модель и представление для реализации необходимой реакции.
Важно отметить, что как представление, так и контроллер зависят от
модели. Однако модель не зависит ни от представления, ни от контроллера. Тем
самым достигается назначение такого разделения: оно позволяет строить модель
независимо от визуального представления, а также создавать несколько
различных представлений для одной модели.
В таблице 16 приведен список разработанных программных модулей-
контроллеров, в таблице 17 – модели, в таблице 18 представления.
Таблица 16
Программные модули Controller
Номер
Название
Описание
1
DefaultContoller.php
Класс контроллера, обрабатывающий маршрут
главной страницы информационной системы
2
AbstractController.php
Родительский класс контроллера, содержащий
методы для отображения данных и форм,
обработки отправленных форм
3
SecurityController.php
Класс контроллера, содержащий методы и
функции, необходимые для реализации
функций авторизации, выхода из сайта,
управления профилем пользователя
4
TicketsController.php
Класс контроллера, содержащий методы для
реализации работы с заявками всеми
пользователями ИС
5
SpravController.php
Класс контроллера, содержащий методы для
реализации работы со справочниками
65
Таблица 17
Программные модули Model
Номер
Название
Описание
1
AbstractEntity.php
Родительский класс модели, содержащий
базовые методы и свойства для реализации
классов модели
2
User.php
Класс модели, содержащий атрибуты и методы
для работы с объектом пользователя
3
Company.php
Класс модели, содержащий атрибуты и методы
для работы с объектом компании
4
Ticket.php
Класс модели, содержащий атрибуты и методы
для работы с объектом заявки
5
Comment.php
Класс модели, содержащий атрибуты и методы
для работы с объектом комментария к заявке
6
Status.php
Класс модели, содержащий атрибуты и методы
для работы с объектом статуса заявки
7
Role.php
Класс модели, содержащий атрибуты и методы
для работы с объектом роли пользователя
8
TypeTicket.php
Класс модели, содержащий атрибуты и методы
для работы с видом неисправности
Таблица 18
Программные модули View
1
AbstractFormType.php
Класс формы управления данными
2
LoginFormType.php
Класс формы авторизации
3
FilterFormType.php
Класс формы для реализации фильтров
4
UserFormType.php
Класс формы для реализации работы с
данными пользователя
5
TicketFormType.php
Класс формы для реализации работы с
данными заявки
6
SpravFormType.php
Класс формы для реализации работы с
записью справочника
Дерево вызова программных модулей приведено на рисунке 17.
66
DefaultCntroller.php
AbstractCntroller.php
SeurityController.php
SpravController.php
AbstractEntity.php
Comment.php
FilterFormType.php
AbstractFormType.php
LoginFormType.php
SpravFormType.php
TicketsController.php
User.php
Ticket.php
ProfileFormType.php
Role.php
Company.php
Status.php
TypeTicket.php
TicketFormType.php
Рисунок 17 – Дерево вызова программных модулей
2.3.4. Описание программных модулей
Главная особенность объектно-ориентированного программирования
(ООП) заключается в том, что при использовании этого метода происходит
оперирование объектами. Под объектом в программировании понимается
совокупность свойств, методов их обработки, а также событий, на которые
объект должен реагировать определенным образом. Под свойствами объекта
обычно понимают структуры данных, характерные для данного объекта, или
другими словами набор свойств характеризуют какой-либо объект. Метод
это способ влияния на свойства объекта, обычно используют два метода
установка какому-то свойству определенного значения, и считывание значения
этого свойства.
Единство данных и процедур их обработки в одном объекте в
терминологии ООП называют инкапсуляцией. Инкапсуляция является одним из
важнейших принципов ООП.
Еще одним фундаментальным понятием ООП является класс.
Классом называют шаблон, на основе которого создается конкретный
программный объект. То есть в классе описаны все свойства и методы,
определяющие поведение каждого объекта, созданного на основе этого класса.
Источник: https://baza.diplomsite.ru/previewfile/2456