Диплом: Автоматизация управления проектами в студии APPCRAFT

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
69
Наименование
Отчет по сотрудникам
Результаты
выполнения задач
Реквизиты
ФИО сотрудника
Должность
Количество поставленных
задач
Количество выполненных
задач
Из них в срок
Из них позже срока
Среднее количество
попыток на задачу
Название файла
Таблицы, на основе
которых формируется
Проекты
Этапы
Задачи
Сотрудники
Должности
Роли
Комментарии
Файлы
Частота формирования
По мере необходимости
По мере
необходимости
Способ доставки
html-страница
файл
70
2.3. Программное обеспечение задачи
2.3.1. Общие положения (дерево функций и сценарий диалога)
Функциональное наполнение системы принято отображать в виде
иерархичной структуры, называемой деревом функций. Для проектируемой
систем оно представлено на рисунке 17.
Основные
Отправка
комментариев и
файлов
Управление данными
проектов
Функции ИС
Служебные
Авторизация
Управление
профилем
Формирование отчета
Управление данными
справочников
Рисунок 17 – Дерево функций информационной системы
Помимо функционального наполнения системы на этапе
проектирования также необходимо показать и сценарий диалога пользователя
для того, чтобы выполнить эти функции. Для данной системы сценарий диалога
приведен на рисунке 18.
71
Авторизация
Задачи
Главное меню
Проекты Справочники Отчет
Пользователи
Типы задач
Должности
Роли
Рисунок 18 – Сценарий диалога информационной системы
Работа в системе возможна только после прохождения авторизации.
После нее открывается страница с задачами авторизованного сотрудника, с
помощью навигационного меню можно переключаться между разделами ИС.
Стоит отметить, что раздел главного меню «Справочники» доступен только
Администратору, а «Отчет» - Руководителю проектов.
2.3.2. Характеристика базы данных
В качестве системы управления базой данный для разрабатываемой
информационной системы была выбрана СУБД MySQL.
Для хранения всех необходимых данных была спроектирована и создана
база данных, состоящая из 10 таблиц. ER-модель спроектированной базы
данных представлена на рисунке 19.
72
Рисунок 19 – ER-модель базы данных
Описание все таблиц базы данных представлены в таблицах 11-20.
Таблица 11
Таблица Staff (Должность)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Наименование
caption
varchar
255
Таблица 12
User
id
email
fio
password
status
staffid (FK)
Staff
id
caption
Project
id
caption
status
created
Stage
id
caption
projectid (FK)
started
ended
priority
Task
id
caption
stageid (FK)
typeid (FK)
started
finished
ended
description
tries
priority
Role
id
caption
TypeTask
id
caption
ProjectUser
id
projectid (FK)
userid (FK)
roleid (FK)
created
Comment
id
message
created
userid (FK)
projectid (FK)
taskid (FK)
Files
id
caption
created
taskid (FK)
userid (FK)
url
73
Таблица User (Пользователь)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Электронная почта
email
varchar
255
ФИО
caption
varchar
255
Пароль
password
varchar
255
Статус
status
boolean
1
Код должности
staffid
integer
8
FK
Таблица 13
Таблица Comment (Комментарий)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
integer
8
PK, AI
Текст сообщения
message
text
65655
Код пользователя
userid
integer
8
FK
Код проекта
projectid
integer
8
FK
Код задачи
taskis
integer
8
FK
Таблица 14
Таблица Role (Роль пользователя)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Наименование
caption
varchar
255
Таблица 15
Таблица ProjectUser (Роль пользователей в проекте)
74
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Код проекта
projectid
integer
8
FK
Код пользователя
userid
integer
8
FK
Код роли
roleid
integer
8
FK
Дата добавления
created
datetime
-
Таблица 16
Таблица Project (Проекты)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Наименование
caption
varchar
255
Статус
status
varchar
255
Дата создания
created
datetime
Таблица 17
Таблица Stage (Этапы)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
integer
11
PK, AI
Наименование
caption
varchar
255
Код проекта
projectid
integer
8
Дата начала
started
datetime
-
FK
Дата окончания
ended
datetime
-
FK
Порядок
выполнения (номер
этапа)
priority
integer
8
75
Таблица 18
Таблица Task (Задачи)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Наименование
caption
varchar
255
Код стадии
stageid
integer
8
FK
Код типа
typeid
integer
8
FK
Дата начала
started
datetime
-
Дата окончания
(план)
finished
datetime
-
Дата окончания
(факт)
ended
datetime
-
Описание
description
text
65655
Количество попыток
tries
integer
8
Порядок
выполнения (номер
задачи в этапе)
priority
integer
8
Таблица 19
Таблица TypeTask (Типы задач)
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Наименование
caption
varchar
255
Таблица 20
Таблица Files (Файлы)
76
Наименование поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
id
int
11
PK, AI
Наименование
caption
varchar
255
Дата загрузки
created
datetime
Код задачи
taskid
integer
8
FK
Код сотрудника
userid
integer
8
FK
Путь к файлу
url
varchar
255
SQL-скрипт для создания базы данных приведен в приложении 1.
2.3.3. Структурная схема пакета (дерево вызова программных модулей)
Популярность языка php обусловила появление большого числа
фреймворков для него. Фреймворк – это программная платформа,
определяющая общую внутреннюю структуру программного обеспечения.
Фреймворки создают для того, чтобы облегчить разработку ПО, т.к. большая
часть стандартных для систем функций там в том или ином виде уже
реализована.
Для написания информационной системы использовался фреймворк
языка php Phalcon.
Phalcon – кроссплатформенный PHP-фреймворк. Он включает в себя
весь набор инструментов, используемый для быстрой разработки веб-
приложений, и при этом абсолютно ничего не навязывает создаваемому
приложению. Разработчик может быстро начать работу, используя дистрибутив
Phalcon.
Сильные стороны Phalcon:
Расширения Zephir / C загружаются вместе с PHP один раз в
процессе запуска демона веб-сервера
77
Классы и функции, предоставляемые расширением, готовы к
использованию в любом приложении.
Код скомпилирован и не интерпретируется, потому что он уже
скомпилирован для конкретной платформы и процессора
Благодаря своей низкоуровневой архитектуре и оптимизации
Phalcon обеспечивает минимальные издержки для приложений на основе MVC
Все выше перечисленное обеспечивает значительный прирост скорости
работы приложений, созданных с помощью Phalcon. При сравнении скорости
работы фреймворка с другими он показывает значительные преимущества
(Рисунок 20).
Рисунок 20 – Сравнение Phalcon с другими фреймворками php
Также к достоинствам Phalcon можно отнести:
Расширяемость – поскольку Phalcon основан на концепции DI
(слабая связанность), программист может в любое время расширять
приложение за счет подключения новых бандлов, которые минимально влияют
78
на работу других бандлов, но зато возможна конфигурация их совместной
работы;
Стабильность – длительное время поддержки версий;
Ориентированность на разработчика - Phalcon имеет очень удобную
консоль и для того, чтобы программист не выполнял рутинную работу, консоль
Phalcon делает генерацию определенного кода вместо программиста с помощью
определенных команд.
Данный фреймворк работает с подходом к программированию,
называемый Model-view-controller (MVC). С английский этот подход дословно
переводится как «модель-представление-контроллер» или «модель-вид-
контроллер»
Основная идея данного подхода заключается в разделении данных, их
представлениях пользователям и обработку действий пользователей на три
больших группы:
Модель (англ. Model). Модель отвечает за знание о предметной
области. Чаще всего она включает классы, которые являются программными
прообразами реальных объектов предметной области. Данные классы содержат
информацию об объектах в виде атрибутов, которым задаются определенные
значения. Классы данной группы по сути лишь хранят данные но пользователю
их никаком образом не выводят.
Представление, вид (англ. View). Основная задача представлений, в
отличие от модели, - отображение данные пользователю. Чаще всего
представление – это форма интерфейса ИС. Главная задача – представить
информацию, хранимой в модели в виде, воспринимаемым пользователем.
Контроллер (англ. Controller). В этих классах обычно реализована
обработка действий пользователя в формах пользовательского интерфейса.
В рамках веб-приложений можно сказать, что пользователь, выполняя
какие-то действия в формах представления, отправляет запросы контролерам,
которые выполняют нужные манипуляции с моделью данных и передают
результат в представление.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)