edu-dis-labs/docs/use-cases/README.md

505 lines
32 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Модель прецедентів
## Загальна схема
<center style="
border-radius: 4px;
border: 1px solid #cfd7e6;
box-shadow: 0 1px 3px 0 rgba(89,105,129,.05), 0 1px 1px 0 rgba(0,0,0,.025);
padding: 1em;
">
@startuml
:Гість: as Guest
:Зареєстрований користувач: as AuthorisedUser
(<b>ACCOUNT.CREATE</b>\nСтворити обліковий запис) as CreateAccount
(<b>ACCOUNT.DELETE</b>\nВидалити обліковий запис) as DeleteAccount
(<b>ACCOUNT.MODIFY</b>\nЗмінити властивості облікового запису) as ModifyAccount
(<b>SURVEY.LINK.CREATE</b>\nСтворити посилання на опитування) as CreateLink
(<b>SURVEY.LINK.DELETE</b>\nВидалити посилання на опитування) as DeleteLink
(<b>SURVEY.LINK.MODIFY</b>\nЗмінити властивості посилання на опитування) as ModifyLink
(<b>USER.CREATE_SURVEY</b>\nСтворити опитування) as CreateSurvey
(<b>USER.DELETE_SURVEY</b>\nВидалити опитування) as DeleteSurvey
(<b>USER.GET_SURVEY_RESULT</b>\nПереглянути відповіді на опитування) as GetSurveyResult
(<b>USER.LOGIN</b>\nПройти ідентифікацію в системі) as LogIn
(<b>USER.LOGOUT</b>\nСкинути дані про ідентифікацію в системі) as LogOut
(<b>USER.MODIFY_SURVEY</b>\nРедагувати опитування) as ModifySurvey
(<b>USER.STAT_SURVEY</b>\nПереглянути властивості опитування) as StatSurvey
(<b>USER.TAKE_ANON_SURVEY</b>\nПройти анонімне опитування) as TakeAnonSurvey
(<b>USER.TAKE_NAMED_SURVEY</b>\nПройти поіменне опитування) as TakeNamedSurvey
Guest -u-> CreateAccount
Guest --> LogIn
Guest -r-> TakeAnonSurvey
AuthorisedUser -r-> ModifyAccount
AuthorisedUser -u-> DeleteAccount
AuthorisedUser -r-> CreateLink
AuthorisedUser -l-> DeleteLink
AuthorisedUser -u-> ModifyLink
AuthorisedUser -u-> LogOut
AuthorisedUser --> CreateSurvey
AuthorisedUser -u-> DeleteSurvey
AuthorisedUser --> StatSurvey
AuthorisedUser --> ModifySurvey
AuthorisedUser --> GetSurveyResult
AuthorisedUser -l-> TakeAnonSurvey
AuthorisedUser -d-> TakeNamedSurvey
@enduml
</center>
## Схеми використання для окремих діячів
Схема використання для гостя:
@startuml
:Гість: as Guest
(<b>ACCOUNT.CREATE</b>\nСтворити обліковий запис) as CreateAccount
(<b>USER.LOGIN</b>\nПройти ідентифікацію в системі) as LogIn
(<b>USER.TAKE_ANON_SURVEY</b>\nПройти анонімне опитування) as TakeAnonSurvey
Guest -u-> CreateAccount
Guest --> LogIn
Guest -r-> TakeAnonSurvey
@enduml
Схема використання для зареєстрованого користувача:
@startuml
:Зареєстрований користувач: as AuthorisedUser
(<b>ACCOUNT.DELETE</b>\nВидалити обліковий запис) as DeleteAccount
(<b>ACCOUNT.MODIFY</b>\nЗмінити властивості облікового запису) as ModifyAccount
(<b>USER.CREATE_SURVEY</b>\nСтворити опитування) as CreateSurvey
(<b>USER.DELETE_SURVEY</b>\nВидалити опитування) as DeleteSurvey
(<b>USER.GET_SURVEY_RESULT</b>\nПереглянути відповіді на опитування) as GetSurveyResult
(<b>USER.LOGOUT</b>\nСкинути дані про ідентифікацію в системі) as LogOut
(<b>USER.MODIFY_SURVEY</b>\nРедагувати опитування) as ModifySurvey
(<b>USER.STAT_SURVEY</b>\nПереглянути властивості опитування) as StatSurvey
(<b>USER.TAKE_ANON_SURVEY</b>\nПройти анонімне опитування) as TakeAnonSurvey
(<b>USER.TAKE_NAMED_SURVEY</b>\nПройти поіменне опитування) as TakeNamedSurvey
(<b>SURVEY.LINK.CREATE</b>\nСтворити посилання на опитування) as CreateLink
(<b>SURVEY.LINK.DELETE</b>\nВидалити посилання на опитування) as DeleteLink
(<b>SURVEY.LINK.MODIFY</b>\nЗмінити властивості посилання на опитування) as ModifyLink
AuthorisedUser -r-> ModifyAccount
AuthorisedUser -u-> DeleteAccount
AuthorisedUser -r-> CreateLink
AuthorisedUser -l-> DeleteLink
AuthorisedUser -u-> ModifyLink
AuthorisedUser -u-> LogOut
AuthorisedUser -d-> CreateSurvey
AuthorisedUser -u-> DeleteSurvey
AuthorisedUser --> StatSurvey
AuthorisedUser -d-> ModifySurvey
AuthorisedUser --> GetSurveyResult
AuthorisedUser -l-> TakeAnonSurvey
AuthorisedUser -d-> TakeNamedSurvey
@enduml
## Сценарії використання
### Для гостя
| ID | ACCOUNT.CREATE |
|:-----------------:|:------------------------------------------------------------------------------------------------------:|
| Назва | Створити обліковий запис |
| Учасники | Користувач, система |
| Передумови | Відсутні |
| Результат | Обліковий запис користувача |
| Виключні ситуації | 001.001 Користувач ввів заборонені символи в поле псевдоніму<br>001.002 Ідентичний псевдонім вже існує |
@startuml
|Користувач|
start
: Вводить бажаний псевдонім у поле вводу псевдоніму;
: Вводить пароль у поле вводу паролю;
: Натискає на кнопку створення облікового запису;
|Система|
: Створює обліковий запис користувача;
note right #lightpink
<b>Можливі 001.001, 001.002</b>
end note
|Користувач|
stop
@enduml
| ID | USER.LOGIN |
|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Пройти ідентифікацію в системі |
| Учасники | Користувач, система |
| Передумови | Користувач має обліковий запис |
| Результат | Користувач ідентифікований в системі |
| Виключні ситуації | 001.001 Користувач ввів заборонені символи в поле псевдоніму<br>001.003 Користувач ввів псевдонім, якого не існує в системі<br>001.004 Користувач ввів неправильний пароль до облікового запису |
@startuml
|Користувач|
start
: Вводить псевдонім у поле вводу псевдоніму;
: Вводить пароль у поле вводу паролю;
: Натискає кнопку ідентифікації;
|Система|
: Ідентифікує користувача;
note right #lightpink
<b>Можливі 001.001, 001.003, 001.004</b>
end note
|Користувач|
stop
@enduml
| ID | USER.TAKE_ANON_SURVEY |
|:-----------------:|:------------------------------------:|
| Назва | Пройти анонімне опитування |
| Учасники | Користувач, система |
| Передумови | Відсутні |
| Результат | Запис відповідей на опитування |
| Виключні ситуації | 001.006 Запитане опитування не існує |
@startuml
|Користувач|
start
: Переходить на сторінку проходження опитування;
|Система|
: Виводить перелік запитань опитування;
note right #lightpink
<b>Можлива 001.006</b>
end note
|Користувач|
: Вводить відповіді на запитання;
: Натискає кнопку надсилання відповідей;
|Система|
: Записує відповіді на опитування;
note right #lightpink
<b>Можлива 001.006</b>
end note
: Виводить прощальне повідомлення;
|Користувач|
stop
@enduml
### Для зареєстрованого користувача
| ID | ACCOUNT.DELETE |
|:-----------------:|:-----------------------------------------:|
| Назва | Видалити обліковий запис |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі |
| Результат | Відсутність облікового запису користувача |
| Виключні ситуації | 001.005 Користувач не ідентифікований |
@startuml
|Користувач|
start
: Натискає на кнопку видалення облікового запису;
|Система|
: Виводить кнопку-запит на підтвердження видалення облікового запису;
|Користувач|
: Натискає на кнопку підтвердження видалення облікового запису;
|Система|
: Видаляє обліковий запис;
note right #lightpink
<b>Можлива 001.005</b>
end note
|Користувач|
stop
@enduml
| ID | ACCOUNT.MODIFY |
|:-----------------:|:-------------------------------------:|
| Назва | Змінити властивості облікового запису |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі |
| Результат | Зміна властивостей облікового запису |
| Виключні ситуації | 001.005 Користувач не ідентифікований |
@startuml
|Користувач|
start
: Натискає на кнопку редагування облікового запису;
|Система|
: Виводить інтерфейс для редагування облікового запису;
note right #lightpink
<b>Можлива 001.005</b>
end note
|Користувач|
: Вказує бажані зміни властивостей облікового запису;
: Натискає на кнопку внесення змін до властивостей облікового запису;
|Система|
: Змінює властивості облікового запису;
|Користувач|
stop
@enduml
| ID | SURVEY.LINK.CREATE |
|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------:|
| Назва | Додати посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Нове посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування |
@startuml
|Користувач|
start
: Натискає кнопку створення посилання на опитування;
|Система|
: Виводить налаштування для нового посилання;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008</b>
end note
|Користувач|
: Вводить налаштування для нового посилання;
: Натискає на кнопку створення посилання;
|Система|
: Створює нове посилання;
|Користувач|
stop
@enduml
| ID | SURVEY.LINK.DELETE |
|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Видалити посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Видалення посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування<br>001.009 Запитане посилання на існує |
@startuml
|Користувач|
start
: Натискає кнопку видалення посилання;
|Система|
: Виводить кнопку підтвердження видалення посилання;
|Користувач|
: Натискає на кнопку підтвердження видалення посилання;
|Система|
: Видаляє посилання;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008, 001.009</b>
end note
|Користувач|
stop
@enduml
| ID | SURVEY.LINK.MODIFY |
|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Назва | Змінити властивості посилання на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач авторизований у системі |
| Результат | Зміна властивостей посилання на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування<br>001.009 Запитане посилання на існує |
@startuml
|Користувач|
start
: Натискає кнопку редагування властивостей посилання;
|Система|
: Виводить налаштування для обраного посилання;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008, 001.009</b>
end note
|Користувач|
: Вводить юажані зміни властивостей посилання;
: Натискає на кнопку збереження властиностей посилання;
|Система|
: Змінює властивості посилання;
|Користувач|
stop
@enduml
| ID | USER.CREATE_SURVEY |
|:-----------------:|:--------------------------------------------------------------------------------------------------------:|
| Назва | Створити опитування |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі |
| Результат | Створене опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.007 Користувач ввів неприпустимі символи в назві опитування |
@startuml
|Користувач|
start
: Переходить на сторінку створення опитування;
note right #lightpink
<b>Можлива 001.005</b>
end note
|Система|
: Виводить інтерфейс створення опитування;
|Користувач|
: Задає інформацію про запитання та тип опитування;
: Натискає кнопку збереження опитування;
|Система|
: Створює опитування;
note right #lightpink
<b>Можлива 001.007</b>
end note
: Виводить посилання на проходження опитування;
|Користувач|
stop
@enduml
| ID | USER.DELETE_SURVEY |
|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------:|
| Назва | Видалити опитування |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування |
| Результат | Відсутність опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування |
@startuml
|Користувач|
start
: Натискає на кнопку видалення опитування;
|Система|
: Виводить запит на підтвердження видалення опитування;
|Користувач|
: Натискає на кнопку підтвердження видалення опитування;
|Система|
: Видаляє опитування;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008</b>
end note
|Користувач|
stop
@enduml
| ID | USER.GET_SURVEY_RESULT |
|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------:|
| Назва | Переглянути відповіді на опитування |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування |
| Результат | Інформація про відповіді на опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування |
@startuml
|Користувач|
start
: Натискає на кнопку перегляду відповідей на опитування;
|Система|
: Виводить інформацію про відповіді на опитування;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008</b>
end note
|Користувач|
stop
@enduml
| ID | USER.LOGOUT |
|:-----------------:|:----------------------------------------:|
| Назва | Скинути дані про ідентифікацію в системі |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі |
| Результат | Користувач не ідентифікований в системі |
| Виключні ситуації | 001.005 Користувач не ідентифікований |
@startuml
|Користувач|
start
: Натискає на кнопку виходу з облікового запису;
|Система|
: Скидає інформацію про ідентифікацію користувача;
note right #lightpink
<b>Можлива 001.005</b>
end note
|Користувач|
stop
@enduml
| ID | USER.MODIFY_SURVEY |
|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------:|
| Назва | Редагувати опитування |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування |
| Результат | Змінене опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування |
@startuml
|Користувач|
start
: Переходить на сторінку редагування опитування;
|Система|
: Виводить інтерфейс редагування опитування;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008</b>
end note
|Користувач|
: Задає інформацію про зміни в опитуванні;
: Натискає кнопку збереження змін в опитуванні;
|Система|
: Змінює опитування;
|Користувач|
stop
@enduml
| ID | USER.STAT_SURVEY |
|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------:|
| Назва | Переглянути властивості опитування |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування |
| Результат | Інформація про властивості опитування |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує<br>001.008 Користувач не є власником опитування |
@startuml
|Користувач|
start
: Натискає на кнопку перегляду інформації про опитування;
|Система|
: Виводить інформацію про опитування;
note right #lightpink
<b>Можливі 001.005, 001.006, 001.008</b>
end note
|Користувач|
stop
@enduml
| ID | USER.TAKE_ANON_SURVEY |
|:-----------------:|:------------------------------------:|
| Назва | Пройти анонімне опитування |
| Учасники | Користувач, система |
| Передумови | Відсутні |
| Результат | Запис відповідей на опитування |
| Виключні ситуації | 001.006 Запитане опитування не існує |
@startuml
|Користувач|
start
: Переходить на сторінку проходження опитування;
|Система|
: Виводить перелік запитань опитування;
note right #lightpink
<b>Можлива 001.006</b>
end note
|Користувач|
: Вводить відповіді на запитання;
: Натискає кнопку надсилання відповідей;
|Система|
: Записує відповіді на опитування;
note right #lightpink
<b>Можлива 001.006</b>
end note
: Виводить прощальне повідомлення;
|Користувач|
stop
@enduml
| ID | USER.TAKE_NAMED_SURVEY |
|:-----------------:|:-----------------------------------------------------------------------------:|
| Назва | Пройти поіменне опитування |
| Учасники | Користувач, система |
| Передумови | Користувач ідентифікований в системі |
| Результат | Запис відповідей на опитування та відомості про користувача |
| Виключні ситуації | 001.005 Користувач не ідентифікований<br>001.006 Запитане опитування не існує |
@startuml
|Користувач|
start
: Переходить на сторінку проходження опитування;
|Система|
: Виводить перелік запитань опитування;
note right #lightpink
<b>Можливі 001.005, 001.006</b>
end note
|Користувач|
: Вводить відповіді на запитання;
: Натискає кнопку надсилання відповідей;
|Система|
: Записує відповіді на опитування та відомості про користувача;
note right #lightpink
<b>Можлива 001.006</b>
end note
: Виводить прощальне повідомлення;
|Користувач|
stop
@enduml