Merge pull request 'лаб4: BE-модель' (#39) from shmuliar into master
Reviewed-on: hasslesstech/edu-dis-labs#39
This commit is contained in:
		
						commit
						577e565552
					
				@ -1,11 +1,6 @@
 | 
				
			|||||||
# Проєктування системи
 | 
					# Проєктування бази даних
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## BE модель
 | 
				
			||||||
Вбудовування зображень діаграм здійснюється з використанням сервісу [plantuml.com](https://plantuml.com/). 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
В markdown-файлі використовується опис діаграми
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```md
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
<center style="
 | 
					<center style="
 | 
				
			||||||
    border-radius:4px;
 | 
					    border-radius:4px;
 | 
				
			||||||
@ -16,67 +11,52 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
@startuml
 | 
					@startuml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
participant Client
 | 
					entity Account
 | 
				
			||||||
 | 
					entity Account.username <<TEXT>>
 | 
				
			||||||
 | 
					entity Account.password <<TEXT>>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
participant SR as "Service Registry"
 | 
					entity Survey
 | 
				
			||||||
 | 
					entity Survey.name <<TEXT>>
 | 
				
			||||||
 | 
					entity Survey.duration <<TEXT>>
 | 
				
			||||||
 | 
					entity Survey.isPaused <<BOOLEAN>>
 | 
				
			||||||
 | 
					entity Survey.isNamed <<BOOLEAN>>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
participant Service
 | 
					entity Question
 | 
				
			||||||
 | 
					entity Question.text <<TEXT>>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Service -> SR : register
 | 
					entity Responce
 | 
				
			||||||
SR -> SR
 | 
					entity Responce.value <<TEXT>>
 | 
				
			||||||
SR --> Service
 | 
					 | 
				
			||||||
...
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
SR -> Service: heartbeat
 | 
					entity Link
 | 
				
			||||||
SR <-- Service: health
 | 
					entity Link.usageLimit
 | 
				
			||||||
...
 | 
					entity Link.responceLimit
 | 
				
			||||||
 | 
					entity Link.uses
 | 
				
			||||||
 | 
					entity Link.responces
 | 
				
			||||||
 | 
					entity Link.path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Client -> SR: find
 | 
					Account.username --* Account
 | 
				
			||||||
Client <-- SR: service endpoint
 | 
					Account.password --* Account
 | 
				
			||||||
Client -> Service: request
 | 
					 | 
				
			||||||
Client <-- Service: response
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Survey.name --* Survey
 | 
				
			||||||
 | 
					Survey.duration --* Survey
 | 
				
			||||||
 | 
					Survey.isPaused --* Survey
 | 
				
			||||||
 | 
					Survey.isNamed --* Survey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Link.usageLimit -u-* Link
 | 
				
			||||||
 | 
					Link.responceLimit -u-* Link
 | 
				
			||||||
 | 
					Link.uses --* Link
 | 
				
			||||||
 | 
					Link.responces --* Link
 | 
				
			||||||
 | 
					Link.path -u-* Link
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@enduml
 | 
					Responce.value -u-* Responce
 | 
				
			||||||
 | 
					 | 
				
			||||||
</center>
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
яка буде відображена наступним чином
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @startuml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
participant Client
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
participant SR as "Service Registry"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
participant Service
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Service -> SR : register
 | 
					 | 
				
			||||||
SR -> SR
 | 
					 | 
				
			||||||
SR --> Service
 | 
					 | 
				
			||||||
...
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SR -> Service: heartbeat
 | 
					 | 
				
			||||||
SR <-- Service: health
 | 
					 | 
				
			||||||
...
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Client -> SR: find
 | 
					 | 
				
			||||||
Client <-- SR: service endpoint
 | 
					 | 
				
			||||||
Client -> Service: request
 | 
					 | 
				
			||||||
Client <-- Service: response
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Question.text -u-* Question
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Account "1,1" -- "0,*" Survey
 | 
				
			||||||
 | 
					Survey "1,1" -- "0,*" Question
 | 
				
			||||||
 | 
					Question "1,1" -r- "0,*" Responce
 | 
				
			||||||
 | 
					Account "0,1" -r- "0,*" Responce
 | 
				
			||||||
 | 
					Link "0,*" -- "1,1" Survey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@enduml
 | 
					@enduml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								utils/table-generator/use-cases/survey.link.create.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								utils/table-generator/use-cases/survey.link.create.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					Назва | Додати посилання на опитування
 | 
				
			||||||
 | 
					Учасники | Користувач, система
 | 
				
			||||||
 | 
					Передумови | Користувач авторизований у системі
 | 
				
			||||||
 | 
					Результат | Нове посилання на опитування
 | 
				
			||||||
 | 
					Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
				
			||||||
 | 
					                  | 001.006 Запитане опитування не існує
 | 
				
			||||||
 | 
					                  | 001.008 Користувач не є власником опитування
 | 
				
			||||||
 | 
					Основний сценарій | 1. Користувач натискає кнопку створення посилання на опитування
 | 
				
			||||||
 | 
					                  | 2. Система виводить налаштування для нового посилання (можливі 001.005, 001.006, 001.008)
 | 
				
			||||||
 | 
					                  | 3. Користувач вводить налаштування для нового посилання
 | 
				
			||||||
 | 
					                  | 4. Користувач натискає на кнопку створення посилання
 | 
				
			||||||
 | 
					                  | 5. Система створює нове посилання
 | 
				
			||||||
							
								
								
									
										12
									
								
								utils/table-generator/use-cases/survey.link.delete.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								utils/table-generator/use-cases/survey.link.delete.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					Назва | Видалити посилання на опитування
 | 
				
			||||||
 | 
					Учасники | Користувач, система
 | 
				
			||||||
 | 
					Передумови | Користувач авторизований у системі
 | 
				
			||||||
 | 
					Результат | Видалення посилання на опитування
 | 
				
			||||||
 | 
					Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
				
			||||||
 | 
					                  | 001.006 Запитане опитування не існує
 | 
				
			||||||
 | 
					                  | 001.008 Користувач не є власником опитування
 | 
				
			||||||
 | 
					                  | 001.009 Запитане посилання на існує
 | 
				
			||||||
 | 
					Основний сценарій | 1. Користувач натискає кнопку видалення посилання
 | 
				
			||||||
 | 
					                  | 2. Система виводить кнопку підтвердження видалення посилання
 | 
				
			||||||
 | 
					                  | 3. Користувач натискає на кнопку підтвердження видалення посилання
 | 
				
			||||||
 | 
					                  | 4. Система видаляє посилання (можливі 001.005, 001.006, 001.008, 001.009)
 | 
				
			||||||
							
								
								
									
										13
									
								
								utils/table-generator/use-cases/survey.link.modify.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								utils/table-generator/use-cases/survey.link.modify.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					Назва | Змінити властивості посилання на опитування
 | 
				
			||||||
 | 
					Учасники | Користувач, система
 | 
				
			||||||
 | 
					Передумови | Користувач авторизований у системі
 | 
				
			||||||
 | 
					Результат | Зміна властивостей посилання на опитування
 | 
				
			||||||
 | 
					Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
				
			||||||
 | 
					                  | 001.006 Запитане опитування не існує
 | 
				
			||||||
 | 
					                  | 001.008 Користувач не є власником опитування
 | 
				
			||||||
 | 
					                  | 001.009 Запитане посилання на існує
 | 
				
			||||||
 | 
					Основний сценарій | 1. Користувач натискає кнопку редагування властивостей посилання
 | 
				
			||||||
 | 
					                  | 2. Система виводить налаштування для обраного посилання (можливі 001.005, 001.006, 001.008, 001.009)
 | 
				
			||||||
 | 
					                  | 3. Користувач вводить юажані зміни властивостей посилання
 | 
				
			||||||
 | 
					                  | 4. Користувач натискає на кнопку збереження властиностей посилання
 | 
				
			||||||
 | 
					                  | 5. Система змінює властивості посилання
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user