Модель прецедентів
Загальна схема
Користувач
Керівник проєкту
Адміністратор
Сценарії використання
ID | CreateUser |
Назва | Створити користувача |
Учасники | Користувач, система |
Передумови | Система не зареєструвала користувача |
Результат | Система створює обліковий запис користувача |
Виключні ситуації | - Користувач не ввів ім'я користувача (NullUsernameException)
- Користувач не ввів пошту (NullEmailException)
- Користувач не ввів пароль (NullPasswordException)
- Користувач з таким ім'ям вже існує (UserAlreadyExistsException)
- Користувач вказав неправильний формат пошти (WrongEmailFormatException)
- Користувач ввів недостатньо сильний пароль (менше 8 символів, не містить букв і цифр) (WeakPasswordException)
|
Основний сценарій | - Користувач натискає на кнопку "Зареєструватись"
- Користувач заповнює поля реєстрації (ім'я користувача, пошта, пароль)
- Користувач натискає на кнопку "Створити"
- Система перевіряє введені поля на валідність
- Система створює обліковий запис користувача
- Користувач автоматично входить в систему
|
---|
ID | AuthorizeUser |
Назва | Авторизувати користувача |
Учасники | Користувач, система |
Передумови | Система зареєструвала користувача |
Результат | Система авторизувала користувача |
Виключні ситуації | - Користувач ввів неправильний пароль (InvalidPasswordException)
- Користувач ввів неправильне ім'я користувача (InvalidUsernameException)
- Система заблокувала користувача (UserBannedException)
|
Основний сценарій | - Користувач вводить ім'я користувача і пароль.
- Система перевіряє введені дані (можливе InvalidPasswordException або InvalidUsernameException)
- Система перевіряє статус користувача (можливе UserBannedException)
- Користувач успішно входить у систему
|
---|
ID | EditUser |
Назва | Редагувати користувача |
Учасники | Користувач, адміністратор, система |
Передумови | Система авторизувала користувача або адміністратора |
Результат | Система змінила дані користувача |
Виключні ситуації | - Система не знайшла користувача (UserNotFoundException)
- Користувач має недостатньо прав для редагування (InsufficientPermissionsException)
- Користувач ввів дані у неправильному форматі (InvalidDataFormatException)
|
Основний сценарій | - Адміністратор або користувач відкриває профіль користувача.
- Користувач або адміністратор змінює потрібні поля.
- Система перевіряє права (можливе InsufficientPermissionsException).
- Система перевіряє введені дані на правильність (можливе InvalidDataFormatException).
- Система зберігає оновлені дані користувача.
|
---|
ID | DeleteUser |
Назва | Видалити користувача |
Учасники | Адміністратор, система |
Передумови | Система авторизувала адміністратора |
Результат | Система видаляє користувача |
Виключні ситуації | - Система не знайшла користувача (UserNotFoundException)
- Користувач має недостатньо прав для видалення (InsufficientPermissionsException)
|
Основний сценарій | - Адміністратор вибирає користувача для видалення.
- Адміністратор натискає кнопку "Видалити користувача".
- Система перевіряє права адміністратора (можливе InsufficientPermissionsException).
- Система видаляє користувача (можливе UserNotFoundException).
|
---|
ID | CreateTask |
Назва | Створити задачу |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на редагування проєкту
|
Результат | Система створює задачу |
Виключні ситуації | - Користувач не ввів назву задачі (NullTaskNameException)
- Користувач ввів назву задачі у неправильному форматі (InvalidTaskNameException)
- Користувач має недостатньо прав для створення задачі (AccessDeniedException)
|
---|
ID | EditTask |
Назва | Редагувати задачу |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на редагування задачі
|
Результат | Система змінює дані задачі |
Виключні ситуації | - Система не знайшла задачу (TaskNotFoundException)
- Користувач має недостатньо прав для редагування (AccessDeniedException)
|
---|
ID | DeleteTask |
Назва | Видалити задачу |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на видалення задачі
|
Результат | Система видаляє задачу |
Виключні ситуації | - Система не знайшла задачу (TaskNotFoundException)
- Користувач має недостатньо прав для видалення (AccessDeniedException)
|
---|
ID | SortTasks |
Назва | Відсортувати задачі |
Учасники | Користувач, система |
Передумови | - Система авторизувала користувача
- Користувач є учасником проєкту
|
Результат | Система відсортовує список задач |
Виключні ситуації | - Система не знайшла задачі (TasksNotFoundException)
- Користувач не є учасником проєкту (UserNotProjectMemberException)
|
---|
ID | WriteToSupport |
Назва | Написати в службу підтримки |
Учасники | Користувач, система |
Передумови | Система авторизувала користувача |
Результат | Система відправила повідомлення до служби підтримки |
Виключні ситуації | Користувач не ввів текст повідомлення (NullInstanceException) |
Основний сценарій | - Користувач відкриває форму для зв'язку зі службою підтримки.
- Користувач вводить текст повідомлення.
- Система перевіряє введені дані (можливе NullInstanceException).
- Система відправляє повідомлення до служби підтримки.
- Користувач отримує підтвердження про відправлення повідомлення.
|
---|
ID | CreateProject |
Назва | Створити проект |
Учасники | Користувач, система |
Передумови | Користувач авторизований |
Результат | Система створює новий проект |
Виключні ситуації | - Користувач не ввів назву проекту (NullProjectNameException)
- Користувач ввів неправильний формат назви (InvalidProjectNameException)
|
Основний сценарій | - Користувач натискає "Створити проект".
- Користувач заповнює необхідні поля для створення проекту.
- Користувач натискає кнопку "Створити".
- Система перевіряє дані.
- Система створює новий проект.
|
---|
ID | EditProject |
Назва | Редагувати проект |
Учасники | Користувач, система |
Передумови | Користувач є учасником проекту |
Результат | Проект успішно змінений |
Виключні ситуації | - Користувач не має прав на редагування проекту (InsufficientPermissionsException)
- Невірний формат даних (InvalidDataFormatException)
|
Основний сценарій | - Користувач відкриває проект для редагування.
- Користувач змінює потрібні поля.
- Користувач натискає "Зберегти".
- Система перевіряє права доступу.
- Система зберігає зміни.
|
---|
ID | DeleteProject |
Назва | Видалити проект |
Учасники | Користувач, система |
Передумови | Користувач має права на видалення проекту |
Результат | Система видаляє проект |
Виключні ситуації | - Користувач не має прав на видалення проекту (InsufficientPermissionsException)
- Проект не знайдено (ProjectNotFoundException)
|
Основний сценарій | - Користувач відкриває проект для видалення.
- Користувач натискає "Видалити".
- Система перевіряє права користувача.
- Система видаляє проект.
|
---|
ID | AddMemberToProject |
Назва | Додати учасника до проекту |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на редагування проекту
|
Результат | Система додає учасника до проєкту |
Виключні ситуації | - Система не знайшла користувача (UserNotFoundException)
- Система не знайшла проєкт (ProjectNotFoundException)
- Користувач має недостатньо прав для додавання учасника (AccessDeniedException)
|
Основний сценарій | - Користувач відкриває проект.
- Користувач натискає кнопку "Додати учасника".
- Користувач вводить дані нового учасника.
- Система перевіряє права на додавання учасника.
- Система додає учасника до проекту.
|
---|
ID | RemoveMemberFromProject |
Назва | Видалити учасника з проекту |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на додавання учасників до проєкту
|
Результат | Система видаляє учасника з проєкту |
Виключні ситуації | - Система не знайшла учасника (MemberNotFoundException)
- Система не знайшла проєкт (ProjectNotFoundException)
- Користувач має недостатньо прав для видалення учасника (AccessDeniedException)
|
Основний сценарій | - Користувач відкриває проект.
- Користувач вибирає учасника для видалення.
- Користувач натискає кнопку "Видалити".
- Система перевіряє права на видалення.
- Система видаляє учасника з проекту.
|
---|
ID | CreateBoard |
Назва | Створити дошку |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на створення дошки
|
Результат | Система створює дошку |
Виключні ситуації | - Користувач не ввів назву дошки (NullInstanceException)
- Користувач ввів недопустиму назву дошки (InvalidBoardNameException)
|
Основний сценарій | - Користувач натискає кнопку "Створити дошку".
- Користувач вводить назву дошки (можливе NullInstanceException).
- Система перевіряє введені дані (можливе InvalidBoardNameException).
- Система створює нову дошку.
- Користувач отримує доступ до дошки.
|
---|
ID | EditBoard |
Назва | Редагувати дошку |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на редагування дошки
|
Результат | Система оновила дані дошки |
Виключні ситуації | - Система не знайшла дошку (BoardNotFoundException)
- Користувач має недостатньо прав для редагування (AccessDeniedException)
|
Основний сценарій | - Користувач відкриває дошку.
- Користувач натискає кнопку "Редагувати".
- Користувач вносить зміни.
- Система перевіряє права на редагування (можливе AccessDeniedException).
- Система зберігає зміни.
|
---|
ID | DeleteBoard |
Назва | Видалити дошку (Delete Board) |
Учасники | Користувач (керівник проєкту), адміністратор, система |
Передумови | - Система авторизувала користувача
- Користувач має права на видалення дошки
|
Результат | Система видаляє дошку |
Виключні ситуації | - Система не знайшла дошку (BoardNotFoundException)
- Користувач має недостатньо прав для видалення (AccessDeniedException)
|
Основний сценарій | - Користувач відкриває дошку.
- Користувач натискає кнопку "Видалити".
- Система перевіряє права на видалення (можливе AccessDeniedException).
- Система видаляє дошку.
- Користувач отримує підтвердження про успішне видалення.
|
---|
ID | BanUser |
Назва | Заборонити користувача |
Учасники | Адміністратор, користувач, система |
Передумови | - Система авторизувала адміністратора
- Система не заборонила користувача
|
Результат | Система забороняє доступ користувачу |
Виключні ситуації | - Система не знайшла користувача (UserNotFoundException)
- Адміністратор має недостатньо прав для заборони (InsufficientPermissionsException)
- Система вже заборонила користувача (UserBannedException)
|
Основний сценарій | - Адміністратор вибирає користувача зі списку.
- Адміністратор натискає кнопку "Заборонити користувача".
- Система перевіряє права адміністратора (можливе InsufficientPermissionsException).
- Система перевіряє користувача на заборону (можливе UserBannedException).
- Система забороняє користувача (можливе UserNotFoundException).
- Користувач отримує повідомлення про заборону.
|
---|
ID | UnbanUser |
Назва | Дозволити користувача |
Учасники | Адміністратор, користувач, система |
Передумови | - Система авторизувала користувача
- Система заборонила доступ користувачу
|
Результат | Система дозволяє доступ користувачу |
Виключні ситуації | - Система не знайшла користувача (UserNotFoundException)
- Адміністратор має недостатньо прав для дозволення (InsufficientPermissionsException)
- Система не заборонила доступ користувачу (UserNotBannedException)
|
Основний сценарій | - Адміністратор вибирає забороненого користувача зі списку.
- Адміністратор натискає кнопку "Дозволити користувача".
- Система перевіряє права адміністратора (можливе InsufficientPermissionsException).
- Система перевіряє користувача на заборону (можливе UserNotBannedException).
- Система дозволяє користувача.
- Користувач отримує повідомлення про дозвіл.
|
---|
ID | SupportAnswer |
Назва | Відповісти у технічній підтримці |
Учасники | Адміністратор, користувач, система |
Передумови | Система авторизувала адміністратора |
Результат | Система відправляє відповідь користувачу |
Виключні ситуації | - Адміністратор не ввів текст відповіді (NullAnswerException)
- Користувача не знайдено (UserNotFoundException)
|
Основний сценарій | - Адміністратор відкриває питання користувача у службі підтримки.
- Адміністратор вводить текст відповіді.
- Система перевіряє введені дані (можливе NullAnswerException).
- Система відправляє відповідь користувачу (можливе UserNotFoundException).
- Користувач отримує повідомлення з відповіддю.
|
---|
