Skip to content

Модель прецедентів 🗂️

📋 Загальна схема

uml diagram

🧑‍💻 Користувач

uml diagram

🛠️ Адміністратор

uml diagram

📊 Керівник

uml diagram

Сценарії використання 💡

👤 CreateUser

uml diagram
IDCreateUser
НАЗВАСтворити користувача
УЧАСНИКИКористувач, система
ПЕРЕДУМОВИСистема не зареєструвала користувача
РЕЗУЛЬТАТСистема створює обліковий запис користувача
ВИКЛЮЧНІ СИТУАЦІЇ- Користувач не ввів ім'я користувача (NullUsernameException)
- Користувач не ввів пошту (NullEmailException)
- Користувач не ввів пароль (NullPasswordException)
- Користувач з таким ім'ям вже існує (UserAlreadyExistsException)
- Користувач вказав неправильний формат пошти (WrongEmailFormatException)
- Користувач ввів недостатньо сильний пароль (WeakPasswordException)
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач натискає на кнопку "Зареєструватись".
2. Користувач заповнює поля реєстрації (ім'я користувача, пошта, пароль).
3. Користувач натискає на кнопку "Створити".
4. Система перевіряє введені поля на валідність.
5. Система створює обліковий запис користувача.
6. Користувач автоматично входить у систему.

👤 AuthorizeUser

uml diagram
IDAuthorizeUser
НАЗВААвторизувати користувача
УЧАСНИКИКористувач, система
ПЕРЕДУМОВИСистема зареєструвала користувача
РЕЗУЛЬТАТСистема авторизувала користувача
ВИКЛЮЧНІ СИТУАЦІЇ- Користувач ввів неправильний пароль (InvalidPasswordException)
- Користувач ввів неправильне ім'я користувача (InvalidUsernameException)
- Система заблокувала користувача (UserBannedException)
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач вводить ім'я користувача і пароль.
2. Система перевіряє введені дані (InvalidPasswordException або InvalidUsernameException).
3. Система перевіряє статус користувача (UserBannedException).
4. Користувач успішно входить у систему.

👤 EditUser

uml diagram
IDEditUser
НАЗВАРедагувати користувача
УЧАСНИКИКористувач, адміністратор, система
ПЕРЕДУМОВИСистема авторизувала користувача або адміністратора
РЕЗУЛЬТАТСистема змінила дані користувача
ВИКЛЮЧНІ СИТУАЦІЇ- Система не знайшла користувача (UserNotFoundException)
- Користувач має недостатньо прав для редагування (InsufficientPermissionsException)
- Користувач ввів дані у неправильному форматі (InvalidDataFormatException)
ОСНОВНИЙ СЦЕНАРІЙ1. Адміністратор або користувач відкриває профіль користувача.
2. Користувач або адміністратор змінює потрібні поля.
3. Система перевіряє права (InsufficientPermissionsException).
4. Система перевіряє введені дані на правильність (InvalidDataFormatException).
5. Система зберігає оновлені дані користувача.

👤 DeleteUser

uml diagram
IDDeleteUser
НАЗВАВидалити користувача
УЧАСНИКИАдміністратор, система
ПЕРЕДУМОВИСистема авторизувала адміністратора
РЕЗУЛЬТАТСистема видаляє користувача
ВИКЛЮЧНІ СИТУАЦІЇ- Система не знайшла користувача (UserNotFoundException)
- Користувач має недостатньо прав для видалення (InsufficientPermissionsException)
ОСНОВНИЙ СЦЕНАРІЙ1. Адміністратор вибирає користувача для видалення.
2. Адміністратор натискає кнопку "Видалити користувача".
3. Система перевіряє права адміністратора (InsufficientPermissionsException).
4. Система видаляє користувача (UserNotFoundException).

📂 CreateProject

uml diagram
IDCreateProject
НАЗВАСтворити проект
УЧАСНИКИКористувач, система
ПЕРЕДУМОВИСистема авторизувала користувача
РЕЗУЛЬТАТСистема створює проєкт та надає права керівника проєкту користувачу
ВИКЛЮЧНІ СИТУАЦІЇ- Користувач не ввів назву проєкту (NullProjectNameException)
- Користувач ввів назву проєкту у неправильному форматі (InvalidProjectNameException)
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач натискає кнопку "Створити проект".
2. Користувач заповнює форму (назва проекту).
3. Система перевіряє дані на валідність.
4. Система створює новий проект.
5. Система надає права керівника проєкту користувачу.
6. Користувач отримує підтвердження про створення проекту.

📂 EditProject

uml diagram
IDEditProject
НАЗВАРедагувати проект
УЧАСНИКИКористувач (керівник проєкту), адміністратор, система
ПЕРЕДУМОВИ- Система авторизувала користувача
- Користувач має права на редагування проекту
РЕЗУЛЬТАТСистема змінює дані проєкту
ВИКЛЮЧНІ СИТУАЦІЇ- Система не знайшла проєкт (ProjectNotFoundException)
- Користувач має недостатньо прав для редагування (AccessDeniedException)
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач відкриває проект.
2. Користувач натискає кнопку "Редагувати".
3. Користувач вносить зміни.
4. Система перевіряє права на редагування.
5. Система зберігає зміни.

📂 DeleteProject

uml diagram
IDDeleteProject
НАЗВАВидалити проект
УЧАСНИКИКористувач (керівник проєкту), адміністратор, система
ПЕРЕДУМОВИ- Система авторизувала користувача
- Користувач має права на видалення проєкту
РЕЗУЛЬТАТСистема видаляє проєкт
ВИКЛЮЧНІ СИТУАЦІЇ- Система не знайшла проєкт (ProjectNotFoundException)
- Користувач має недостатньо прав для видалення (AccessDeniedException)
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач вибирає проект для видалення.
2. Користувач натискає кнопку "Видалити".
3. Система перевіряє права на видалення.
4. Система видаляє проект.

➕ AddUserToProject

uml diagram
IDAddUserToProject
НАЗВАДодати учасника до проекту
УЧАСНИКИКористувач (керівник проєкту), адміністратор, система
ПЕРЕДУМОВИ- Система авторизувала користувача
- Користувач має права на редагування проекту
РЕЗУЛЬТАТСистема додає учасника до проєкту
ВИКЛЮЧНІ СИТУАЦІЇ- Система не знайшла користувача (UserNotFoundException)
- Система не знайшла проєкт (ProjectNotFoundException)
- Користувач має недостатньо прав для додавання учасника (AccessDeniedException)
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач відкриває проект.
2. Користувач натискає кнопку "Додати учасника".
3. Користувач вводить дані нового учасника.
4. Система перевіряє права на додавання учасника.
5. Система додає учасника до проекту.

🗑️ RemoveUserFromProject

uml diagram
IDRemoveUserFromProject
НАЗВАВидалити користувача з проєкту
УЧАСНИКИМенеджер, система
ПЕРЕДУМОВИ- Користувач є учасником проєкту
РЕЗУЛЬТАТВидалений член проєкту
ВИКЛЮЧНІ СИТУАЦІЇ- RemoveUserFromProject_WrongUsername_EXC – менеджер ввів неправильне ім'я користувача
- RemoveUserFromProject_CancelButton_EXC – менеджер натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Менеджер переходить у розділ "Проєкти".
2. Менеджер обирає проєкт і натискає кнопку "Видалити користувача".
3. Система відкриває форму для введення ім'я користувача.
4. Менеджер вводить ім'я користувача (можлива RemoveUserFromProject_WrongUsername_EXC).
5. Менеджер натискає кнопку "Видалити" (можлива RemoveUserFromProject_CancelButton_EXC).
6. Система видаляє користувача з проєкту.
7. Система закриває форму.
8. Система показує повідомлення, що користувач успішно видалений з обраного проєкту.

📝 CreateBoard

uml diagram
IDCreateBoard
НАЗВАСтворити дошку
УЧАСНИКИМенеджер, система
ПЕРЕДУМОВИ- Менеджер авторизований
- Менеджер є членом проєкту
РЕЗУЛЬТАТНова дошка у проєкті
ВИКЛЮЧНІ СИТУАЦІЇ- CreateBoard_NoName_EXC – менеджер не вказав назву дошки
- CreateBoard_ExistingName_EXC – менеджер ввів ім'я дошки, що вже зайнято
- CreateBoard_CancelButton_EXC – менеджер натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Менеджер обирає проєкт і натискає на кнопку "Створити дошку".
2. Система відкриває форму із полями інформації про дошку (можлива CreateBoard_CancelButton_EXC).
3. Менеджер заповнює інформацію про дошку: вказує назву та опис.
4. Менеджер натискає кнопку "Створити".
5. Система перевіряє на валідність інформацію про дошку (можливі CreateBoard_NoName_EXC та CreateBoard_ExistingName_EXC).
6. Система створює нову дошку у проєкті.

📝 DeleteBoard

uml diagram
IDDeleteBoard
НАЗВАВидалити дошку
УЧАСНИКИМенеджер, система
ПЕРЕДУМОВИ- Менеджер має дошку у проєкті
- Система містить інформацію про дошку для видалення
РЕЗУЛЬТАТВидалена дошка
ВИКЛЮЧНІ СИТУАЦІЇ- DeleteBoard_NoRights_EXC – менеджер не має прав на видалення обраної дошки
- DeleteBoard_InvalidName_EXC – менеджер вказав ім'я дошки, що не збігається з реальним
- DeleteBoard_CancelButton_EXC – менеджер натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Менеджер переходить у розділ "Дошки" та обирає потрібну для видалення дошку.
2. Менеджер натискає кнопку "Видалити дошку".
3. Система перевіряє права менеджера на видалення обраної дошки (можлива DeleteBoard_NoRights_EXC).
4. Система відкриває форму підтвердження видалення дошки.
5. Менеджер вводить назву дошки для підтвердження процесу видалення (можлива DeleteBoard_InvalidName_EXC).
6. Менеджер натискає кнопку "Видалити дошку" (можлива DeleteBoard_CancelButton_EXC).
7. Система видаляє дошку з проєкту.

🧩 CreateTask

uml diagram
IDCreateTask
НАЗВАСтворити задачу
УЧАСНИКИКористувач (учасник проєкту), система
ПЕРЕДУМОВИКористувач є учасником проєкту
РЕЗУЛЬТАТСтворена нова задача
ВИКЛЮЧНІ СИТУАЦІЇ- CreateTask_EmptyName_EXC – не вказано назву задачі
- CreateTask_InvalidDate_EXC – некоректна дата дедлайну
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач відкриває дошку.
2. Натискає кнопку "Додати задачу".
3. Вносить назву, опис і дедлайн.
4. Натискає "Створити".
5. Система перевіряє введені дані.
6. Система створює задачу в дошці.

🧩 EditTask

uml diagram
IDEditTask
НАЗВАРедагувати задачу
УЧАСНИКИКористувач, система
ПЕРЕДУМОВИКористувач має доступ до задачі
РЕЗУЛЬТАТЗадача оновлена
ВИКЛЮЧНІ СИТУАЦІЇ- EditTask_NotFound_EXC – задача не знайдена
- EditTask_AccessDenied_EXC – немає прав
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач відкриває задачу.
2. Вносить зміни.
3. Натискає "Зберегти".
4. Система перевіряє доступ і зберігає зміни.

🗑️ DeleteTask

uml diagram
IDDeleteTask
НАЗВАВидалити задачу
УЧАСНИКИКористувач, система
ПЕРЕДУМОВИЗадача існує та належить користувачу або проєкту
РЕЗУЛЬТАТЗадача видалена
ВИКЛЮЧНІ СИТУАЦІЇ- DeleteTask_NotFound_EXC – задача не знайдена
- DeleteTask_NoRights_EXC – немає прав
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач відкриває задачу.
2. Натискає "Видалити".
3. Система перевіряє права.
4. Система видаляє задачу.

👤 AssignUserToTask

uml diagram
IDAssignUserToTask
НАЗВАПризначити користувача до задачі
УЧАСНИКИКористувач, система
ПЕРЕДУМОВИЗадача існує, користувач має права
РЕЗУЛЬТАТКористувач доданий до задачі
ВИКЛЮЧНІ СИТУАЦІЇ- AssignUserToTask_UserNotFound_EXC – користувач не знайдений
- AssignUserToTask_AlreadyAssigned_EXC – вже призначений
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач відкриває задачу.
2. Обирає учасника.
3. Підтверджує призначення.
4. Система додає виконавця до задачі.

💬 CommentTask

uml diagram
IDCommentTask
НАЗВАПрокоментувати задачу
УЧАСНИКИКористувач, система
ПЕРЕДУМОВИЗадача існує
РЕЗУЛЬТАТКоментар додано
ВИКЛЮЧНІ СИТУАЦІЇ- CommentTask_EmptyContent_EXC – пустий коментар
ОСНОВНИЙ СЦЕНАРІЙ1. Користувач відкриває задачу.
2. Відкриває вкладку коментарів.
3. Вводить текст.
4. Надсилає.
5. Система зберігає коментар.

⚠️ Примітка: Усі користувачі, які є учасниками проєкту (тобто мають Member запис), можуть створювати, змінювати та коментувати задачі на дошках цього проєкту.

⛔ BlockProject

uml diagram
IDBlockProject
НАЗВАЗаблокувати проєкт
УЧАСНИКИАдміністратор, система
ПЕРЕДУМОВИ- Адміністратор авторизований
- Система містить дані про проєкт
- Проєкт порушує умови використання системи
РЕЗУЛЬТАТЗаблокований проєкт
ВИКЛЮЧНІ СИТУАЦІЇ- BlockProject_ProjectHasBeenRemoved_EXC – проєкт видалено з системи
- BlockProject_ProjectHasBeenBlocked_EXC – проєкт вже заблоковано
- BlockProject_CancelButton_EXC – адміністратор натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Адміністратор переходить у розділ "Проєкти" та вибирає потрібний для блокування проєкт.
2. Адміністратор натискає кнопку "Заблокувати проєкт".
3. Система відкриває форму із параметрами блокування проєкту.
4. Адміністратор заповнює форму, вказуючи причину та термін дії блокування.
5. Адміністратор натискає кнопку "Підтвердити" (можлива BlockProject_CancelButton_EXC).
6. Система перевіряє валідність обраного адміністратором проєкту (можливі BlockProject_ProjectHasBeenRemoved_EXC, BlockProject_ProjectHasBeenBlocked_EXC).
7. Система здійснює операцію блокування й повідомляє менеджера цього проєкту та адміністратора про заблокований проєкт.

✅ UnblockProject

uml diagram
IDUnblockProject
НАЗВАРозблокувати проєкт
УЧАСНИКИАдміністратор, система
ПЕРЕДУМОВИ- Адміністратор авторизований
- Проєкт заблокований в системі
РЕЗУЛЬТАТРозблокований проєкт
ВИКЛЮЧНІ СИТУАЦІЇ- UnblockProject_ProjectHasBeenRemoved_EXC – проєкт видалено з системи
- UnblockProject_ProjectHasBeenUnblocked_EXC – проєкт вже розблоковано
- UnblockProject_CancelButton_EXC – адміністратор натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Адміністратор переходить у розділ "Заблоковані проєкти" та вибирає потрібний для розблокування проєкт.
2. Адміністратор натискає на кнопку "Розблокувати проєкт".
3. Адміністратор натискає кнопку "Підтвердити" (можлива UnblockProject_CancelButton_EXC).
4. Система перевіряє валідність обраного адміністратором проєкту (можливі UnblockProject_ProjectHasBeenRemoved_EXC, UnblockProject_ProjectHasBeenUnblocked_EXC).
5. Система здійснює операцію розблокування й повідомляє менеджера цього проєкту та адміністратора про успішно розблокований проєкт.

🚫 BanUser

uml diagramuml diagram
IDBanUser
НАЗВАЗаблокувати користувача
УЧАСНИКИАдміністратор, система
ПЕРЕДУМОВИ- Користувач багаторазово неправильно вводить пароль
- Адміністратор виявив підозрілу активність користувача
- Користувач порушує умови використання системи
РЕЗУЛЬТАТЗаблокований користувач
ВИКЛЮЧНІ СИТУАЦІЇ- BanUser_NoMatchingUser_EXC – введені дані не відповідають жодному користувачеві
- BanUser_UserHasBeenRemoved_EXC – користувача видалено з системи
- BanUser_UserHasBeenBanned_EXC – користувача вже заблоковано
- BanUser_CancelButton_EXC – адміністратор натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Адміністратор фіксує підозрілу активність користувача.
2. Адміністратор заповнює спеціальну форму для блокування, вказуючи причину та термін дії блокування.
3. Адміністратор натискає кнопку "Підтвердити" (можлива BanUser_CancelButton_EXC).
4. Система перевіряє валідність введених адміністратором даних (можливі BanUser_NoMatchingUser_EXC, BanUser_UserHasBeenRemoved_EXC, BanUser_UserHasBeenBanned_EXC).
5. Система виконує блокування користувача і повідомляє його про це.

👍 UnbanUser

uml diagramuml diagram
IDUnbanUser
НАЗВАРозблокувати користувача
УЧАСНИКИАдміністратор, система
ПЕРЕДУМОВИ- Користувач заблокований
РЕЗУЛЬТАТРозблокований користувач
ВИКЛЮЧНІ СИТУАЦІЇ- UnbanUser_NoMatchingUser_EXC – введені дані не відповідають жодному користувачеві
- UnbanUser_UserHasBeenRemoved_EXC – користувача видалено з системи
- UnbanUser_UserHasBeenUnbanned_EXC – користувача вже розблоковано
- UnbanUser_CancelButton_EXC – адміністратор натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Адміністратор фіксує потрібного користувача.
2. Адміністратор натискає на кнопку "Розблокувати користувача".
3. Адміністратор натискає кнопку "Підтвердити" (можлива UnbanUser_CancelButton_EXC).
4. Система перевіряє валідність введених адміністратором даних (можливі UnbanUser_NoMatchingUser_EXC, UnbanUser_UserHasBeenRemoved_EXC, UnbanUser_UserHasBeenUnbanned_EXC).
5. Система виконує розблокування користувача і повідомляє його про це.

⚙️ EditSystemSettings

uml diagram
IDEditSystemSettings
НАЗВАРедагувати налаштування системи
УЧАСНИКИАдміністратор, система
ПЕРЕДУМОВИ- Адміністратор авторизований
РЕЗУЛЬТАТНові налаштування системи
ВИКЛЮЧНІ СИТУАЦІЇ- EditSystemSettings_InvalidData_EXC – адміністратор ввів невалідні дані
- EditSystemSettings_CancelButton_EXC – адміністратор натиснув кнопку "Відміна"
ОСНОВНИЙ СЦЕНАРІЙ1. Адміністратор входить в систему.
2. Адміністратор обирає опцію "Редагувати налаштування системи".
3. Система відкриває форму зміни налаштувань системи (можлива EditSystemSettings_CancelButton_EXC).
4. Адміністратор змінює налаштування системи (можлива EditSystemSettings_InvalidData_EXC).
5. Адміністратор натискає кнопку "Зберегти зміни".
6. Система зберігає змінені налаштування.