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.
Web/Documents/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md

4.7 KiB

retour au README.md
Retour aux Documents
Retour au diagramme de classes

Diagramme de classe

@startuml
class User {
    - id: int
    - username: String
    - nom: string
    - prenom: string
    - email: string
    - motDePasse: string
    - sexe: string
    - taille: float
    - poids: float
    - dateNaissance: \DateTime
    - role: Role
    - notifications: array
    + getId(): int
    + getUsername(): string
    + setUsername(string $username): void
    + setId(int $id): void
    + getNom(): string
    + setNom(string $nom): void
    + getPrenom(): string
    + setPrenom(string $prenom): void
    + getEmail(): string
    + setEmail(string $email): void
    + getMotDePasse(): string
    + setMotDePasse(string $motDePasse): void
    + getSexe(): string
    + setSexe(string $sexe): void
    + getTaille(): float
    + setTaille(float $taille): void
    + getPoids(): float
    + setPoids(float $poids): void
    + getDateNaissance(): \DateTime
    + setDateNaissance(\DateTime $dateNaissance): void
    + getRole(): Role
    + setRole(Role $role): void
    + addNotification($notification): void
    + deleteNotification($index): void
    + isValidPassword(string $password): bool
    + __toString(): string
}
abstract class Role {
    - id: int
    - usersList: array
    - usersRequests: array
    - trainingList: array
    + getUsersList(): array
    + getUsersRequests(): array
    + addUsersRequests(RelationshipRequest $request): void
    + removeRequest(RelationshipRequest $req): bool
    + CheckAdd(User $user): bool
    + addUser(User $user): bool
    + removeUser(User $user): bool
    + addTraining(Training $training): bool
    + getTrainingsList(): array
}
class Coach extends Role {
}
class CoachAthlete extends Coach {
    + CheckAdd(User $user): bool
}
class Athlete extends Role {
    - statsList: array
    - activityList: array
    - dataSourcesList: array
    + getActivities(): array
    + addActivity(Activity $myActivity): bool
    + CheckAdd(User $user): bool
}
class Activite {
    - idActivity: int
    - type: String
    - date: \DateTime
    - heureDebut: \DateTime
    - heureFin: \DateTime
    - effortRessenti: int
    - variability: float
    - variance: float
    - standardDeviation: float
    - average: int
    - maximum: int
    - minimum: int
    - avrTemperature: float
    - hasAutoPause: bool
    + getIdActivity(): int
    + getType(): String
    + getDate(): \DateTime
    + getHeureDebut(): \DateTime
    + getHeureFin(): \DateTime
    + getEffortRessenti(): int
    + getVariability(): float
    + getVariance(): float
    + getStandardDeviation(): float
    + getAverage(): float
    + getMaximum(): int
    + getMinimum(): int
    + getAvrTemperature(): float
    + setType(String $type): void
    + setEffortRessenti(int $effortRessenti): void
    + __toString(): String
}
class Notifications {
    - type: string
    - message: string
    - toUserId: int
    + getType(): string
    + setType(string $type): void
    + getMessage(): string
    + setMessage(string $message): void
    + getToUserId(): int
    + setToUserId(int $toUserId): void
    + __construct(int $toUserId,string $type, string $message)
    + __toString(): string
}
class Entrainement {
    - idTraining: int
    - date: \DateTime
    - latitude: float
    - longitude: float
    - description: String
    - feedback: String
    + getId(): int
    + getDate(): \DateTime
    + getLocation(): String
    + getDescription(): String
    + getFeedback(): String
    + __toString(): String
}
class Statistique {
    - idStat: int
    - distanceTotale: float
    - poids: float
    - tempsTotal: time
    - FCmoyenne: int
    - FCmin: int
    - FCmax: int
    - cloriesBrulees: int
    + getIdStat(): int
    + getDistanceTotale(): float
    + getPoids(): float
    + getTempsTotal(): time
    + getFCmoyenne(): int
    + getFCmin(): int
    + getFCmax(): int
    + getCloriesBrulees(): int
    + __toString(): String
}
class SourceDonnees {
    - idSource: int
    - nom: String
    - type: String
    - precision: enum
    - dateDerniereUtilisation: \DateTime
    + getIdSource(): int
    + getNom(): String
    + getType(): String
    + getPrecision(): enum
    + getDateDerniereUtilisation(): \DateTime
    + __toString(): String
}
class RelationshipRequest {
    - id: int
    - fromUser: int
    - toUser: int
    - status: string
    + getId(): int
    + getFromUser(): int
    + getToUser(): int
    + getStatus(): string
    + __toString(): string
}
class Observable {
    - observers: array
    + attachObserver(Observer $observer): void
    + detachObserver(Observer $observer): void
    + notifyObservers(): void
}
class Observer {
    + update(Observable $observable): void
}
@enduml