You are on page 1of 13

Génie Logiciel Orienté Objet

Tom Mens

Université de Mons-Hainaut
Service de Génie Logiciel
w3.umh.ac.be/genlog

Introduction à UML

[LethbridgeLaganiere, Ch. 5.1]


What is UML?

5.1 Qu’est-ce que UML?

• UML = « Unified Modelling Language »


– un langage visuel pour la modélisation
© Tom Mens, UMH, 2005

– Permettant la spécification, la visualisation, la


construction et la documentation des logiciels
– Facilitant la communication et le travail en équipe
– Ayant différents modèles pour différents points
de vues
– Utilisant une approche orientée objet

1
5.1 Qu’est-ce que UML?

• UML est un langage


© Tom Mens, UMH, 2005

• Ce n’est pas une méthodologie / un processus

• UML laisse la liberté de conception, et peut


être combiné avec plusieurs processus de
développement
– p.e., Rational Unified Process

Qu’est-ce que UML?


5.1
Historique

• Vers la fin des années 1980, début 1990


– les premiers processus de développement orienté-objet
apparaissent
© Tom Mens, UMH, 2005

– La guerre des méthodes


» une prolifération des méthodes et notations est la cause
de grande confusion
» Booch, OMT, Coad/Yourdon, Fusion, SADT, OOSE,
Schlaer/Mellor, HOOD, …

Qu’est-ce que UML?


5.1
Historique

• En 1994
– deux méthodologistes bien connus, Rumbaugh et Booch
décident de fusionner et unifier leurs approches
© Tom Mens, UMH, 2005

– ils travaillent ensemble à la corporation Rational Software


• En 1995
– un autre méthodologiste, Jacobson, se joint à l’équipe
– son travail met l’emphase sur l’analyse par cas d’usage
• En 1997
– le « Object Management Group » (OMG) lance le processus
de standardisation UML

2
Qu’est-ce que UML?
5.1
Histoire

Nov ‘97 UML approved by the OMG


© Tom Mens, UMH, 2005

Qu’est-ce que UML?


5.1
Historique

• Contributions au UML
Harel
Meyer Gamma, et al
Statecharts
Before and after Frameworks and patterns,
© Tom Mens, UMH, 2005

conditions
HP Fusion
Booch
Operation descriptions and
Booch method message numbering

Rumbaugh Embley
Singleton classes and
OMT
high-level view

Jacobson Wirfs-Brock
OOSE
Responsibilities
Shlaer - Mellor Odell
8 Object lifecycles Classification

Qu’est-ce que UML?


Historique

Final adopted specification UML 2.0


2005
© Tom Mens, UMH, 2005

March 2003 UML 1.5


version 1.4.2 approuvé
In 2000 UML 1.4 comme standard
ISO/IEC 19501
November 1999
UML 1.3
Minor revision

No significant changes UML 1.2

9 October 1997 UML 1.1

3
Qu’est-ce que UML?
Historique

• La définition du langage UML ne résulte pas d'un


processus innovant de recherche mais d'un
processus consensuel de stabilisation des pratiques
© Tom Mens, UMH, 2005

industrielles éprouvées.
– UML n'est que le reflet fidèle des pratiques majoritaires
utilisées vers la fin des années 2000 par la profession.

• UML ne vise pas l'innovation, mais la consensualité.


– Il y a deux façons de réaliser un consensus: à minima (par
intersection) ou à maxima (par union).
– Ces deux tendances se retrouvent dans les groupes
d'influence qui gèrent l'évolution du langage (vendeurs
d'AGL, etc.)
– La tendance maximaliste a souvent été majoritaire (!)
10

5.1 Modélisation en UML

• Vues multiples
– Modélisation d'utilisation
• les diagrammes cas d'usage
© Tom Mens, UMH, 2005

– Modélisation de la structure statique


• les diagrammes de classes
• les diagrammes d'objets
– Modélisation du comportement dynamique
• les diagrammes d'interaction
– les diagrammes de séquence
– les diagrammes de collaboration
• les diagrammes d'états/transitions
• les diagrammes d'activité
– Modélisation architecturale
• le logiciel: les diagrammes de composants
• le matériel: les diagrammes de déploiement

11

Vues multiples (aspects d'un système


logiciel)
© Tom Mens, UMH, 2005

12

4
Qu’est-ce que UML?
5.1
Les diagrammes UML

• Vues multiples
– Diagramme de classes et d'objets
• décrit les classes, leurs interrelations, et leurs instances
© Tom Mens, UMH, 2005

– Diagramme de séquence et de collaboration


• montre le comportement du systèmes par l’interaction des
objets qui le compose
– Diagramme d’états/transitions
• montre comment le système se comporte de façon interne
– Diagramme de composants
• montre comment les différentes composantes du logiciel sont
organisés logiquement
– Diagramme de déploiement
• montre comment les différentes composantes (machines) du
système (hardware) sont organisés physiquement
– Diagramme de cas d'usage
• montre les utilisations possibles d'un logiciel
13 – Diagramme d'activités

5.1
Qu’est-ce que UML?
Diagramme de cas d'usage (use case diagram)
© Tom Mens, UMH, 2005

14

Qu’est-ce que UML?


5.1
Diagramme de classes (class diagram)
© Tom Mens, UMH, 2005

15

5
5.1
Qu’est-ce que UML?
Diagramme de séquence (sequence diagram)
© Tom Mens, UMH, 2005

16

5.1
Qu’est-ce que UML?
Diagramme de séquence (sequence diagram)
© Tom Mens, UMH, 2005

17

5.1
Qu’est-ce que UML?
Diagramme de collaboration (collaboration diagram)
© Tom Mens, UMH, 2005

18

6
5.1
Qu’est-ce que UML?
Diagramme d'état/transition (statechart diagram)
© Tom Mens, UMH, 2005

20

5.1
Qu’est-ce que UML?
Diagramme d'état/transition (statechart diagram)
© Tom Mens, UMH, 2005

21

5.1
Qu’est-ce que UML?
Diagramme de composantes (component diagram)
© Tom Mens, UMH, 2005

22

7
5.1
Qu’est-ce que UML?
Diagramme de deploiement (deployment diagram)
© Tom Mens, UMH, 2005

23

Qu’est-ce que UML?


5.1
Diagramme d'activité (activity diagram)
© Tom Mens, UMH, 2005

24

Qu’est-ce que UML?


Les mécanismes généraux

• Un mécanisme de structuration de modèles


– Les paquetages (packages)
Un mécanisme intégré d’extension
© Tom Mens, UMH, 2005


– Les stéréotypes
– Les valeurs marquées (tagged values)
• Les notes
• Les contraintes
– Le langage textuel OCL

25

8
Qu’est-ce que UML?
Diagramme de paquetages (package diagram)
© Tom Mens, UMH, 2005

26 Automatically generated by EclipseUML plugin

Qu’est-ce que UML?


Les mécanismes généraux
Les paquetages: un mécanisme de
structuration de modèles
© Tom Mens, UMH, 2005

27

Qu’est-ce que UML?


Les mécanismes généraux

• Les stéréotypes: un mécanisme intégré


d’extension
© Tom Mens, UMH, 2005

– élargit le vocabulaire d'UML


– sont employés pour créer de nouveaux sortes
d'éléments en UML qui dérivent des sortes
existantes mais qui sont adaptées à un problème
donné
– il y a des stéréotypes prédéfinis dans UML

28

9
Qu’est-ce que UML?
Les mécanismes généraux

• Les stéréotypes
– Définition
© Tom Mens, UMH, 2005

• Un nouveau type d'élément de modélisation qui étend la


sémantique du méta-modèle. Les stéréotypes doivent être
basés sur des types ou classes existant dans le méta-modèle
– Notation
• << nom du stéréotype >>
• Possibilité d’ajouter un icône
– Exemple
<<Actor>> Customer
Customer

Customer

nom du stéréotype icône du stéréotype


29

Qu’est-ce que UML?


Les mécanismes généraux

• Les stéréotypes: exemples


© Tom Mens, UMH, 2005

«datatype»
Integer «exception»
«subsystem»
User Interface Overflow

«utility» «traces» «refines»


Maths

30

Qu’est-ce que UML?


Les mécanismes généraux

• Les valeurs marquées (tagged values)


– un autre mécanisme intégré d’extension
© Tom Mens, UMH, 2005

– paires de type {nom=valeur}


– fournissent des informations supplémentaires sur
des éléments

31

10
Qu’est-ce que UML?
Les mécanismes généraux

• les notes
– Commentaire attaché à un ou plusieurs éléments
de modélisation
© Tom Mens, UMH, 2005

• Appartient à la vue, pas au modèle


• Peut être stéréotypée en contrainte

A Ceci est un
commentaire

B
Blah blah

32

Qu’est-ce que UML?


Les mécanismes généraux

• les contraintes
– Restrictions qui limitent l'utilisation d'un élément
ou la sémantique d'un élément
© Tom Mens, UMH, 2005

– Exprimée en OCL (Object Constraint Language) ou


en langage naturel
• {contrainte}, inv, pre-, post-condition

33

Les mécanismes généraux


Exemples de contraintes OCL
Copie Livre
{xor}
© Tom Mens, UMH, 2005

Journal

Voiture
{self.roues->size <= 4}
roues:int

Transaction
quantité:Euro {quantité est un multiple de €5}
34

11
Les mécanismes généraux
Exemples de contraintes OCL
© Tom Mens, UMH, 2005

35

Les mécanismes généraux


Exemples de contraintes OCL

• Contraintes prédéfinies
– Généralisation
• complete
© Tom Mens, UMH, 2005

• incomplete
• disjoint
• overlapping
– Instance ou lien
• new
• destroyed
• transient

36

Qu’est-ce que UML?


Les mécanismes généraux

stéréotype
de classe
valeur marquée
© Tom Mens, UMH, 2005

contrainte

stéréotype
d'opération

37

12
Les points forts d’UML

• UML est un langage “semi-formel” et standardisé


– Gain de précision
– Gage de stabilité
© Tom Mens, UMH, 2005

– Encourage l’utilisation d’outils

• UML est un support de communication performant


– Il cadre l’analyse
– Il facilite la compréhension de représentations abstraites
complexes
– Son caractère polyvalent et sa souplesse en font un langage
universel

38

Les points faibles d’UML

• La mise en pratique d’UML nécessite un


apprentissage et pas par une période
© Tom Mens, UMH, 2005

d’adaptation
– UML contient beaucoup (trop?) de diagrammes …
• Le processus, qui n’est pas couvert par UML,
reste un clé de la réussite d’un projet
– L’intégration d’UML dans un processus n’est pas
triviale
– Améliorer un processus est une tache complexe et
longue
39

13

You might also like