|
|
@ -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 |