INFO-H-302 TP2 : Class Diagrams
Transcription
INFO-H-302 TP2 : Class Diagrams
INFO-H-302 TP2 : Class Diagrams Analyse et Conception par Objets 1 Diagramme de Classe • Représente : concepts, propriétés, relations • Classe : prototype des objets • Objet : instance de Classe • Modèle statique • Notation UML 2 Client Name Birthday Street Address 1 * Account amount Checking Savings 3 Notation ≠ Modèle • Modèle conceptuel • Design Class Diagram • Schéma de Bases de données 4 Client 1 * Account Name Birthday Street Address 5 public class Account { Client client; } public class Client { String name; Date birthday; String streetAddress; List<Accounts> accounts; } Client 1 * Account Name Birthday Street Address 6 cID cName cBirthDay cStreetAddress aID cID 1 2 Fred Serge 3/4/1983 18/12/1981 23, rue de la montagne qui monte 281, Av. de la couronne Client 1 * 1 1 2 2 3 1 Account Name Birthday Street Address 7 Classes 8 Nom 9 Nom attribut1 : type attribut2 : type 10 Nom attribut1 : type attribut2 : type méthode1(params) : type_retour méthode2(params) : type_retour 11 Attributs, Méthodes • Nom • Visibilité : +public, #protected, -private • Pour les méthodes : • Paramètres • Valeur de retour 12 Visibilité • Java : • Python : tout public 13 Méthodes Client 1 * Account -name : String -birthday : Date -streetAddress : Address -accountNumber : String -openingDate : Date #amount : Decimal +getAccounts() : List<Account> +transfer(toAccount) : boolean +deposit(amount:Decimal) +withdrawal(amount:Decimal) 14 Relations 15 Relations Classes • Généralisation • Réalisation 16 Généralisation • Relation “étend” • Hérite : • Attributs • Méthodes • Associations Account Checking Savings 17 Réalisation Collection getElement(int i) iterator() List Array 18 Relations Instances • Association • Multiplicités • Direction • Agrégation • Composition 19 Multiplicités Client Étudiant 1 * Account 1..* * Cours 1..* 1 Professeur 20 Direction GameWindow GameBoard 21 Composition, Agrégation • Composition : Cours cardinalité = 1 1 * Étudiant * * Série_TP • Agrégation : association tout - partie • Composition : agrégation forte, cycles de vie liés 22 Conceptuel vs Design • Modèle conceptuel • Modélise la réalité, pas l’application • Optionnel : méthodes, direction, visibilité • Modèle design • Signature complète des méthodes • Correspondance stricte modèle - code 23