[PDF] 1 QCM (35 points) - par Jacques LAFORGUE
[PDF] UML et les Bases de Données
[PDF] Diagrammes de classes
[PDF] Vers une Solution Intégrée de Gestion de la Scolarité des
[PDF] Le diagramme d'Ostwald
[PDF] Uml 2_Contexte - Free
[PDF] Cours 1 - Conception architecturale 1pdf
[PDF] Analyse, Conception Objet Diagrammes de déploiement
[PDF] Graphiques en R - Département de mathématiques et de statistique
[PDF] PROJET DE FIN D'ETUDES PROCEDE DE FABRICATION DE LA
[PDF] Annexe 4 : Les étapes de la fabrication du pain par le boulanger
[PDF] Diagrammes de fabrication - pfeda
[PDF] FABRICATION DU YAOURT À LA FERME
[PDF] Evaluation des caractéristiques d'un test diagnostique - L'UNF3S en
[PDF] Hiérarchisation des risques de la théorie à la pratique - Afgris
UML
Cours 3
Diagrammes de classesPolytech Paris-Sud
Formation initiale 3e année
Spécialité Informatique
Année 2016-2017
Delphine Longuetdelphine.longuet@lri.fr
D. Longuet - UML2Objets et classes
Conception orientée objet : Représentation du système comme un ensemble d'objets interagissant
Diagramme de classes
Représentation de la structure interne du logiciel Utilisé surtout en conception mais peut être utilisé en analyse
Diagramme d'objets
Représentation de l'état du logiciel (objets + relations) Diagramme évoluant avec l'exécution du logiciel - création et suppression d'objets - modiification de l'état des objets (valeurs des atributs) - modiification des relations entre objets
D. Longuet - UML3Objets et classes
Objet Entité concrète ou abstraite du domaine d'application
Décrit par : identité (adresse mémoire)
+ état (attributs) + comportement (opérations)
MonLivretA : Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro = 123456 devise = EUR solde = 3509,43nom de l'objet attributs opérationsétat (valeur des attributs)
D. Longuet - UML4Objets et classes
Classe : Regroupement d'objets de même nature (mêmes attributs + mêmes opérations)
Objet = instance d'une classe
MonLivretA : Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro = 123456 devise = EUR solde = 3509,43nom de la classe attributs opérationsCompte déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloatMonCompteJoint : Compte déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro = 854126 devise = EUR solde = 2215,03
MonCompteSuisse : Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro = 70054568 devise = CHF solde = 121000instances de
D. Longuet - UML5Classes
Attributs
Caractéristique partagée par tous les objets de la classe
Associe à chaque objet une valeur
Type associé simple (int, bool...), primitif (Date) ou énuméré
Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat" enumeration »
Devise
EUR GBP USD
CHFtype énuméré
(pas une classe) attributs
D. Longuet - UML6Classes
Attributs
Caractéristique partagée par tous les objets de la classe
Associe à chaque objet une valeur
Type associé simple (int, bool...), primitif (Date) ou énuméré
Valeur des attributs : État de l'objet
Objets diffférents (identités diffférentes) peuvent avoir mêmes attributs
Jean1 : Personne
nom = "Dupont" prénom = "Jean" naissance = 10/07/1985Jean2 : Personne nom = "Dupont" prénom = "Jean" naissance = 10/07/1985≠ (mémoire)
D. Longuet - UML7Classes
Opérations
Service qui peut être demandé à tout objet de la classe Comportement commun à tous les objets de la classe Ne pas confondre avec une méthode = implantation de l'opération
Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise opérations
D. Longuet - UML8Relations entre objets
MonLivretA : Compte
numéro = 123456 devise = EUR solde = 3509,43JeanDupont : Personne nom = "Dupont" prénom = "Jean" adresse = "Montrouge" naissance = 20/08/1990Lien entre objets relation binaire (en général) au plus un lien entre deux objets (pour une association) possède lien
D. Longuet - UML9Relations entre objets
MonLivretA : Compte
numéro = 123456 devise = EUR solde = 3509,43MonCompteJoint : Compte numéro = 854126 devise = EUR solde = 2215,03
MonCompteSuisse : Compte
numéro = 70054568 devise = CHF solde = 121000MarieDupont : Personne nom = "Dupont" prénom = "Marie" adresse = "Montrouge" naissance = 4/12/1992 sesComptespossèdepossède possèdepossèdeLien entre objets relation binaire (en général) au plus un lien entre deux objets (pour une association)
JeanDupont : Personne
nom = "Dupont" prénom = "Jean" adresse = "Montrouge" naissance = 20/08/1990
D. Longuet - UML10Relations entre objets
MonLivretA : Compte
numéro = 123456 devise = EUR solde = 3509,43MonCompteJoint : Compte numéro = 854126 devise = EUR solde = 2215,03
MonCompteSuisse : Compte
numéro = 70054568 devise = CHF solde = 121000JeanDupont : PersonneMarieDupont : PersonnesesPropriétairesLien entre objets relation binaire (en général) au plus un lien entre deux objets (pour une association) possèdepossède possèdepossèdenom = "Dupont" prénom = "Marie" adresse = "Montrouge" naissance = 4/12/1992 nom = "Dupont" prénom = "Jean" adresse = "Montrouge" naissance = 20/08/1990
D. Longuet - UML11Relations entre classes
rôle nom de l'association (optionnel)multiplicitéAssociation entre classes : Relation binaire (en général) Rôle : Nomme l'extrémité d'une association, permet d'accéder aux objets liés par l'association à un objet donné Multiplicité : Contraint le nombre d'objets liés par l'association
Lien = instance d'associationPersonne
nom : string prénom : string adresse : string naissance : DateCompte déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat ouvrirCompte(init : lfloat)sesComptessesPropriétaires *1..2possède
D. Longuet - UML12Attribut et association
Rappel : Types des attributs simple, primitif ou énuméré En particulier, pas d'attribut dont le type est une classe du diagramme
Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat propriétaire : Personne
D. Longuet - UML13Attribut et association
Rappel : Types des attributs simple, primitif ou énuméré En particulier, pas d'attribut dont le type est une classe du diagramme
Mais association vers cette classe
Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloatPersonne nom : string prénom : string adresse : string naissance : Date ouvrirCompte(init : lfloat)sesComptessonPropriétaire *1possède
D. Longuet - UML14Multiplicités
ABnNombre d'objets de la classe B associés à un objet de la classe A n,m,p n..m n..* *1 *0..1
1..*En pratique
Exactement 1
Au plus 1 (0 ou 1)
Au moins 1 (jamais 0)
0 ou plusExactement n
Exactement n ou m ou p
Entre n et m
Au moins n
Plusieurs (0 ou plus)AB
AB AB ABAB AB AB AB
D. Longuet - UML15Hiérarchie de classes
Principe : Regrouper les classes partageant des attributs et des opérations et les organiser en arborescence Spécialisation : raiÌifiÌinement d'une classe en une sous-classe Généralisation : abstraction d'un ensemble de classes en super-classe
CompteCourant
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat découvertAutorisé : lfloat fraisDécouvert : lfloatCompteÉpargne numéro : int devise : Devise solde : lfloat plafond : lfloat taux : lfloat déposer (montant : lfloat) retirer(montant : lfloat) solde() : lfloat calculerIntérêts() : lfloat
D. Longuet - UML16Hiérarchie de classes
Principe : Regrouper les classes partageant des attributs et des opérations et les organiser en arborescence Spécialisation : raiÌifiÌinement d'une classe en une sous-classe Généralisation : abstraction d'un ensemble de classes en super-classe
Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat
CompteCourant
découvertAutorisé : lfloat fraisDécouvert : lfloatCompteÉpargne plafond : lfloat taux : lfloat calculerIntérêts() : lfloatspécialisationgénéralisation sous-classessuper-classe
D. Longuet - UML17Hiérarchie de classes
Principe : Regrouper les classes partageant des attributs et des opérations et les organiser en arborescence Héritage : Construction d'une classe à partir d'une classe plus haute dans la hiérarchie (partage des attributs, opérations, contraintes...)
Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat
CompteCourant
découvertAutorisé : lfloat fraisDécouvert : lfloatCompteÉpargne plafond : lfloat taux : lfloat calculerIntérêts() : lfloatclasses héritant de la classe Compte
D. Longuet - UML18Hiérarchie de classes
CC:CompteCourant
numéro = 875421 devise = EUR solde = 1290,30 découvertAutorisé = -200,00 fraisDécouvert = 2,30
LivA:CompteÉpargne
numéro =094435 devise = EUR solde = 10542,00 plafond = 22950,00 taux = 0,75CompteCourant déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat découvertAutorisé : lfloat fraisDécouvert : lfloatCompteÉpargne numéro : int devise : Devise solde : lfloat plafond : lfloat taux : lfloat déposer (montant : lfloat) retirer(montant : lfloat) solde() : lfloat calculerIntérêts() : lfloatDiagramme de classesExemples d'objets
D. Longuet - UML19Hiérarchie de classes
Diagramme de classesExemples d'objets
Compte
déposer(montant : lfloat) retirer(montant : lfloat) solde() : lfloatnuméro : int devise : Devise solde : lfloat
CompteCourant
découvertAutorisé : lfloat fraisDécouvert : lfloatCompteÉpargne plafond : lfloat taux : lfloat calculerIntérêts() : lfloatCC:CompteCourant numéro = 875421 devise = EUR solde = 1290,30 découvertAutorisé = -200,00 fraisDécouvert = 2,30
LivA:CompteÉpargne
numéro =094435 devise = EURquotesdbs_dbs8.pdfusesText_14