# Модель прецедентів
# 1. Діаграма прецедентів
# На мал. 1 зображена ієрархія прецедентів та її основні можливості.
Мал. 1 Ієрархія прецедентів.
Існує 3 типи користувачів: Користувач, тобто неавтентифікований користвувач та Клієнт, тобто авторизований користувач, який може працювати з опитуваннями та Експерт, тобто авторизований користувач, який може проходити опитування.
# 2. Схема використання для Користувача
# На мал. 2 зображені усі можливості користувача користувач.
Мал. 2 Усі можливості неавтентифікованого користувача.
# 3. Схема використання для Експерта
# На мал. 3 зображені усі можливості користувача Експерт.
Мал. 3 Усі можливості експерта.
# 4. Схема використання для Клієнта
# На мал. 4 зображені усі можливості користувача Клієнт.
Мал. 4 Усі можливості клієнта.
# 5. Сценарії використання для незареєстрованого користувача
# 1) ID ПРОЦЕСУ: USER__SIGN_UP
НАЗВА: Створити обліковий запис
УЧАСНИКИ: Система, користувач
ПЕРЕДУМОВИ: Користувач перейшов на сторінку, але не має облікового запису
РЕЗУЛЬТАТ: Створено акаунт для користувача
ВИКЛЮЧНІ СИТУАЦІЇ: Відміна реєстрації, акаунт вже існує, користувач вводить неправильні дані.
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач робить запит на реєстрацію.
- Система надає форму для заповнення (пошта, пароль, ім'я, вік, генедер).
- Користувач вводить дані та уточнює свою роль (клієнт чи експерт).
- Система заносить користувача в базу даних.
- Система створює акаунт користувача.
- Система перенаправляє користувача на форму входу в акаунт.
Мал. 5.1 Сценарій реєстрації користувача.
# 2) ID ПРОЦЕСУ: USER__SIGN_IN
НАЗВА: Ввійти в обліковий запис
УЧАСНИКИ: Система, користувач
ПЕРЕДУМОВИ: Авторизований користувач перейшов на сторінку
РЕЗУЛЬТАТ: Користувачу наданий доступ до акаунту
ВИКЛЮЧНІ СИТУАЦІЇ: Користувач вводить неправильні дані, відміна входу
ОСНОВНИЙ СЦЕНАРІЙ:
- Користувач вводить дані.
- Система обробляє дані.
- Система надає користувачу доступ до акаунту.
Мал. 5.2 Сценарій входу користувача у свій обліковий запис.
# 6. Сценарії використання для клієнта
# 1) ID ПРОЦЕСУ: CLIENT__POST_POLL
НАЗВА: Створити опитування
УЧАСНИКИ: Клієнт, система
ПЕРЕДУМОВИ: Авторизований клієнт знаходиться на сторінці акаунту
РЕЗУЛЬТАТ: Створене опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Клієнт ввів дані неправильно.
ОСНОВНИЙ СЦЕНАРІЙ:
- Клієнт переходить на сторінку, щоб створити опитування.
- Клієнт створює форму для опитування.
- Клієнт пише назву, опис опитування.
- Клієнт додає питання в опитування. Питання мають певний тип і опис.
- Клієнт обирає фахівців, які належать до певної категорії спеціальності, та надсилає форму.
- Система отримує та зберігає дані від клієнта.
- Клієнт отримує повідомлення про успішно створене опитування.
Мал. 6.1 Сценарій створення клієнтом опитування.
# 2) ID ПРОЦЕСУ: CLIENT__PATCH_POLL
НАЗВА: Внести зміни до опитування
УЧАСНИКИ: Клієнт, система
ПЕРЕДУМОВИ: Авторизований клієнт знаходиться на сторінці свого акаунту
РЕЗУЛЬТАТ: Змінене опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Клієнт ввів дані неправильно
ОСНОВНИЙ СЦЕНАРІЙ:
- Клієнт переходить на сторінку для внесення змін.
- Клієнт робить зміни над опитуванням.
- Клієнт підтверджує бажання змінити форму.
- Система вносить зміни до бази даних.
Мал. 6.2 Сценарій редагування клієнтом опитування.
# 3) ID ПРОЦЕСУ: CLIENT__DELETE_POLL
НАЗВА: Видалити опитування
УЧАСНИКИ: Клієнт, система
ПЕРЕДУМОВИ: Авторизований клієнт знаходиться на сторінці акаунту, опитування створене
РЕЗУЛЬТАТ: Видалене опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Відсутні
ОСНОВНИЙ СЦЕНАРІЙ:
- Клієнт переходить на сторінку опитування.
- Клієнт робить запит на видалення опитування.
- Клієнт підтверджує бажання видалити форму.
- Система видаляє опитування з бази даних.
Мал. 6.3 Сценарій видалення клієнтом опитування.
# 4) ID ПРОЦЕСУ: CLIENT__GET_RESPONSES
НАЗВА: Отримати результати опитування
УЧАСНИКИ: Клієнт, система
ПЕРЕДУМОВИ: Опитування створене, авторизований клієнт знаходиться на сторінці свого акаунту
РЕЗУЛЬТАТ: Клієнт отримує дані щодо опитування
ВИКЛЮЧНІ СИТУАЦІЇ: Опитування з таким id не знайдено, опитування ніхто не пройшов
ОСНОВНИЙ СЦЕНАРІЙ:
- Клієнт обирає в акаунті, статистика з якого опитування його цікавить.
- Клієнт робить запит на отримання результатів опитування.
- Клієнт переглядає результати та статистику.
Мал. 6.4 Сценарій отримання клієнтом результатів опитування.
# 7. Сценарії використання для експерта
# 1) ID ПРОЦЕСУ: EXPERT__POST_RESPONSE
НАЗВА: Пройти опитування
УЧАСНИКИ: Система, експерт
ПЕРЕДУМОВИ: Експерт бажає пройти опитування
РЕЗУЛЬТАТ: Результати опитування надіслано до бази даних
ВИКЛЮЧНІ СИТУАЦІЇ: Неправильно введені дані
ОСНОВНИЙ СЦЕНАРІЙ:
- Авторизований експерт переходить на сторінку з опитуваннями.
- Експерт проходить опитування та надсилає заповнену форму.
- Система перевіряє дані від експерта.
- Система зберігає дані від експерта.
- Експерт отримує невелику суму за пройдене опитування
Мал. 7.1 Сценарій проходження експертом опитування.
# 2) ID ПРОЦЕСУ: EXPERT__GET_POLLS
НАЗВА: Отримати список питань
УЧАСНИКИ: Експерт, система
ПЕРЕДУМОВИ: Під дані клієнта існують питання, авторизований експерт знаходиться на сторінці свого акаунту
РЕЗУЛЬТАТ: Клієнт отримує список питань
ВИКЛЮЧНІ СИТУАЦІЇ: Відсутні
ОСНОВНИЙ СЦЕНАРІЙ:
- Експерт переходить на сторінку з опитуваннями.
- Експерт робить запит на отримання опитувань під його дані.
- Експерту відображається список можливих опитувань
Мал. 7.2 Сценарій отримання експертом списка питань.