esoe
3 years ago
2 changed files with 143 additions and 0 deletions
@ -0,0 +1,139 @@ |
|||||||
|
@startuml anyreport |
||||||
|
!theme cerulean-outline |
||||||
|
package moodle-anyreport{ |
||||||
|
' сборка приложения |
||||||
|
class App{ |
||||||
|
- accessPane : AccessPane |
||||||
|
- tagPane : TagPane |
||||||
|
- reportPane : ReportPane |
||||||
|
} |
||||||
|
'панель подключения к базе данных |
||||||
|
class AccessPane{} |
||||||
|
AccessPane --> App |
||||||
|
'панель управления тегами для формирования выборки пользователей |
||||||
|
class TagPane{} |
||||||
|
TagPane --> App |
||||||
|
'панель отображения отчета по выборке |
||||||
|
class ReportPane{} |
||||||
|
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 |
||||||
|
+ getXLSXReport() : void |
||||||
|
+ getTextReport() : void |
||||||
|
} |
||||||
|
ReportControls --> ReportPane |
||||||
|
|
||||||
|
'модель данных для текстового отчета |
||||||
|
class ReportTextModel{ |
||||||
|
'количество пройденных тестов |
||||||
|
'список пройденных тестов |
||||||
|
'количество пользователей в выборке |
||||||
|
'количество уникальных пользователей |
||||||
|
} |
||||||
|
ReportTextModel --> ReportControls |
||||||
|
'модель данных для отчета xlsx |
||||||
|
class ReportXLSXModel{ |
||||||
|
- path : String |
||||||
|
+ ReportXLSXModel(Data data) : void |
||||||
|
+ setPath() : void |
||||||
|
+ getPath() : String |
||||||
|
+ CreateXLSXReport() : void |
||||||
|
} |
||||||
|
ReportXLSXModel --> ReportControls |
||||||
|
'модель данных для отображения в gui |
||||||
|
class ReportTableModel{} |
||||||
|
ReportTableModel --> ReportControls |
||||||
|
|
||||||
|
/' |
||||||
|
получение данных из базы данных |
||||||
|
доступ к базе данных |
||||||
|
'/ |
||||||
|
class Base{ |
||||||
|
- connection : Connection |
||||||
|
- login : String |
||||||
|
- password : Array<Char> |
||||||
|
- url : String |
||||||
|
+ setConnection(Connection connaction) : void |
||||||
|
+ getConnaction() : Connaction |
||||||
|
+ connect() : bolean |
||||||
|
+ disconnect() : void |
||||||
|
} |
||||||
|
Base --> Data |
||||||
|
Base --> AccessControls |
||||||
|
|
||||||
|
' хранение и представление данных |
||||||
|
class Data{ |
||||||
|
- userlist : UserListModel |
||||||
|
- results : ArrayList<Result> |
||||||
|
- quizes : ArrayList<Quiz> |
||||||
|
} |
||||||
|
Data --> ReportTextModel |
||||||
|
Data --> ReportXLSXModel |
||||||
|
Data --> ReportTableModel |
||||||
|
|
||||||
|
/'формирование перечня пользователей |
||||||
|
- на основании тегов |
||||||
|
- на основании исходных перечней (из файла) |
||||||
|
'/ |
||||||
|
class UserListModel{ |
||||||
|
- userlist : ArrayList<User> |
||||||
|
+ getUsers() : ArrayList<User> |
||||||
|
+ setUsersByTag(TagModel tags) : void |
||||||
|
+ setUsersFromFile(File file) : void |
||||||
|
} |
||||||
|
UserListModel --> Data |
||||||
|
|
||||||
|
class User{ |
||||||
|
- id : int |
||||||
|
- login : String |
||||||
|
- mail : String |
||||||
|
} |
||||||
|
User --> UserListModel |
||||||
|
|
||||||
|
class Result{ |
||||||
|
- id : int |
||||||
|
- quizid : int |
||||||
|
- userid : int |
||||||
|
- grade : double |
||||||
|
- time : Long |
||||||
|
} |
||||||
|
Result --> Data |
||||||
|
|
||||||
|
class Quiz{ |
||||||
|
- id : int |
||||||
|
- name : String |
||||||
|
} |
||||||
|
Quiz --> Data |
||||||
|
|
||||||
|
class TagModel{ |
||||||
|
- tags : ArrayList<String> |
||||||
|
+ setTags(ArrayList<String> tags) : void |
||||||
|
+ getTags() : ArrayList<String> |
||||||
|
+ addTag(String tag) : void |
||||||
|
+ removeTag(String tag) : void |
||||||
|
} |
||||||
|
TagModel --> TagControls |
||||||
|
TagModel --> UserListModel |
||||||
|
} |
||||||
|
|
||||||
|
@enduml |
Loading…
Reference in new issue