UML Unified Modeling Language
Sommaire:Rappel des Pr requises Diagramme de cas dutilisationObjectif Dfinition Les interaction entre acteur et cas dutilisation Dpendance entre cas dutilisation
PaquetageObjectif Dfinition Types de Paquetage
Analyse de contexteObjectif
Diagramme de classe Objectif Dfinition Les attributs de de la classe Les opration de la classe les Association Les Contraintes Les Qualificateur Les diffrents types dassociation Le diagramme de squence Les catgories de message Dfinition
Rappel des Pr requise
UML est une notation
UML est un langage de modlisation objet UML est un langage de communication UML est un langage simple de haut niveau UML est un langage ouvert
UML nest pas une mthode
UML nest pas une mthode, ce nest quune notation
UML est indpendant de toute dmarche
Modlisation fonctionnellePrincipes & Dfinitions1/ Acteur : 1.1 Dfinition :un acteur reprsente un rle jou par une entit externe. Il peut tre Humain, ou non Humain (Dispositif matriel ou autre systme) Humain, Un Acteur peut consulter et/ou modifier directement ltat du systme, en systme, mettant et/ou recevant des messages susceptibles dtre porteurs de donnes. donnes.
Modlisation fonctionnelle1.2 Identification :Acteur Humain : toutes personnes qui intervienne dans le cas tudi Acteur Non Humain : Touts dispositifs ou systme susceptibles de participer au systme tudi
1.3 Reprsentation :On utilise licne appele en UML stick man avec le nom de lacteur sous le dessin. dessin. Pour les Acteurs non Humain on utilisera une forme rectangulaire avec le mot cl en haut ACTOR
Client
Modlisation fonctionnelle2/ Cas dUtilisation: (Use Case) 2.1 Dfinition :
Chaque cas dutilisation Reprsente un ensemble dactions qui sont ralises par le systme et qui produisent un rsultat observable intressant pour un acteur donne. donne.
2.2 Identification :Chaque cas dutilisation correspondant une fonction mtier du systme Lensemble des cas dutilisation doit dcrire les exigences fonctionnelles du systme.
Modlisation fonctionnelle2.3 Reprsentation :Le Diagramme de Cas dutilisation est un schma qui montre les cas dutilisation (ovales) relis par des associations(ligne) leurs acteurs (stick man ou reprsentations graphiques) On utilise licne appele
Acteur Humain
Modlisation fonctionnelle3/ Scnario: 3.1 Dfinition :Un scnario reprsente une succession particulire denchanements,sexcutant du denchanements,sexcutant dbut la fin du cas dutilisation, un enchanement tant lunit de description de squences dactions. dactions. un Cas dutilisation contient : Un scnario nominal Des scnarios alternatifs Des scnarios derreur
Diagramme de cas dutilisation
Cas dutilisation (Use Cases)ObjectifsDfinir les besoins fonctionnels du systme Dfinir le primtre fonctionnel du systme Dfinir le dialogue entre lutilisateur et le systme tablir les scnarios fonctionnels qui seront utiliss lors de la recette du systme Servir de support de rfrence tout au long des phases de dveloppement du systme
Cas dutilisation (Use Cases)
Dfinition
Un cas dutilisation est une squence dactivits ou dactions organises en tapes distinctes, et quun systme effectue en rponse une sollicitation extrieure
Il est dclench par un vnement extrieur Il possde un nom, celui de la fonctionnalit du systme quil prend en charge Il met en uvre un dialogue entre le systme et lacteur lorigine de lvnement initiateur Les Uses Cases peuvent tre organiss en paquetages (packages)
Diagramme de cas dutilisation (Notation)Le diagramme de cas dutilisation met en scne : les acteurs les cas dutilisation les interactions entre acteurs et cas dutilisation les dpendances entre cas dutilisation
NotationCas dutilisation 1
Acteur 1
Cas dutilisation 2
Acteur 2 Cas dutilisation 3
Interaction entre acteur et cas dutilisation Elle est reprsente par uneassociation sous la forme dun lien ventuellement orient dans le sens de linteraction Une seule association est utilise pour reprsenter lensemble des vnements changs Lassociation peut comporter des cardinalits1 1
Retirer argent
Client
1
Dposer argent
1
*Consulter compte
Banquier
Dpendances entre cas dutilisationIl existe 3 types de dpendances entre use cases :
Les dpendances dutilisation Les dpendances dextension Les dpendances de gnralisation
Dpendance dutilisation Indique quun casdutilisation utilise systmatiquement et intgralement une squence dactivits dcrite dans un autre cas dutilisation
Notation
include
Cas dutilisation 1
Authentifier carte include Cas dutilisation 2
Est reprsente par uneflche pointille tiquete include , pointant vers le cas dutilisation utilisActeur 1
Cas dutilisation 2
Le cas dutilisation 1 utilise systmatiquement le cas dutilisation 2
Dpendance dutilisationNotation
Le cas dutilisation sourcede la dpendance dutilisation contient une rfrence vers le cas dutilisation inclus
1. Etape 1 2. Etape2 3. Etape3 (include) 4.
Cas dutilisation 1
Linclusion est signale parle texte (include) ltape correspondanteActeur 1
Authentifier carte include Cas dutilisation 2 Cas dutilisation 2
Dpendance dutilisationRetirer argent
include Authentifier carte Cas dutilisation 2
Permet de dcomposerun cas dutilisation complexe en cas dutilisation plus simplesActeur 1 Client
include
Dposer Dposer argent argent
Permet de factoriser descomportements utiles plusieurs cas dutilisationClient
Retirer argent include include Authentifier carte
Dposer argent
Dpendance dextension Indique quun casdutilisation utilise facultativement ou sous certaines conditions une squence dactivits dcrite dans un autre cas dutilisation
Notation
Cas dutilisation 1
Cas dutilisation 2 extend
Cas dutilisation 2 Utilisateur
Est reprsente par uneflche pointille tiquete extend , pointant vers le cas dutilisation tenduLe cas dutilisation 2 est une extension du cas dutilisation 1
Dpendance dextension Le cas dutilisation tenducontient une liste de points dextension
Notation
Cas dutilisation 1
Points dextension : . point extension1 : emplacement1 . point extension2 : emplacement2 Cas dutilisation 2 extend
Un point dextension estcompos dun nom suivi dun numro dtape (emplacement)Utilisateur
Cas dutilisation 2
Le cas dutilisation quitend indique dans sa description sous quelles conditions il se dclenche
Condition de dclenchement Au point point extension1 : Etape1 Etape2
Dpendance dextension Permet dajouter uncas dutilisation un comportement exceptionnel complexe (hors cas nominal) Dtermine les conditions dapplication dun comportement alternatif au cas nominal Dporte la description dune exception significative dans un cas dutilisationRetirer argent include Points dextension : . Guichet vide : avant tape 1 . Carte invalide : avant tape 2 Authentifier carte Cas dutilisation 2 extend
Traiter authentification incorrecte Client
Si le code fourni est incorrect Au point Carte invalide : 1. Alerter le client 2. Redemander la saisie du code 3.
Dpendance dextension Un comportementexceptionnel complexe dun cas dutilisation doit tre dport dans un cas dutilisation avec une dpendance extend Un comportement exceptionnel simple doit tre explicit dans le paragraphe Exceptions de la description du cas dutilisationRetirer argent Points dextension : . Guichet vide : avant tape 1 . Carte invalide : avant tape 2
extend Traiter authentification incorrecte
Titre Rsum (une phrase) Acteurs Pr-conditions Scnario nominal Exceptions .Exceptions Post-conditions
Dpendance de gnralisation Indique quun casdutilisation est une spcialisation dun autre cas dutilisation
NotationCas dutilisation 1
include Authentifier carte Cas dutilisation 2
Est reprsente par uneflche dhritage pointant du cas dutilisation spcialis vers le cas dutilisation le plus gnralActeur 1 Cas dutilisation 2
Le cas dutilisation 2 est une spcialisation du cas dutilisation 1
Dpendance de gnralisation Permet de factoriser uncomportement commun un ensemble de cas dutilisation proches
Notation
include Retirer argent Authentifier carte Cas dutilisation 2
Le cas dutilisation le plusgnral est dit abstrait si seuls les cas dutilisation spcialiss sont excutablesUtilisateur Ouvrir compte
Retirer argent avec ticket
Ouvrir compte chque
Ouvrir compte pargne
Paquetage
ObjectifsDcomposer un systme complexe selon une organisation hirarchique Structurer un systme complexe selon une organisation modulaire Rpartir leffort de modlisation sur lensemble des acteurs impliqus dans la construction du systme Rpartir les tches de modlisation selon les comptences de chacun
Paquetage (Dfinition)Un paquetage est un regroupement dlments de modlisationUn paquetage permet de regrouper sous une mme appellation un ensemble dlments de modlisation UML tels que :
des classes, des composants, des collaborations, des cas dutilisation, des diagrammes de classes, de collaboration, de squence, de cas dutilisation, dautres paquetages
Paquetage Exemple
Gestion commerciale
import
Gestion utilisateurs
import import
Gestion produits
import
Gestion fournisseurs
Paquetages
Paquetages : interfaces
Paquetages : strotypes
Paquetages : strotypes
Analyse du contexte
Analyse du contexte
Identification des rles
Rles internes :
Utilisateurs du systme Partenaires du systme Systmes externes Un acteur dfinit un rle quune entit extrieure assume lors de son interaction avec le systme. Une personne physique peut assumer plusieurs rles, et rciproquement.
Rles externes :
Les acteurs
Analyse du contexte
Hirarchisation des acteurs
Employe
Gesti onnaire cdes
Comptable
Magasini er
Analyse du contexte
Diagramme du contexteAppel aussi diagramme de messages. Il permet de cadrer le primtre du systme, et didentifier les interfaces avec les autres systmes. Il donne une macro-dcomposition du systme. macro Cest aussi une reprsentation des messages communiqus entre les systmes en jeu, y compris les acteurs.
Analyse du contexte
Diagramme du contexte4: Rcepti on OL 1: Effectuer cde
Magasi nier 5: Edi ti on BL 6: Edi ti on facture
Cl i ent
7: Rcepti on moyen de paiement
Gestion des ventes
2: Rcepti on cde
3: Envoi m agasi n 8: Comptabi l i sation Comptabl e Gesti onnai re cdes
Systeme de gestion du stock
Systeme de comptabil i te
Analyse du contexte
Dcomposition du systme
Gesti onnai re cdes
M agasi ni er
com m andes
Cl i ent Li vrai son ventes cl i ents
i nterfaceCom ptabi l i te Com ptabl e
i nterfaceStock
System e de com ptabi l i te
System e de gesti on du stock
Diagramme de Classe
Le Diagramme de ClasseObjectifs
Dterminer les donnes qui seront manipules par le systme Ces donnes sont organises en classes Donner la structure statique de ces donnes Ce diagramme permet de dcrire la structure interne de chacune des classes Reprsenter les relations statiques existant entre les diffrentes donnes du systme La navigation parmi les classes est rendue possible par lexistence dassociations qui les unissent Poser les fondements stables rgissant la totalit de larchitecture du systme Ce modle est le garant du respect du paradigme objet Faire abstraction des aspects temporels et dynamiques de la modlisation Seul laspect statique compte, la dynamique est prise en charge par dautres modles
Le Diagramme de ClasseDfinition :
Le diagramme de classes est un diagramme structurel ne prsentant que les classes et pas les instances de classe Il permet de dcrire la structure interne des classes en terme dattributs et doprations Il permet de reprsenter les associations statiques entre les classes, mais ne dcrit pas comment les liens effectifs entre les instances sont effectus
Le Diagramme de ClasseClient 1 * achte * Actions possde 0..1 CompteCourant
1 souscrit
0..1 Plan Epargne Actions
Classe (Dfinition)
Une classe est une abstraction de choses du monde rel possdant des caractristiques et des comportements communs La classe est la fabrique, le moule, partir duquel on fabrique les instances (les objets)
Classe
Abstraction
Abstraction
Chienage pedigree courir() aboyer()
Personneage nationalit se promener() crier()
Classe (Notation)
Une classe est reprsente par un rectangle dcoup en 3 parties Sont prsents :
Notation
le nom de la classe la liste de ses attributs la liste de ses oprations
> Nom paquetage :: Nom classe Attributs Oprations
Nom de la classe
Le nom de la classe peut tre prcd dun strotype qualifiant le type de la classe Le nom de la classe est prfix par un nom de paquetage si la classe est externe au paquetage courant Le nom dune classe abstraite est donn en Italique
> login :: Code secret N Code
> Compte
Crditer() Dbiter()
> Compte chque
N de compte
Attribut de la classe (Dfinition et notation)Un attribut est une caractristique intrinsque partage par tous les objets dune classe
Lattribut possde un nom unique dans la classe On peut associer lattribut le type des valeurs quil peut prendre On peut donner une valeur initiale lattribut
Notation
> Nom paquetage :: Nom classenomAttribut1 : typeAttribut1 = valeurInitiale1 nomAttributN : typeAttributN = aleurInitialeN
Attribut de la classe Recommandations pour trouver les attributsLes 3 rgles dor de lattribut :
Eliminer les attributs caractrisant une autre classe ex : lattribut nom client dans la classe compteBancaire Se mfier des attributs multi-valus, ils cachent souvent eux-mmes multi-valus, euxune classe ex : lattribut enfants dans la classe Personne Se mfier des attributs structurs, ils cachent souvent eux-mmes structurs, euxune classe ex : lattribut Adresse dans une classe Personne
Opration de la classe (Dfinition et notation)Une opration est un service que propose une classe sur son interface
Lopration possde un nom pas forcment unique dans la classe On peut associer lopration ses arguments On peut associer lopration son type de retour
Notation> Nom paquetage :: Nom classenomOpration1 (nomArg1 :TypeArg1 = valeurParDfaut1 ...) : typeRetour1 nomOprationN (nomArgN :TypeArgN = valeurParDfautN, ...) : typeRetourN
Opration de la classeRecommandations pour trouver les oprations
Ne donner les informations sur les arguments et le type de retour quen phase de Conception Lorsquune classe possde de trs nombreuses oprations se poser la question du dcoupage de la classe
Exemple de classe
Comptenumero solde effectuerVirement() Accesseurs getSolde() setSolde() getNumero() setNumero()
Visibilit et Porte des constituants de la classe
La visibilit prcise la manire dont un nom peut tre vu et utilis par les autres (public, protg, priv) La porte prcise dans quel contexte un nom prend sa signification (instance ou classe) Par dfaut, la visibilit est publique et la porte est dinstance
NotationNom Classe +Attribut public #Attribut protg -Attribut priv Attribut de classe /Attribut driv +Opration publique() #Opration protge() -Opration prive() Opration de classe()
Association (Dfinition)Une association est une abstraction de liens qui peuvent exister entre les instances de plusieurs classes
Dans le monde rel, les objets sont lis physiquement ou fonctionnellement 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
Abstraction
Chienge pedigree courir() aboyer()
Abstraction
Personnege nationalit se promener() crier()
Association (Notation)
Une association est reprsente au moyen dun trait orient reliant chacune des classes concernes Il est possible de nommer lassociation et de prciser les rles tenus par chaque classe
Notation Clientachte
Voiture
Personne
salari employeur
Socit
Nom de lassociation
Le nom de lassociation est en gnral une forme verbale active ou passive qui dcrit globalement le lien Le nom de lassociation est facultatif Le nom doit apparatre sur lassociation, mais ne doit pas tre rattach lune des extrmit
Notation
Client
achte
Voiture
Rles de lassociation
Le rle permet de dcrire, laide dun nom, comment une classe peroit une autre classe au travers de lassociation Un rle doit figurer lextrmit de lassociation quil qualifie Les rles sont facultatifs Lassociation peut faire figurer les deux, un seul ou aucun des rles
Notation
Personne
salari employeur
Socit
Nom et rles de la classe (Recommandations)
Lutilisation du nom et des rles dune association nest pas exclusif Cependant, les deux notations sont rarement utilises conjointement Lusage du nom et des rles nest pas obligatoire, obligatoire, mais il savre indispensable si deux objets sont relis par plusieurs associations ou si une association est rflexive
Association rflexive
Une association peut mettre en jeux deux classes distinctes Mais, elle peut aussi apparatre sur une seule et mme classe Dans ce cas prcis, lassociation est dite rflexive
Client
achte
Voiture
Exemple dassociation classique
Vit en couple avec
Personne
Exemple dassociation rflexive
Navigabilit de lassociation
La navigabilit dune association permet de dfinir dans quel sens lassociation peut tre parcourue La navigabilit dune association est modlise par une flche sur lextrmit pouvant tre atteinte par navigation La navigabilit peut tre bibidirectionnelle Labsence de flche sur les deux extrmits signifie que lassociation est bi-directionnelle bi-
NotationPersonnea vu
Film
Chaque personne a accs aux films qu'elle a dj vus, mais partir d'un film, on interdit de retrouver la liste des personnes l'ayant vu
Client
achte
Voiture
Lassociation peut tre parcourue dans les deux sens
Multiplicits de lassociation
La cardinalit dun ensemble est le nombre dlments de cet ensemble La multiplicit est la spcification des valeurs de cardinalit admissibles pour un ensemble La multiplicit est associe une extrmit de lassociation et indique combien dinstances de la classe considre peuvent tre lies une instance de lautre classe
NotationPersonneemploie 1 ..* 1
Socit
Une socit emploie de une plusieurs personnes Une personne est employe par une seule socit
Client0..1
achte *
Voiture
Un client achte zro plusieurs voitures Une voiture peut tre achete par un client au plus
Multiplicits de lassociationLa multiplicit est une spcification respectant les conventions suivantes :1 0..1 N M..N * 0..* 1..* N..* : un et un seul (notation facultative) : zro ou un : exactement N (N: entier naturel) : de M N (deux entiers naturels) : de zro plusieurs : de zro plusieurs : de un plusieurs : N ou plus (N: entier naturel)
Contraintes sur association
Dautres types de contraintes existent sur une association : Des contraintes prdfinies : Les contraintes ensemblistes : {Sous-ensemble} {Sous Les contraintes dordonnancement : {Ordonn} Les contraintes dexclusion : {Ou - exclusif} Des contraintes spcifiques au moyen du langage OCL (Object Constraint Language)
Contraintes ensemblistes sur association
Ce type de contrainte permet de modliser le cas o un ensemble dassociations est inclus dans un autre ensemble dassociation
Notationest nomin {Sous-ensemble}*
Prix
*
*
Personne
est laurat
1
Les personnes laurates dun prix sont obligatoirement choisies parmi celles qui sont nomines pour ce prix
Contraintes dordonnancement sur association
Ce type de contrainte permet de modliser le cas o pour une instance donne, lensemble des instances avec lesquelles elle est en relation doit tre ordonn
Notation{Ordonn}0..*
Grand prix
0..6 est dans les points
Pilote
Lors dun grand prix au maximum 6 pilotes peuvent tre dans les points Ces 6 pilotes sont classs larrive
Contraintes dexclusion sur association
Ce type de contrainte permet de modliser le cas o pour une instance donne dune classe, une seule association prise parmi plusieurs possibles, peut tre valide un instant donn
Notation
Socit
employ {Ou - exclusif} employeur
0..*
Personne
Une personne peut tre soit employe par une socit, soit employeur dune socit Mais une personne ne peut pas tre la fois employeur et employ
Qualificateur dune association
Le qualificateur est un attribut ou un ensemble dattributs permettant de partitionner lensemble des instances dune classe qui sont en relation avec une instance donne Le qualificateur permet de restreindre la multiplicit de lassociation
NotationClasse A Classe B
Qualificateur
Qualificateur = attribut1,
, attributN
Qualificateur dassociation Exemples1..*
Universit
possde
Salle
Une universit possde de une plusieurs salle(s) Une salle appartient une et une seule universit
0..1
Universit
numropossde
Salle
Une universit possde au plus une salle ayant ce numro Une salle appartient une et une seule universit
Qualificateur dassociation Exemples0..*
Personne
possde
Compte bancaire
Une personne possde de zro plusieurs compte(s) bancaire(s) Un compte bancaire appartient une et une seule personne
Personne
agence
possde
0..*
Compte bancaire
Une personne possde de zro plusieurs compte(s) bancaire(s) par agence Un compte bancaire appartient une et une seule personne
Classe associative
Une association peut tre matrialise par une classe dans une des circonstances suivantes : si lassociation est porteuse dattributs si lassociation se matrialise par un objet concret dans le monde rel si lassociation est de multiplicit M .. N Une classe associative est une classe part entire Elle est modlise par un lien en pointill allant de la classe vers lassociation concerne
Notation
Classe A
Classe B
Classe associative
Classe associative ExemplesSocitnom numSiret adresse
1..* Emploifonction salaire
Personnenom prenom age
Etudiantnom prnom adresse
1..* Rsultatnote
1..*
Concoursnom cole date lieu
Les diffrents types dassociation
Il existe plusieurs types dassociation Lagrgation Lagrgation Forme spciale dassociation entre un tout et une partie La composition Forme spciale dagrgation o le cycle de vie de la partie est rgi par celui du tout Lhritage Lhritage Forme spciale dassociation permettant de factoriser les caractristiques et comportement communs un ensemble de classes Lassociation simple Lassociation Ce sont les associations qui ne se rclament daucune des catgories prcdemment cites
Agrgation
Une agrgation est une association non symtrique dans laquelle lune des deux classes joue un rle prpondrant Une agrgation est une relation tout-partie entre un agrgat (le tout) et toutun composant (la partie) Lagrgation est reprsente par un losange blanc du ct de lagrgat Le composant peut appartenir simultanment plusieurs agrgats Le cycle de vie des composants nest pas tributaire de celui de lagrgat
tudie Personne 1..*Une personne peut tudier dans aucune plusieurs universits Une universit peut accueillir de une plusieurs personnes
Universit 0..*
Composition
Une composition est une agrgation part entire La composition est reprsente par un losange noir du ct de lagrgat Le composant ne peut pas appartenir simultanment plusieurs agrgats (multiplicit 1 ou 0..1 ct agrgat) Le cycle de vie des composants est tributaire de celui de lagrgat Si la multiplicit est 0..1 ct agrgat, le composant peut ne pas tre associ lagrgat immdiatement, mais une fois lassociation effectu le composant vit et meurt avec lagrgat
Universit
possde
1..* Salle
Une universit est compose de une plusieurs salles Une salle nappartient qu une et une seule universit
Composition : abus de langage !
Attention : on parle trs souvent de composition pour dsigner une simple association entre deux classes. Cela ce traduit par lexistence dun attribut qui rfrence une (des) instance(s) dune autre classe.
Personne
*
Compte
Une personne possde des comptes mais nest pas compose de comptes
Gnralisation / Spcialisation
La gnralisation / spcialisation est une relation de classification entre une classe plus gnrale et une classe plus spcialise On lappelle aussi relation dhritage ou relation estestune-sorteune-sorte-de La gnralisation est reprsente au moyen dune flche pointant de la classe la plus spcialise vers la classe la plus gnrale
NotationSuper-classeSpcialisation
Gnralisation
Sous-classe
Gnralisation / Spcialisation ExempleCompte numro solde getSolde()
CompteCourant montantDcouvertAutorise getDecouvert()
CompteEpargne tauxEpargne calculerIntrts()
Classe et opration abstraites
Une classe abstraite est une classe pour laquelle il nest pas possible de crer dinstances directement Son nom est crit en italique Une opration abstraite dune classe A est une opration ne possdant pas dimplmentation dans A mais qui doit obligatoirement tre implmente dans les sous-classes de A sousSa signature est crite en italique Toute classe contenant au moins une opration abstraite est abstraite
Forme gomtrique Dessiner()
Rectangle Dessiner()
Rond Dessiner()
Discriminant sur relation dhritage
La spcialisation dune supersuper-classe peut avoir lieu selon diffrents critres simultans Chacun de ces critres est reprsent par une chane de caractres et sappelle un discriminant Le discriminant est positionn ct de la soussousarborescence quil qualifiesexe
Personne
travail
Homme
Femme
Etudiant
Employ
Contraintes sur gnralisation / spcialisation
Il est possible dexprimer deux types de contraintes prdfinies sur les sous-classes dune gnralisation: sousLa contrainte de compltude Prcise ltat davancement de la classification propose par la gnralisation / spcialisation La contrainte de chevauchement Contrainte ensembliste sur les instances de la sous-classe sousvisvis--vis des instances de la super-classe super-
Contrainte de compltude sur relation dhritage
La contrainte de compltude permet dindiquer si la gnralisation peut tre tendue ou non {complte} indique que lon ne peut plus ajouter de classe larborescence {incomplte} indique que larborescence peut tre complte ultrieurement
Personne
{complte}
Homme
Femme
Mammifre
{incomplte}
Chien
Chat
Loup
Diagramme de classes (Recommandations)
Toujours garder lesprit quun diagramme de classe propose une vision statique des donnes du problme Les associations dun diagramme de classes sont statiques, mais la cration des liens entre objets est dynamique Ne jamais hsiter donner les multiplicits Dans la mesure du possible, viter les discriminants dans les associations de type gnralisation / spcialisation Privilgier la dlgation lhritage
Diagrammes de squence
Diagrammes de squenceLe diagramme de squence est une variante du diagramme de collaboration. Par opposition aux diagrammes de collaboration, les diagrammes de squence possdent intrinsquement une dimension temporelle mais ne reprsente pas explicitement les liens entre les objets. Le diagramme de squence permet de visualiser les messages par une lecture de haut en bas. Laxe vertical reprsente le temps, laxe horizontal les objets qui collaborent. Une ligne verticale en pointill est attache chaque objet et reprsente sa dure de vie. Les messages sont reprsents comme dans le diagramme de collaboration.
Diagrammes de squence
Les interactions : Linteraction se traduit par lenvoi dun message entre objets. Le diagramme de squence insiste sur la chronologie des objets en utilisant la ligne de vie des objets. Les activations : Les diagrammes de squence permettent de reprsenter les priodes dactivit des objets. Une priode dactivit correspond au temps pendant lequel un objet effectue une action, soit directement, soit par lintermdiaire dun autre objet qui lui sert de sous-traitant. sousFormalisme : les priodes dactivit se reprsentent par des bandes rectangulaires places sur la ligne de vie des objets.
Les catgories de message 1/3Les catgories de message Les diagrammes de squence distinguent 3 catgories denvois de message : 1/ flot de contrle plat Cette catgorie denvois est utilise pour indiquer le progression vers la prochaine tape dune squence. Formalisme : une flche simple symbolise de tels messages.
Les catgories de message 2/32/ appel de procdure (ou flot de contrle embot) Dans un contrle embot, la squence embote doit se terminer pour que la squence englobante reprenne le contrle. Un objet poursuit donc son excution une fois le comportement initi par le message termin. Lobjet 1 rcupre le contrle quand lobjet 2 a fini sa tche. Formalisme : Des flches extrmits pleines symbolisent de tels messages.
Les catgories de message 3/33/ Retour de procdure : Le retour de procdure est implicite la fin dune activation. Nanmoins, en cas denvois de messages asynchrones, il savre utile pour montrer la fin de lexcution dune sous procdure et le renvoi ventuel de paramtres.
Les messages rflexifsUn objet peut senvoyer un message. Ce type de message correspond souvent des oprations internes significatives. Formalisme : Cette situation se reprsente par une flche qui revient en boucle sur la ligne de vie de lobjet.
Les messages rflexifsEXEMPLE
Messages synchrone ou asynchrone
Si l'objet metteur du message est "bloqu" pendant la priode d'activit "bloqu" de l'objet rcepteur, on dit que le message est synchrone. Dans le cas o l'metteur n'est pas bloqu par l'excution du message, le message est dit asynchrone, il se reprsente par une flche oriente mais avec une seule branche l'arrive.
Les contraintes temporellesUne flche qui symbolise un message peut tre reprsente en oblique pour matrialiser les dlais de transmission non ngligeables par rapport la dynamique gnrale de lapplication.
AnnotationsDes annotations temporelles concernent les messages peuvent galement tre ajoutes.
La ligne de vieLa ligne de vie des objets est reprsente par une ligne verticale en traits pointills, place sous le symbole de lobjet concern. Cette ligne de vie prcise lexistence de lobjet concern durant un certain laps de temps. une ligne de vie est reprsente sur toute la hauteur du diagramme de squence. elle peut dbuter et sinterrompre lintrieur du diagramme. Formalisme : la cration se reprsente en faisant pointer le message de cration sur le rectangle qui symbolise lobjet cr. La destruction est indique par la fin de la ligne de vie et par une croix (X), soit la hauteur du message qui cause la destruction, soit aprs le dernier message envoy par un objet qui se suicide.
La ligne de vie Formalisme
Merci Pour Votre Attention
Top Related