You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.8 KiB
115 lines
2.8 KiB
'''plantuml
|
|
|
|
@startuml IEP
|
|
|
|
hide circle
|
|
allowmixing
|
|
skinparam classAttributeIconSize 9
|
|
skinparam classBackgroundColor #123123
|
|
skinparam classBorderColor #fff
|
|
skinparam classArrowColor #123123
|
|
skinparam classFontColor #white
|
|
skinparam classFontName arial
|
|
skinparam BackgroundColor #white
|
|
|
|
namespace Model #lightgrey{
|
|
abstract Class AbsModel{
|
|
- gtw : AbsGateway
|
|
- role : string
|
|
+ connection() : void
|
|
+ deconnection() : void
|
|
}
|
|
|
|
abstract Class User {
|
|
- id : int
|
|
- password : string
|
|
- email : string
|
|
- name : string
|
|
- surname : string
|
|
- nickname : string
|
|
- image : string
|
|
- extraTime : bool
|
|
- group : int
|
|
|
|
+ User(id : int, password : string, email : string, string name, string surname, string nickname, string image, bool extraTime, int group)
|
|
}
|
|
|
|
Class StudentModel {
|
|
+ action() : void
|
|
}
|
|
|
|
AbsModel *--> Gateway.AbsGateway
|
|
AbsModel <|-- StudentModel
|
|
|
|
}
|
|
|
|
|
|
namespace Controller #lightgray{
|
|
Class studentController {
|
|
- attribut
|
|
+ fct() : void
|
|
}
|
|
}
|
|
|
|
|
|
namespace Config #lightgray{
|
|
Class Connection {
|
|
- stmt
|
|
+ executeQuery(query : string, parameters : array) : bool
|
|
+ getResult() : array
|
|
}
|
|
}
|
|
|
|
namespace Gateway #lightgray{
|
|
|
|
abstract Class AbsGateway {
|
|
# con : Connection
|
|
+ {abstract} add(parameters: array) : int
|
|
+ {abstract} remove(id: int) : void
|
|
+ {abstract} findAll() : array
|
|
+ {abstract} findById(id: int)
|
|
}
|
|
|
|
class GroupGateway {
|
|
+ findByNum (num: string): array
|
|
+ modifyGroupById (id: int, num: int, year: int, sector: string): void
|
|
}
|
|
|
|
class TranslationGateway {
|
|
- addWord(word: string): void
|
|
+ findByIdVoc(id: int): array
|
|
}
|
|
|
|
Class VocabularyListGateway {
|
|
+ findByName(name: string): array
|
|
+ modifVocabListById(id: int, name: string, img: string, aut: string): void
|
|
+ findByGroup(id: int): array
|
|
}
|
|
|
|
Class UserGateway {
|
|
- getRoles(id: int): array
|
|
|
|
+ findAllAdmins(): array
|
|
+ findAllTeachers(): array
|
|
+ findAllStudents(): array
|
|
+ findUserByEmail(email: string): User
|
|
+ findUserByName(name: string): array
|
|
+ findUserBySurname(surname: string): array
|
|
+ findUserByNickname(nickname: string): array
|
|
+ findUsersByGroup(id: int): array
|
|
+ modifyPassword(id: int, newPassword: string): void
|
|
+ modifyNickname(id: int, newNickname: string): void
|
|
+ modifyImage(id: int, newImage: string): void
|
|
+ modifyGroup(id: int, newGroup: int=Null): void
|
|
+ findUnassignedUsers(): array
|
|
}
|
|
|
|
|
|
AbsGateway <|-- TranslationGateway
|
|
AbsGateway <|-- UserGateway
|
|
AbsGateway <|-- VocabularyListGateway
|
|
AbsGateway <|-- GroupGateway
|
|
}
|
|
|
|
@enduml
|