2024-04-23 20:25:38 +03:00
# Модель прецедентів
## Загальна схема
< 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
2024-04-23 22:16:08 +03:00
(< b > ACCOUNT.CREATE</ b > \nС тво р ити обліковий запис) as CreateAccount
(< 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.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
2024-04-23 20:25:38 +03:00
Guest -u-> CreateAccount
Guest --> LogIn
Guest -r-> TakeAnonSurvey
AuthorisedUser -r-> ModifyAccount
AuthorisedUser -u-> DeleteAccount
AuthorisedUser -u-> LogOut
AuthorisedUser --> CreateSurvey
AuthorisedUser -u-> DeleteSurvey
AuthorisedUser --> StatSurvey
AuthorisedUser --> ModifySurvey
AuthorisedUser --> GetSurveyResult
AuthorisedUser -l-> TakeAnonSurvey
AuthorisedUser -d-> TakeNamedSurvey
@enduml
2024-04-28 15:14:36 +03:00
< / 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
AuthorisedUser -r-> ModifyAccount
AuthorisedUser -u-> DeleteAccount
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 | 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