Повторение материала и проверка знаний работников по направлениям деятельности
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

@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