Cours BUT Info

TD/TP 3 — Diagramme de classes

Correction complète du TD/TP 3 : la méthode « une méthode par cas d'utilisation » appliquée aux deux cas d'étude — la plateforme de financement participatif et le SI de l'atelier, diagrammes corrigés et associations expliquées.

PowerAMC : modèle de diagramme de classes

Fichier → Nouveau modèle → Modèle Orienté Objet → Diagramme de classes → nommer. Le critère principal : le diagramme doit permettre d'implémenter les fonctionnalités identifiées dans le diagramme de cas d'utilisation. Il fait donc figurer :

  • pour chaque classe de données, ses attributs ;
  • pour la classe principale, ses opérations et ses attributs ;
  • des opérations dans les classes de données quand une fonctionnalité l'exige.

Ne pas faire figurer : constructeurs, getters et setters, ni la visibilité (PowerAMC impose d'en choisir une — prendre private). Pour les sujets du semestre, pas d'interfaces ni d'héritage : seuls les outils non rayés de la palette sont autorisés. Palette refermée par inadvertance : menu Outils → Personnaliser les barres d'outils → cocher Palette.

Éditer une association

Créée à la souris, une association sort navigable dans un sens avec des cardinalités 0..1 / 0..* par défaut — presque jamais adaptées. Double-clic sur l'association, onglet Détails : enlever les cardinalités inutiles, donner les noms de rôles, corriger la navigabilité.

Travail demandé

Capture d'écran sur Moodle avant la fin du TD/TP pour chacun :

  1. Plateforme de financement participatif — rouvrir le diagramme de cas d'utilisation rendu au TD/TP 1, puis faire le diagramme de classes.
  2. SI d'un atelier — rouvrir le diagramme de cas d'utilisation, puis le diagramme de classes en ignorant les fonctionnalités de connexion / authentification.

C'est exactement la méthode du cours : une méthode par cas d'utilisation dans la classe principale, et on enrichit le diagramme jusqu'à ce que chaque cas soit implémentable — ni plus, ni moins.

Corrigé 1 — Plateforme de financement participatif

On repart du diagramme de cas d'utilisation du TD/TP 1 (porteuse de projet, donatrice, administrateur, service bancaire). Comme au cours, on liste d'abord les fonctions principales — une par cas d'utilisation — et leurs données en entrée : c'est le squelette de la classe principale Plateforme.

Fonction (classe Plateforme)Données en entrée
soumettreProjettitre, description, montantCible, dateFin
validerProjetle projet proposé
rechercherProjetscritère (thème, statut…)
faireUnDonle projet, le montant, la contrepartie (optionnelle)
reverserDonle don, le projet destinataire
rembourserDonle don
consulterDonateursle projet

Puis on enrichit : soumettreProjet exige de stocker les projets → classe Projet avec son état de collecte ; faireUnDon exige de mémoriser chaque don et la contrepartie choisie → Don et Contrepartie ; reverserDon et rembourserDon exigent de retrouver les dons d'un projet en fin de collecte échouée → l'association Projet—Don et le statut.

PlateformesoumettreProjet(p : Projet)validerProjet(p : Projet)rechercherProjets(critère)faireUnDon(pr : Projet, m : double)reverserDon(d : Don, pr : Projet)rembourserDon(d : Don)consulterDonateurs(pr : Projet)Projettitre : Stringdescription : StringmontantCible : doublemontantCollecté : doubledateFin : Datestatut : StringDonmontant : doubledate : DatenuméroTransaction : StringDonatricenom : Stringprénom : StringadresseMail : StringContrepartiedescription : StringseuilDeMontant : doubleprojets 0..★reçoit 0..★émet 0..★choisie 0..1propose 1..★

Corrigé 2 — SI de l'atelier (FabLab)

Deuxième cas d'étude du TD/TP 1 (secrétaire, cliente, machines, facturation), en ignorant connexion et authentification comme le demande le sujet — donc aucun attribut identifiant / motDePasse au diagramme. La classe principale Atelier porte une méthode par cas d'utilisation :

Fonction (classe Atelier)Données en entrée
inscrireClientenom, prénom, adresse mail
reserverMachinesla cliente, la séquence de machines, la date, la tranche horaire, les fichiers
annulerReservationla réservation
éditerFacturesMensuelles— (déclenché en fin de mois)

Les réservations séquentielles de machines amènent Reservation, Machine et les fichiers de description ; la facturation mensuelle amène Facture.

AtelierinscrireCliente(données)reserverMachines(séquence)annulerReservation(r)éditerFacturesMensuelles()Clientenom : Stringprénom : StringadresseMail : StringReservationdate : DateheureDébut : intdurée : intstatut : StringMachinenom : Stringtype : StringFichierDescriptionnom : Stringformat : StringtempsNécessaire : intFacturemois : DatemontantTotal : doubleclientes 0..★reservations 0..★factures 0..★effectue 0..★concerne 1..★décrits 0..★destinataire 1


Sujet de DS 2022.pdf

R3.03 · Pour s'entraîner : la question 3 du DS 2022 demande le diagramme de classes de Sansouci

Consultation seule — téléchargement désactivé

Chargement du document…

Dernière mise à jour le

Sur cette page