|
|
|
@startuml
|
|
|
|
left to right direction
|
|
|
|
actor "Пользователь" as user
|
|
|
|
note top of user : Основной пользователь приложения - обучаемый
|
|
|
|
actor "Администратор" as admin
|
|
|
|
note top of admin : Администратор учебного центра (загрузка контента)
|
|
|
|
actor "Монитор" as monitor
|
|
|
|
note top of monitor : Заказчик, проверяющий результаты обучений и тестирований
|
|
|
|
|
|
|
|
' rectangle exam-service {
|
|
|
|
usecase "Создание курса" as courseCreate
|
|
|
|
usecase "Создание теста" as testCreate
|
|
|
|
usecase "Создание вопроса" as questionCreate
|
|
|
|
usecase "Создание ответа" as answerCreate
|
|
|
|
usecase "Создание темы" as themeCreate
|
|
|
|
usecase "Создание структуры курса" as schemeCreate
|
|
|
|
usecase "Оформление содержимого курса" as courseEdit
|
|
|
|
|
|
|
|
courseCreate <-- admin
|
|
|
|
testCreate <-- admin
|
|
|
|
questionCreate <-- admin
|
|
|
|
answerCreate <-- admin
|
|
|
|
schemeCreate <-- admin
|
|
|
|
themeCreate <-- admin
|
|
|
|
courseEdit <-- admin
|
|
|
|
|
|
|
|
usecase "Назначение задания" as target
|
|
|
|
target <-- admin
|
|
|
|
|
|
|
|
usecase "Подробный просмотр результатов" as resultsView
|
|
|
|
monitor --> resultsView
|
|
|
|
|
|
|
|
usecase "Авторизация" as auth
|
|
|
|
' rectangle "Авторизация" as examServiceAuth {
|
|
|
|
usecase "Внесение сведений об организации" as organization
|
|
|
|
usecase "Внесение сведений о должности" as position
|
|
|
|
usecase "внесение кода действующей учетной записи" as code35
|
|
|
|
auth ..> organization
|
|
|
|
auth ..> position
|
|
|
|
auth ..> code35
|
|
|
|
' }
|
|
|
|
|
|
|
|
usecase "Просмотр перечня доступных курсов" as task
|
|
|
|
usecase "Просмотр статусов о прохождении курса" as status
|
|
|
|
usecase "Изучение контента курса" as learn
|
|
|
|
' rectangle "Обучение" as examServiceLearn {
|
|
|
|
usecase "Просмотр текста" as text
|
|
|
|
usecase "Скачивание документов" as doc
|
|
|
|
usecase "Просмотр изображений" as image
|
|
|
|
usecase "Просмотр видео" as video
|
|
|
|
learn ..> text
|
|
|
|
learn ..> doc
|
|
|
|
learn ..> image
|
|
|
|
learn ..> video
|
|
|
|
|
|
|
|
' text <.. courseCreate
|
|
|
|
' doc <.. courseCreate
|
|
|
|
' image <.. courseCreate
|
|
|
|
' video <.. courseCreate
|
|
|
|
' }
|
|
|
|
|
|
|
|
text <.. courseEdit
|
|
|
|
doc <.. courseEdit
|
|
|
|
image <.. courseEdit
|
|
|
|
video <.. courseEdit
|
|
|
|
|
|
|
|
usecase "Прохождение проверки знаний" as test
|
|
|
|
' rectangle "Проверка знаний" as examServiceTest {
|
|
|
|
usecase "Просмотр вопросов и доступных ответов" as quiz
|
|
|
|
usecase "Выбор ответов" as answer
|
|
|
|
usecase "Отправка ответов в базу" as postAttampt
|
|
|
|
test ..> quiz
|
|
|
|
test ..> answer
|
|
|
|
test ..> postAttampt
|
|
|
|
|
|
|
|
' quiz <.. testCreate
|
|
|
|
' answer <.. testCreate
|
|
|
|
' postAttampt <.. testCreate
|
|
|
|
' }
|
|
|
|
|
|
|
|
user --> auth
|
|
|
|
user --> task
|
|
|
|
user --> learn
|
|
|
|
user --> test
|
|
|
|
user --> status
|
|
|
|
monitor --> status
|
|
|
|
|
|
|
|
usecase "Актуализация перечня организаций" as organizationsActuator
|
|
|
|
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
|