Анализ предметной области
Магазин организует продажу строительных материалов. Предполагаются четыре роли пользователя: клиент, менеджер, бухгалтер и грузопереводчик. Клиент формирует заказ, если материала нет в наличии можно его заказать . При приобретении материалов покупатель указывает свою фамилию, имя, отчество, свой адрес и телефон. Менеджер принимает заказ. Бухгалтер организовывает доставку товаров, которых нет в наличии. Материалы можно приобрести с возможностью доставки. Грузоперевозчик организовывает доставку материалов до адресата. Если покупатель оформил доставку, нанимается транспорт для доставки материалов. Оплату можно произвести как налично так и без налично.
UML - диаграммы
Диаграмма прецедентов
Диаграмма состояний
Диаграмма деятельности
Сертификация вариантов использования (Прецедентов).
|
|
Прецедент |
Формирование заказа |
Идентификатор |
ID 1 |
Краткое описание |
Клиент формирует заказ |
Главные акторы |
Клиент |
Второстепенные акторы |
Менеджер, Грузоперевозчик |
Предусловия |
нет |
Основной поток |
1. Прецедент начинается, когда Клиент формирует заказ 2. Клиент оформил доставку 3. Менеджер принимает заказ |
Альтернативные потоки |
2.1 Клиент указывает свое ФИО, адрес и номер телефона 2.2 При оплате Грузоперевозчик организовывает доставку |
Постусловия |
1. Клиент оформил заказ 2. Покупатель отказался от покупки |
|
|
Прецедент |
Проверка на наличие материала |
Идентификатор |
ID 2 |
Краткое описание |
Клиент оформил заказ которого нет в наличии |
Главные акторы |
Менеджер |
Второстепенные акторы |
Бухгалтер |
Предусловия |
Клиент оформил заказ |
Основной поток |
Прецедент начинается, когда Менеджер принимает заказ |
Альтернативные потоки |
Бухгалтер заказывает недостающие материалы у поставщика |
Постусловия |
Все материалы заказа в наличии |
|
|
Прецедент |
Оплата |
Идентификатор |
ID 3 |
Краткое описание |
Клиент оплачивает заказ |
Главные акторы |
Клиент |
Второстепенные акторы |
нет |
Предусловия |
Все материалы заказа в наличии |
Основной поток |
1. Прецедент начинается, когда Клиент оплачивает заказ 2. Клиент оплачивает заказ безналично
|
Альтернативные потоки |
2.1 Вводит данные карты |
Постусловия |
Заказ оплачен |
Словари данных и ER-диаграмма
Словарь данных
Пользователь
Key |
Field Name |
Data Type/Field Size |
Required? |
Notes |
PK |
userId |
INT |
Y |
id пользователя |
|
lastName |
varchar(30) |
Y |
Фамилия пользователя |
|
middleName |
varchar(30) |
Y |
Имя пользователя |
|
patronymic |
varchar(30) |
Y |
Отчество пользователя |
FK |
role |
varchar(20) |
Y |
Ссылка на словарь тнаименований ролей пользователя |
|
login |
varchar(20) |
Y |
Логин пользователя |
|
password |
varchar(10) |
Y |
Пароль пользователя |
Роли
Key |
Field Name |
Data Type/Field Size |
Required? |
Notes |
PK |
roleId |
INT |
Y |
id роли |
|
name |
varchar(20) |
Y |
Наименование роли |
Заказ
Key |
Field Name |
Data Type/Field Size |
Required? |
Notes |
PK |
orderId |
INT |
Y |
id заказа |
|
orderDate |
DATE |
Y |
Дата заказа, в которую клиент должен получить свой заказ |
FK |
orderStatus |
varchar(20) |
Y |
Ссылка на словарь наименований статусов |
FK |
userId |
INT |
Y |
Ссылка на словарь тегов клиентов для выдачи заказа нужному клиенту |
FK |
materialId |
INT |
Y |
Ссылка на словарь тегов материалов для выдачи нужного материала клиенту |
|
|
address |
varchar(50) |
|
|
phoneNumber |
varchar(12) |
|
Номер телефона, который тоже заполнеяется при формлении достваки |
FK |
paymentId |
varchar(12) |
|
Ссылка на словарь тегов оплаты для подтверждения заказа |
Статус
Key |
Field Name |
Data Type/Field Size |
Required? |
Notes |
PK |
statusId |
INT |
Y |
id статуса |
|
name |
varchar(20) |
Y |
Наименование статуса |
Доставка
Key |
Field Name |
Data Type/Field Size |
Required? |
Notes |
PK |
deliveryId |
INT |
Y |
id доставки |
|
deliveryDate |
DATE |
Y |
Дата доставки до адреса клиента |
FK |
orderId |
INT |
Y |
Ссылка на словарь тегов заказов для понимания, тот ли заказ доставляестся |
Материалы
Key |
Field Name |
Data Type/Field Size |
Required? |
Notes |
PK |
materialId |
INT |
Y |
id материала |
|
title |
varchar(50) |
Y |
Наименование материала |
|
price |
INT |
Y |
Цена материала |
|
quantity |
INT |
Y |
Количество материала |
Оплата
Key |
Field Name |
Data Type/Field Size |
Required? |
Notes |
PK |
paymentId |
INT |
Y |
id оплаты |
|
paymentType |
varchar(20) |
Y |
Тип оплаты |
|
paymentAmount |
INT |
Y |
Стоимость оплаты |
FK |
materialId |
INT |
Y |
Ссылка на словарь тегов материалов |
ER-диаграмма