Даний документ описує запити зацікавлених осіб, характеристику ділових процесів, короткий огляд продукту та його функціональностей.
Метою документа є визначення основних вимог до продуктивності, функціональності та експлуатаційної придатності проекту, а також визначення бізнес-правил, технологічних обмежень, процесів та факторів, які впливають на предмет розробки.
Цей документ відповідає запитам зацікавлених осіб щодо особливостей та фунціоналу системи управління проєктами. Вимоги вказані в документі є основою для розробки цього проекту.
Основні визначення описані у документі аналізу предметної області.
[Розділ містить повний список всіх документів, про які згадується.]
Зміст:
- Характеристика ділових процесів
- Короткий огляд продукту
- Функціональність
- Практичність
- Надійність
- Продуктивність
- Експлуатаційна придатність
У процесі приймають участь наступні учасники:
- Система
- Користувачі системи
Користувачі системи поділяються на наступні ролі, згідно яких вони мають різні права доступу до системи:
- Адміністратор [ADMIN]
- Менеджер [MANAGER]
- Розробник [DEVELOPER]
- Гість [GUEST]
Адміністратор - користувач, який має повні права доступу до системи. Він може створювати, редагувати та видаляти проекти, а також додавати та видаляти користувачів системи.
Менеджер - користувач, який має права доступу до системи тільки для перегляду та редагування проектів, до яких він призначений. Може назначати задачі розробникам та міняти їх статуси.
Розробник - користувач, який має права доступу до системи тільки для перегляду та редагування задач, їх статусів, до яких він призначений.
Гість - неавторизований користувач.
ID | PROJECT.CREATE |
---|---|
Назва: | Створення проекту |
Учасники: | - Користувач(Адміністратор або Менеджер) - Система |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Проект створено |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи PROJECT.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані PROJECT.ERRORS.INVALID_DATA |
Основний сценарій: | 1. Користувач вводить назву проекту та опис 2. Система перевіряє коректність введених даних 3. Система створює проект 4. Користувач отримує повідомлення про успішне створення проекту |
ID | PROJECT.EDIT |
---|---|
Назва: | Редагування проекту |
Учасники: | - Користувач(Адміністратор або Менеджер) - Система |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Проект відредаговано |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи PROJECT.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані PROJECT.ERRORS.INVALID_DATA - Проекту не існує PROJECT.ERRORS.NOT_EXIST |
Основний сценарій: | 1. Користувач вводить назву проекту та опис 2. Система перевіряє коректність введених даних 3. Система відредаговує проект 4. Користувач отримує повідомлення про успішне відредагування проекту |
ID | PROJECT.DELETE |
---|---|
Назва: | Видалення проекту |
Учасники: | - Користувач(Адміністратор або Менеджер) - Система |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Проект видалено |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи PROJECT.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані PROJECT.ERRORS.INVALID_DATA - Проекту не існує PROJECT.ERRORS.NOT_EXIST |
Основний сценарій: | 1. Користувач натискає на "Видалити проект" 2. Система перевіряє коректність введених даних 3. Система видаляє проект 4. Користувач отримує повідомлення про успішне видалення проекту |
ID | PROJECT.ADD_MEMBER |
---|---|
Назва: | Додавання учасника до проекту |
Учасники: | - Користувач(Адміністратор або Менеджер) - Система |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Учасник доданий до проекту |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи PROJECT.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані PROJECT.ERRORS.INVALID_DATA - Проекту не існує PROJECT.ERRORS.NOT_EXIST - Користувача не існує PROJECT.ERRORS.USER_NOT_EXIST |
Основний сценарій: | 1. Користувач вводить username або id учасника 2. Система перевіряє коректність введених даних 3. Система додає учасника до проекту 4. Користувач отримує повідомлення про успішне додавання учасника до проекту |
ID | TASK.CREATE |
---|---|
Назва: | Створення завдання |
Учасники: | - Користувач(Адміністратор або Менеджер) - Система |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Завдання створено |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи TASK.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані TASK.ERRORS.INVALID_DATA |
Основний сценарій: | 1. Користувач вводить назву завдання та опис 2. Система перевіряє коректність введених даних 3. Система створює завдання 4. Користувач отримує повідомлення про успішне створення завдання |
ID | TASK.EDIT |
---|---|
Назва: | Редагування завдання |
Учасники: | - Користувач(Адміністратор або Менеджер) - Система |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Завдання відредаговано |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи TASK.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані TASK.ERRORS.INVALID_DATA -Задачі не існує TASK.ERRORS.NOT_EXIST |
Основний сценарій: | 1. Користувач вводить назву завдання та опис 2. Система перевіряє коректність введених даних 3. Система відредаговує завдання 4. Користувач отримує повідомлення про успішне відредагування завдання |
ID | TASK.ASSIGN |
---|---|
Назва: | Призначення виконавця завдання |
Учасники: | - Користувач (Адміністратор або Менеджер) - Система |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи - Задача існує |
Результат: | - Виконавець призначений |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи TASK.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані TASK.ERRORS.INVALID_DATA - Задачі не існує TASK.ERRORS.NOT_EXIST |
Основний сценарій: | 1. Користувач вводить ім'я виконавця 2. Система перевіряє коректність введених даних 3. Система призначає виконавця завдання 4. Користувач отримує повідомлення про успішне призначення виконавця |
ID | TASK.CHANGE_STATUS |
---|---|
Назва: | Зміна статусу завдання |
Учасники: | - Користувач - Система |
Передумови: | - Задача існує |
Результат: | - Статус завдання змінено |
Виключні ситуації: | - Користувач ввів некоректні дані TASK.ERRORS.INVALID_DATA - Задачі не існує TASK.ERRORS.NOT_EXIST |
Основний сценарій: | 1. Користувач змінює статус завдання 2. Система перевіряє коректність введених даних 3. Система змінює статус завдання 4. Користувач отримує повідомлення про успішне змінення статусу |
ID | TASK.REQUEST_HELP |
---|---|
Назва: | Вимога допомоги у виконанні задачі або проекту |
Учасники: | - Користувач - Система - Менеджер |
Передумови: | - Користувач має необхідні права доступу до функціоналу системи - Необхідні завдання існують |
Результат: | - Задача має статус "Чекає на допомогу" |
Виключні ситуації: | - Користувач не має необхідних прав доступу до функціоналу системи TASK.ERRORS.ACCESS_DENIED - Користувач ввів некоректні дані TASK.ERRORS.INVALID_DATA - Задача не існує TASK.ERRORS.NOT_EXIST |
Основний сценарій: | 1. Користувач встановлює статус "Чекає на допомогу" для завдання та / або створює будь-які необхідні пояснення щодо ситуації 2. Система перевіряє ці дані 3. Система змінює статус завдання 4. Менеджер отримує повідомлення про необхідність надати допомогу 5. Користувач бачить статус запиту "Чекає на допомогу" |
ID | TASK.ASSIGN.REQUEST |
---|---|
Назва: | Вимога назначення |
Учасники: | - Користувач - Система - Менеджер |
Передумови: | - Користувач існує - Користувач має необхідні права доступу до функціоналу системи - Рформована заява - Заяву можна обробити |
Результат: | - Користувачу назначена відповідальна особа |
Виключні ситуації: | - Заява не зареєстрована в базі заяв - Неможливо обробити заяву |
Основний сценарій: | 1. Користувач натискає відповідну кнопку 2. Система перевіряє коректність введених даних 3. Система створює запит та повідомляє менеджера 4. Менеджер отримує повідомлення про запит на призначення відповідальної особи 5. Користувач отримує повідомлення від системи |
ID | TASK.ASSIGN.REQUEST.APPROVE |
---|---|
Назва: | Підтвердити обробку завдання, допомоги та іншого |
Учасники: | - Користувач (Адміністратор) - Система |
Передумови: | - Користувач існує - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Запит змінено на "Очікування назначення" або запис зміни допомога |
Виключні ситуації: | - Неможливо відмінити запит на якщо коректно оброблений - Запит не зареєстровано - Необхідні дані не заповнені вірно |
Основний сценарій: | 1. Користувач натискає відповідну кнопку 2. Система змінює дані у базі даних 3. Користувач отримує повідомлення про зміну запиту |
ID | TASK.ASSIGN.REQUEST.DECLINE |
---|---|
Назва: | Відхилити запит |
Учасники: | - Користувач (Адміністратор) - Менеджер - Система |
Передумови: | - Користувач існує - Користувач має необхідні права доступу до функціоналу системи |
Результат: | - Запит зазначено як "Відхилено" |
Виключні ситуації: | - Запит не зареєстровано - Необхідні дані не заповнено вірно |
Основний сценарій: | 1. Користувач повідомляє про необхідність змін 2. Користувач вказує причину відхилення 3. Система перевіряє дані, вказані користувачем 4. Система приховує дані з бази даних і переміщує на "Відхилено" 5. Користувач отримує повідомлення про статус запиту "Відхилено" |
ID | TASK.REMOVE |
---|---|
Назва: | Видалення завдання |
Учасники: | - Користувач - Система |
Передумови: | - Задача існує |
Результат: | - Задачу видалено |
Виключні ситуації: | - Користувач ввів некоректні дані TASK.ERRORS.INVALID_DATA - Задачі не існує TASK.ERRORS.NOT_EXIST |
Основний сценарій: | 1. Користувач натискає відповідну кнопку 2. Система перевіряє коректність введених даних 3. Система видаляє задачу 4. Користувач отримує повідомлення про видалення задачі |
ID | USER.LOGIN |
---|---|
Назва: | Вхід користувача |
Учасники: | - Користувач - Система |
Передумови: | - Користувач ввів логін та пароль - Користувач зареєстрований в системі |
Результат: | - Користувач отримав доступ до функціоналу системи згідно своєї ролі |
Виключні ситуації: | - Користувач не зареєстрований в системі USER.ERRORS.NOT_EXIST - Користувач ввів невірний логін або пароль USER.ERRORS.INVALID_CREDENTIALS |
Основний сценарій: | 1. Користувач вводить свої логін та пароль 2. Система перевіряє коректність введених даних 3. Система авторизує користувача в систему 4. Користувач отримує повідомлення про успішну авторизацію |
ID | USER.REGISTRATION |
---|---|
Назва: | Реєстрація користувача |
Учасники: | - Користувач - Система |
Передумови: | - Користувач не зареєстрований в системі |
Результат: | - Користувач зареєстрований в системі |
Виключні ситуації: | - Користувач вже зареєстрований в системі USER.ERRORS.ALREADY_EXISTS - Користувач ввів некоректні дані USER.ERR.INVORSALID_DATA |
Основний сценарій: | 1. Користувач вводить свої логін та пароль 2. Система перевіряє коректність введених даних 3. Система реєструє користувача 4. Користувач отримує повідомлення про успішну реєстрацію |
ID | BACKUP.CREATE |
---|---|
Назва: | Створення резервної копії даних |
Учасники: | - Адміністратор - Система |
Передумови: | - Cистема підключена до мережі - У системі є дані для резервного копіювання |
Результат: | - Резервна копія даних системи створена |
Виключні ситуації: | - Проблеми з доступом до пам'яті BACKUP.ERROR.IO - Екстрене відключення з мережі BACKUP.ERROR.NETWORK - Недостатньо пам'яті на диску BACKUP.ERROR.DISK_FULL |
Основний сценарій: | 1. Адміністратор надає системі інструкції для створення резервної копії даних 2. Системний модуль обробляє запит від користувача 3. Система виконує запит та створює резервну копію даних 4. Адміністратор отримує .json файл резервної копії |
ID | BACKUP.LOAD |
---|---|
Назва: | Загрузка з резервної копії даних |
Учасники: | - Адміністратор - Система |
Передумови: | - Cистема підключена до мережі - У системі є дані для резервного копіювання |
Результат: | - Резервна копія даних системи створена |
Виключні ситуації: | - Проблеми з доступом до пам'яті BACKUP.ERROR.IO - Екстрене відключення з мережі BACKUP.ERROR.NETWORK |
Основний сценарій: | 1. Адміністратор надає системі інструкції для створення загрузки з резервної копії даних 2. Системний модуль обробляє запит від користувача 3. Система виконує запит та створює резервну копію даних 4. Адміністратор отримує .json файл резервної копії |
СУП(Система управління проєктами) - це комплексне програмне забезпечення, що включає планування завдань, планування, контроль цін та управління бюджетом, розподіл ресурсів, співпрацю, комунікацію, швидке управління, управління документами та системами та інші програми, які спільно використовуються для управління великими проектами.
Адміністратор/Менеджер або teamlead:
- Створити проєкт.
- Видалити проєкт.
- Додати учасника до проекту.
- Видалити учасника з проекту.
- Змінити статус учасника.
- Створити завдання.
- Видалити завдання.
- Змінити завдання.
- Призначення виконавця завдання.
- Змінити статус завдання.
- Показати артефакти.
- Створити резервну копію даних у форматі .JSON.
- Відновити дані проекту з формату .JSON.
- Запросити допомогу з завданням.
- Прийняти кандидатуру на виконавця завдання.
Розробник:
- Змінити статус завдання.
- Показати артефакти.
- Запросити допомогу з завданням.
- Прийняти завдання.
- Запросити заміну виконавця завдання.
- Видвинути свою кандидатуру на виконавця завдання.
Система повинна:
- Володіти засобами захисту/шифровки даних користувачів та проєктів.
- Виконувати резервну копію даних.
- Обслуговувати велику кількість користувачів.
- Підтримувати зворотній зв'язок з користувачем.
Система повинна:
- Мати гарну швидкодію.
- Витримувати велику кількість задач в проєкті.
- Витримувати велику кількість учасників в проєкті. -Блокувати спроби заспаму завданнями/учасниками.
- Швидке усунення багів.
- Підтримка ПЗ, випуск оновлень.
- Оптимізація коду.
- Опрацювання та аналіз помилок.