esoe 3 years ago
parent
commit
f29c068375
  1. 67
      docs/anyreport.puml
  2. BIN
      out/docs/anyreport/anyreport.png

67
docs/anyreport.puml

@ -1,4 +1,4 @@
@startuml @startuml anyreport
!theme cerulean-outline !theme cerulean-outline
package moodle-report{ package moodle-report{
' сборка приложения ' сборка приложения
@ -27,6 +27,7 @@ package moodle-report{
+ clearTags() : void + clearTags() : void
} }
TagControls --> TagPane TagControls --> TagPane
class AccessControls{ class AccessControls{
+ connect(Base base, JPanel pane) : void + connect(Base base, JPanel pane) : void
+ disconnect(Base base, JPanel pane) : void + disconnect(Base base, JPanel pane) : void
@ -37,20 +38,31 @@ package moodle-report{
class ReportControls{ class ReportControls{
- path : String - path : String
+ getTableReport() : void + getTableReport() : void
+ getJsonReport() : void + getXLSXReport() : void
+ getTextReport() : void + getTextReport() : void
} }
ReportControls --> ReportTextModel ReportControls --> ReportPane
ReportControls --> ReportXLSXModel
ReportControls --> ReportTableModel
'модель данных для текстового отчета 'модель данных для текстового отчета
class ReportTextModel{} class ReportTextModel{
'количество пройденных тестов
'список пройденных тестов
'количество пользователей в выборке
'количество уникальных пользователей
}
ReportTextModel --> ReportControls
'модель данных для отчета xlsx 'модель данных для отчета xlsx
class ReportXLSXModel{} class ReportXLSXModel{
- path : String
+ ReportXLSXModel(Data data) : void
+ setPath() : void
+ getPath() : String
+ CreateXLSXReport() : void
}
ReportXLSXModel --> ReportControls
'модель данных для отображения в gui 'модель данных для отображения в gui
class ReportTableModel{} class ReportTableModel{}
ReportTableModel --> ReportPane ReportTableModel --> ReportControls
/' /'
получение данных из базы данных получение данных из базы данных
@ -71,21 +83,33 @@ package moodle-report{
' хранение и представление данных ' хранение и представление данных
class Data{ class Data{
- userlist : ArrayList<User> - userlist : UserListModel
- 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 --> ReportTextModel
Data --> TagControls Data --> ReportXLSXModel
Data --> ReportTableModel
/'формирование перечня пользователей
- на основании тегов
- на основании исходных перечней (из файла)
'/
class UserListModel{
- userlist : ArrayList<User>
+ getUsers() : ArrayList<User>
+ setUsersByTag(TagModel tags) : void
+ setUsersFromFile(File file) : void
}
UserListModel --> Data
class User{ class User{
- id : int - id : int
- login : String - login : String
- mail : String - mail : String
} }
User --> Data User --> UserListModel
class Result{ class Result{
- id : int - id : int
- quizid : int - quizid : int
@ -94,15 +118,26 @@ package moodle-report{
- time : Long - time : Long
} }
Result --> Data Result --> Data
class Quiz{ class Quiz{
- id : int - id : int
- name : String - name : String
} }
Quiz --> Data Quiz --> Data
class TagModel{
+ addTag(String tag) : void
+ removeTag(String tag) : void
}
TagModel --> TagControls
TagModel --> UserListModel
class Tag{ class Tag{
- tag : String - tag : String
+ getTag() : String
+ setTag(String tag) : void
} }
Tag --> Data Tag --> TagModel
} }
@enduml @enduml

BIN
out/docs/anyreport/anyreport.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Loading…
Cancel
Save