@ -7,11 +7,22 @@ note top of admin : Администратор учебного центра (з
actor "Монитор" as monitor
actor "Монитор" as monitor
note top of monitor : Заказчик, проверяющий результаты обучений и тестирований
note top of monitor : Заказчик, проверяющий результаты обучений и тестирований
rectangle exam-service {
' rectangle exam-service {
usecase "Создание курса" as courseCreate
usecase "Создание курса" as courseCreate
usecase "Создание теста" as testCreate
usecase "Создание теста" as testCreate
usecase "Создание вопроса" as questionCreate
usecase "Создание ответа" as answerCreate
usecase "Создание темы" as themeCreate
usecase "Создание структуры курса" as schemeCreate
usecase "Оформление содержимого курса" as courseEdit
courseCreate <-- admin
courseCreate <-- admin
testCreate <-- admin
testCreate <-- admin
questionCreate <-- admin
answerCreate <-- admin
schemeCreate <-- admin
themeCreate <-- admin
courseEdit <-- admin
usecase "Назначение задания" as target
usecase "Назначение задания" as target
target <-- admin
target <-- admin
@ -20,19 +31,19 @@ rectangle exam-service {
monitor --> resultsView
monitor --> resultsView
usecase "Авторизация" as auth
usecase "Авторизация" as auth
rectangle "Авторизация" as examServiceAuth {
' rectangle "Авторизация" as examServiceAuth {
usecase "Внесение сведений об организации" as organization
usecase "Внесение сведений об организации" as organization
usecase "Внесение сведений о должности" as position
usecase "Внесение сведений о должности" as position
usecase "внесение кода действующей учетной записи" as code35
usecase "внесение кода действующей учетной записи" as code35
auth ..> organization
auth ..> organization
auth ..> position
auth ..> position
auth ..> code35
auth ..> code35
}
' }
usecase "Просмотр перечня доступных курсов" as task
usecase "Просмотр перечня доступных курсов" as task
usecase "Просмотр статусов о прохождении курса" as status
usecase "Просмотр статусов о прохождении курса" as status
usecase "Изучение контента курса" as learn
usecase "Изучение контента курса" as learn
rectangle "Обучение" as examServiceLearn {
' rectangle "Обучение" as examServiceLearn {
usecase "Просмотр текста" as text
usecase "Просмотр текста" as text
usecase "Скачивание документов" as doc
usecase "Скачивание документов" as doc
usecase "Просмотр изображений" as image
usecase "Просмотр изображений" as image
@ -42,14 +53,19 @@ rectangle exam-service {
learn ..> image
learn ..> image
learn ..> video
learn ..> video
text <.. courseCreate
' text <.. courseCreate
doc <.. courseCreate
' doc <.. courseCreate
image <.. courseCreate
' image <.. courseCreate
video <.. courseCreate
' video <.. courseCreate
}
' }
text <.. courseEdit
doc <.. courseEdit
image <.. courseEdit
video <.. courseEdit
usecase "Прохождение проверки знаний" as test
usecase "Прохождение проверки знаний" as test
rectangle "Проверка знаний" as examServiceTest {
' rectangle "Проверка знаний" as examServiceTest {
usecase "Просмотр вопросов и доступных ответов" as quiz
usecase "Просмотр вопросов и доступных ответов" as quiz
usecase "Выбор ответов" as answer
usecase "Выбор ответов" as answer
usecase "Отправка ответов в базу" as postAttampt
usecase "Отправка ответов в базу" as postAttampt
@ -57,10 +73,10 @@ rectangle exam-service {
test ..> answer
test ..> answer
test ..> postAttampt
test ..> postAttampt
quiz <.. testCreate
' quiz <.. testCreate
answer <.. testCreate
' answer <.. testCreate
postAttampt <.. testCreate
' postAttampt <.. testCreate
}
' }
user --> auth
user --> auth
user --> task
user --> task
@ -69,17 +85,70 @@ rectangle exam-service {
user --> status
user --> status
monitor --> status
monitor --> status
examServiceTest <.. target
usecase "Актуализация перечня организаций" as organizationsActuator
examServiceLearn <.. target
usecase "Актуализация перечня должностей" as positionsActuator
target <-- organizationsActuator
target <-- positionsActuator
organizationsActuator <-- admin
positionsActuator <-- admin
rectangle "API" as api #Pink {
usecase "/organizations" as organizations
usecase "/positions" as positions
usecase "/accounts" as accounts
usecase "/targets" as targets
usecase "/courses" as courses
usecase "/schemes" as schemes
usecase "/themes" as themes
usecase "/questions" as questions
usecase "/answers" as answers
usecase "/quizes" as quizes
usecase "/results" as results
}
organization <.. organizations
position <.. positions
code35 <.. accounts
targets <.. target
task <.. targets
status <.. results
resultsView <.. results
quizes <.. testCreate
target <.. testCreate
}
target <.. courseCreate
courses <.. courseCreate
themes <.. themeCreate
schemes <.. schemeCreate
quiz <.. quizes
questions <.. questionCreate
answers <.. answerCreate
status <.. accounts
' results <.. accounts
' targets <-- courses
organizations <.. organizationsActuator
positions <.. positionsActuator
' }
@enduml
@enduml