Documente Academic
Documente Profesional
Documente Cultură
Sommaire
N O T A T I O N U M L
Historique
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
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
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
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 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
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
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 logique
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 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:
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.
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
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
Nom
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
P ersonne
E ntreprise
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
travaille
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
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
Implements
Planneur
Extends
L Axe Statique
AvionD e C hasse
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
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
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
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 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
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
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 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
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
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 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
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
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
[else]
Activit3
L Axe Dynamique
Diagramme d activits
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
recevoir confirmation
Prt
L Axe Dynamique
UML 2
N O T A T I O N U M L
UML 2
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, 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
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