Sunteți pe pagina 1din 66

Notation UML

Sommaire
N O T A T I O N U M L

Historique La Modlisation Axe Statique Axe Dynamique Rfrences

Historique

Les Principales Mthodes Objet

BOOCH
Pionnier de l Orient-Objet
N O T A T I O N U M L Article en 1981: Object Oriented Development Au dbut, mthode pour le dveloppement d applications en Ada pour le Department of Dfense Etendue au C++

Distingue 2 niveaux:
Logique
Diagrammes de classes Diagramme dinstance Diagramme tats/transitions

Grady Booch

Physique
Diagrammes de modules (principe des packages) Diagramme de processus

Historique

Les Principales Mthodes Objet

OMT
Object Modeling Technique
Livre de James Rumbaugh (1991) N O T A T I O N U M L

3 axes
Statique Dynamique Fonctionnel James Rumbaugh

Historique

Les Principales Mthodes Objet

OOSE
Object Oriented Software Engineering
Souvent appele Objectory N O T A T I O N U M L

5 modles
Besoins Analyse Conception Implantation Test

Ivar Jacobson

3 types d objets (MVC en Design Paterns)


entits contrles interfaces

Notion de Cas dUtilisation: Use Cases

Historique

Les Principales Mthodes Objet

Mthodes Objets

N O T A T I O N U M L

En 1994, plus de 50 mthodes OO


Fusion, Shlaer-Mellor, ROOM, Classe-Relation, Wirfs-Brock, CoadYourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA, HOOD, Ooram, DOORS...

Les notations graphiques sont toutes diffrentes Lindustrie a besoin de standards

Historique

La Convergence vers UML

Naissance dUML

N O T A T I O N U M L

1993-1994: Booch93, OMT-2


Les 2 mthodes sont leaders sur le march Elles sont de plus en plus proches

Octobre 1994
J. Rumbaugh (OMT) rejoint G. Booch chez Rational Annonce de lunification des deux mthodes

Octobre 1995: Mthode Unifie v0.8 Fin 1995: le fondateur d Objectory, Ivar Jacoson, rejoint son tour Jacoson Rational Janvier 97 : Soumission lOMG de la version UML 1.0
OMG: Object Management Group
Organisme but non lucratif fond en 1989 Plus de 700 entreprises y adhrent Connu pour la norme CORBA

Septembre 97 : UML 1.1


Historique

La Convergence vers UML

Conclusion
UML: Prendre le meilleur de chacune des UML mthodes
N O T A T I O N U M L OOSE (Jacobson): Use Cases OMT (Rumbaugh): Analyse Booch: Conception, Architecture

UML est dans le domaine public Soutenu par le march


Microsoft, HP, Oracle, IBM...

Historique

La Modlisation

Dfinition

UML ?
Est une notation, pas une mthode Est un langage de modlisation objet Convient tous les langages objets
C++ (Hritage multiple, Template) Java (Interface) SmallTalk

N O T A T I O N U M L

La Modlisation

Cycle de dveloppement

Axe de Modlisation Statique


N O T A T I O N U M L Diagramme de Classes Diagramme dObjets Diagramme de Composants Diagramme de Dploiement Diagramme de Use Case

Fonctionnel
Diagramme de Use Case

Dynamique
Diagramme d'Etats-Transitions Diagramme d'Activit Diagramme de Squence

La Modlisation

Cycle de dveloppement

Les 4+1 Vues


Classes Interfaces Collaboration => Les services du systmes Composant Fichiers Source => Configuration du systme

N O T A T I O N U M L

Vue logique

Vue des composants

Besoins des utilisateurs

=> Comportement du systme

Vue des processus


Thread Process Concurrence Synchronisation => Performance du systme

Vue de dploiement
Architecture Hardware Distribution => Topologie du systme

La Modlisation

La modlisation des besoins

Diagramme de uses cases

- Acteur : entit externe qui agit sur le systme (oprateur, composant interne). - Use case : ensemble dactions ralises par le systme, en rponse une action dun acteur. Lensemble des uses cases dcrit les objectifs (le but) du systme. N O T A T I O N U M L

- Les relations de base entre cas dutilisation et acteurs

include extends hritage

include extends

La reprsentation des scnarios

Diagramme de Squence

Scnario

N O T A T I O N U M L

Il y a autant de diagrammes de squence quil y a de scnarios Un Scnario montre une squence particulire dinteractions entre objets, dans un seul contexte dexcution du systme Un scnario peut tre vu comme une rponse un besoin ou une partie d un besoin du diagramme des Uses Cases. On y fait intervenir des objets, des messages et des vnements objets Objets de type Classe
objet1 : C lasse objet2 : C lasse

Message synchrone

Message asynchrone

Diagramme de Squence

Notation Graphique
Appelant:
N O T A T I O N U M L

Objet
Ligne tlphonique: Appel:

dcroche() tonalit numrotation() indication sonnerie indication sonnerie() dcroche

L axe statique

Classes et Objets

Notation de base
Classe
N O T A T I O N U M L

Classe

Une description dun ensemble dobjets qui partage les mmes attributs, oprations, mthodes, relations et contraintes

Objet
Une entit avec une limite et une identit bien dfinies qui encapsule de l'tat et du comportement. Ltat est reprsent par des attributs et des relations, le comportement est reprsent par des oprations et des mthodes. Un objet est une instance dune classe.

Objet de type Classe

L Axe Statique

Classes et Objets

Attribut
Attribut = proprit nomme d une classe Syntaxe
N O T A T I O N U M L visibilit nom : type = valeur initiale

Visibilit
+ public # protg - priv package

Attribut de classe
la porte standard dun attribut est limit un objet quand cette porte sapplique la classe elle mme, on parle dattribut de classe (reprsent par le symbole $ ou soulign) soulign

Attribut driv
attribut qui peut tre dduit dun ou plusieurs autres attributs (reprsent par le symbole /)

L Axe Statique

Classes et Objets

Mthode
Mthode = service que l on peut demander un objet pour raliser un comportement Syntaxe
visibilit nom (paramtres) : type retour

N O T A T I O N U M L

Mmes notions que lattribut


visibilit mthode de classe

L Axe Statique

Classes et Objets

Notation Complte
Nom de la Classe Initialisation
N O T A T I O N U M L

Fenetre

Visibilit

Static

+ taille : Rectangle = 100,100 - visible : B oolean = true couleur : C olor = blue #$ tailleMax : Rectangle #$ tailleMin : Rectangle /#$ tailleMoyenne : Rectangle + afficher() : P osition + cacher() # setTaille(taille : Rectangle)

Driv

} }
Retour

Attributs

Mthodes

Paramtre
L Axe Statique

Associations

Dfinition
Association
N O T A T I O N U M L Exprime une connexion smantique bi-directionnelle entre classes Abstraction des liens qui existent entre objets Le sens d une association peut-tre prcis par une flche

Association binaire = Association entre 2 classes. Cas particulier d association n-aire Rle = rle jou par une classe dans une association Multiplicit = indique le nombre dinstances d une classe qui peut tre mise en relation avec une seul instance de la classe associe
1 0..1 0..* ou * 1..* 1..5, 10 : obligatoire : optionnel : quelconque : au moins 1 : entre 1 et 5, ou 10

L Axe Statique

Associations

Exemple
Rle
N O T A T I O N U M L

Personne Nom Prnom -em ploy 1..*

Nom
em ploie -em ployeur 0..1

Entr epris e R ais on Soc iale Ac tivit

Sens

Classe

Multiplicit

L Axe Statique

Associations

Smantique

N O T A T I O N U M L

Mari

mari avec

Epouse

Homme

1 mari

mari avec

1 Femme pouse

Homme

0..*

a t mari avec

0..*

Femme

L Axe Statique

Associations

Note

N O T A T I O N U M L

Note = Commentaire plac sur un diagramme

C ommentaire sur une asso ciatio n

P ersonne

E ntreprise

C o mm enta ire sur une classe

L Axe Statique

Associations

Classe dAssociation
Classe dassociation = Elment ayant la fois les proprits d une classe et d une association
N O T A T I O N U M L

Personne nom age prendre retraite( 0..*

travaille

Socit nom capital 0..* embaucher( ) dposer bilan(

Contrat de Travail date salaire augmenter( ) rsilier( )

respecte 1..* 1..1

Convention Collective - rfrence + rengocier( )

Classe
L Axe Statique

Associations

Association n-aire
Association n-aire = Une association parmi 3 classes ou plus. Chaque instance de lassociation est un n-tuple de valeurs des classes respectives.
N O T A T I O N U M L

Salle
lieu 1 Cours

Professeur 1

1..*

Elve

Heure de dbut Heure de fin

L Axe Statique

Agrgation et Composition

Dfinitions
Agrgation = association particulire spcifiant une relation tout partie entre lagrgat et un composant
N O T A T I O N U M L Inclusion Propagation

Livre 1..*

Chapitre 1..*

Mot

Composition = forme forte dagrgation avec un cycle de vie des parties li celui du composite

L Axe Statique

Agrgation et Composition

Exemples
Voiture

Multiplicit

Agrgation
N O T A T I O N U M L
1..1 Moteur 1..1 Chassis 4 Roue 2,3,4,5 Porte

Composition

L Axe Statique

Gnralisation, Spcialisation

Dfinitions

N O T A T I O N U M L

Gnralisation = relation ente un lment plus gnral et un lment plus spcifique qui est entirement conforme avec le premier lment, et qui ajoute de l information supplmentaire Spcialisation = mcanisme par lequel des lments plus spcifiques incorporent la structure et le comportement dlments plus gnraux (notion dhritage). dhritage
Avion

Discriminant

Gnralisation
motorisation Planeur motorisation AvionAMoteur rayon d'action MoyenCourrier rayon d'action LongCourrier

A320

Hritage multiple

Spcialisation

L Axe Statique

Gnralisation, Spcialisation

Interface

N O T A T I O N U M L

Notations
<<Interface>>

Strotype

Hriter dune interface


<<Interface>> Wind Liste ner Avion <<Interface>> Missile_ Liste ner

Implements
Planneur

Extends
L Axe Statique

AvionD e C hasse

Gnralisation

Contraintes

N O T A T I O N U M L

Les seules contraintes pr-dfinies en UML pour la gnralisation sont :


disjoint (un moyen courrier ne peut tre long courrier) / overlapping complete (liste xhaustive de classe) / incomplete

Avion

{incomplete} - - - - - - - - - - - - - Planeur AvionAMoteur

- - - - - - - - - - - - - - - - - - {disjoint} MoyenCourrier LongCourrier

L Axe Statique

Gnralisation

Classe Abstraite

N O T A T I O N U M L

Classe Abstraite = classe que l on ne peut pas instancier Notation :

Avion

Ou

Avion
{abstract}

Italic

Contrainte

L Axe Statique

Package

Pour Structurer
Package = Regroupement dlments de modle Les Packages divisent et organisent les modles de la mme manire que les rpertoires organisent les systmes de fichiers Les Packages eux-mmes peuvent tre imbriqus l intrieur d autres Packages
Package Parent

N O T A T I O N U M L

Package Enfant 1

Package Enfant 2

L Axe Statique

Diagramme de Classes

Notation

N O T A T I O N U M L

L Axe Statique

Diagramme des composants

N O T A T I O N U M L

Diagramme des composants

L Axe Statique

Diagramme des composants

Permet de dfinir des composants logiciels en terme de


N O T A T I O N U M L

constitution et de dpendance.

Classe1.h

Classe1.cpp

L Axe Statique

Diagramme de dploiement

.
N O T A T I O N U M L

Diagramme de dploiement

L Axe Statique

Diagramme de dploiement

Dcrit les ressources matrielles et la rpartition . du logiciel dans ces ressources


N O T A T I O N U M L

TX serveur

TCP IP Serveur SGBD RNIS

PC

L Axe Statique

L Axe Dynamique

Introduction

Que reprsente-t-on dans le modle dynamique ?

N O T A T I O N U M L

Le modle dynamique reprsente les squences dvnements, dtats dvnements et de ractions qui doivent survenir dans le systme. Il est intimement li au modle objet et dcrit les aspects de contrle dun systme en prenant compte du temps, du squencement des oprations et des interactions entre objets Deux diagrammes fondamentaux :
Diagramme d activits Diagramme Etats-Transitions

L Axe Dynamique

Diagramme Etats-Transitions

Dfinition

N O T A T I O N U M L

Un diagramme Etats-Transitions (ou Automate) : Automate


dcrit lvolution au cours du temps dune instance dune classe en rponse aux interactions avec dautres objets est forcment associ une classe, mais toutes les classes nen ont pas classe besoin est un graphe orient dtats (noeuds) connects par des transitions (arc orients)

Source: Les Statecharts de David Harel

David Harel

L Axe Dynamique

Diagramme Etats-Transitions

Etats

N O T A T I O N U M L

Chaque objet est un moment donn dans un tat particulier :


Etat Initial : tat dune instance juste aprs sa cration (un seul tat initial) Etat Intermdiaire : un objet est toujours dans un tat donn pour un certain temps Etat Final : tat dune instance juste avant sa destruction (un automate infini peut ne pas avoir dtat final)

tat initial

tat intermdiaire

tat final

L Axe Dynamique

Diagramme Etats-Transitions

Transition, Condition
Transition : relation entre 2 tats indiquant quun objet dans le premier tat va excuter une action et entrer dans le deuxime tat quand un vnement apparatra Condition : expression boolenne devant tre vrifie pour permettre la transition

N O T A T I O N U M L

Etat initial Condition Evnement


Mineur anniverssaire [age=18 ans]

Etat final

Majeur

Transition
L Axe Dynamique

Diagramme Etats-Transitions

Action, Activit
Action : opration atomique (non interruptible) dclenche par une transition Activit : opration qui dure un certain temps (interruptible) dans un tat particulier
entry : action excute chaque fois que lon rentre dans ltat exit : action excute chaque fois que lon quitte ltat

N O T A T I O N U M L

Arret

Appui bouton tage( N )[ N!=tage courant ] /dmarrer moteur

Marche entry: tourner moteur

Action
L Axe Dynamique

Activit

Diagramme Etats-Transitions

Notation Complte
Exemple : fonctionnement dune montre digitale
N O T A T I O N U M L

Evnement Etat initial


Affichage heure Appui bouton mode Appui bouton avance / avancer minute

Mofication minute entry: clignoter minute

Appui bouton mode

Appui bouton mode

Appui bouton avance / avancer heure

Activit

Modification heure entry: clignoter heure

Action

L Axe Dynamique

Diagramme Etats-Transitions

Gnralisation dtats

N O T A T I O N U M L

Dans le cas dun comportement dynamique complexe, les diagrammes complexe dtats sur un niveau deviennent rapidement illisibles Pour viter ce problme, il est ncessaire de structurer les diagrammes dtats en:
super-tats : tats gnraux sous-tats : hritent des caractristiques des tats gnraux

E1

E1

E2

E2
E2

=
Super-tat

Mme evt
L Axe Dynamique

Sous-tat

Diagramme Etats-Transitions

Notation Complte
Exemple : transmission dune automobile
N O T A T I O N U M L

R enclench Point Mort (N) N enclench Marche arrire (R)

N enclench

F enclench

Marche avant (F) rapport sup Premire rapport inf Seconde rapport inf rapport sup Troisime

Super-tat
L Axe Dynamique

Sous-tat

Diagramme Etats-Transitions

Historique

N O T A T I O N U M L

Par dfaut, un automate na pas de mmoire La notation H offre un mcanisme pour mmoriser le dernier sous-tat qui lenglobe Exemple : cycle de lavage dun lave vaisselle
Rinage Lavage Schage

H
Porte ouverte Porte ferme Attente

Historique
L Axe Dynamique

Diagramme d activits

N O T A T I O N U M L

Diagramme d activits

L Axe Dynamique

Diagramme d activits

* Utilis pour tiqueter les autres diagrammes (traitements


N O T A T I O N U M L

associs aux messages des diagrammes de squences, transitions des diagrammes dtats-transitions, activit dun tat) * Sert spcifier un traitement priori squentiel en offrant un pouvoir dexpression trs proche des algorithmes.

* Branche conditionnelle
Act ivit 1

[condition1] Act ivit2

[else]

Activit3

L Axe Dynamique

Diagramme d activits

* Barre de synchronisation Refroidir


N O T A T I O N U M L

Arrter le chauffage

Arer

* Couloir d activits
Couloir 1: Couloir 2:

Act ivit 1

Act ivit 2

L Axe Dynamique

Diagramme d activits

* Flux d objets
Activit1
Activit1

N O T A T I O N U M L

Objet en sortie:

Objet en entre:

* Signal
Excuter squence de dmarrage

Accep ter connexion de l'utilisateur

Demander validation rseau: Attente de rp onse

recevoir confirmation

Prt

L Axe Dynamique

UML 2

N O T A T I O N U M L

Les apports d UML 2

UML 2

Diagramme de squences - Fragment Alternatif (IF - THEN - ELSE)


N O T A T I O N U M L

UML 2

Diagramme de squences
N O T A T I O N U M L

- Fragment break utilis pour reprsenter des scnarios dexceptions.

UML 2

Diagramme de squences
N O T A T I O N U M L

Fragment Parallel utilis pour reprsenter des interactions en parallle.

UML 2

Diagramme de squences
N O T A T I O N U M L

Fragment Loop utilis pour dcrire un ensemble dinteractions qui sexcutent en boucle.

UML 2

Diagramme de squences
N O T A T I O N U M L

Rfrences: un pointeur ou un raccourci vers un autre diagramme de squences existant.

UML 2

Diagramme de squences
N O T A T I O N U M L

Etat prcise ltat dans lequel doit se trouver linstance de classe concerne.

UML 2

Diagramme de structure composite


N O T A T I O N U M L

spcifier la connectique interne et externe entre ces classes

Rfrences

Pour en Savoir Plus

Livres

N O T A T I O N U M L

The Unified Modeling Language User Guide , G. Booch, J. Rumbaugh, Booch I. Jacobson, 1999, Addison Wesley Object-Oriented Modeling and Design, J. Rumbaugh, 1991, PrenticeRumbaugh Hall Object Solution, G. Booch, 1996, Addison-Wesley Booch Object-Oriented Software Engineering: A Use Case Driven Approach, I. Jacobson, 1992, Addison-Wesley Jacobson Modlisation Objet avec UML, P. A. Muller, 1997, Eyrolles UML Distilled, M. Fowler, 1997, Addison-Wesley UML La notation unifie de modlisation objet, M. Lai, Masson Designing Object Systems: Object-Oriented Modeling with Syntropy, S. Cook, J. Daniels, 1994, Prentice-Hall

Rfrences

Pour en Savoir Plus

Articles

N O T A T I O N U M L

Getting started: using use case to capture requirements, J. Rumbaugh, Sept 1994, JOOP Formalizing use-case modeling, I. Jacobson, Juin 1995, JOOP OMT: The object model, J. Rumbaugh, Jan 1995, JOOP A search values: Attributes and associations, J. Rumbaugh, Juin 1996, JOOP A matter: How to define subclasses, J. Rumbaugh The life of an object model: How the object model changes during development, J. Rumbaugh, Mars 1994, JOOP Statecharts: a visual Formalism for Complex Systems, D. Harel, 1987, Science of Computer Programming vol 8 Executable Object Modeling with Statecharts, D. Harel, Juillet 1997, Computer OMT: The dynamic model, J. Rumbaugh, Fev 1995, JOOP

Rfrences

S-ar putea să vă placă și