# Diagramme de classe ```plantuml @startuml hide circle allowmixing skinparam classAttributeIconSize 0 skinparam classBackgroundColor #ffffb9 skinparam classBorderColor #800000 skinparam classArrowColor #800000 skinparam classFontColor #black skinparam classFontName Tahoma Class Bateau { + string NomRomanise + int PremierChap + int PremierEp + string Description + string Caracteristique + Bateau(string nom, string nomRomanise, int premierChap, int premierEp,\n string description, string caracteristique, string image) + Bateau(string nom, string nomRomanise, Equipage affiliation, int premierChap,\n int premierEp, string description, string caracteristique, string image) } Class Bestiaire { + string Origine + string Description + string Caracteristique + Bestiaire(string nom, string origine, string description,\n string caracteristiques, string image) } Class Equipage { + string NomRomanise + string Region + int PremierChap + int PremierEp + bool Statut + string Description + Equipage(string nom, string nomRomanise, string region, int premierChap,\n int premierEp, bool statut, string description, string image) } Class FruitDuDemon { + string NomRomanise + string Type + int PremierChap + int PremierEp + string Description + string Forces + string Faiblesses + FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp,\n string description, string forces, string faiblesses, string image) + FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description,\n string forces, string faiblesses, string image, List utilisateur) } Class Ile { + string NomRomanise + string Region + int PremierChap + int PremierEp + string Description + string Geographie + Ile(string nom, string nomRomanise, string region, int premierChap, \n int premierEp, string description, string geographie, string image) } Class Personnage { + double Prime + string Epithete + int Age + double Taille + string Origine + string Biographie + string Citation + Personnage(string nom , double prime, string epithete, int age, dobule taille,\n string origine, string biographie,string citation, string image) } Class ObjetOhara { + string Nom + string? Image ObjetOhara(string nom, string image) } Class XML_Serializer { + XML_Serializer() + void SetPersonnage(List listePerso) + void SetFDD(List listeFDD) + void SetBestiaire(List listeBest) + void SetEquipage(List listeEquip) + void SetIle(List listIle) + void SetBateau(List listeBateau) + IEnumerable GetBateaux() + IEnumerable GetBestiaires() + IEnumerable GetEquipages() + IEnumerable GetFruits() + IEnumerable GetIles() + IEnumerable GetPersonnages() } Interface IDataManager { IEnumerable GetBateaux() IEnumerable GetBestiaires() IEnumerable GetEquipages() IEnumerable GetFruits() IEnumerable GetIles() IEnumerable GetPersonnages() } Class Manager { + IDataManager DataManager + Manager() + List GetPersonnages() + List GetFruits() + List GetEquipages() + List GetBateaux() + List GetBestiaires() + List GetIles() + List FiltrerFDD(string type) + List RechercherFDD(string text, List listeFDD) + List GetFavoris() + void AddBateauFavoris(Bateau bateau) } Class StubManager { + StubPersonnage StubPersonnage + StubFruitDuDemon StubFruitDuDemon + StubEquipage StubEquipage + StubBateau StubBateau + StubBestiaire StubBestiaire + StubIle StubIle + StubManager() + IEnumerable GetPersonnages() + IEnumerable GetFruits() + IEnumerable GetEquipages() + IEnumerable GetBateaux() + IEnumerable GetBestiaires() + IEnumerable GetIles() } Class StubBateau { + IEnumerable RecupererBateau() } Class StubBestiaire { + IEnumerable RecupererBestiaire() } Class StubEquipage { + IEnumerable RecupererEquipage() } Class StubFruitDuDemon { + IEnumerable RecupererFruitDuDemon() } Class StubIle { + IEnumerable RecupererIle() } Class StubPersonnage { + IEnumerable RecupererPersonnage() } FruitDuDemon --> "+ Utilisateur" Personnage Personnage --> "+ Equipage" Equipage Personnage --> "+ Fruit" FruitDuDemon Bateau --> "+ Affiliation" Equipage Equipage --> "+ Capitaine" Personnage Equipage --> "+ Membre" Personnage Equipage --> "+ Allie" Equipage Ile --|> ObjetOhara FruitDuDemon --|> ObjetOhara Personnage --|> ObjetOhara Equipage --|> ObjetOhara Bateau --|> ObjetOhara Bestiaire --|> ObjetOhara StubManager --|> IDataManager XML_Serializer --|> IDataManager StubManager --> "+ StubIle" StubIle StubManager --> "+ StubFruitDuDemon" StubFruitDuDemon StubManager --> "+ StubPersonnage" StubPersonnage StubManager --> "+ StubEquipage" StubEquipage StubManager --> "+ StubBateau" StubBateau StubManager --> "+ StubBestiaire" StubBestiaire Manager --> "+ DataManager" IDataManager StubIle --> "+ ile" Ile StubFruitDuDemon --> "+ fdd" FruitDuDemon StubPersonnage --> "+ perso" Personnage StubEquipage --> "+ Lequipage" Equipage StubBateau --> "+ bateau" Bateau StubBestiaire --> "+ best" Bestiaire @enduml ``` # Description du diagramme de classe Ceci est le diagramme de classe de notre application Ohara. Il possède 7 classes : -Bateau -Bestiaire (qui représente toutes les différentes races dans l'univers de One Piece) -Equipage -Fruit du démon -Ile -Personnage -Objet Ohara (Regroupe le nom et l'image qui reviennent à chaque fois dans toutes les classes) Nous avons regroupé le nom et l'image dans une classe "Objet Ohara" dont toutes les autres classes hérite pour éviter la redondance. Il possède aussi 6 stubs + le stub manager : -StubBateau -StubBestiaire -StubEquipage -StubFruitDuDemon -StubIle -StubPersonnage -StubManager Les Stubs sont reliés à chacunes des classes auxquelles ils correspondent Il regroupe aussi : -le Manager -IDataManager -Serializer Ce diagramme de classe représente la structure de notre application. # Diagramme de paquetage ![logo](img/diagramme_paquetage.png) # Description du diagramme de paquetage Le diagramme de paquetage regroupe nos 4 solutions, le Model, le TestProject, le TestUnitaire et Ohara(vue). A l'intérieur du Model nous avons regroupé tous les fichiersdans différents dossier pour pouvoir améliorer la visibilité de notre projet et pour ne pas se perdre dans les fichiers. On peut retrouver les dossier suivants : -Classes : Ici retrouve toutes les classes de notre application, -Stub : Ici on retrouve tout ce qui est lié au Stub de notre application, -Managers : Ici on retrouve le IDataManager et le Manager, -Serializer : Ici on retrouve tout ce qui est lié par rapport à la serialization. Pour continuer dans notre vue il y a le dossier Ressources qui regroupe les dossiers Styles et Images. Dans le dossier Image on retrouve toutes les images concernant l'application (images de personnages, logo, diagramme de paquetage, etc...). Dans le dossier Styles on retrouve les Styles de notre application.