# Запити зацікавлених осіб

# Вступ

В цьому документі описано основну інформацію про наш проєкт: сценарій використання нашого продукту адміністратором та користувачем, опис продукту та вимоги до функціональності, практичності, надійності, продуктивності та експлуатаційної придатності.

# Мета

Метою цього документу є сформування вимог проєкту відповідно до яких можна буде розвивати нашу систему. Також для поглиблення розуміння самого проєкту та його функцій як у розробників, так і в користувачів проєкту.

# Контекст

В цьому документі описано вимоги для розробки нашого проєкту та функціонал системи, що розробляється.

# Основні визначення та скорочення

Зацікавлені особи[1] - фізичні та юридичні особи, які мають легітимний інтерес у діяльності організації, тобто певною мірою залежать від неї або можуть впливати на її діяльність

FURPS[2] - модель для класифікації якості програмного забезпечення. До неї входить: функціональність (Functionality), практичність(Usability), надійність(Reliability), продуктивність(Performance) та експлуаційну придатність(Supportability)

FAQ[2] - список поширених запитань та відповіді на них.

Інші визначення можна подивитись в "Аналіз предметної області" (opens new window)

# Посилання

Зацікавлені особи (opens new window)

FURPS (opens new window)

FAQ (opens new window)

# Короткий зміст

# Характеристика ділових процесів

# Користувач:


ID: CreateAccount
НАЗВА: Створити обліковий запис
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач не зареєстрований в системі
РЕЗУЛЬТАТ: Новий обліковий запис
ВИКЛЮЧНІ СИТУАЦІЇ: CreateAccount_EX_AccountExists Існує обліковий запис
CreateAccount_EX_EmptyInputFields Пусті поля вводу
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач розпочинає взаємодію
2. Користувач натискає на кнопку "Зареєструватися"
3. Користувач вводить реєстраційні дані
4. Користувач натискає на кнопку "Зареєструватися" (CreateAccount_EX_EmptyInputFields)
5. Система перевіряє наявність облікового запису (CreateAccount_EX_AccountExists)
6. Система створює новий обліковий запис
7. Користувач закінчує взаємодію
ID: UserAuthorization
НАЗВА: Авторизувати користувача
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач зареєстрований в системі
РЕЗУЛЬТАТ: Вхід у систему
ВИКЛЮЧНІ СИТУАЦІЇ: UserAuthorization_EX_IncorrectData Невірно введені дані
UserAuthorization_EX_NotRegistered Не зареєстрований
UserAuthorization_EX_EmptyInputFields Пусті поля вводу
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач розпочинає взаємодію
2. Користувач натискає на кнопку "Увійти"
3. Користувач вводить дані для авторизації
4. Користувач натискає на кнопку "Увійти" (UserAuthorization_EX_EmptyInputFields)
5. Система перевіряє наявність облікового запису (UserAuthorization_EX_NotRegistered)
6. Система перевіряє дані для авторизації (UserAuthorization_EX_IncorrectData)
7. Система надає доступ користувачу до облікового запису
8. Користувач закінчує взаємодію
ID: SearchDataset
НАЗВА: Знайти набір даних
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований в системі
РЕЗУЛЬТАТ: Шуканий набір даних
ВИКЛЮЧНІ СИТУАЦІЇ: SearchDataset_EX_DatasetDoesntExist Шуканого набору даних не існує
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач розпочинає взаємодію
2. Користувач вводить в пошукове поле запит
3. Користувач обирає потрібні фільтри
4. Користувач натискає на кнопку "Пошук"
5. Система відображає список шуканих даних (SearchDataset_EX_DatasetDoesntExist)
6. Користувач натискає на потрібний набір даних
7. Система відкриває шукані дані
8. Користувач закінчує взаємодію
ID: VisualizationDataset
НАЗВА: Візуалізувати набір даних таблицею, графіком
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований в системі, набір даних є в системі
РЕЗУЛЬТАТ: Графік чи таблиця даних
ВИКЛЮЧНІ СИТУАЦІЇ: VisualizationDataset_EX_VisualizationImpossible Візуалізація неможлива
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач розпочинає взаємодію
2. Користувач натискає на кнопку "Візуалізація даних"
3. Система відображує список можливих форматів даних (таблиця, графік)
4. Користувач обирає потрібний формат
5. Система надає потрібний графік чи таблицю даних (VisualizationDataset_EX_VisualizationImpossible)
6. Користувач закінчує взаємодію
ID: DownloadFile
НАЗВА: Завантажити файл набору даних
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач авторизований в системі
РЕЗУЛЬТАТ: Завантажений файл набору даних
ВИКЛЮЧНІ СИТУАЦІЇ: DownloadFIle_EX_CancelSaveFile Користувач відмінив збереження файлу
DownloadFIle_EX_NotEnoughMemory Недостатньо вільної пам'яті
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач розпочинає взаємодію
2. Користувач натискає на кнопку "Зберегти файл"
3. Система запитує підтвердження на збереження файлу
4. Користувач підтверджує збереження (DownloadFIle_EX_CancelSaveFile)
5. Система завантажує файл (DownloadFIle_EX_NotEnoughMemory)
6. Користувач закінчує взаємодію
ID: DonateSystem
НАЗВА: Пожертвувати кошти на покращення роботи застосунку
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: -
РЕЗУЛЬТАТ: Переведені кошти на рахунок розробників
ВИКЛЮЧНІ СИТУАЦІЇ: DonateSystem_EX_DonateSystemError Помилка транзакції
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач розпочинає взаємодію
2. Користувач натискає на кнопку "Donate system"
3. Система відкриває форму
4. Користувач заповнює інформаційні дані
5. Користувач натискає на кнопку "Donate"
6. Система переводить кошти на рахунок розробників (DonateSystem_EX_DonateSystemError)
7. Користувач закінчує взаємодію

# Адміністратор:


ID: UploadDataset
НАЗВА: Завантажити набір даних
УЧАСНИКИ: Адміністратор, Система
ПЕРЕДУМОВИ: Адміністратор авторизований у системі
РЕЗУЛЬТАТ: Завантажений набір даних на сервер
ВИКЛЮЧНІ СИТУАЦІЇ: UploadDataset_EX_DatasetExists Набір даних вже існує
UploadDataset_EX_DatasetCancelled Адміністратор скасував завантаження
ОСНОВНИЙ СЦЕНАРІЙ: 1. Адміністратор розпочинає взаємодію
2. Адміністратор натискає на кнопку "Завантажити дані"
3. Адміністратор вибирає потрібні дані
4. Система запитує підтвердження на завантаження даних
5. Адміністратор підтверджує завантаження (UploadDataset_EX_DatasetCancelled)
6. Система створює набір даних (UploadDataset_EX_DatasetExists)
7. Адміністратор закінчує взаємодію
ID: RemoveDataset
НАЗВА: Видалити набір даних
УЧАСНИКИ: Адміністратор, Система
ПЕРЕДУМОВИ: Адміністратор авторизований у системі, набір даних існує
РЕЗУЛЬТАТ: Видалений набір даних
ВИКЛЮЧНІ СИТУАЦІЇ: RemoveDataset_EX_DatasetCancelled Адміністратор скасував видалення
ОСНОВНИЙ СЦЕНАРІЙ: 1. Адміністратор розпочинає взаємодію
2. Адміністратор виконує пошук набору даних
3. Система відображує список даних
4. Адміністратор вибирає потрібні дані
5. Адміністратор натискає на кнопку "Видалити дані"
6. Система запитує підтвердження на видалення даних
7. Адміністратор підтверджує видалення (RemoveDataset_EX_DatasetCancelled)
8. Система видаляє дані
9. Адміністратор закінчує взаємодію
ID: RemoveEditorPermission
НАЗВА: Зняти права редактора з користувача
УЧАСНИКИ: Адміністратор, Система
ПЕРЕДУМОВИ: Адміністратор авторизований у системі
РЕЗУЛЬТАТ: Видалено право редактора
ВИКЛЮЧНІ СИТУАЦІЇ: RemoveEditorPermission_EX_RemoveCancelled Адміністратор відхилив видалення прав
ОСНОВНИЙ СЦЕНАРІЙ: 1. Адміністратор розпочинає взаємодію
2. Адміністратор натискає на кнопку "Список редакторів"
3. Система відображує список редакторів
4. Адміністратор натискає на потрібного редактора
5. Система відображує внесені зміни редактором
6. Адміністратор натискає на кнопку "Видалити редактора"
7. Система запитує підтвердження на видалення прав редактора
8. Адміністратор підтверджує видалення прав (RemoveEditorPermission_EX_RemoveCancelled)
10. Система видаляє права редактора
11. Адміністратор закінчує взаємодію

# Редактор:


ID: EditDataset
НАЗВА: Редагувати набір даних
УЧАСНИКИ: Редактор, Система
ПЕРЕДУМОВИ: Редактор авторизований у системі, набір даних існує
РЕЗУЛЬТАТ: Редагований набір даних
ВИКЛЮЧНІ СИТУАЦІЇ: EditDataset_EX_DatasetCancelled Редактор скасував зміни
ОСНОВНИЙ СЦЕНАРІЙ: 1. Редактор розпочинає взаємодію
2. Редактор виконує пошук набору даних
3. Система відображує список даних
4. Редактор натискає на потрібний набір даних
5. Редактор натискає на кнопку "Редагувати дані"
6. Система відкриває форму редагування
7. Редактор вносить зміни
8. Редактор підтверджує зміни (EditDataSet_EX_DataSetCancelled)
9. Система редагує дані
10. Система відображує редагує дані
11. Редактор закінчує взаємодію

# Короткий огляд продукту

Застосунок матиме одного та більше адміністраторів, які завантажують дані(тексти) в систему.

У вебзастосунку записи бази даних будуть представлені у зрозумілому для користувача вигляді: таблиця або графік.

Користувачі можуть:

  • обрати певний текст і стати його редактором (Примітка: може бути максимум 2 редактора на 1 текст ).
  • одночасно анотувати текст у своїх гілках
  • надіслати pull request, таким чином зробивши запит на збереження змін.

Один з адміністраторів перевіряє текст і підтверджує або відхиляє запропоновані зміни. У разі підтвердження файл переміщується у базу анотованих текстів, тоді інші користувачі мають можливість завантажити його.

# Функціональність

Загальний користувач:
  • Створення облікового запису;
  • Авторизація;
  • Пожертвування кошт;
Авторизований користувач:
  • Усі можливості загального користувача;
  • Перегляд даних з сайту
  • Завантаження даних з сайту
Редактор:
  • Усі можливості авторизованого користувача;
  • Редагування розмітки даних.
Адміністратор:
  • Усі можливості редактора;
  • Завантаження текстових файлів у систему;
  • Видалення файлів з системи;
  • Можливість видати та забрати права редактора;
  • Перегляд історії змін файлів;
  • Перегляд гілки змін редактора;

# Практичність

  • Простота та зрозумілість інтерфейсу
  • Наявність FAQ
  • Робота у браузері

# Надійність

  • Захист облікового запису паролем
  • Шифрування паролей
  • Розділення користувачів на ролі (user/admin)

# Продуктивність

Система має підтримувати:

  • редагування файлу декількома користувачами одночасно
  • багатопотокове завантаження та вивантаження файлів
  • високу швидкість доступу до даних

# Експлуатаційна придатність

  • Програмний код має бути зрозумілим для подальшої підтримки
  • Необхідна наявність форми для зворотного зв'язку та контактів техпідтримки
Останнє оновлення: 1/1/2023, 9:15:59 PM