Vous êtes sur la page 1sur 68

Chapitre 1 Introduction UML

2004-05

Hamza Sameh

Plan du cours

Introduction UML
La

notation et loutil

Le Processus Unifi Les diagrammes dUML

2004-05

Hamza Sameh

Objectifs d'UML

Proposer un langage visuel de modlisation


Utilisable par toutes les mthodes Adapt toutes les phases du dveloppement Compatible avec toutes les techniques de ralisation

Proposer des mcanismes dextension et de spcialisation pour pouvoir tendre les concepts de base tre indpendant des langages particuliers de programmation

Proposer une base formelle pour comprendre le langage de modlisation


Encourager lapplication des outils OO
Hamza Sameh 3

2004-05

Quest ce que la Modlisation Visuelle ?


Commande lment

La modlisation capture les parties essentielles dun systme.


Dr. James Rumbaugh

Envoy par

Processus mtier

La Modlisation Visuelle utilise des notations graphiques standards

Systme informatique

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-8

2004-05

Hamza Sameh

Unified Modeling Language

Ensemble de modles pour reprsenter


un

systme informatique son utilisation dans lentreprise

Utilis pour concevoir un systme

2004-05

Hamza Sameh

UML, le standard

1997, UML 1.0


unification

de diverses mthodes et langages G. Booch, J. Rumbaugh, I. Jacobson (Rational et autres)

1999, UML 1.3 2001, UML 1.4 (1.5 en 2003) 2004.., UML 2.0

2004-05 Hamza Sameh 6

Processus de dveloppement principes

Spcifier ce qui doit tre fait, quand le faire, comment le faire et par qui pour atteindre lobjectif fix. Le processus unifi (RUP Jacobson et al;99) regroupe les pratiques de conception de SI les plus reconnus impliquant un dveloppement :

intractif et incrmental;
fond sur les composants; orient par les besoins; Configurable; Centr sur larchitecture; Utilisant des techniques visuelles de modlisation.
2004-05 Hamza Sameh 7

Processus de dveloppement activits

2004-05

Hamza Sameh

Processus de dveloppement Activits


Activit Capture et modlisation des besoins Techniques Acquisition des besoins Modlisation des cas dutilisation Rsultats Diagramme de cas dutilisation Liste des besoins

2004-05

Hamza Sameh

Processus de dveloppement Activits


Activit Analyse des besoins Techniques Modlisation des intractions (collaborations) Modlisation de la structure (classes et objets)
Hamza Sameh

Rsultats Diagrammes danalyse (squences, collaborations , activits, classes)

2004-05

10

Processus de dveloppement Activits


Activit Techniques Rsultats

Conception du systme

Modlisation de Diagramme de dploiement et de dploiement larchitecture de Diagramme de limplmentation composants

2004-05

Hamza Sameh

11

Processus de dveloppement Activits


Activit Conception dtaille des classes Techniques Modlisation des objets et des classes Modlisation des intractions Modlisation des tats
Hamza Sameh

Rsultats
Diagramme de classes dtailles

Diagramme des objets Diagramme des tats transition

2004-05

12

Processus de dveloppement Activits


Activit Conception des interfaces utilisateur Techniques Modlisation des objets et des classes Modlisation des intractions Modlisation des tats
Hamza Sameh

Rsultats Diagramme de classes dtaills Et des objets Diagramme des tats transition Avec Spcification des interfaces
13

2004-05

Processus de dveloppement Activits


Activit Conception de la gestion des donnes Techniques
Modlisation des objets et des classes Modlisation des intractions Modlisation des tats Modlisation des paquetages

Rsultats
Diagramme de classes dtaills Et des objets Diagramme des tats transition Avec Spcification de la base de donnes
14

2004-05

Hamza Sameh

Processus de dveloppement Activits


Activit
Implmentation

Techniques Programmation Rutilisation des composants Spcification de la base de donnes

Rsultats
systme ralis

2004-05

Hamza Sameh

15

Processus de dveloppement Activits


Activit
Tests

Techniques Procdures et scnarios de test

Rsultats
systme test

2004-05

Hamza Sameh

16

Modliser un systme avec UML

Modliser un systme = dcrire son architecture

2004-05

Hamza Sameh

17

Vue statique et vue dynamique

Vue statique :
diagramme

de classes : la structure statique en terme

de classes et de relations. diagramme dobjets : les objets et leurs relations


diagrammes

physiques dune application.

de composants : les composants

diagrammes

composants sur les dispositifs matriels.

de dploiement : le dploiement des

2004-05

Hamza Sameh

18

Vue statique et vue dynamique

Vue dynamique : comportement du systme lexcution


Diagramme de cas dutilisation : les fonctions du systme du point de vue de lutilisateur. diagramme de squences : une reprsentation temporelle des objets et de leurs interactions. diagramme de collaboration : une reprsentation spatiale des objets, des liens et des interactions. diagramme dactivits : le comportement dune opration, dun cas dutilisation ou un processus mtier.

diagramme dtat/transition : le comportement dune opration en terme dtats.


2004-05 Hamza Sameh 19

Diagramme de cas d'utilisation


pour visualiser linteraction de votre systme avec le monde extrieur

workshop, 07.07.2000 yright 2000 Rational Software, all rights reserved

1-22

2004-05

Hamza Sameh

20

Diagramme dactivits
pour illustrer un workflow ( l'intrieur d'un cas d'utilisation par exemple)

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-23

2004-05

Hamza Sameh

21

Diagramme de Squence
montre ce qui se passe pour accomplir une fonctionnalit du systme avec point de vue temporel

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-24

2004-05

Hamza Sameh

22

Diagramme de Collaboration
l'quivalent d'un diagramme de squence, avec un point de vue spatial

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-25

2004-05

Hamza Sameh

23

Diagramme de Classes
montre la structure statique de votre systme

Diagramme de classes

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-26

2004-05

Hamza Sameh

24

Diagramme d tat-transition
montre le cycle dtats-transition Diagramme de vie dune classe

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-27

2004-05

Hamza Sameh

25

Diagramme de composants
illustrent lorganisation et les dpendances Diagramme de composants parmi les composants logiciels

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-28

2004-05

Hamza Sameh

26

Le dploiement du systme
visualise la Diagramme de dploiement distribution des composants dans lentreprise : la topologie.

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-29

2004-05

Hamza Sameh

27

Schema de base de donnes relationnelles

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

1-30

2004-05

Hamza Sameh

28

Diagrammes UML (Rcapitulatif)

Diagrammes et rfrentiel
Use Case Use Case Diagrams Diagrammes Diagrams de Squence Use Case Use Case Diagrammes Diagrams Diagrams de Cas dUtilisation State State Diagrams Diagrammes Diagrams de Classes State State Diagrams Diagrammes Diagrams dobjets

Scenario Scenario Diagrams Diagrammes de Diagrams Collaborations

Modle Unique
Component Component Diagrams Diagrammes Diagrams

State State Diagrams Diagrammes Diagrams de Composants

Scenario Scenario Diagrams Diagrammes Diagrams dtats transition

Diagrammes dActivits
1-17

de Deploiment

RUP workshop, 07.07.2000 Copyright 2000 Rational Software, all rights reserved

2004-05

Hamza Sameh

29

-Chap 2Le diagramme de classes


Vue statique du systme

2004-05

Hamza Sameh

30

Introduction
Le plus connu ! Mais pas le seul !!

2004-05

Hamza Sameh

31

Introduction
Montre les classes* du systme et leurs relations Il existe des techniques qui permettent de les dcouvrir .plus tard !!:-(

Df. : Une Classe est un ensemble dobjets ayant la mme structure, le mme comportement, les mmes relations et la mme smantique

2004-05

Hamza Sameh

32

Classe
Un rectangle

3 compartiments

2004-05

Hamza Sameh

33

Classe : Nom
Le nom de la classe

Compte
En Java

public class Compte {

!! UML peut tre traduit en n importe quel langage de programmation


34

2004-05

Hamza Sameh

Classe : proprits, tat


Les attributs

Compte
numero : String solde : Float public class Compte { String numero; Float solde;
En Java

2004-05

Hamza Sameh

35

Classe : oprations, comportement


Compte
numero : String solde : Float
En Java

Les mthodes

debiter () : void crediter () : void getSolde () : Float

public class Compte { String numero; Float solde;

void debiter() {} void crediter() {} Float getSolde() {} }

2004-05

Hamza Sameh

36

Classe : oprations, comportement


Compte
numero : String solde : Float debiter () : void crediter () : void getSolde () : Float public class Compte { String numero; Float solde;
En Java

void debiter() {}

?? Il manque quelque chose, non ?


}

void crediter() {} Float getSolde() {}

2004-05

Hamza Sameh

37

Classe : Visibilits
- : private
Compte
- numero : String
- solde : Float
En Java

+ : public # : protected

+ debiter (montant : Float) : void + crediter (montant : Float) : void + getSolde () : Float - modifierSolde (montant : Float) : void # calculerNouveauNumero () : String

public class Compte { private String numero; private Float solde;

public void debiter() {} public void crediter() {} public Float getSolde() {} static protected calculerNouveauNumero() {} }

2004-05

Hamza Sameh

38

Relations
Lien de communication entre objets 3 types :

association aggrgation

dpendance

2004-05

Hamza Sameh

39

Relations : Association
Bi-directionnelle Permet lchange de messages

Client

achte

Produit

2004-05

Hamza Sameh

40

Relations : Agrgation
Association Couplage plus fort Relation tout-partie

Bouteille Vin

2004-05

Hamza Sameh

41

Relations : Dpendance
Relation client - serveur Exprime le besoin dun service Sans savoir si le serveur existe et surtout quelle forme il a

Package 2
Package 1

2004-05

Hamza Sameh

42

Relations : Multiplicit

Combien dobjets participent la relation


nombre

dinstances dune classe par rapport une instance de lautre classe

association et agrgation

chaque extrmit (2 par relation) 0..* ; 1; 0..2 ; 3..10 ...


Voiture
1 1..5

Passager

2004-05

Hamza Sameh

43

Relations : Navigabilit
Une flche qui restreint la navigation dans un sens Pourquoi ?

Passager

Voiture
vitesseMax:entier poidsVide:reel avancer(vit) : void donnerPoids():reel tourne(dir):void 1 1 1 0..4

poids:reel donnerPoids():reel

Conducteur
poids:reel donnerPoids():reel bouge(dir,vit):void

2004-05

Hamza Sameh

44

Relations : Hritage

Le conducteur est un passager


Passager
1 poids:reel donnerPoids():reel

Voiture
1

0..5

Super-classe
conduit

Sous-classe
1

Conducteur
bouge(dir,vit):void

Hritage du comportement, des proprits et des relations de la super-classe

2004-05

Hamza Sameh

45

Relations : La composition
Relation de tout-partie MAIS, lien plus fort :

partage

impossible cycle de vie li


Commande LigneDeCommande

0..*

2004-05

Hamza Sameh

46

-Chap 3Le diagramme de cas dutilisation


Ce que lutilisateur attend du systme
47

2004-05

Hamza Sameh

Acteur (Actor)
Quelquun ou quelque chose EXTERNE au systme qui interagit avec le systme

<<actor>>

Client

Client

Stick-man

2004-05

Hamza Sameh

48

Cas dutilisation (Use case)


Squence de transactions entre un acteur et le systme PAS un module du systme

plutt

une fonctionnalit du systme

Consulter compte

Client

Le systme permet lacteur Client de consulter son compte

2004-05

Hamza Sameh

49

Documentation du Cas dUtilisation

nominal,

Un flot dvnements (Scnario)


alternatifs, exceptions ,

du point de vue de lacteur quest-ce que le systme doit fournir lacteur quand le cas dutilisation est excut ?

2004-05

Hamza Sameh

50

Pourquoi faire ?
Ce nest pas du code !! tre sr que le systme dvelopp rpond aux besoins de lutilisateur final

Donne une vue globale du systme


ce

qui est externe au systme (acteurs) les fonctionnalits du systme (use cases)
2004-05 Hamza Sameh 51

Ralisation de cas dutilisation


regroupement des livrables relatifs la conception dun cas dutilisation 3 types de diagramme :
classe (VU) squence (A VOIR) collaboration (A VOIR)

<<realize>>

Ralisation du cas dutilisation


Consulter compte
2004-05 Hamza Sameh

Consulter compte
52

-Chap 4Les diagrammes dinteractions


Diagramme de squences Diagramme de collaboration
2004-05 Hamza Sameh 53

Diagramme de squence
Diagramme de collaboration trs proche du diagramme de squence smantiquement identique

2004-05

Hamza Sameh

54

Diagramme de squence

Interactions entre objets ordonnes dans le temps objets


Mohamed:Client :ihmClient :consultationController :Compte 1: saisir code 2: vrifier code 3: 4: entrer n compte 5: consulter compte 6: obtenir solde

message

ligne de vie

rponse
Diagramme de squence du scnario nominal du cas dutilisation Consulter Compte
55

2004-05

Hamza Sameh

Pourquoi faire ?
Mettre en jeu les diffrents objets du modle et sils n existent pas, les crer

simon:Client :ihmClient

message

1: saisir code

4: entrer n compte

Diagramme de squence du scnario nominal du cas dutilisation Consulter Compte


56

2004-05

Hamza Sameh

Diagramme de collaborations

Idem, reprsentation spatiale


:ihmClient 3: 2: vrifier code 5: consulter compte :consultationController 6: obtenir solde

1: saisir code 4: entrer n compte

Mohamed:Client

:Compte

Diagramme de collaboration du scnario nominal du cas dutilisation Consulter Compte

2004-05

Hamza Sameh

57

-Chap 5Le diagramme dactivits


Enchanement dactivits

2004-05

Hamza Sameh

58

L tat de dpart

Diagramme dactivits
Etudiant Professeur
Choisir une place S installer Se taire ;-)

Barre de synchronisation

Prendre note

Enseigner [il y a du bruit]

Diagramme dactivit du cours

Interrompre cours
[cest lheure]

swimlane

Un tat final

2004-05

Hamza Sameh

59

Diagramme dactivit
Un diagramme de flux peut servir montrer les flux entre diffrentes mthodes dune classe

2004-05

Hamza Sameh

60

-Chap 6Le diagramme dtats-transitions


Automates ?

2004-05

Hamza Sameh

61

Diagramme dtats transition


Raccroch dcrocher Dcroch Attente Pice Insrer pice/ credit=0 Attente Numro Attente nontant Insrer pice/ Insrer pice[credit>2E] raccrocher Taper un numro Taper numro urgence En communication

tat initial

credit=credit+p

Diagramme dtats d un tlphone

tat final

2004-05

Hamza Sameh

62

-Chap 7Le diagramme de composants


Le physique du systme

2004-05

Hamza Sameh

63

Diagramme de composants

Organisation et dpendances entre les composants logiciels


MonAppli.exe unComposant.jar

boiteOutil.dll

2004-05

Hamza Sameh

64

-Chap 8Le diagramme de dploiement


O ranger les composant ?

2004-05

Hamza Sameh

65

Diagramme de dploiement

SGBD Client

ServeurApplication

2004-05

Hamza Sameh

66

-Chap 9Le diagramme dobjet


Plus prcis que le diagramme de classes
67

2004-05

Hamza Sameh

Diagramme dobjets

Montre les relations entre instances de classes


permet

de vrifier un diagramme de classe selon diffrents cas


passager 0..* 1 vehicule

Personne
1 0..*

Ali:Personne Fethi:Personne
raccompagne

passager
passager vehicule vehicule vehicule

Voiture

raccompagne

deuxChevauxRouge:Voiture

raccompagne conducteur

elies:Personne

2004-05

Hamza Sameh

68