# Модель прецедентів
# Загальна діаграма прецедентів
На рис. 1 зображена загальна діаграма прецедентів та їх основні можливості.
Рис. 1 Загальна діаграма прецедентів
Згідно з діаграмою система має 3 типи користувачів:
- Гість - неавторизований користувач. Має можливість створити обліковий запис або увійти в той, що існує.
- Користувач - авторизований користувач. Має можливість взаємодіяти з системою медіа-контенту.
- Технічний експерт - авторизований користувач з додатковими правами. Має можливість керувати іншими користувачами.
# Діаграма використання для Гостя
На рис. 2 зображені усі можливості гостя.
Рис. 2 Діаграма можливостей гостя
# Діаграма використання для Користувача
На рис. 3 зображені усі можливості користувача.
Рис. 3 Діаграма можливостей користувача
# Діаграма використання для Технічного експерта
На рис. 4 зображені усі можливості технічного експерта.
Рис. 4 Діаграма можливостей технічного експерта
# Сценарії використання для незареєстрованого користувача
# Реєстрація користувача (UserRegister)
ID: UserRegister
НАЗВА: Реєстрація користувача
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ Користувач не зареєстрований у системі
РЕЗУЛЬТАТ: Успішна реєстрація нового облікового запису
# ВИКЛЮЧНІ СИТУАЦІЇ
- Користувач вводить некоректні дані -
InvalidDataException
- Користувач не надав необхідні реєстраційні дані –
DataMissingException
- Користувач вже зареєстрований в системі –
AlreadyRegisteredException
# ОСНОВНИЙ СЦЕНАРІЙ
- Користувач відкриває сторінку реєстрації.
- Користувач надає особисту інформацію (ім'я, прізвище, електронну пошту, пароль).
- Система отримує запит на реєстрацію.
- Система перевіряє надані реєстраційні дані.
- Система перевіряє наявність облікового запису.
- Система створює обліковий запис.
- Система дає сигнал користувачу про успішну реєстрацію.
# Авторизація користувача (UserLogin)
ID: UserLogin
НАЗВА: Авторизація користувача
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ Користувач має обліковий запис у системі
РЕЗУЛЬТАТ: Успішний вхід у систему
# ВИКЛЮЧНІ СИТУАЦІЇ
- Користувач перевищив кількість спроб входу –
TooManyActionsException
- Користувач надав некоректні дані –
DataNotFoundException
- Користувач не зареєстрований –
NotRegisteredException
# ОСНОВНИЙ СЦЕНАРІЙ
- Користувач відкриває сторінку входу.
- Користувач надає облікові дані для входу (електронна пошта та пароль).
- Система отримує запит на авторизацію.
- Система перевіряє правильність введених авторизаційних даних.
- Система перевіряє наявність облікового запису користувача.
- Система надає дозвіл користувачу отримати доступ до свого облікового запису.
- Система дає сигнал користувачу про успішну авторизацію.
# Сценарії використання для технічного експерта
# Підвищення ролі користувача (UserRolePromote)
ID: UserRolePromote
НАЗВА: Підвищення ролі користувача
УЧАСНИКИ: Технічний експерт, Користувач, Система
ПЕРЕДУМОВИ:
- Технічний експерт має право на зміну ролей користувачів
- Користувач має активний обліковий запис
РЕЗУЛЬТАТ: Роль користувача підвищено
# ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач не є технічним експертом –
RoleNotEnoughRightsException
- Користувач не зареєстрований –
NotRegisteredException
- Користувач вже має найвищу доступну роль –
RoleAlreadyHighestException
# ОСНОВНИЙ СЦЕНАРІЙ
- Технічний експерт обирає користувача для підвищення ролі.
- Технічний експерт обирає роль для користувача.
- Система отримує запит на зміну ролі користувача.
- Система перевіряє права технічного експерта.
- Система перевіряє наявність облікового запису користувача.
- Система змінює роль користувача на вказану.
- Система дає сигнал технічному експерту та користувачу про успішне підвищення ролі.
# Видалення користувача (UserDelete)
ID: UserDelete
НАЗВА: Видалення користувача
УЧАСНИКИ: Технічний експерт, Користувач, Система
ПЕРЕДУМОВИ: Користувач має активний обліковий запис та права на видалення
РЕЗУЛЬТАТ: Обліковий запис користувача видалено з системи
# ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач не має прав на видалення –
PermissionDeniedException
- Користувач не зареєстрований –
NotRegisteredException
# ОСНОВНИЙ СЦЕНАРІЙ
- Технічний експерт обирає користувача для видалення.
- Система отримує запит на видалення користувача.
- Система перевіряє права на видалення.
- Система перевіряє наявність облікового запису.
- Система видаляє обліковий запис та забороняє доступ.
- Система дає сигнал технічному експерту та користувачу про успішне видалення.
# Сценарії використання для зареєстрованого користувача
# Створення медіа-контенту (ContentCreate)
ID: ContentCreate
НАЗВА: Створення медіа-контенту
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ Користувач авторизований у системі та має права на створення контенту
РЕЗУЛЬТАТ: Створення нового контенту та збереження його у системі
# ВИКЛЮЧНІ СИТУАЦІЇ
- Користувач не має прав на створення медіа-контенту -
PermissionDeniedException
- Медіа-контент з таким ідентифікатором уже існує -
ContentIdExistsException
- Медіа-контент не проходить валідацію -
InvalidContentDataException
# ОСНОВНИЙ СЦЕНАРІЙ
- Користувач обирає опцію створення медіа-контенту.
- Система надає користувачу інтерфейс для створення контенту.
- Користувач заповнює надані поля.
- Система перевіряє наявність відповідних прав у користувача.
- Система перевіряє наявність контенту.
- Система валідує отримані дані.
- Система зберігає наданий контент.
- Система дає сигнал користувачу про успішне створення.
# Пошук медіа-контенту (ContentSearch)
ID: ContentSearch
НАЗВА: Пошук медіа-контенту
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований у системі
РЕЗУЛЬТАТ: Видача користувачу результатів повного аналізу, відфільтрованого за параметрами, медіа-контенту
# ВИКЛЮЧНІ СИТУАЦІЇ:
- Медіа-контенту з таким ідентифікатором не існує -
InvalidContentIdException
- Введені невалідні параметри пошуку -
InvalidSearchRequestException
# ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач обирає опцію пошуку медіа-контенту.
- Система надає користувачу інтерфейс для пошуку контенту.
- Користувач заповнює надані поля та обирає фільтри.
- Система перевіряє наявність контенту.
- Система валідує отриманий запит.
- Система збирає інформацію за наданими даними.
- Система аналізує та оброблює зібраний контент.
- Система виводить користувачу готовий результат.
# Редагування інформації про медіа-контент (ContentUpdate)
ID: ContentUpdate
НАЗВА: Редагування інформації про медіа-контент
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований у системі та має права на редагування контенту
РЕЗУЛЬТАТ: Оновлення інформації про наявний у системі контент
# ВИКЛЮЧНІ СИТУАЦІЇ:
- Медіа-контенту з таким ідентифікатором не існує -
InvalidContentIdException
- Користувач не має прав на редагування медіа-контенту -
PermissionDeniedException
- Дані до оновлення не проходять валідацію -
InvalidContentDataException
# ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач обирає опцію редагування медіа-контенту.
- Користувач обирає контент до редагування.
- Користувач редагує інформацію про контент.
- Система перевіряє наявність контенту.
- Система перевіряє наявність відповідних прав у користувача.
- Система валідує отриманий запит.
- Система оновлює інформацію про контент.
- Система дає сигнал користувачу про успішне оновлення.
# Видалення медіа-контенту (ContentDelete)
ID: ContentDelete
НАЗВА: Видалення медіа-контенту
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований у системі та має права на видалення контенту
РЕЗУЛЬТАТ: Видалення наявного у системі контенту
# ВИКЛЮЧНІ СИТУАЦІЇ:
- Медіа-контенту з таким ідентифікатором не існує -
InvalidContentIdException
- Користувач не має прав на видалення медіа-контенту -
PermissionDeniedException
# ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач обирає опцію видалення медіа-контенту.
- Користувач обирає контент до видалення.
- Система перевіряє наявність контенту.
- Система перевіряє наявність відповідних прав у користувача.
- Система видаляє контент.
- Система дає сигнал користувачу про успішне видалення.