Download - UML Exposé

Transcript

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