You are on page 1of 69

lments dUML

pour le projet
(Unified Modeling Language)

C Crochepeyre

UML

PLAN
1.
2.
3.
4.
5.
6.
7.

Introduction
Prliminaires
Les rgles UML
Les diagrammes UML
Outils de modlisation UML
Ltude pralable avec UML
Conclusion

C Crochepeyre

UML

1- Introduction
UML: langage de modlisation
Mta-modle UML
dfinit la structure des modles UML
permet la description du modle concern par lapplication.
une notation UML avec des lments de la notation extensibles
condition den dfinir la smantique

Construction de modles objets ou autres


Utilisation de la notation graphique
une solution visuelle
limite les ambiguts
indpendance par rapport aux langages

C Crochepeyre

UML

Exemple
-> mtamodle

-> Classe, Attribut, Opration

-> modle

-> Fournisseur
Identification, nomFournisseur, adresseFournisseur
commander()

-> objet

-> Dupont
40222 , ChipsAndChips , 13 rue Parmentier
commander(12005A,13)

C Crochepeyre

UML

2- Prliminaires
Les origines dUML
La dmarche de conception et danalyse
UP: Processus unifi

C Crochepeyre

UML

Origines dUML

Issu en 1996 de la pratique industrielle et de la modlisation des systmes


logiciels.
Unification des mthodes objets de J-B-R
Ivar Jacobson (OOSE)
Grady Booch (BOOCH'93) ,
James Rumbaugh (OMT) et
Normalisation OMG en 1997. En 2007: UML 2.1.2
Mthodes
Fonctionnelles : annes 60
Inspire de larchitecture des ordinateurs
tudes des fonctions en sparant les donnes du code.
Objets : annes 80
Modlisation objet avec composition et dcomposition
des objets ayant des proprits et des comportements
Mthodes qui couvrent le cycle de vie dun logiciel.
UML : de nouvelles techniques sans rejeter les mthodes existantes
C Crochepeyre

UML

Dmarche de conception et danalyse


Analyse du pb: processus unifi UP
guide par les besoins des utilisateurs du systme
centre sur l'architecture logicielle
itrative et incrmentale

Utilisation dun langage de modlisation UML


permet d'amliorer progressivement les mthodes de travail,
prserve les modes de fonctionnement,
bote outils

Litration peut se faire toutes les phases


tude pralable
construction
tests et mise au point

C Crochepeyre

UML

Processus unifi
Langage de modlisation UML + Processus unifi UP
UP: Processus de dveloppement propos par J-B-R
Processus:
Recensement des cas dutilisation
Construction de larchitecture du systme ds le dbut
avec
Principe ditrations et incrmentations
valuation des risques toutes les tapes

on part des cas dutilisations connus, on construit un


premier modle darchitecture; on complte et affine par
itrations et incrmentations et on value par tape les
risques pour faire les meilleurs choix
C Crochepeyre

UML

Les utilisateurs dcrivent les cas dutilisation


Recensement des besoins
Description des composants ou objets
Description des modes opratoires
Recensement des contraintes
Interactions entre les besoins et les contraintes
Construction dune architecture du systme en adquation

Progression de la construction en compltant et affinant


ltude
Ajouts, complments, dtails des cas dutilisation
Description plus dtaille des composants
Ajustement de larchitecture

Utilisation de maquettes et prototypes

C Crochepeyre

UML

Evaluation permanente du systme en terme de bon


choix : le bon produit, une bonne construction, le bon
prix, les bonnes performances.

volution
Amlioration
Validation ou rejet des solutions
Objectif: minimiser les risques au fur et mesure de la spirale
de dveloppement

C Crochepeyre

UML

10

Phases du processus UP:


tude dopportunit
Mesures des risques
Dfinitions des limites
Construction dune maquette des premiers cas dutilisation
Dcision
Ralisation
Premire version
Proposition darchitecture, dveloppements, tests
Rentabilit: dcision
Puis processus incrmental et itratif jusquau produit final
Mise en exploitation

C Crochepeyre

UML

11

Les activits dans les phases:

Expression des besoins


Analyse
Conception
Implmentation
Tests

les activits sont celles des mthodes connues mais ces activits
se droulent selon les phases UP
RUP: Rational Unified Process.
Version UP de la socit Rational Software

C Crochepeyre

UML

12

3- les rgles UML


Dveloppement orient objet
UML langage de modlisation
Rgles dcriture et de reprsentation graphiques normalises
Neuf diagrammes (UML 2.1.2: 13 diagrammes )

Mta-modle des concepts et notations des diagrammes


Construire les outils de modlisation selon les rgles UML et
adapts ltude
Rgles
Strotypes;
Notes;
Contraintes;
rgles dcriture des noms et expressions: nom, tiquette
valeur dun composant;
Paquetage.
C Crochepeyre

UML

13

Strotypes
Adaptation du modle aux lments de lapplication
Nouveau type dlment dfini depuis un type du modle
Application principale aux classes
Distinction dutilisation entre guillemets
Ex: classe Client strotype clientA

Notes
Commentaires dun lment UML

Client
clientA
strotype

C Crochepeyre

Pour tous
commentaire

UML

14

Contrainte
Note smantique pour un lment
criture entre { }
Aussi langage OCL Objet Constraint Language dUML
criture des noms et des expressions
Nom: identifiant dun lment, chane de caractres
Expression: valeur
noms

Elve

assister

Cours

NomEleve
Cycle.UE
expressions

{un lve doit


tre Inscrit}

After (7 minutes)
Date = 7 juillet 2005

contrainte

C Crochepeyre

UML

15

Paquetage
Dcomposition du systme en paquetages
Ensemble logique dlments du modle
Nommage du paquetage
Relations entre paquetages

Elves

C Crochepeyre

U.E

Profs

UML

16

4- Les principaux diagrammes UML


Diagramme des cas dutilisation
Besoins des utilisateurs

Diagramme de classes
Description statique des donnes et des traitements

Diagrammes dobjets
Instances des classes

Diagramme tats-transitions
tats des objets selon les vnements

Diagramme dactivits
Vue des enchanements des activits dun cas dutilisation ou
dune opration

C Crochepeyre

UML

17

Diagramme de squence
Scnario dun cas dutilisation : chronologie des oprations

Diagramme de collaboration
Scnario dun cas dutilisation: activits des objets et des
messages changs

Diagramme des composants


Reprsentation des composants logiciels dun systme

Diagramme de dploiement
Description de larchitecture technique du systme

C Crochepeyre

UML

18

4.1. Diagramme de classe et dobjets


les objets sont identifis dans le systme et portent un nom
Les classes sont cres en regroupant les objets ayant les
mmes proprits, mmes comportements
Un objet est une instance dune classe
Reprsentation UML dune classe
Elve

Nom classe
Attributs

Elve

Oprations

NElve: entier
NomElve: car
Adresse: car
Inscrire()

autres

C Crochepeyre

UML

19

Reprsentation UML dun objet

Nom objet : classe


Valeur attrib 1
Valeur attrib 2
Valeur attrib 3

Elev2005001: Elve

Elev2005001

2005001
durand
1 rue de Paris

2005001
durand
1 rue de Paris

C Crochepeyre

: Elve
2005001
durand
1 rue de Paris

UML

20

Association entre classes


Liens entre les instances
Rle de lassociation et son sens
Cardinalit des instances associes

Nom classe X

C Crochepeyre

Nom association

1..2

Nom classe Y

A une instance X correspond 1 2 instances de Y


A une instance Y correspond 0 n instances de X

UML

21

Agrgation
Association entre une classe de type ensemble avec
plusieurs classes de type lments
Salle

C Crochepeyre

Chaises

1..2
tableau

quipement

UML

22

Composition
Agrgation avec une contrainte de dure de vie
La suppression de la classe compos implique la
suppression des classes composant
lve

lve

N lve
liste UE

1
N lve

1..*
liste UE

C Crochepeyre

1
dossier

dossier

UML

23

Qualification dune association


Smantique dune association entre deux classes
Restriction dune association

Notes UE

N lve
Nomlve

lve

contenir

La liste des notes dune UE contient le n des lves et leur nom

C Crochepeyre

UML

24

Gnralisation et hritage simple


Gnralisation: cration dune superclasse partir de classes
Hritage: cration de sous classes partir dune classe
hritage

lve

lve HTT

lve FOD
gnralisation

C Crochepeyre

UML

25

Hritage avec recouvrement


Chevauchement : deux sous classes avec des instances
identiques
Disjoint : les instances dune sous classe ne peuvent tre dans
une autre sous classe
Complte : la gnralisation ne peut tre tendue
Incomplte : la gnralisation peut tre tendue
lve

lve HTT

C Crochepeyre

{chevauchement}

lve FOD

UML

26

Extension et restriction de classe


Extension: ajout de proprits dans une sous classe
Restriction: masquage de proprits dans une sous classe

lve
nlve
nom
adresse

restriction

extension
lve salari

lve prospect

nlve
nom
adresse
entreprise

C Crochepeyre

.
nom
adresse

UML

27

Hritage multiple
Une classe hrite de deux classes parentes
lve

lve externe

salari

C Crochepeyre

lve interne

boursier

employ

UML

28

4.2. Diagramme des cas dutilisation


Description de linteraction entre lutilisateur et le systme
Recensement des besoins des utilisateurs
Descriptions textuelles + diagrammes de tous les cas dutilisation

systme inscription
inscrire

inscription

lve

lve
Cas dun lve qui sinscrit

Plusieurs acteurs
Plusieurs cas

scolarit

C Crochepeyre

UML

rgie

29

Description textuelle
Transcription textuelle de la description des cas dutilisation
Complments aux diagrammes
Avantages:
La rdaction permet de corriger le diagramme
Le diagramme oblige rdiger chaque cas

cas
rsum

Inscription dun lve


Procdure dinscription dun lve jusqu la
dlivrance de sa carte

acteur primaire

Llve

acteur secondaire La scolarit, la rgie


pr-conditions

Vrification pralable des conditions dinscription

rsultats

Dossier dinscription, paiement, dlivrance carte lve

description

1.
2.
3.
4.

exceptions

C Crochepeyre

llve prsente sa demande


Saisie des UE
Calcul du cot

Pas de dlivrance de carte si 1 UE agrment

UML

30

Relations entre cas dutilisation

Rutilisation de cas en utilisant les relations


dinclusion include
dextension extend
de gnralisation
Inclusion
Une instance contient le comportement dune autre instance

include

paiement

inscription

include

C Crochepeyre

carte

UML

31

Extension
Le comportement dune instance peut tre tendue par le
comportement dune autre instance
Point dextension mentionn dans le cas dutilisation

include
1

Inscription UE

lve en informatique

paiement

include
extend

Dlivrance
carte

Inscription CRI

C Crochepeyre

UML

32

4.3. Diagramme tats-transitions

Montre les tats simples, les transitions et les tats composites imbriqus
Ltat dun objet un instant t peut chang linstant t+1
Le passage dun tat un autre est une transition
La condition de passage est appele garde

Etat-Transition

Transition [condition]
tat 1

lve prospect

C Crochepeyre

tat 2

inscription [paiement ok]

UML

lve inscrit

33

On peut prciser une action ou activit la transition


Transition [condition]/ action
tat 1

lve prospect

C Crochepeyre

tat 2

Inscription [paiement ok]/ dpt dossier


lve inscrit

UML

34

Suite dtats et de transitions avec


Dbut:
Fin:
Ti : transition Ci : condition Ai : action

T1[C1]/A1
tat 1

tat 2

T2[C2]/A2

T4[C4]/A4

C Crochepeyre

UML

tat 3

tat 4

35

Exemple dtats-transitions

Etat

Personne
Rencontre
conseiller

Action
Transition

Projet formation

En cours dinscription
Remplit un dossier

Dossier dpos
Inscrit
Paiement ok

C Crochepeyre

UML

36

Exemple de diagramme machine tats

ancien lve
lve

nouvel
lve

C Crochepeyre

Dossier inscription

plan formation

UML

37

4.4. Diagramme dactivits


Description des activits dun cas dutilisation ou dune opration
Diagramme de type : tat-action
Excution dactivits diffrentes selon le rsultat de lactivit
prcdente
Excution synchronise : plusieurs activits en // avant de
passer lactivit suivante

C Crochepeyre

UML

38

Exemple diagramme dactivits


Transition avec condition
transition garde

Dpt dossier
[refus]

Vrification

[ complter]

[accept]
[retour]

Paiement

Dossier renvoy
[forfait entreprise]

[individuel]

convention

Carte dlivre
Transition sans condition
transition automatique

C Crochepeyre

UML

39

Exemple synchronisation

Ouvrir inscription

Inscrire UE

Modifier une inscription

Inscrire UE et modifier lve sont deux actions //

C Crochepeyre

UML

40

4.5. Diagramme de squence


Interactions entre objets et chronologie des changes entre ces
objets
Base: les cas dutilisation
change de messages pour dclencher une opration
Mention des objets crs ou dtruits lors des excutions
Spcification des contraintes de temps : dure
Messages synchrones :
Messages asynchrones :

C Crochepeyre

UML

41

Exemple diagramme de squence

C Crochepeyre

UML

42

Exemple diagramme de squence : dure


Convention

facture

rglement

signature

(fin semestre)

Paiement ok

C Crochepeyre

UML

43

4.6. Diagramme de collaboration


Relations entre les objets et messages changs
Diverses informations mentionnes sur le diagramme
synchronisation : les pralables lenvoi du message;
n du message : ordre chronologique du message;
condition du dclenchement de lenvoi;
type denvoi: squentiel ou parallle;
rsultat : valeur retourne
Exemples:
[activit professionnelle=Ok] 1: tablir plan()
Un lve ne peut sinscrire que si il a une activit professionnelle

2 / || [j=1n]

3 : inscrireUE()

Le message 3 ne sera envoy quaprs le message 2


Envoi en // de n messages
C Crochepeyre

UML

44

[orientation] 1: tablir plan

plan de formation
3: crer dossier

2 : double du plan

lve

5:
remise

9 : remise carte()

devis

Carte lve

4 : calculer prix()

dossier

8: dlivrer carte()
7 : maj paiement ()

6 : payer ()

rgisseur

C Crochepeyre

UML

45

4.7. Diagramme de composants


Description des composants du systme
Dcomposition en sous-systme, programme, processus, tche,
module

Systme Scolarit
Inscriptions

C Crochepeyre

Examens

UML

Systme et sous-systmes

46

Diagramme dun module


Dcomposition dun sous systme en modules

C Crochepeyre

UML

47

4.8. Diagramme de dploiement


Description de larchitecture physique des composants matriels
du systme
Un nud = un composant matriel = un cube
Lien entre les cubes = communication entre les nuds
Classes de composants = noms des classes
Objets de composants = noms souligns des instances
Deux types de noeuds:
Processeur
Priphrique au processeur

C Crochepeyre

UML

48

Diagramme de dploiement dun systme dinscription

Poste
scolarit

Intranet

Serveur
Scolarit

TCP/IP

BD
scolarit

C Crochepeyre

UML

49

5- Les outils de modlisation UML


Plusieurs logiciels, citons

Rational Rose, IBM


Together, Borland
Rhapsody Modeler, I-Logix
Win Design
Visio, Microsoft
Poseidon UML , Gentleware
PowerAMC/PowerDesigner , Sybase
Plugin Omondo , Eclipse
ArgoUML
Visual Paradigm
Et tous les autres.
C Crochepeyre

UML

50

6- Etude pralable avec UML


Lavant projet Inscription

objectif
cot
rentabilit
abandon ou poursuite

Commenons ltude pralable


Recensement des cas dutilisation
Recensement des termes, des concepts, des objets:
diagrammes de classes
Les processus et leurs acteurs : diagrammes dutilisation
et dinteraction (squence et collaboration)

C Crochepeyre

UML

51

Construction du modle
Le modle gnral : ensemble des diagrammes
Cohrence: dtection des incohrences, incompltudes
Ordre prcis dexcution

volution du modle par suite ditrations et


incrmentations des cas dutilisations
Avant de passer la phase danalyse informatique, les
besoins doivent tre tous recenss

Dveloppement en spirale

C Crochepeyre

UML

52

Cas dutilisation
Cas dutilisation:
Les scenari dutilisation du systme inscription par les
utilisateurs
Description de lutilisation
Textuelle : phrases ordonnes des oprations
Graphique: diagramme denchanement des oprations
Tableau: une ligne/ rubrique caractrisant le cas

Elments dcrits:

Les acteurs
Le scnario
Les pr-conditions et garanties
Les exceptions, les extensions, les utilisations dautres cas

C Crochepeyre

UML

53

Description textuelle: cas dutilisation inscription


1.
2.
3.
4.
5.

Lauditeur se prsente la scolarit avec son plan de formation


lagent ouvre un dossier dinscription
Lauditeur donne son identit et le mode de financement
les sessions de formations sont saisies
Les tarifs sont appliqus en fonction du mode de financement
et des sessions inscrire
6. Un devis est tabli
7. Le rgisseur encaisse le montant selon le devis
8. La carte dauditeur est dite

C Crochepeyre

UML

54

Alternative: Tiers payeur


6a. Un tiers payeur est identifi, une convention est tablie.
7a. Pas dencaissement. Retour de la convention signe.
8a. La carte dauditeur est dite
9a. Lagent comptable assure le recouvrement de la somme
forfaitaire.

C Crochepeyre

UML

55

Description graphique: cas dutilisation inscription

C Crochepeyre

UML

56

Tableau: cas dutilisation inscription


Cas

Inscription dun auditeur

Dfinition

Inscription dun auditeur et dlivrance de la carte

Acteur principal

auditeur

Acteurs secondaires

Agent scolarit, rgisseur

Pr conditions

Plan de formation de lauditeur


Base de loffre de formation et tarifs

Garanties

Paiement et dition de la carte de lauditeur

Scnario

Plan de formation pour cration dossier auditeur, devis


selon les tarifs, rglement auprs du rgisseur et
dition carte de lauditeur

Exception

Le financement est assur par un tiers payeur.


Une convention est tablie. Aprs signature, la carte
est dlivre. Le recouvrement est suivi par lagent
comptable.

C Crochepeyre

UML

57

Diagramme de classe
Description gnrale des types dobjets et leurs relations
Avec
leurs attributs principaux
les oprations principales

C Crochepeyre

UML

58

Diagramme de classe: cas inscription

C Crochepeyre

UML

59

Diagramme dinteraction

Description dun comportement donn dobjets


Un diagramme dinteraction = un cas dutilisation
Transmission des messages entre objets
Deux diagrammes dinteraction
De squence
De collaboration

C Crochepeyre

UML

60

Diagramme de squence: cas inscription

C Crochepeyre

UML

61

Diagramme de collaboration: cas inscription

C Crochepeyre

UML

62

Diagramme Etats-Transitions
Comportement dun systme
Etats possibles dun objet
Changements des tats / vnements: transitions

C Crochepeyre

UML

63

Diagramme tats-transitions: cas inscription

C Crochepeyre

UML

64

Diagramme dactivits
Organisation des activits:
Activits en squence
Activits parallles
Activits conditionnelles

Une activit peut tre composite


Quand?
Analyse cas dutilisation,
modlisation mtier,
Algorithme complexe

C Crochepeyre

UML

65

Diagramme dactivits: cas inscription

C Crochepeyre

UML

66

Diagramme de dploiement
On peut reprsenter larchitecture logicielle et matrielle
du systme avec un diagramme de dploiement

Poste
scolarit

Intranet

Serveur scol
(inscription)

TCP/IP

BD scolarit
(dossiers
lves)

C Crochepeyre

UML

67

Les autres tapes de construction du systme


Informatisation du systme inscription

on introduit les composants informatiques


on construit les modules
on prcise les mthodes associes aux classes
on intgre les contraintes techniques
on propose un modle de donnes

Toutes les informations ont t recenses lors de ltude


pralable. Il sagit de proposer un modle informatique pour le
systme Inscription
A chaque tape suivante on affine le systme en utilisant les
concepts UML
On utilise les diagrammes si ncessaires
C Crochepeyre

UML

68

Conclusion
UML une aide toutes les tapes de conception du
projet
Avantages
Descriptions graphiques
Vues diffrentes des tapes diffrentes
Recoupement des descriptions
Incohrences
Incompltudes mises en vidence
Adaptation facile aux mthodes
Projet: un bon outil de dmarrage du projet

Sappend par la pratique

C Crochepeyre

UML

69

You might also like