# Запити зацікавлених осіб
# Вступ
У цьому документі доповідається про основні характеристики сервісу, який створений для проведення опитувань, а саме: короткий список бізнес-сценаріїв, функціональність, яка наявна в додатку, практичність у використанні, чи є опитування надійно захищені, кількісна продуктивність системи та підтримка придатності згідно з сучасними вимогами.
# Мета
Метою є створення функціонально досконалого сервісу, який дає спроможність клієнтам проводити аналітичні опитування та систематизовано обробляти отриману інформацію.
# Контекст
Цей документ оглядає завдання, яке стоїть на меті створення системи організації та управління опитуваннями експертів.
# Основні визначення та скорочення
Дивитись "Аналіз предметної області" (opens new window).
# Короткий зміст
- Характеристика ділових процесів
- Короткий огляд продукту
- Функціональність
- Практичність
- Надійність
- Продуктивність
- Експлуатаційна придатність
# Характеристика ділових процесів
Дається опис бізнес-сценаріїв взаємодії бізнес-акторів, робітників і, можливо, інформаційної системи за допомогою наступної специфікації:
# 1. ID ПРОЦЕСУ: UNDEFINED_USER_REGISTRATION
НАЗВА: Реєстрація нового користувача
УЧАСНИКИ: Система, користувач
ПЕРЕДУМОВИ: Незареєстрований користувач перейшов на сторінку
РЕЗУЛЬТАТ: Створено особистий кабінет користувача
ВИКЛЮЧНІ СИТУАЦІЇ: Відміна реєстрації, хибні дані
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач вводить дані
- Система обробляє дані
- Система заносить дані користувача в базу даних
- Система створює особистий кабінет користувача
- Система надає користивачу доступ до його особистого кабінету
# 2. ID ПРОЦЕСУ: UNDEFINED_USER_LOGIN
НАЗВА: Вхід користувача в його особистий кабінет
УЧАСНИКИ: Система, користувач
ПЕРЕДУМОВИ: Зареєстрований користувач перейшов на сторінку
РЕЗУЛЬТАТ: Користувачу наданий доступ до його особистого кабінету
ВИКЛЮЧНІ СИТУАЦІЇ: Відміна входу, хибні дані
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач вводить дані
- Система обробляє дані
- Система надає користивачу доступ до його особистого кабінету
# 3. ID ПРОЦЕСУ: CREATE_SURVEY
НАЗВА: Створення користувачем опитування
УЧАСНИКИ: Система, користувач, замовник
ПЕРЕДУМОВИ: Користувач знаходиться на сторінці свого особистого кабінету
РЕЗУЛЬТАТ: Створене опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Користувач не створив жодного питання, замовник не одобрив або відмінив створення опитування
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач переходить на сторінку створення опитування
- Користувач робить опитування
- Система додає опитування у базу даних
- Користувач закінчує взаємодію із системою
# 4. ID ПРОЦЕСУ: UPDATE_SURVEY
НАЗВА: Редагування опитування
УЧАСНИКИ: Користувач, замовник, система
ПЕРЕДУМОВИ: Користувач знаходиться на сторінці свого особистого кабінету
РЕЗУЛЬТАТ: Оновлене опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Користувач не зробив жодних змін, замовник не ухвалив зміни
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач переходить на сторінку опитування
- Користувач робить зміни
- Система додає зміни до бази даних
- Користувач закінчує взаємодію із системою
# 5. ID ПРОЦЕСУ: DELETE_SURVEY
НАЗВА: Видалення опитування
УЧАСНИКИ: Користувач, система
ПЕРЕДУМОВИ: Користувач знаходиться на сторінці свого особистого кабінету
РЕЗУЛЬТАТ: Видалення опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Немає
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач переходить на сторінку опитування
- Користувач видаляє опитування
- Система видаляє опитування з бази даних
- Користувач закінчує взаємодію із системою
# 6. ID ПРОЦЕСУ: GET_RESULTS
НАЗВА: Отриманная результатів опитування
УЧАСНИКИ: Користувач, замовник, система
ПЕРЕДУМОВИ: Опитування закінчилось
РЕЗУЛЬТАТ: Результати опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Опитування ніхто не пройшов
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач переходить на сторінку опитування
- Користувач дивиться результати
- Користувач закінчує взаємодію із системою
# Короткий огляд продукту
Sureway - система управління експертними опитуваннями. Пропонує зручний для користувача інтерфейс, що доповнює різноманітний функціонал та широкий спектр можливостей. Завдяки продукту, звичайні користувачі будуть здатні створювати опитування, аналізувати їх результати та просто ділитися ними.
# Функціональність
Реалізація кожного режиму здійснюється через відповідний йому інтерфейс. Завдяки цьому підходу можемо систематизувати інформацію, а також налаштовувати зручну взаємодію користувача з інструментами тестувальної системи та іншими користувачами. Наведені нижче інтерфейси впроваджують повний функціонал для робочого процесу користувачів системи, вміють ділити користувачів на певні групи, видаючи кожному власну роль, і в подальшому надають інструменти та функції згідно з цією роллю та типом користувача.
# • Інтерфейс респондента (учасника)
Респондент - користувач-учасник. Людина, яка користується функціоналом сервісу для заповнення анкети або проходження опитування, тесту чи інтерв'ю. Його обліковий запис має доступ та необхідний функціонал для зручного пошуку та проходження опитування, а також подальшої обробки отриманих результатів.
Можливості респондента (користувача):
• Заповнювати анкети згідно з їх типом.
• Долучатись до проходження опитувань користуючись посиланням.
• Здійснювати пошук доступних анкет, а також фільтрувати їх за багатьма критеріями, такими як тема, дата, автор, кількість і т.д.
• Надсилати заповнену анкету для обробки результатів.
• Мати стабільний зворотний зв'язок з інтерв'юером.
• Отримувати необхідну допомогу у технічної підтримки платформи.
• Переглядати результати надісланих опитувань.
# • Інтерфейс інтерв'юера
Інтерв'юеру надається ряд інструментів для створення анкет та опитувань, а також їх подальшого редагування та видозмінення. Також функціональний простір дозволяє публікувати свої тестування та розповсюджувати їх серед користувачів-респондентів.
Можливості інтерв'юера:
• Створювання нових анкет за допомогою наданих інструментів. • Налаштовання окремих параметрів опитувань: час проходження, доступ лише за посиланням, демонстрація відповідей після проходження тесту тощо. • Змінення візуальної складової опитувань. • Різноманітне редагування анкет, включаючи налаштування структури опитувань та окремих запитань. • Можливість створення окремої таблиці або файлу з відповідями для зручності подальшої перевірки та систематизування даних. • Поширення опитування серед учасників
# •Інтерфейс адміністратора
Інструменти та функціональний простір інтерфейсу адміністратора впроваджують можливість контролю кожного етапу опитування, починаючи зі створення та розповсюдження анкети й завершуючи збором результатів опитування та систематизацією даних.
Можливості адміністратора:
• Створення нових опитувань, тестувань та анкет. Можливість їх подальшого редагування або видалення. • Передача результатів опитування інтерв'юерам. • Розсилка створених анкет респондентам. • Можливість зв'язку між адміністраторами та інтерв'юерами. • Надання зворотного зв'язку респонденту в разі непередбачуваних помилок. • Наявність доступу до всіх можливостей респондента та інтерв'юера. • Можливість створення "організацій" • Права на видаляння або додавання інтерв'юерів та адміністраторів в організації.
# Практичність
- Зручність у використанні для користувача;
- Інтуїтивне розуміння інтерфейсу;
- Необов'язкова наявність реєстрації;
- Зручні інструменти для аналізу результату опитування;
- Докладний опис функціоналу для користувача;
# Надійність
Для того щоб сервіс був надійний треба задовольнити та врахувати низку вимог до сервісу. Основними вимогами є:
Реалізувати надійних захист чутливої інформації користувачів. Робити систематичні бєкапи баз даних. Розробити надійний захист від DDOS атак та роботів. Надати можливість необхідності підтвердити особистість для проходження певних опитуваннь.
# Продуктивність
Основні кількісні вимоги до продуктивності:
- Максимальна можлива кількість експертів, що одночасно проходять опитування, 1 000
- Максимальна можлива кількість користувачів у системі 15 000
- Обмеження кількості запитів в секунду в 700
- Кількість адміністраторів, що одночасно переглядають результати анкет, не має перевищувати 800
# Експлуатаційна придатність
Вимоги до підтримки:
- Використання сучасного та актуального стеку технологій
- Вихідний текст має бути достатньо гнучким для можливості редагування та додавання нових можливостей
- Максимально швидко реагувати на наявність багів та помилок у коді.
- Регулярно проводити рефакторінг коду
- При можливості змінювати залучені технології у випадку іх застарілості та наявності кращих варіантів
- Проведення регулярної діагностики