UML 06 DiagrammeClasses
UML (Diagramme de classes) Unified Modeling Language Sommaire or 12 Sni* to View Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d’une classe Association (Nom, rôles) Association réflexive Navigabilité d’une association Contraintes sur association Qualificateur d’une association Classe associative Types d’association (Agrégation, composition, généralisation / www. freewebs. om/fresma (Définition) Le diagramme de classes est un diagramme entités-associations décrivant les différentes classes, leur structure et les associations statiques les unissant ?? Le diagramme de classes est un diagramme structurel ne présentant que les classes et pas les instances de classe • Il permet de décrire la structure interne des classes en terme d’attributs et d’opérations • Il permet de représenter les associations statiques entre les classes, mais ne décrit pas comment les liens effectifs entre les instances sont effectués wvftv. freewebs. om/fresma 6 Exemple Client souscrit possède CompteCourant 12 classe « Métier Compte « Sécurité login :: Code secret code Créditer() Débiter() • Le nom de la classe est préfixé par un nom de paquetage i la classe est externe au paquetage courant Compte chèque • Le nom d’une classe abstraite est donné en Italique Na de compte Attribut de la classe (Définition et notation) 19 Une opération est un service que propose une classe sur son interface L’opération possède un nom pas forcément unique dans la classe On peut associer à l’opération ses arguments son type de retour Notation « Stéréotype » Nom paquetage Nom classe nomopérationl (nomArg1 : TypeArg1 = valeurParDéfaut1, . ) • typeRetour1 nomOpérationN (nomArgN : TypeArgN = valeurParDéfautN, : typeRetourN 15 Opération de la classe Recommandations pour trouver les opérations • Ne donner les informations sur les arguments et le type de retour qu’en phase de Co 2 les uns avec les autres • Ces liens entre objets se traduisent au niveau des classes par des associations • une association traduit donc une relation structurelle statique entre deux ou plusieurs classes Association Abstraction Chien Personne âge pedigree age nationalité courir() aboyer() se promener() crier() wwwfreewebs. om/fresma PAGF s 9 rôles n’est pas obligataire, mais il s’avère indispensable si deux objets sont reliés par plusieurs ssociations ou si une association est réflexive 24 • une association peut mettre en jeux deux classes distinctes • Mais, elle peut aussi apparaître sur une seule et même classe Dans précis, l’association dite réfl exive achète Voiture Exemple d’association classique Vit en couple avec PAGF 19 personne est employée par une seule société Un client achète zéro à plusieurs voitures une voiture peut être achetée par un client au plus 27 Multiplicités de l’association La multiplicité est une spécification respectant les conventions suivantes : : un et un seul (notation facultative) : zéro ou un exactement N (N: entier naturel) 7 2 maximum 6 pilotes peuvent être dans les points Ces 6 pilotes sont classés à Farrivée 31 Contraintes d’exclusion sur association • Ce type de contrainte permet de modéliser le cas où pour une instance donnée d’une classe, une seule association prise parmi plusieurs possibles, peut être valide à un instant donné Société employé (Ou – exclusif} employeur Une personne peut être soit employée par une société, soit d’une société Mais une personne ne peut pas être à la fois employeur et employé 32 9 compte bancaire appartient à une et une seule personne wv ». reewebs. om/fresma 35 • Une association peut être matérialisée par une classe dans une des circonstances suivantes • – si l’association est porteuse d’attributs – si l’associatlon se matérialise par un objet concret dans le monde réel – si l’association est de multiplicité M N • Une classe associative est une classe à part entière • Elle est modélisée par un lien en pointillé allant de la classe vers l’association concernée Classe A Classe B Classe associatlve 36 composant peut appartenir simultanément à plusieurs agrégats Le cycle de vie des composants n’est pas tributaire de celui de ‘agrégat étudie Université Une personne peut étudier dans aucune à plusieurs universités une université peut accueillir de une à plusieurs personnes 39 Composition Une composition est une agrégation à part entière La composition est représentée par un losange noir du côté de Le composant ne peut pas appartenir simultanément à plusieurs agrégats (multiplicité 1 ou 0.. 1 côté agrégat) Le cycle de vie des composants est tributaire de celui de l’agrégat Si la multiplicité est 0.. 1 côté agrégat, le composant peut ne pas être associé à l’agrégat imméd une fois l’association