Browse Source

class-diagram

master
esoe 2 years ago
parent
commit
b1e545dade
  1. 93
      docs/anyreport.puml

93
docs/anyreport.puml

@ -2,26 +2,55 @@
!theme cerulean-outline !theme cerulean-outline
package moodle-report{ package moodle-report{
' сборка приложения ' сборка приложения
class App{} class App{
' разметка приложения - accessPane : AccessPane
class ColumnPane{} - tagPane : TagPane
ColumnPane --> App - reportPane : ReportPane
class ControlPane{} }
ControlPane --> ColumnPane 'панель подключения к базе данных
class AccessPane{} class AccessPane{}
AccessPane --> ColumnPane AccessPane --> App
'панель управления тегами для формирования выборки пользователей
class TagPane{} class TagPane{}
TagPane --> ColumnPane TagPane --> App
'панель отображения отчета по выборке
class ReportPane{} class ReportPane{}
ReportPane -->ColumnPane ReportPane -->App
/'методы обработки действий пользователя
клики мыши, нажатия клавишь, итд.
'/
class TagControls{
+ enterPressed() : void
+ addTag() : void
+ removeTag() : void
+ clearTags() : void
}
TagControls --> TagPane
class AccessControls{
+ connect(Base base, JPanel pane) : void
+ disconnect(Base base, JPanel pane) : void
}
AccessControls --> AccessPane
'Пользователь попросил сохранить отчет в файл
'Указывает путь куда сохранить
class ReportControls{
- path : String
+ getTableReport() : void
+ getJsonReport() : void
+ getTextReport() : void
}
ReportControls --> ReportTextModel
ReportControls --> ReportXLSXModel
ReportControls --> ReportTableModel
'модель данных для текстового отчета
class ReportTextModel{} class ReportTextModel{}
'модель данных для отчета xlsx
class ReportXLSXModel{} class ReportXLSXModel{}
'модель данных для отображения в gui
class ReportTableModel{} class ReportTableModel{}
ReportTableModel --> ReportPane ReportTableModel --> ReportPane
class ReportModel{}
ReportModel --> ReportTextModel
ReportModel --> ReportXLSXModel
ReportModel --> ReportTableModel
/' /'
получение данных из базы данных получение данных из базы данных
@ -32,26 +61,48 @@ package moodle-report{
- login : String - login : String
- password : Array<Char> - password : Array<Char>
- url : String - url : String
+ setConnection(Connection connaction) : void
+ getConnaction() : Connaction
+ connect() : bolean
+ disconnect() : void
} }
Base --> Data Base --> Data
Base --> AccessPane Base --> AccessControls
' хранение и представление данных ' хранение и представление данных
class Data{ class Data{
- userlist : ArrayList<User> - userlist : ArrayList<User>
- results : ArrayList<Result> - results : ArrayList<Result>
- quizes : ArrayList<Quiz> - quizes : ArrayList<Quiz>
- tags : ArrayList<Tag>
+ addTag(String tag) : void
+ removeTag(String tag) : void
}
Data --> ReportControls
Data --> TagControls
class User{
- id : int
- login : String
- mail : String
} }
Data --> ReportModel
class User{}
User --> Data User --> Data
class Result{} class Result{
- id : int
- quizid : int
- userid : int
- grade : double
- time : Long
}
Result --> Data Result --> Data
class Quiz{} class Quiz{
- id : int
- name : String
}
Quiz --> Data Quiz --> Data
class Tag{} class Tag{
- tag : String
}
Tag --> Data Tag --> Data
Tag --> TagPane
} }
@enduml @enduml
Loading…
Cancel
Save