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

# Вступ

Запити зацікавлених осіб є невід'ємним елементом у процесі розробки програмного забезпечення, відображаючи вимоги та очікування різних груп користувачів. Цей документ представляє запити стейкхолдерів щодо системи управління відкритими даними - інструменту для зберігання, обробки та швидкого доступу до інформації. Ретельний аналіз цього документа допоможе забезпечити спільне розуміння вимог серед усіх залучених сторін та сприятиме успішній реалізації продукту.

# Мета

Даний документ визначає концепцію і керівні принципи створення системи управління відкритими даними для забезпечення доступності публічної інформації та її ефективного використання. Він формулює цілі та критерії розробки функціонального веб-додатку з урахуванням потреб користувачів і розробників.

# Контекст

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

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

Даний розділ містить визначення всіх термінів та скорочень, необхідних для правильного тлумачення вимог.

Зацікавлені сторони (opens new window) (від англ. stakeholders) — фізичні та юридичні особи, які мають легітимний інтерес у діяльності організації, тобто певною мірою залежать від неї або можуть впливати на її діяльність. Зацікавлені сторони забезпечують можливості для системи та є джерелом вимог до неї.
Гість (opens new window) - людина, яка входить у мережу чи службу, яка не має облікового запису користувача. Гостям надається стандартний набір привілеїв, поки вони офіційно не зареєструються в системі.
Користувач (opens new window) — особа, яка використовує комп’ютер або мережевий сервіс.
Зареєстрований користувач (opens new window) — користувач вебсайту, програми чи іншої системи, що пройшов попередню реєстрацію у ній. Після реєстрації у системі створюється окремий обліковий запис.
Адміністра́тор (opens new window) (іноді скор. — адмін) — це особа, яка здійснює роботу з якісного і ефективного обслуговування відвідувачів, консультує їх із питань, які стосуються товарів і послуг, які надає підприємство, організація.

Усі інші визначення та скорочення можна знайти на сторінці аналізу предметної області.

# Посилання

Даний розділ містить повний список всіх документів, про які згадується.

Зацікавлені сторони (opens new window)
Гість (opens new window)
Користувач (opens new window)
Зареєстрований користувач (opens new window)
Адміністра́тор (opens new window)

Усі інші посилання можна знайти на сторінці аналізу предметної області.

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

Даний розділ містить опис того, про що йдеться в цій частині цього документу, що залишилася. Також тут описана структура документу.

  • Характеристика ділових процесів - у цьому розділі визначаються зовнішні фактори, що впливають на бізнес (бізнес-актори), та внутрішні фактори (робітники), дається загальна характеристика діяльності бізнес-акторів та робітників, яка здійснюється за допомогою бізнесу.
  • Короткий огляд продукту - у цьому розділі визначається границя системи та категорії її користувачів. Дається загальна характеристика категорій користувачів системи.
  • Функціональність - у цьому розділі визначаються функціональні можливості системи.
  • Практичність - у цьому розділі визначаються вимоги до зручності використання системи.
  • Надійність - у цьому розділі визначаються вимоги до відмовостійкості та безпеки системи.
  • Продуктивність - у цьому розділі визначаються вимоги до продуктивності роботи системи.
  • Експлуатаційна придатність - у цьому розділі визначаються вимоги до зручності подальшої підтримки системи.

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

Дається опис бізнес-сценаріїв взаємодії бізнес-акторів, робітників і, можливо, інформаційної системи за допомогою наступної специфікації:

ID:
НАЗВА:
УЧАСНИКИ:
ПЕРЕДУМОВИ:
РЕЗУЛЬТАТ:
ВИКЛЮЧНІ СИТУАЦІЇ:
ОСНОВНИЙ СЦЕНАРІЙ:

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

# Гість

ID: Guest.Search
НАЗВА: Пошук інформації
УЧАСНИКИ: Гість, Система
ПЕРЕДУМОВИ: Наявність бази даних для пошуку
РЕЗУЛЬТАТ: Інформація на основі запиту гостя
ВИКЛЮЧНІ СИТУАЦІЇ: Даних за запитом не знайдено - SearchError
ОСНОВНИЙ СЦЕНАРІЙ: 1. Гість розпочинає взаємодію.
2. Гість переходить на сторінку пошуку.
3. Гість вписує дані в строку пошуку.
4. Гість натискає кнопку "Пошук".
5. Система перевіряє базу даних (можлива SearchError).
6. Система відображає результати пошуку гостя.
ID: Guest.SignUp
НАЗВА: Зареєструватися в системі
УЧАСНИКИ: Гість, Система
ПЕРЕДУМОВИ: Гість не має облікового запису у системі
РЕЗУЛЬТАТ: Обліковий запис нового користувача
ВИКЛЮЧНІ СИТУАЦІЇ: Пусті обов'язкові поля для реєстрації - EmptyRequiredSignUpField
Поля заповнені не згідно з умовами реєстрації - InvalidSignUpFiledValue
Користувач з вказаною електронною поштою вже зареєстрований в системі - UserIsSignedUp
Пароль не відповідає умовам реєстрації - InvalidSignUpPassword
ОСНОВНИЙ СЦЕНАРІЙ: 1. Гість вибирає опцію "Реєстрація" у меню вебсайту.
2. Система перенаправляє гостя на сторінку із формою реєстрації.
3. Гість заповнює форму реєстрації.
4. Гість натискає кнопку "Зареєструватися" (можливі EmptyRequiredSignUpField, InvalidSignUpFiledValue, InvalidSignUpPassword).
5. Система перевіряє чи існує обліковий запис із вказаними гостем даними (можлива UserIsSignedUp).
6. Система створює обліковий запис гостя
7. Система повідомляє гостя про успішну реєстрацію в системі.
8. Система перенаправляє гостя на головну сторінку
ID: Guest.SignIn
НАЗВА: Увійти в систему
УЧАСНИКИ: Гість, Система
ПЕРЕДУМОВИ: Гість має обліковий запис у системі
РЕЗУЛЬТАТ: Вхід в обліковий запис користувача
ВИКЛЮЧНІ СИТУАЦІЇ: Пусті обов'язкові поля для входу в обілковий запис - EmptyRequiredSignInField
Введений користувачем пароль не є дійсним - IncorrectSignInPassword
Користувач із вказаною електронною поштою не існує - NotFoundSignInUser
ОСНОВНИЙ СЦЕНАРІЙ: 1. Гість вибирає опцію "Увійти в систему" у меню вебсайту.
2. Система перенаправляє гостя на сторінку із формою входу.
3. Гість заповнює форму входу.
4. Гість натискає кнопку "Увійти", надсилаючи дані до обробки (можлива EmptyRequiredSignInField).
5. Система перевіряє чи існує вказаний обліковий запис у системі (можлива NotFoundSignInUser).
6. Система перевіряє введений гостем пароль (можлива IncorrectSignInPassword).
7. Система дає доступ до облікового запису користувача.
8. Система повідомляє гостя про успішний вхід у систему.
9. Система перенаправляє користувача на головну сторінку.

# Користувач

ID: User.Logout
НАЗВА: Вихід з системи
УЧАСНИКИ: Користувач, система
ПЕРЕДУМОВИ: Користувач увійшов до системи
РЕЗУЛЬТАТ: Вихід з облікового запису користувача
ВИКЛЮЧНІ СИТУАЦІЇ: None
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач обирає опцію "Вийти" на головній сторінці веб-сайту.
2. Система відкриває вікно підтвердження виходу.
3. Користувач натискає "Так" для підтвердження наміру вийти.
4. Система завершує сеанс користувача.
5. Система перенаправляє користувача на головну сторінку.
ID: User.Search
НАЗВА: Пошук інформації користувачем
УЧАСНИКИ: Користувач, Система
ПЕРЕДУМОВИ: Користувач увійшов до системи
РЕЗУЛЬТАТ: Дані за наданим запитом пошуку
ВИКЛЮЧНІ СИТУАЦІЇ: Дані відсутні - SearchError
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач обирає опцію "Пошук" на головній сторінці веб-сайту.
2. Користувач вписує дані в строку пошуку.
3. Користувач натискає кнопку "Знайти".
4. Система перевіряє наявність інформації у базі даних (можлива помилка - SearchError).
5. Система виводить на екран результат пошуку.
ID: User.Download
НАЗВА: Завантаження файлу даних з системи
УЧАСНИКИ: Користувач, система
ПЕРЕДУМОВИ: Користувач увійшов до системи, дані знайдені у системі
РЕЗУЛЬТАТ: Завантажений файл з даними у відповідному форматі з системи
ВИКЛЮЧНІ СИТУАЦІЇ: Швидкість завантаження та якість під'єднання не дозволяють завантажити файл - BadConnection
Відповідного формату файлу з даними не існує в системі - DataFormatNotAvailable
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач обирає опцію "Завантажити на пристрій" на знайденій сторінці веб-сайту.
2. Користувач обирає формат даних файлу.
3. Система шукає відповідний формат файлу у базах даних (можлива помилка - DataFormatNotAvailable).
4. Система розпочинає передачу файлу на комп'ютер користувача системи у відповідному форматі (можлива помилка - BadConnection).
5. Система успішно завершує завантаження файлу на комп'ютер користувача.
ID: User.UploadRequest
НАЗВА: Завантаження даних користувачем у систему
УЧАСНИКИ: Користувач, Адміністратор, Система
ПЕРЕДУМОВИ: Відкрита система управління даними дозволяє користувачам пропонувати завантажити нові набори даних.
РЕЗУЛЬТАТ: Запит користувача на публікування нових даних
ВИКЛЮЧНІ СИТУАЦІЇ: Неправильний формат файлу - DataFormatNotAvailable.
Відсутні дані - MissingData
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач переходить на сторінку веб-сайту, де можна завантажити нові дані.
2. Користувач натискає кнопку "Завантажити нові дані"
3. Система відкриває вікно з формою для завантаження даних.
4. Користувач вибирає файл з даними зі свого комп'ютера або іншого пристрою.
5. Система перевіряє формат файлу та структуру даних. (можлива помилка - DataFormatNotAvailable, MissingData)
6. Користувач переглядає параметри завантаження даних та натискає кнопку "Надіслати" для підтвердження.
7. Система обробляє завантажені дані, зберігає їх у системній базі даних та надсилає на перевірку до адміністратора.
8. Система повідомляє користувача про успішне завантаження та просить почекати, поки дані проходять перевірку.
ID: User.EditRequest
НАЗВА: Пропонування оновлення даних користувачем у систему
УЧАСНИКИ: Користувач, Адміністратор, Система
ПЕРЕДУМОВИ: Відкрита система управління даними дозволяє користувачам пропонувати оновлення існуючих наборів даних.
РЕЗУЛЬТАТ: Запит користувача на редагування даних
ВИКЛЮЧНІ СИТУАЦІЇ: Відсутність змін у даних - DataNotEdited.
Дані повністю видалені - DataDeleted.
ОСНОВНИЙ СЦЕНАРІЙ: 1. Користувач переходить на сторінку веб-сайту, де можна редагувати дані.
2. Система відкриває вікно для редагування даних.
3. Користувач редагує дані та натискає кнопку "Зберегти".
4. Система перевіряє редаговані дані (можлива помилка - DataNotEdited, DataDeleted).
5. Користувач переглядає всі свої зміни та натискає кнопку "Надіслати" для підтвердження.
6. Система обробляє змінені дані, зберігає їх у системній базі даних та надсилає на перевірку до адміністратора.
7. Система повідомляє користувача про успішне редагування та просить почекати, поки дані проходять перевірку.

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

ID: Admin.Logout
НАЗВА: Вихід з системи
УЧАСНИКИ: Адміністратор, система
ПЕРЕДУМОВИ: Адміністратор увійшов до системи
РЕЗУЛЬТАТ: Вихід з облікового запису адміністратора
ВИКЛЮЧНІ СИТУАЦІЇ: None
ОСНОВНИЙ СЦЕНАРІЙ: 1. Адміністратор обирає опцію "Вийти" на головній сторінці веб-сайту.
2. Система відкриває вікно підтвердження виходу.
3. Адміністратор натискає "Так" для підтвердження наміру вийти.
4. Система завершує сеанс адміністратора.
5. Система перенаправляє адміністратора на головну сторінку.
ID: Admin.ChangeUserPermissions
НАЗВА: Змінити доступ до функцій системи конкретному користувачеві
УЧАСНИКИ: Адміністратор, Система
ПЕРЕДУМОВИ: Користувач зареєстрований у системі
РЕЗУЛЬТАТ: Зміна доступу до функій системи для користувача
ВИКЛЮЧНІ СИТУАЦІЇ: Користувач не існує в системі - UserNotFound
ОСНОВНИЙ СЦЕНАРІЙ: 1. Адміністратор вибирає опцію "Керувати користувачами" на сторінці зі списком користувачів.
2. Система змінює режим перегляду користувачів для адміністратора, додаючи опцію зміни доступу до функцій системи для користувача.
3. Адміністратор натискає на кнопку "Змінити доступ до функцій" на відповідному записі, який відповідає користувачеві.
4. Система перевіряє чи є даний користувач у базі даних (можливо UserNotFound).
5. Система направляє адміністратора на сторінку управління доступними користувачу функціями.
6. Адміністратор вносить зміни в доступ до функцій системи для користувача та натискає кнопку "Підтвердити".
7. Система змінює доступ до функій системи для користувача.
8. Система перенаправляє адміністратора на сторінку зі списком користувачів.
ID: Admin.ApproveRequest
НАЗВА: Одобрити запит користувача
УЧАСНИКИ: Адміністратор, система
ПЕРЕДУМОВИ: Користувач надіслав запит
РЕЗУЛЬТАТ: Зміни даних у системі згідно з запитом користувача
ВИКЛЮЧНІ СИТУАЦІЇ: None
ОСНОВНИЙ СЦЕНАРІЙ: 1. Адміністратор переходить на сторінку, де можна переглянути запити.
2. Адміністратор натискає кнопку "Одобрити запит".
3. Система дає доступ до нових даних користувачам.
4. Система видаляє запит зі списку.
ID: Admin.DenieRequest
НАЗВА: Відхилити запит користувача
УЧАСНИКИ: Адміністратор, система
ПЕРЕДУМОВИ: Користувач надіслав запит
РЕЗУЛЬТАТ: Видалення запиту з системної бази даних
ВИКЛЮЧНІ СИТУАЦІЇ: None
ОСНОВНИЙ СЦЕНАРІЙ: 1. Адміністратор переходить на сторінку, де можна переглянути запити.
2. Адміністратор натискає кнопку "Відхилити запит".
3. Система видаляє запит із системної бази даних.

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

У даному розділі визначається границя системи та категорії її користувачів. Дається загальна характеристика категорій користувачів системи.

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

  • можливість авторизовуватись;
  • можливість створення та редагування даних;
  • візуалізацію даних;
  • наявність докуметації та FAQ.

Також наш інструмент буде підтримувати актуальність даних та зворотній зв'язок.

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

Нижче йде опис FURPS.

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

Гість:

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

Користувач:

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

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

  • Блокування чи обмеження користувачів через порушення правил.
  • Завантаження власних даних до системи, редагування чи виделання існуючих даних системи.
  • Підтвердження оновлення даних запропонованих іншими користувачами.
  • Надання допомоги користувачам у разі потреби.
  • Створення контенту від імені продукту.
  • Створення технічної документації щодо використання системи.

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

Наша система забезпечує практичність за допомогою наступних методів:

  • Простий та зрозумілий інтерфейс застосунку.
  • Наявність довідки, FAQ.
  • Підтримка аналізу даних.
  • Легкий пошук та доступ.
  • Робота в браузері, без необхідності встановлення.
  • Кросплатформеність.
  • Адаптивний дизайн.

# Надійність

Наша система забезпечує надійність за допомогою наступних методів:

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

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

Наша система забезпечує продуктивність завдяки наступним аспектам:

  • Використання ефективних запитів і індексів у базі даних для швидкого доступу до інформації.
  • Зберігання часто використовуваних даних у кеші для швидкого доступу, що допомагає зменшити час відповіді на запити.
  • Розробка системи з урахуванням можливості масштабування, щоб забезпечити плавну роботу при збільшенні обсягу даних та навантаження.
  • Постійний моніторинг відправлення та отримання даних, щоб ідентифікувати можливі проблеми та вчасно їх виправляти.

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

Наша система забезпечує надійність та ефективність завдяки наступним функціям:

  • Надає докладну документацію з використання та налагодження системи, що допомагає користувачам швидко орієнтуватися на платформі.
  • Автоматично моніторить роботу та веде журнали, що дозволяє оперативно виявляти проблеми та аналізувати продуктивність.
  • Код системи розміщується на Github, що сприяє співпраці та контролю версій.
  • Включає автоматизоване тестування, в тому числі тести продуктивності, модульні тести та тести на безпеку, що забезпечує надійність та стабільність системи.
Останнє оновлення: 3/26/2024, 3:44:50 PM