Browse Source

схемы

master
esoe 3 weeks ago
parent
commit
441587fc32
  1. 92
      docs/classes.puml
  2. 109
      docs/states.puml
  3. BIN
      out/docs/states/states.png

92
docs/classes.puml

@ -0,0 +1,92 @@ @@ -0,0 +1,92 @@
@startuml
package models {
' сущность Организация
class Organization {
- id : Long
- name: String
--
getters
setters
}
' сущость Должность
class Position {
- id : Long
- name : String
- organization : Organization
--
getters
setters
}
' сущность Аккаунт
class Account {
- id : Long
- code35 : String
- position : Position
- attampt : List<Attampt>
--
getters
setters
}
' сущность Попытки входа
class Attampt {
- id : Long
- sessionId : String
--
getters
setters
}
}
package repository {
interface RemoteRepository{
- client : WebClient
--
+ organizationsPage() Page<Organization>
+ organizationsList() List<Organization>
+ positions() List<Position>
+ positions(Organization org) Page<Position>
}
class RemoteRepositoryImpl{
- client : WebClient
--
+ organizationsPage() Page<Organization>
+ organizationsList() List<Organization>
+ positions() List<Position>
+ positions(Organization org) Page<Position>
}
RemoteRepositoryImpl -> RemoteRepository
}
package controllers{
class MainframeController {
{static} log : Logger
- repo : RemoteRepository
--
+ getMainframe() : String
}
class AuthController {
{static} log : Logger
}
}
Position o-- Organization
Account o-- Position
Account o-- Attampt
MainframeController o-- RemoteRepository
AuthController o-- RemoteRepository
@enduml

109
docs/states.puml

@ -0,0 +1,109 @@ @@ -0,0 +1,109 @@
@startuml
title "exam.main : диаграмма состояний (state)\n {структура графического интерфейса платформы}"
left to right direction
[*] --> mainframe : exam-main (localhost:100)
' mainframe
state "mainframe" as mainframe {
state "fragment: authorization" as authorization{
authorization: - поле для внесения кода попытки
authorization: - кнопка перехода к продолжению существующей попытки (курсу)
authorization: фрагмент может быть скрыт от пользователя, если хотим исключить \nвозможность входа по коду попытки
}
state "fragment: registration" as registration {
registration: - селект наименования организации
registration: - селект наименования должности
registration: - кнопка перехода к новой попытке (курсу)
}
state "fragment: hello" as hello {
hello : - Приветствие (*.md статический контент)
hello : - Коментарии для новых пользователей (*.md статический контент)
hello : - Пояснения по обработке персональных данных (*.md статический контент)
}
state "hidden: session active" as active
}
registration --> access : наименование организации и должность
authorization --> access : код попытки
active --> access : id текущей сессии
state "Проверка доступа" as access {
access: проверка наличия кода попытки в базе
access: проверка наличия текущей сессии в базе
access: создание нового аккаунта
access: переход к аккаунту
access: переход к mainframe
}
access --> mainframe : запрошенный аккаунт отсутствует
access --> account : направление пользователя к запрошенному аккаунту
state "Назначенные курсы" as account {
account: - ID попытки
account: - перечень доступных курсов
account: - выход из id (сброс сессии)
state "fragment: courses" as courses {
courses: - перечень назначенных курсов
courses: - статус о завершении курса
courses: - переход к выбранному курсу
}
state "fragment: info" as info {
info: - Код попытки / пользователя
info: - Наименование организации
info: - Наименование должности
}
state "fragment: exit" as exit{
exit: - выйти из аккаунта (сбросить сессию)
}
}
exit --> mainframe : сброс сессии и возврат на главную страницу
state "Курс" as course {
state "fragment: content" as courseContent{
courseContent: статический контент *.md
courseContent: - img
courseContent: - video
courseContent: - links
courseContent: - text
courseContent: - docs
}
state "fragment: controls" as courseControls {
courseControls: переход к первому вопросу
courseControls: переход к аккаунту
}
state "hidden: Опрос" as quiz {
quiz: скрытая форма:
quiz: - скрытый список назначенных вопросов
quiz: - редирект на следующий вопрос
quiz: - если вопросы закончились, редирект на аккаунт
}
}
courses --> course : переход к изучению материалов
courseControls --> account : переход к списку доступных курсов (аккаунту)
courseControls --> question : запрос первого вопроса
quiz --> question : следющий вопрос
state "Вопос" as question {
question: тело вопроса
question: варианты ответа
question: переход к следующему вопросу
question: переход к главной странице опроса
question: переход к курсам
}
question --> quiz : запросить следующий вопрос, если есть
question --> course : продолжить изучение
' question --> account : выбрать другой курс
@enduml

BIN
out/docs/states/states.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Loading…
Cancel
Save