# Модель прецедентів
# 1. Діаграма прецедентів
На рис. 1 зображена діаграма прецедентів та їх основні можливості.
Рис. 1 Діаграма прецедентів
Згідно з діаграмою система має 3 типи користувачів: Гість - неавторизований користувач, що має можливість створити обліковий запис або увійти в існуючий. Користувач - авторизований користувач з можливістю управляти медіа-контентом. Технічний експерт - підвищення ролі та видалення облікового запису.
# 2. Схеми використання для Гостя
На рис. 2 зображені усі можливості гостя.
Рис. 2 Схема можливостей гостя
# 3. Схеми використання для Користувача
На рис. 3 зображені усі можливості користувача.
Рис. 3 Схема можливостей користувача
# 4. Схеми використання для Технічного експерта
На рис. 4 зображені усі можливості технічного експерта.
Рис. 4 Схема можливостей технічного експерта
# 5. Сценарії використання для незареєстрованого користувача
# Реєстрація
ID: UserReg
НАЗВА: Реєстрація облікового запису користувача в системі
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач не має облікового запису в системі
РЕЗУЛЬТАТ: Створення нового облікового запису користувача
ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач уже зареєстрований в системі - AlreadyRegisteredException
- Користувач намагається зареєструватися без введення реєстраційних даних - DataMissingException
- Користувач вводить неправильні дані - InvalidDataException
ОСНОВНИЙ СЦЕНАРІЙ :
- Користувач відкриває сторінку реєстрації
- Користувач вводить особисті дані , наприклад, ім'я, прізвище, адресу електронної пошти, пароль
- Система перевіряє наявність користувача з таким ім'ям або адресою електронної пошти
- Система створює обліковий запис з даними користувача
- Система повідомляє користувача про успішне створення його нового облікового запису
Рис. 5.1 Сценарій реєстрації користувача
# Авторизація
ID: UserAuth
НАЗВА: Увійти до облікового запису зареєстрованого користувача
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач уже зареєствораний в системі
РЕЗУЛЬТАТ: Вхід користувача до облікового запису
ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач ввів некоректні дані - DataNotFoundException
- Користувач не є зареєстрованим - NotRegisteredException
- Користувач робить забагато спроб входу - TooManyActionsException
ОСНОВНИЙ СЦЕНАРІЙ :
- Користувач відкриває сторінку входу
- Користувач вводить дані для авторизації облікового запису
- Система перевіряє наявність користувацького облікового запису
- Система перевіряє правильність введених авторизаційних даних
- Система дозволяє користувачу отримати доступ до свого облікового запису
Рис. 5.2 Сценарій авторизації користувача
# 6. Сценарії використання для технічного експерта
# Видалення користувача
ID: UserDelete
НАЗВА: Видалення облікового запису користувача
УЧАСНИКИ: Технічний експерт, Користувач, Система
ПЕРЕДУМОВИ: Користувач має активний обліковий запис та права на видалення
РЕЗУЛЬТАТ: Видалення облікового запису користувача із системи
ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач не має прав на видалення облікового запису - PermissionDeniedException
- Користувач не є зареєстрованим - NotRegisteredException
ОСНОВНИЙ СЦЕНАРІЙ :
- Технічний експерт обирає користувача для видалення зі списку
- Система перевіряє права для видалення облікового запису
- Система перевіряє наявність облікового запису користувача
- Система видаляє обліковий запис та забороняє доступ користувача
- Система повідомляє про успішне видалення користувача
Рис. 6.1 Сценарій видалення користувача
# Підвищення прав користувача
ID: UserRolePromote
НАЗВА: Підвищення ролі користувача
УЧАСНИКИ: Технічний експерт, Користувач, Система
ПЕРЕДУМОВИ: Технічний експерт має права на зміну ролей користувачів. Користувач має активний обліковий запис
РЕЗУЛЬТАТ: Зміна ролі користувача для створення, редагування, оновлення медіа-контенту
ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач не є технічним експертом - RoleNotEnoughRightsException
- Користувач вже має найвищу доступну роль - RoleAlreadyHighestException
- Користувач не є зареєстрованим - NotRegisteredException
ОСНОВНИЙ СЦЕНАРІЙ :
- Технічний експерт обирає користувача для півищення ролі
- Технічний експерт обирає роль для обраного користувача
- Система перевіряє права технічного експерта
- Система змінює роль користувача на вказану
- Система повідомляє про успішне підвищення ролі користувача
Рис. 6.2 Сценарій підвищення ролі користувача
# 7. Сценарії використання для зареєстрованого користувача
# Пошук медіа-контенту користувачем
ID: MediaFind
НАЗВА: Пошук медіа-контенту користувачем
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач має активний обліковий запис у системі
РЕЗУЛЬТАТ: Подання користувачу результатів повного аналізу шуканого медіа-контенту
ВИКЛЮЧНІ СИТУАЦІЇ:
- Інформація, відповідно до запиту, не знайдена - InformationNotFoundException
- Користувач ввів некоректні параметри пошуку - InvalidSearchRequestException
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач налаштовує фільтри та надсилає запит на пошук медіа-контенту
- Система здійснює пошук у базах даних відповідно до налаштованих фільтрів і введеного користувачем запиту
- Система аналізує знайдений медіа-контент
- Система формує результати, враховуючи проведений аналіз
- Система виводить знайдений медіа-контент користувачеві
Рис. 7.1 Сценарій пошуку медіа-контенту користувачем
# Створення нового медіа-контенту в системі
ID: MediaCreate
НАЗВА: Створення нового медіа-контенту в системі
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач має активний обліковий запис та права на створення контенту
РЕЗУЛЬТАТ: Створення нового медіа-контенту та збереження його в системі
ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач не має прав на створення медіа-контенту - PermissionDeniedException
- Медіа-контент з таким ідентифікатором уже існує - ContentIdExistsException
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач обирає опцію для створення нового медіа-контенту
- Система надає користувачу інтерфейс для створення контенту
- Користувач створює медіа-контент, додаючи необхідні дані і файли
- Система перевіряє коректність даних
- Система зберігає новий медіа-контент у базі даних
- Система повідомляє користувача про успішне створення контенту
Рис. 7.2 Сценарій cтворення нового медіа-контенту в системі
# Редагування медіа-контенту
ID: MediaEdit
НАЗВА: Редагування поточної інформації про медіа-контент у системі
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований у системі та має права на редагування контенту
РЕЗУЛЬТАТ: Зміна інформації про вказаний медіа-контент у системі
ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач не має прав на редагування поточного медіа-контенту - PermissionDeniedException
- Неправильна інформація про медіа-контент - InvalidContentDataException
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач обирає медіа-контент для редагування
- Користувач редагує інформацію про медіа-контент
- Система перевіряє наявність прав у користувача
- Система перевіряє наявність контенту
- Система оновлює інформацію в базі даних
- Система підтверджує редагування та оновлює дані контенту
Рис. 7.3 Сценарій редагування медіа-контенту
# Додавання відгуку на медіа-контент у системі
ID: MediaAddFeedback
НАЗВА: Додавання відгуку на медіа-контент у системі
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований у системі
РЕЗУЛЬТАТ: Додавання нового відгуку до вказаного медіа-контенту
ВИКЛЮЧНІ СИТУАЦІЇ:
- Медіа-контенту з таким ідентифікатором немає - InvalidContentIdException
- Текст повинен бути в діапазоні від 4 до 4 тисяч символів - InvalidCommentException
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач обирає медіа-контент для додавання відгуку
- Користувач вводить текст відгуку та оцінку
- Система перевіряє валідність тексту відгуку
- Система додає новий відгук до бази даних
- Система оновлює інформацію в базі даних
- Система підтверджує додавання відгуку та оновлює дані контенту
Рис. 7.4 Сценарій додавання відгуку на медіа-контент у системі
# Видалення наявного медіа-контенту із системи
ID: MediaDelete
НАЗВА: Видалення наявного медіа-контенту із системи
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований у системі та має права на видалення контенту
РЕЗУЛЬТАТ: Видалення вказаного медіа-контенту із системи
ВИКЛЮЧНІ СИТУАЦІЇ:
- Користувач не має прав на видалення медіа-контенту - PermissionDeniedException
- Медіа-контенту з таким ідентифікатором немає - InvalidContentldException
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач обирає медіа-контент для видалення
- Система перевіряє наявність прав у користувача
- Система перевіряє наявність медіа-контенту
- Система видаляє вказаний медіа-контент з бази даних
- Система підтверджує видалення користувачу та оновлює список контенту
Рис. 3.3 Сценарій видалення медіа-контенту із системи