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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
86
Вложения;
Заказы;
Комментарии;
Вложения в заказы;
Сообщения;
Задачи по заказам;
Заказы пользователей;
Задачи;
Пользователи.
Составим концептуальную схему базы данных (рис. 10).
Рисунок 10. Концептуальная модель базы данных
Логическое проектирование базы данных
Путем добавления атрибутов к сущностям получаем логическую схему
базы данных (рис 11).
87
Рисунок 11. Логическая схема базы данных
Физическое проектирование базы данных
Путем добавления типов данных к атрибутам получаем физическую
модель базы данных (рис 11).
Рисунок 11. Физическая модель базы данных
88
Далее подробно опишем состав всех таблиц базы данных с указанием
типов атрибутов, их длины и ключевых полей.
Таблица users («Пользователи») содержит следующие поля (табл 1).
Таблица 1 – Состав таблицы «Пользователи»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор пользователя
Name
Varchar (255)
ФИО пользователя
Balance
Decimal(10,2)
Баланс счета
Email
Varchar(150)
Электронная почта
пользователя
Password
Varchar(250)
Пароль пользователя
Auth_key
Varchar(32)
Идентификационный ключ
пользователя
Role
Int(11)
Роль в системе
Type
Tinyint(4)
Тип пользователя
Status
Int(11)
Статус пользователя
Created_at
Datetime
Дата создания
Updated_at
Datetime
Дата обновления
Таблица Orders («Заказы») содержит следующие поля (табл. 2).
Таблица 2 – Состав таблицы «Заказы»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор заказа
User_id
Int(10)
Внешний
Создатель
Title
Varchar(255)
Заголовок заказа
Text
Varchar(150)
Описание заказа
Cost
Float
Стоимость заказа
Status
Tinyint(4)
Статус заказа
Created_at
Datetime
Время создания
Competition_time
Datetime
Время выполнения
Finish_time
Datetime
Время завершения
Таблица Orders_tasks («Задачи по заказам») содержит следующие поля
(табл. 3).
89
Таблица 3 – состав таблицы «Задачи по заказам»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор задачи
Status
Int(11)
Статус задачи
Created_at
Datetime
Время создания
Order_id
Int(11)
Внешний
Идентификатор заказа
Task_id
Int(11)
Внешний
Идентификатор задачи
User_id
Int(11)
Внешний
Идентификатор
пользователя
Таблица Comments («Комментарии») содержит следующие поля (табл.
4).
Таблица 4 – Состав таблицы «Комментарии»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор
комментария
User_id
Int(11)
Внешний
Идентификатор
пользователя
Order_id
Int(11)
Внешний
Идентификатор заказа
Text
Text
Текст комментация
Created_at
Datetime
Дата создания
Auth_key
Varchar(32)
Идентификационный
ключ пользователя
Role
Int(11)
Роль в системе
Type
Tinyint(4)
Тип пользователя
Status
Int(11)
Статус пользователя
Created_at
Datetime
Дата создания
Updated_at
Datetime
Дата обновления
Таблица Messages («Сообщения») содержит следующие поля (табл. 5).
90
Таблица 5 – Состав таблицы «Сообщения»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор
сообщения
From_user_id
Int(11)
Внешний
Отправитель
To_user_id
Int(11)
Внешний
Получатель
Text
Text
Текст сообщения
Is_read
Tyniint(4)
Признак прочтения
Created_at
Datetime
Дата создания
Таблица Attachments («Вложения») содержит следующие поля (табл. 6).
Таблица 6 – Состав таблицы «Вложения»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор вложения
User_id
Int(11)
Внешний
Идентификатор
пользователя
Filename
Varchar(255)
Название файла
Status
Int(11)
Статус вложения
Created_at
Datetime
Дата создания
Таблица Orders_attachments («Вложения к заказам») содержит
следующие поля (табл. 7).
Таблица 7 – Состав таблицы «Вложения к заказам»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор вложения
Order_id
Int(11)
Внешний
Идентификатор заказа
Status
Int(11)
Статус вложения
Created_at
Datetime
Дата создания
91
Таблица Orders_users («Соответствие заказов») содержит следующие
поля (табл. 8).
Таблица 8 – Состав таблицы «Соответствие заказов»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор
User_id
Int(11)
Внешний
Идентификатор
пользователя
Order_id
Int(11)
Внешний
Идентификатор заказа
Status
Tinyint(4)
Статус
Created_at
Datetime
Дата создания
Таблица Tasks («Задачи») содержит следующие поля (табл. 9).
Таблица 9 – Состав таблицы «Задачи»
Название
Тип данных
Ключ
Описание
Id
Int(10)
Первичный
Идентификатор задачи
User_id
Int(11)
Внешний
Идентификатор
пользователя
Title
Varchar(255)
Заголовок
Description
Text
Описание
Inage
Varchar(255)
Ссылка на картинку
Status
Int(11)
Статус задачи
Created_at
Datetime
Дата создания
Completion_time
Datetime
Дата завершения
92
2.3.3. Структурная схема пакета (дерево вызова программных
модулей)
Сайт содержит следующие папки, в которых расположены
соответствующие части системы.
config – в этой папке находятся настройки приложения и базы данных.
controllers – здесь находятся контроллеры, то есть различные
управлющие модули, ответственные, в основном, за связь с базой данных.
models – непосредственно модели сайта, то есть исходные коды
модулей, ответственные за работу сайта.
views – визуальные отображения сайта, то есть различные модули,
которые обеспечивают вывод данных.
web - общедоступная папка в интернете (css, js, images файлы;
index.php – точка входа прилоения).
vendor- сторонние библиотеки.
Основные рабочие файлы сайта находятся в папке views. В ней
находится несколько взаимосвязанных друг с другом папок.
Ниже показана схема взаимодействия программных модулей сайта.
93
Рисунок 12. Схема взаимодействия программных модулей
2.3.4. Описание программных модулей
В качестве примера приведем исходный код одного из модулей
(Dashboard).
<?php
namespace app\models;
use Yii;
use yii\base\Model;
use app\models\User;
94
class RegisterForm extends Model
{
public $name;
public $email;
public $password;
/**
* @return array the validation rules.
*/
public function rules()
{
return [
[['name', 'email', 'password'], 'required'],
[['email'], 'email'],
[['email'], 'unique', 'targetClass' => 'app\models\User', 'message' =>
'This email address has already been taken.'],
['email', 'trim'],
['email', 'string', 'max' => 150],
['name', 'trim'],
['password', 'string', 'min' => 6, 'max' => 255],
];
}
Как видно из кода – Yii предоставляет пользователю большую свободу
работы с базой данных, избавляя от необходимости писать множество кода.
В данном модуле просто перечисляются поля с требованиями к ним, а
также настройки этих полей, например такие как сообщение в случае ввода
неверных данных. Фреймворк сам обрабатывает эти данные и получает
нужные данные из полей, которые обозначены в директории views.
95
2.4. Контрольный пример реализации проекта и его описание
После входа в администраторскую часть администратор обладает
расширенными полномочиями. То есть его список доступных операций
включает те же операции, что и у рядового пользователя, но доступно еще
несколько дополнительных опций.
В частности – у каждого сотрудника есть свой календарь задач.
Выглядит он следующим образом (рис. 13):
Рисунок 13. Задачи
В календаре доступна разбивка по неделям, дням, месяцам.
Для того, чтобы создать новую задачу – необходимо нажать на любой
день в списке.
На экране появится окно создания задачи (рис. 14).

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

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