Sunteți pe pagina 1din 30

M.

Papa Baba FALL, Web Master SOONSA- Doctorant LTI

Historique : dbut des annes 90 existait une cinquantaine de mthodes danalyse et de conception objet. Il se manifesta une volont de convergence vers une mthode unifie. Ainsi trois des tnors se sont mis ensemble savoir OMT (Object Modeling Technique) de James Rumbaugh, BOOCH de Grady Booch et OOSE de Ivar Jacobson pour donner UML (Unified Methode Language) UML est donc une norme du langage de modlisation objet qui a t publie, dans sa premire version, en novembre 1997 par lOMG (Object Management Group), instance de normalisation internationale du domaine de lobjet. De nouvelles mthodes sont ajoutes au langage au fur et mesure quapparaissent les versions. Actuellement la dernire version publie par lOMG est la 2.4.1 depuis aot 2011 comptant 12 diagrammes..

Lapproche objet occupe une place prpondrante dans le gnie logiciel avec lapparition de langages objets et la sortie de version objet de ceux qui existaient. Il est important de connatre les notions cls de la conception objet pour bien comprendre UML. Les concepts qui nous semblent importants bien matriser sont les suivants :
o objet et classe, o message : communication de lobjet, o association et agrgation de classes, o gnralisation et spcialisation de classes.

Un objet reprsente une entit du monde rel(ou du monde virtuel pour les objets immatriels) qui se caractrise par un ensemble de proprits (attributs), des tats significatifs et un comportement. Exemple : Considrons ltudiant Dieng, matricule 1245, inscrit en master 1 tlinformatique.
o Cet objet est caractris par la liste de ses attributs et son tat est

reprsent par les valeurs de ses attributs :


matricule : 1245, nom : Dieng, niveau : m1 filire : tlinformatique

o Son comportement est caractris par les oprations quil peut excuter.

Dans notre cas nous pouvons avoir les oprations suivantes :


sinscrire dans une filire, suivre un cours, subir une valuation.

Une classe est labstraction dun ensemble dobjets qui possdent une structure identique (liste des attributs) et un mme comportement (liste des oprations). Un objet est une instance dune et une seule classe.

Exemple : Considrons la classe Etudiant qui reprsente lensemble des tudiants dune cole. La description de la classe Etudiant comportera les lments suivants :
o Nom de classe : Etudiant. o Attributs :

matricule, nom, niveau, filire.

o Oprations :

sinscrire dans une filire, suivre un cours, subir une valuation.


6

Les objets peuvent tre dynamique ou statique dans leur environnement. Mais ils communiquent par messages. Un message est lappel dune mthode par un objet de la classe dinstance. Lexcution dune mthode correspond une volont de changement dtat de lobjet. Exemple : e::Etudiant ev::Evaluation
subir valuation

Lassociation reprsente une relation entre plusieurs classes. Elle correspond labstraction des liens qui existent entre les objets dans le monde rel. Elle est dcrite par :
o les cardinalits, o et les rles des objets participant aux relations entre objets.

Les exemples dassociations sont donns directement dans les diagrammes de classe dUML.

Lagrgation est une forme particulire dassociation entre plusieurs classes. Elle exprime le fait quune classe est compose dune ou plusieurs autres classes. La relation composant-compos ou la relation structurelle reprsentant lorganigramme dune entreprise sont des exemples types de la relation dagrgation. Exemple : Une voiture est une classe compose de :
o classe moteur, o classe carrosserie, o classe roue, o etc.
9

La gnralisation de classes consiste factoriser dans une classe, appele super-classe, les attributs et/ou oprations des classes considres. Applique lensemble des classes, elle permet de raliser une hirarchie des classes. La spcialisation reprsente la dmarche inverse de la gnralisation puisquelle consiste crer partir dune classe, plusieurs classes spcialises. Chaque nouvelle classe cre est dite spcialise puisquelle comporte en plus des attributs ou oprations de la super-classe (disponibles par hritage) des attributs ou oprations qui lui sont propres.
10

Le langage de modlisation UML respecte un certain nombre de rgles sur les concepts manipuls ainsi que sur la syntaxe dcriture et le formalisme de reprsentation graphique. Lensemble de ces rgles constitue en soi un langage de modlisation qui a fait lobjet dun mta-modle UML. Lintrt de disposer dun mta-modle UML permet de bien matriser la structure dUML et de faciliter son volution. Cette approche a t gnralise par lOMG en normalisant la reprsentation des mta-modles par la dfinition en 1997 dun mta mta-modle dfini dans le MOF (Meta-Object Facility).

11

Plus globalement, le MOF se retrouve au sommet dune architecture de description quatre niveaux :
o M3, niveau du MOF ; o M2, niveau des mta-modles (UML est un des mta-modles) ; o M1, constitu par les modles (les diagrammes dUML sont des instances

de ce niveau); o M0, constitu par les instances (les ralisations de diagrammes pour une situation donne sont des instances de ce niveau).

Nous parlerons du formalisme dUML au fur et mesure que nous aurons traiter des diagrammes dUML. Un diagramme est un point de vue sur le systme qui utilise un certain nombre de reprsentation pour dcrire la situation.
12

UML dans sa version 2 propose treize diagrammes qui peuvent tre utiliss dans la description dun systme. Ces diagrammes sont regroups dans deux grands ensembles.
o Les diagrammes structurels : ils sont au nombre de six :

Diagramme de classe : porte la description statique du systme; Diagramme dobjet : permet la reprsentation dinstances des classes et des liens entre instances; Diagramme de composant : reprsente les diffrents constituants du logiciel au niveau de limplmentation dun systme; Diagramme de dploiement : dcrit larchitecture technique dun systme avec une vue centre sur la rpartition des composants dans la configuration dexploitation; Diagramme de paquetage (nouveau dans UML 2) : donne une vue densemble du systme structur en paquetage.
13

o Les diagrammes structurels (suite) :

Diagramme de structure composite (nouveau dans UML 2) : permet de dcrire la structure interne dun ensemble complexe compos par exemple de classes ou dobjets et de composants techniques. Il met aussi laccent sur les liens entre les sous-ensembles qui collaborent.
o Les diagrammes de comportement : ils sont au nombre de sept

Diagramme des cas dutilisation : est destin reprsenter les besoins des utilisateurs par rapport au systme; Diagramme dtat-transition (machine dtat) : montre les diffrents tats des objets en raction aux vnements; Diagramme dactivits : donne une vision des enchanements des activits propres une opration ou un cas dutilisation; Diagramme de squence : permet de dcrire les scnarios de chaque cas dutilisation en mettant laccent sur la chronologie des oprations en interaction avec les objets;
14

o Les diagrammes de comportement (suite) :

Diagramme de communication (anciennement appel collaboration) : est une autre reprsentation des scnarios des cas dutilisation qui met plus laccent sur les objets et les messages changs; Diagramme global dinteraction (nouveau dans UML 2) : fournit une vue gnrale des interactions dcrites dans le diagramme de squence et des flots de contrle dcrits dans le diagramme dactivits; Diagramme de temps (nouveau dans UML 2) : permet de reprsenter les tats et les interactions dobjets dans un contexte o le temps a une forte influence sur le comportement du systme grer.

UML 2 dcrit les concepts et le formalisme de ces treize diagrammes mais ne propose pas de dmarche de construction couvrant lanalyse et la conception dun systme. Ce qui a pour consquence par exemple de ne pas disposer dune vision des interactions entre les diagrammes.
15

Considrons une nouvelle socit de formation qui souhaite dvelopper un premier niveau de site web dans lequel elle prsente succinctement les formations proposes et enregistre en ligne les demandes de catalogue.

fig. 1 : diagramme de cas dutilisation

16

Le diagramme de classe va nous permettre de dcrire les concepts manipuls, savoir : Client, Catalogue et Formation.

fig. 2 : diagramme de classe

17

Le diagramme de squence va nous permettre de dcrire les scnarios des cas dutilisation du diagramme des cas dutilisation. Montrons le scnario consultation du catalogue.
fig. 3 : diagramme de squence
18

Afin de donner quelques points de repres sur le positionnement et les liens entre tous les diagrammes dUML, nous donnons ici un exemple de regroupement des diagrammes en quatre ensembles suivant leur finalit :
o description du systme : huit diagrammes ; o architecture technique : deux diagrammes ; o vues globales ou spcialises : deux diagrammes ; o partition dlments de la modlisation : un diagramme.

Voir schma suivant.

19

20

Prsentation gnrale et concepts de base :


o Les cas dutilisation ont t dfinis initialement par Ivar Jacobson en 1992

dans sa mthode OOSE. Les cas dutilisation constituent un moyen de recueillir et de dcrire les besoins des acteurs du systme. o Ils peuvent tre aussi utiliss ensuite comme moyen dorganisation du dveloppement du logiciel, notamment pour la structuration et le droulement des tests du logiciel.

La reprsentation dun cas dutilisation met en jeu trois concepts :


lacteur, o le cas dutilisation, o et linteraction entre lacteur et le cas dutilisation.
o

21

Acteur : est un utilisateur type qui a toujours le mme comportement vis--vis dun cas dutilisation. Ainsi les utilisateurs dun systme appartiennent une ou plusieurs classes dacteurs selon les rles quils tiennent par rapport au systme.
o Formalisme et schma :

fig. 4 : reprsentation dun acteur

22

Cas dutilisation et interaction : Un cas dutilisation se reprsente par un ovale dans lequel figure son intitul.
o Linteraction entre un acteur et un cas dutilisation se reprsente comme

une association. o Formalisme et schma :

fig. 5 : Formalisme de base de reprsentation dun cas dutilisation

23

24

Relations entre cas dutilisation - en ayant recours notamment la rutilisation de cas dutilisation, trois relations peuvent tre dcrites entre cas dutilisation :
o Relation dinclusion : une relation dinclusion dun cas dutilisation A

par rapport un cas dutilisation B signifie quune instance de A contient le comportement dcrit dans B. o Exemple :

25

Relations entre cas dutilisation (suite) :


o Relation dextension : une relation dextension dun cas dutilisation A

par un cas dutilisation B signifie quune instance de A peut tre tendue par le comportement dcrit dans B. Deux caractristiques sont noter :
le caractre optionnel de lextension dans le droulement du cas dutilisation standard (A) ; la mention explicite du point dextension dans le cas dutilisation standard.
o Exemple : page suivante

26

27

Relations entre cas dutilisation (suite) :


o Relation de gnralisation : une relation de gnralisation de cas

dutilisation peut tre dfinie conformment au principe de la spcialisation-gnralisation. o Exemple :

28

Description textuelle dun cas dutilisation : chaque CU doit tre associe une description textuelle des interactions en vue de produire les rsultats attendus par les acteurs.
o La description textuelle dun CU est articule en six points :

Objectif Dcrire succinctement le contexte et les rsultats attendus du CU. Acteurs concerns Le ou les acteurs concerns par le cas doivent tre identifis en prcisant globalement leur rle. Pr conditions Si certaines conditions particulires sont requises avant lexcution du cas, elles sont exprimer ce niveau. Post conditions Par symtrie, si certaines conditions particulires doivent tre runies aprs lexcution du cas, elles sont exprimer ce niveau. Scnario nominal Il sagit l du scnario principal qui doit se drouler sans incident et qui permet daboutir au rsultat souhait. Scnarios alternatifs Les autres scnarios, secondaires ou correspondant la rsolution danomalies, sont dcrire ce niveau. Le lien avec le scnario principal se fait laide dune numrotation hirarchise (1.1a, 1.1b) rappelant 29 le numro de laction concerne.

30