505 lines
32 KiB
Markdown
505 lines
32 KiB
Markdown
# Модель прецедентів
|
||
|
||
## Загальна схема
|
||
|
||
<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
|