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

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

uml diagram

# Робітник

uml diagram

# Тімлід

uml diagram

# Адміністратор системи

uml diagram

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

ID UserSignIn
Назва: Зареєструвати користувача (Sign In)
Учасники: Користувач (тімлід, або розробник), система
Передумови: - Користувач не має облікового запису в системі
Результат: Створений обліковий запис користувача
Виключні ситуації: Користувач не заповнив усі обов'язкові поля форми для реєстрації NullReferenceException
Обліковий запис вже існує у системі UserAlreadyExistsException
Користувач увів пароль, який не відповідає всім вимогам "надійного паролю" (A-Z, a-z, 0-9, !-*, мінімум 8 символів) NotStrongPasswordException
uml diagram
ID UserGitHubSignIn
Назва: Зареєструвати користувача (Sign In) за допомогою GitHubApi
Учасники: Користувач (тімлід, або розробник), система
Передумови: - Користувач не має облікового запису в системі
Результат: Створений обліковий запис користувача (через інформацію, отриману з GitHub профілю користувача)
Виключні ситуації: Користувач не має облікового запису GitHub (У даному випадку помилки обробляються самим GitHubApi)
Обліковий запис (створений за допомогою GitHubApi) вже існує в системі UserAlreadyExistsException
uml diagram
ID UserLogIn
Назва: Авторизувати користувача (Log In)
Учасники: Користувач (тімлід, або робітник), система
Передумови: - Користувач зареєстрований у системі
- Користувач не авторизований у системі
Результат: Новий сеанс роботи користувача
Виключні ситуації: У формі авторизації не заповнені одне, або більше полів NullReferenceException
Користувач не зареєстрований у системі NullInstanceException
Користувач ввів неправильний пароль WrongPasswordException
uml diagram
ID UserGitHubLogIn
Назва: Авторизувати користувача (Log In) за допомогою GitHubApi
Учасники: Користувач (тімлід, або робітник), система
Передумови: - Користувач зареєстрований у системі (за допомогою GitHubApi)
- Користувач не авторизований у системі
Результат: Новий сеанс роботи користувача
Виключні ситуації: Користувач не зареєстрований у системі NullInstanceException
Облікового запису GitHub не існує (У даному випадку помилки обробляються самим GitHubApi)
uml diagram
ID EditUser
Назва: Редагувати дані користувача
Учасники: Користувач (адміністратор системи, тімлід, або робітник), система
Передумови: - Користувач зареєстрований у системі з даними, введеним при реєстрації (що б змінити дані користувача, який реєструвався за допомогою GitHubApi, йому потрібно змінити ці дані у самому GitHub)
- Користувач бажає змінити дані облікового запису
- Користувач авторизований у системі
Результат: Користувач має відредагований профіль
Виключні ситуації: Користувач змінив пароль на інший, який не відповідає всім вимогам "надійного паролю" (A-Z, a-z, 0-9, !-*, мінімум 8 символів) NotStrongPasswordException
Користувач змінив дані у будь-якому полі на пусті (null) NullReferenceException
uml diagram
ID CreateTask
Назва: Створити завдання
Учасники: Користувач (тімлід, або робітник), система
Передумови: - Користувач авторизований
- Користувач обрав проект
Результат: Завдання створене
Виключні ситуації: У формі створення завдання не заповнені обов'язкові поля NoEssentialDataException
uml diagram
ID EditTask
Назва: Редагувати завдання
Учасники: Користувач (тімлід, або робітник), система
Передумови: - Користувач авторизований
- Користувач обрав завдання
Результат: Завдання відредаговане
Виключні ситуації: У формі редагування завдання не заповнені обов'язкові поля NoEssentialDataException
Під час редагування, завдання було видалено TaskNotExistException
uml diagram
ID DeleteTask
Назва: Видалити завдання
Учасники: Користувач (тімлід, або робітник), система
Передумови: - Користувач авторизований
- Користувач обрав завдання
Результат: Завдання видалене
Виключні ситуації: Користувач натиснув кнопку "Скасувати" CancelException
Користувач не має прав на видалення цього завдання AccessDeniedException
uml diagram
ID FilterTask
Назва: Відфільтрувати завдання
Учасники: Користувач (тімлід, або робітник), система
Передумови: - Користувач авторизований
- Користувач обрав проєкт
Результат: Відфільтровані завдання
Виключні ситуації: У проєкті нема жодних завдань NoTasksException
uml diagram
ID CommentTask
Назва: Коментувати завдання
Учасники: Користувач (тімлід, або робітник), система
Передумови: - Користувач авторизований
- Користувач обрав проект
- Користувач обрав завдання
Результат: Коментар до завдання
Виключні ситуації: Під час написання коментарію завдання було видалене TaskNoExistException
Користувач скасував операцію CancelCommentException
uml diagram
ID CreateProject
Назва: Створити проєкт
Учасники: Користувач (тімлід), система
Передумови: - Користувач авторизований
Результат: Новий проєкт
Виключні ситуації: Проєкт з таким іменем вже створений NotUniqueProjectName
uml diagram
ID DeleteProject
Назва: Видалити проєкт
Учасники: Користувач (тімлід), система
Передумови: - Проєкт не був видалений до цього
Результат: Проєкт є видалений
Виключні ситуації: Користувач не проходить перевірку на підтвердження вибору (Captcha) NotConfirmedActionException
Користувач натиснув кнопку скасувати CancelException
uml diagram
ID AddMember
Назва: Додати робітника до проєкту
Учасники: Користувач (тімлід), система
Передумови: - Користувач авторизований
- Користувач обрав проект
- Користувач має необхідні права доступу до функціоналу системи
Результат: Користувач стає учасником проєкту
Виключні ситуації: Такого користувача не існує UserNotExistException
Користувач вже є учасником проєкту UserAlreadyProjectMemberException
uml diagram
ID DeleteMember
Назва: Видалити робітника з проєкту
Учасники: Користувач (тімлід), система
Передумови: - Користувач авторизований
- Користувач має необхідні права доступу до функціоналу системи
- Існують інші учасники проекту
Результат: Користувач більше не учасник проєкту
Виключні ситуації: Натиснута кнопка "Скасувати" CancelDeleteMemberException
Користувач не є робітником проєкту UserIsNotProjectMemberException
uml diagram
ID CreateSprint
Назва: Створити [Sprint]
Учасники: Користувач (тімлід), система
Передумови: - Користувач авторизований
- Попередній Спрінт вже закінчився
Результат: Спринт створений
Виключні ситуації: Номер/назва Спрінта не є унікальною NotUniqueSpringNameException
Натиснута кнопка "Скасувати" CancelException
uml diagram
ID FinishSprint
Назва: Закінчити [Sprint]
Учасники: Користувач (тімлід), система
Передумови: - Користувач авторизований
- Поточний Спрінт вже наближається до кінця
Результат: Спрінт закінчений
Виключні ситуації: Користувач не проходить перевірку на підтвердження вибору (Captcha) NotConfirmedActionException
Натиснута кнопка "Скасувати" CancelException
uml diagram
ID BanUser
Назва: Блокувати користувача
Учасники: Користувач (адміністратор системи, тімлід, або робітник), система
Передумови: - Користувач порушив угоди використання програмного забезпечення
- Забезпечення безпеки системи
Результат: Блокування користувача
Виключні ситуації: Користувача вже заблоковано UserIsBannedException
Користувача з введеними даними не існує NullInstanceException
uml diagram
ID UnBanUser
Назва: Розблокувати користувача
Учасники: Користувач (адміністратор системи, тімлід, або робітник), система
Передумови: - Користувач заблокований
Результат: Розблокування профілю користувача
Виключні ситуації: Користувача вже розблоковано UserIsUnBannedException
Користувача з введеними даними не існує NullInstanceException
uml diagram
ID UserSupport
Назва: Вирішити проблему користувача
Учасники: Користувач (адміністратор системи, тімлід, або робітник), система
Передумови: - Користувач бажає написати повідомлення до технічної підтримки
Результат: Вирішення проблеми користувача
Виключні ситуації: Користувач не авторизований в системі UserIsNotLoggedInException
uml diagram
Останнє оновлення: 10/12/2023, 9:29:16 PM