forked from hasslesstech/edu-dis-labs
		
	Модель прецедентів
Загальна схема
@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>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 -u-> LogOut
AuthorisedUser --> CreateSurvey
AuthorisedUser -u-> DeleteSurvey
AuthorisedUser --> StatSurvey
AuthorisedUser --> ModifySurvey
AuthorisedUser --> GetSurveyResult
AuthorisedUser -l-> TakeAnonSurvey
AuthorisedUser -d-> TakeNamedSurvey
@enduml
Схеми використання для окремих діячів
Схема використання для гостя:
@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 Користувач ввів заборонені символи в поле псевдоніму 001.002 Ідентичний псевдонім вже існує  | 
| @startuml | |
| Користувач | |
| start | |
| : Вводить бажаний псевдонім у поле вводу псевдоніму; | |
| : Вводить пароль у поле вводу паролю; | |
| : Натискає на кнопку створення облікового запису; | |
| Система | |
| : Створює обліковий запис користувача; | |
| note right #lightpink | |
| Можливі 001.001, 001.002 | |
| end note | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.LOGIN | 
|---|---|
| Назва | Пройти ідентифікацію в системі | 
| Учасники | Користувач, система | 
| Передумови | Користувач має обліковий запис | 
| Результат | Користувач ідентифікований в системі | 
| Виключні ситуації | 001.001 Користувач ввів заборонені символи в поле псевдоніму 001.003 Користувач ввів псевдонім, якого не існує в системі 001.004 Користувач ввів неправильний пароль до облікового запису  | 
| @startuml | |
| Користувач | |
| start | |
| : Вводить псевдонім у поле вводу псевдоніму; | |
| : Вводить пароль у поле вводу паролю; | |
| : Натискає кнопку ідентифікації; | |
| Система | |
| : Ідентифікує користувача; | |
| note right #lightpink | |
| Можливі 001.001, 001.003, 001.004 | |
| end note | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.TAKE_ANON_SURVEY | 
|---|---|
| Назва | Пройти анонімне опитування | 
| Учасники | Користувач, система | 
| Передумови | Відсутні | 
| Результат | Запис відповідей на опитування | 
| Виключні ситуації | 001.006 Запитане опитування не існує | 
| @startuml | |
| Користувач | |
| start | |
| : Переходить на сторінку проходження опитування; | |
| Система | |
| : Виводить перелік запитань опитування; | |
| note right #lightpink | |
| Можлива 001.006 | |
| end note | |
| Користувач | |
| : Вводить відповіді на запитання; | |
| : Натискає кнопку надсилання відповідей; | |
| Система | |
| : Записує відповіді на опитування; | |
| note right #lightpink | |
| Можлива 001.006 | |
| end note | |
| : Виводить прощальне повідомлення; | |
| Користувач | |
| stop | |
| @enduml | 
Для зареєстрованого користувача
| ID | ACCOUNT.DELETE | 
|---|---|
| Назва | Видалити обліковий запис | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі | 
| Результат | Відсутність облікового запису користувача | 
| Виключні ситуації | 001.005 Користувач не ідентифікований | 
| @startuml | |
| Користувач | |
| start | |
| : Натискає на кнопку видалення облікового запису; | |
| Система | |
| : Виводить кнопку-запит на підтвердження видалення облікового запису; | |
| Користувач | |
| : Натискає на кнопку підтвердження видалення облікового запису; | |
| Система | |
| : Видаляє обліковий запис; | |
| note right #lightpink | |
| Можлива 001.005 | |
| end note | |
| Користувач | |
| stop | |
| @enduml | 
| ID | ACCOUNT.MODIFY | 
|---|---|
| Назва | Змінити властивості облікового запису | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі | 
| Результат | Зміна властивостей облікового запису | 
| Виключні ситуації | 001.005 Користувач не ідентифікований | 
| @startuml | |
| Користувач | |
| start | |
| : Натискає на кнопку редагування облікового запису; | |
| Система | |
| : Виводить інтерфейс для редагування облікового запису; | |
| note right #lightpink | |
| Можлива 001.005 | |
| end note | |
| Користувач | |
| : Вказує бажані зміни властивостей облікового запису; | |
| : Натискає на кнопку внесення змін до властивостей облікового запису; | |
| Система | |
| : Змінює властивості облікового запису; | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.CREATE_SURVEY | 
|---|---|
| Назва | Створити опитування | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі | 
| Результат | Створене опитування | 
| Виключні ситуації | 001.005 Користувач не ідентифікований 001.007 Користувач ввів неприпустимі символи в назві опитування  | 
| @startuml | |
| Користувач | |
| start | |
| : Переходить на сторінку створення опитування; | |
| note right #lightpink | |
| Можлива 001.005 | |
| end note | |
| Система | |
| : Виводить інтерфейс створення опитування; | |
| Користувач | |
| : Задає інформацію про запитання та тип опитування; | |
| : Натискає кнопку збереження опитування; | |
| Система | |
| : Створює опитування; | |
| note right #lightpink | |
| Можлива 001.007 | |
| end note | |
| : Виводить посилання на проходження опитування; | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.DELETE_SURVEY | 
|---|---|
| Назва | Видалити опитування | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | 
| Результат | Відсутність опитування | 
| Виключні ситуації | 001.005 Користувач не ідентифікований 001.006 Запитане опитування не існує 001.008 Користувач не є власником опитування  | 
| @startuml | |
| Користувач | |
| start | |
| : Натискає на кнопку видалення опитування; | |
| Система | |
| : Виводить запит на підтвердження видалення опитування; | |
| Користувач | |
| : Натискає на кнопку підтвердження видалення опитування; | |
| Система | |
| : Видаляє опитування; | |
| note right #lightpink | |
| Можливі 001.005, 001.006, 001.008 | |
| end note | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.GET_SURVEY_RESULT | 
|---|---|
| Назва | Переглянути відповіді на опитування | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | 
| Результат | Інформація про відповіді на опитування | 
| Виключні ситуації | 001.005 Користувач не ідентифікований 001.006 Запитане опитування не існує 001.008 Користувач не є власником опитування  | 
| @startuml | |
| Користувач | |
| start | |
| : Натискає на кнопку перегляду відповідей на опитування; | |
| Система | |
| : Виводить інформацію про відповіді на опитування; | |
| note right #lightpink | |
| Можливі 001.005, 001.006, 001.008 | |
| end note | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.LOGOUT | 
|---|---|
| Назва | Скинути дані про ідентифікацію в системі | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі | 
| Результат | Користувач не ідентифікований в системі | 
| Виключні ситуації | 001.005 Користувач не ідентифікований | 
| @startuml | |
| Користувач | |
| start | |
| : Натискає на кнопку виходу з облікового запису; | |
| Система | |
| : Скидає інформацію про ідентифікацію користувача; | |
| note right #lightpink | |
| Можлива 001.005 | |
| end note | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.MODIFY_SURVEY | 
|---|---|
| Назва | Редагувати опитування | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | 
| Результат | Змінене опитування | 
| Виключні ситуації | 001.005 Користувач не ідентифікований 001.006 Запитане опитування не існує 001.008 Користувач не є власником опитування  | 
| @startuml | |
| Користувач | |
| start | |
| : Переходить на сторінку редагування опитування; | |
| Система | |
| : Виводить інтерфейс редагування опитування; | |
| note right #lightpink | |
| Можливі 001.005, 001.006, 001.008 | |
| end note | |
| Користувач | |
| : Задає інформацію про зміни в опитуванні; | |
| : Натискає кнопку збереження змін в опитуванні; | |
| Система | |
| : Змінює опитування; | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.STAT_SURVEY | 
|---|---|
| Назва | Переглянути властивості опитування | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | 
| Результат | Інформація про властивості опитування | 
| Виключні ситуації | 001.005 Користувач не ідентифікований 001.006 Запитане опитування не існує 001.008 Користувач не є власником опитування  | 
| @startuml | |
| Користувач | |
| start | |
| : Натискає на кнопку перегляду інформації про опитування; | |
| Система | |
| : Виводить інформацію про опитування; | |
| note right #lightpink | |
| Можливі 001.005, 001.006, 001.008 | |
| end note | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.TAKE_ANON_SURVEY | 
|---|---|
| Назва | Пройти анонімне опитування | 
| Учасники | Користувач, система | 
| Передумови | Відсутні | 
| Результат | Запис відповідей на опитування | 
| Виключні ситуації | 001.006 Запитане опитування не існує | 
| @startuml | |
| Користувач | |
| start | |
| : Переходить на сторінку проходження опитування; | |
| Система | |
| : Виводить перелік запитань опитування; | |
| note right #lightpink | |
| Можлива 001.006 | |
| end note | |
| Користувач | |
| : Вводить відповіді на запитання; | |
| : Натискає кнопку надсилання відповідей; | |
| Система | |
| : Записує відповіді на опитування; | |
| note right #lightpink | |
| Можлива 001.006 | |
| end note | |
| : Виводить прощальне повідомлення; | |
| Користувач | |
| stop | |
| @enduml | 
| ID | USER.TAKE_NAMED_SURVEY | 
|---|---|
| Назва | Пройти поіменне опитування | 
| Учасники | Користувач, система | 
| Передумови | Користувач ідентифікований в системі | 
| Результат | Запис відповідей на опитування та відомості про користувача | 
| Виключні ситуації | 001.005 Користувач не ідентифікований 001.006 Запитане опитування не існує  | 
| @startuml | |
| Користувач | |
| start | |
| : Переходить на сторінку проходження опитування; | |
| Система | |
| : Виводить перелік запитань опитування; | |
| note right #lightpink | |
| Можливі 001.005, 001.006 | |
| end note | |
| Користувач | |
| : Вводить відповіді на запитання; | |
| : Натискає кнопку надсилання відповідей; | |
| Система | |
| : Записує відповіді на опитування та відомості про користувача; | |
| note right #lightpink | |
| Можлива 001.006 | |
| end note | |
| : Виводить прощальне повідомлення; | |
| Користувач | |
| stop | |
| @enduml |