You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
5.2 KiB
165 lines
5.2 KiB
@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 #Green |
|
usecase "/positions" as positions #Green |
|
usecase "/accounts" as accounts #Green |
|
usecase "/targets" as targets #Green |
|
usecase "/courses" as courses #Green |
|
usecase "/schemes" as schemes #Green |
|
usecase "/themes" as themes #Green |
|
usecase "/questions" as questions #Green |
|
usecase "/answers" as answers #Green |
|
usecase "/quizes" as quizes #Green |
|
usecase "/results" as results #Green |
|
' } |
|
|
|
organization <.. organizations |
|
position <.. positions |
|
code35 <.. accounts |
|
targets <.. target |
|
task <.. targets |
|
status <.. results |
|
resultsView <.. results |
|
|
|
quizes <.. testCreate |
|
target <.. testCreate |
|
|
|
quizes <.. questions |
|
quizes <.. answers |
|
|
|
courses <.. themes |
|
courses <.. schemes |
|
|
|
targets <.. positions |
|
positions <.. organizations |
|
targets <.. courses |
|
|
|
|
|
|
|
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 |