diff --git a/Documents/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md b/Documents/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md new file mode 100644 index 00000000..6c463490 --- /dev/null +++ b/Documents/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md @@ -0,0 +1,190 @@ +[retour au README.md](../../../README.md) +[Retour aux Documents](../../README_DOCUMENTS.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +## Diagramme de classe + + +```plantuml +@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 +``` \ No newline at end of file diff --git a/Documents/Diagramme/README_DIAGRAMMES.md b/Documents/Diagramme/README_DIAGRAMMES.md index 6c9a8746..ae7c906e 100644 --- a/Documents/Diagramme/README_DIAGRAMMES.md +++ b/Documents/Diagramme/README_DIAGRAMMES.md @@ -9,6 +9,7 @@ - [issue023 - User Gateway ](DiagrammeDeClasses/README_issue023.md) - [issue028 - Importation de fichiers .fit](DiagrammeDeClasses/README_issue028.md) - [couche d'accès aux données](DiagrammeDeClasses/README_accesDonnees.md) +- [Diagramme général](DiagrammeDeClasses/README_DIAGRAMME.md) ## Diagrammes de séquence - [Envoi de demande d'ami](DiagrammeDeSequence/README_demandeAmi.md) diff --git a/Sources/src/data/model/Observable.php b/Sources/src/data/model/Observable.php index a3aa3d0e..6cc478e6 100644 --- a/Sources/src/data/model/Observable.php +++ b/Sources/src/data/model/Observable.php @@ -21,4 +21,5 @@ abstract class Observable { $observer->update($this); } } -} \ No newline at end of file +} +?> \ No newline at end of file diff --git a/Sources/src/data/model/Observer.php b/Sources/src/data/model/Observer.php index ca7c152d..0a6e6005 100644 --- a/Sources/src/data/model/Observer.php +++ b/Sources/src/data/model/Observer.php @@ -5,4 +5,5 @@ namespace Model; interface Observer { public function update(Observable $observable); -} \ No newline at end of file +} +?> \ No newline at end of file