Professional Documents
Culture Documents
Sommaire
N O T A T I O N U M L
Historique
BOOCH
N O T A T I O N U M L
Pionnier de l Orient-Objet
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
OMT
N O T A T I O N U M L
3 axes
Statique Dynamique Fonctionnel James Rumbaugh
Historique
OOSE
N O T A T I O N U M L
5 modles
Besoins Analyse Conception Implantation Test
Ivar Jacobson
Historique
Mthodes Objets
N O T A T I O N U M L
Historique
Naissance dUML
N O T A T I O N U M L
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 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
Conclusion
N O T A T I O N U M L
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
Fonctionnel
Diagramme de Use Case
Dynamique
Diagramme d'Etats-Transitions Diagramme d'Activit Diagramme de Squence
La Modlisation
Cycle de dveloppement
N O T A T I O N U M L
Vue de dploiement
Architecture Hardware Distribution => Topologie du systme
La Modlisation
- 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
include extends
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 de type Classe
objet1 : Classe objet2 : Classe
Message synchrone
Message asynchrone
Diagramme de Squence
Notation Graphique
Appelant: Ligne tlphonique: dcroche() tonalit numrotation() indication sonnerie indication sonnerie() dcroche Appel:
Objet
N O T A T I O N U M L
L axe statique
Classes et Objets
Notation de base
N O T A T I O N U M L
Classe
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.
L Axe Statique
Classes et Objets
Attribut
N O T A T I O N U M L
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)
Attribut driv
attribut qui peut tre dduit dun ou plusieurs autres attributs (reprsent par le symbole /)
L Axe Statique
Classes et Objets
Mthode
N O T A T I O N U M L
Mthode = service que l on peut demander un objet pour raliser un comportement Syntaxe
visibilit nom (paramtres) : type retour
L Axe Statique
Classes et Objets
Notation Complte
N O T A T I O N U M L
Visibilit
Static
Fenetre + taille : Rectangle = 100,100 - visible : Boolean = true couleur : Color = blue #$ tailleMax : Rectangle #$ tailleMin : Rectangle /#$ tailleMoyenne : Rectangle + afficher() : Position + cacher() # setTaille(taille : Rectangle)
Driv
} }
Retour
Attributs
Mthodes
Paramtre
L Axe Statique
Associations
Dfinition
N O T A T I O N U M L
Association
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
Nom
-em ploy 1..* em ploie -em ployeur 0..1
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
Personne
Entreprise
L Axe Statique
Associations
Classe dAssociation
N O T A T I O N U M L
Classe dassociation = Elment ayant la fois les proprits d une classe et d une association
travaille
Classe
L Axe Statique
Associations
Association n-aire
N O T A T I O N U M L
Association n-aire = Une association parmi 3 classes ou plus. Chaque instance de lassociation est un n-tuple de valeurs des classes respectives. Salle
lieu 1 Cours 1..*
Professeur 1
Elve
Agrgation et Composition
Dfinitions
N O T A T I O N U M L
Agrgation = association particulire spcifiant une relation tout partie entre lagrgat et un composant
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
4 Roue
Agrgation
N O T A T I O N U M L
1..1 Moteur 1..1 Chassis 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).
Avion
Discriminant
Gnralisation
motorisation Planeur motorisation AvionAMoteur rayon d'action MoyenCourrier rayon d'action LongCourrier
A320
Hritage multiple
L Axe Statique
Spcialisation
Gnralisation, Spcialisation
Interface
N O T A T I O N U M L
Notations
<<Interface>>
Strotype
Implements
Planneur
Extends
L Axe Statique
AvionDe Chasse
Gnralisation
Contraintes
N O T A T I O N U M L
Avion
L Axe Statique
Gnralisation
Classe Abstraite
N O T A T I O N U M L
Avion
Ou
Avion
{abstract}
Italic
Contrainte
L Axe Statique
Package
Pour Structurer
N O T A T I O N U M L
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
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
N O T A T I O N U M L
L Axe Statique
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
.
N O T A T I O N U M L
TX serveur
PC
L Axe Statique
L Axe Dynamique
Introduction
N O T A T I O N U M L
Le modle dynamique reprsente les squences dvnements, dtats 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
David Harel
L Axe Dynamique
Diagramme Etats-Transitions
Etats
N O T A T I O N U M L
tat initial
tat intermdiaire
tat final
L Axe Dynamique
Diagramme Etats-Transitions
Transition, Condition
N O T A T I O N U M L
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
Etat final
Transition
L Axe Dynamique
Diagramme Etats-Transitions
Action, Activit
N O T A T I O N U M L
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
Arret
Action
L Axe Dynamique
Activit
Diagramme Etats-Transitions
Notation Complte
N O T A T I O N U M L
Activit
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 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
N O T A T I O N U M L
N 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
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
Activit1
[condition1] Activit2
[else]
Activit3
L Axe Dynamique
Diagramme d activits
* Barre de synchronisation
N O T A T I O N U M L
Refroidir
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
Act ivit 1
Activit1
N O T A T I O N U M L
Objet en entre:
* Signal
Excuter squence de dmarrage
recevoir confirmation
Prt
L Axe Dynamique
UML 2
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
UML 2
Diagramme de squences
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
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
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
Rfrences
Livres
N O T A T I O N U M L
The Unified Modeling Language User Guide , G. Booch, J. Rumbaugh, I. Jacobson, 1999, Addison Wesley Object-Oriented Modeling and Design, J. Rumbaugh, 1991, PrenticeHall Object Solution, G. Booch, 1996, Addison-Wesley Object-Oriented Software Engineering: A Use Case Driven Approach, I. Jacobson, 1992, Addison-Wesley 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
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