You are on page 1of 69

lments

UML

pour le projet
(Unified Modeling Language
dure du cours: 4h.30m

Prsent par Dr. Ammar BOUKRARA

(INPTIC 2014 2015)

Adapt de. 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

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
UML

Exemple
-> mtamodle

-> Classe, Attribut, Opration

-> modle

-> Fournisseur
Identification, nomFournisseur, adresseFournisseur
commander()

-> objet

-> SET SOFT


40222 , SOUK ELTENINE Sotware , Centre Ville
SET, en face Pompe essence
commander(12005A,13)

UML

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

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

UML

Dmarche de conception et danalyse


Analyse du problme: 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
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:
1- Principe ditrations et incrmentations
2- valuation des risques toutes les tapes

on part des cas dutilisations connus (1), on construit un


premier modle darchitecture (2); on complte et
affine par itrations et incrmentations (3) et on value
par tape les risques (4) pour faire les meilleurs choix
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


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

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

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

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.

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

Pour tous

clientA
strotype

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

After (7 minutes)
Date = 7 juillet 2005

{un lve doit


tre Inscrit}
contrainte

UML

15

Paquetage

Dcomposition du systme en paquetages


Ensemble logique dlments du modle
Nommage du paquetage
Relations entre paquetages

Elves

U.E

Profs

UML

16

4- Les principaux diagrammes UML


1. Diagramme des cas dutilisation
Besoins des utilisateurs

2. Diagramme de classes
Description statique des donnes et des traitements

3. Diagrammes dobjets
Instances des classes

4. Diagramme tats-transitions
tats des objets selon les vnements

5. Diagramme dactivits
Vue des enchanements des activits dun cas dutilisation
ou dune opration
C Crochepeyre

UML

17

6. Diagramme de squence
Scnario dun cas dutilisation : chronologie des
oprations

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

8. Diagramme des composants


Reprsentation des composants logiciels dun
systme

9. Diagramme de dploiement
Description de larchitecture technique du
systme
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 Enregistrement (E/A)
Reprsentation UML dune classe
Nom classe

Elve
NElve: entier

Attributs

Elve

NomElve: car
Adresse: car

Oprations
Inscrire()
autres

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

UML

: Elve
2005001
durand
1 rue de Paris

20

Association entre classes


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

Nom classe Y

Nom association

1..2

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

Chaises

1..2
tableau

UML

*quipement

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

1
dossier

dossier

UML

23

Qualification dune association


Smantique dune association entre deux classes
Restriction dune association

Notes UE

lve
N lve
Nomlve

contenir

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

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

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

{chevauchement}

UML

lve FOD

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

extension

restriction
lve salari
lve prospect

nlve
nom
adresse
entreprise

.
nom
adresse

UML

27

Hritage multiple
Une classe hrite de deux classes parentes
lve

lve externe

salari

lve interne

boursier

UML

employ

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

lve

inscription

lve
Cas dun lve qui sinscrit

Plusieurs acteurs
Plusieurs cas

scolarit

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

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

UML

carte

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

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

tat 2

inscription [paiement ok]

UML

lve inscrit

33

On peut prciser une action ou activit la transition


Transition [condition]/ action
tat 1

tat 2

Inscription [paiement ok]/ dpt dossier


lve prospect

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

UML

tat 3

tat 4

35

Exemple dtats-transitions

Personne
Rencontre
conseiller

Etat
Action
Transition

Projet formation

En cours dinscription
Remplit un dossier

Dossier dpos
Inscrit
Paiement ok

UML

36

Exemple de diagramme machine tats

ancien lve
lve

Dossier inscription

nouvel
lve
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

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

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 :
UML

41

Exemple diagramme de squence

UML

42

Exemple diagramme de squence : dure


Convention

facture

rglement

signature

(fin semestre)

Paiement ok

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()
UML
Le message 3 ne sera envoy quaprs le message 2

44

[orientation] 1: tablir plan

plan de formation
3: crer dossier

2 : double du plan

dossier

devis
5 : remise

4 : calculer prix()

lve

9 : remise carte()

Carte lve

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

6 : payer ()

rgisseur

UML

45

4.7. Diagramme de composants


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

Systme Scolarit
Inscriptions

Dlibration

Systme et sous-systmes

Pi-Inscriptions

UML

46

Diagramme dun module


Dcomposition dun sous systme en modules

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
UML

48

Diagramme de dploiement dun systme


dinscription
Poste
scolarit

Intranet

Serveur
Scolarit

TCP/IP

BD
scolarit

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
UML
ArgoUML
Visual Paradigm

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)
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
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
UML
Les pr-conditions et garanties

53

Description textuelle: cas dutilisation


inscription
1. Lauditeur se prsente la scolarit avec son plan
de formation
2. lagent ouvre un dossier dinscription
3. Lauditeur donne son identit et le mode de
financement
4. les sessions de formations sont saisies
5. Les tarifs sont appliqus en fonction du mode de
financement et des sessions inscrire
6. Un devis est tabli
7. Le rgisseur encaisse UML
le montant selon le devis 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.

UML

55

Description graphique: cas dutilisation inscription

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.

UML

57

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

UML

58

Diagramme de classe: cas inscription

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
UML

60

Diagramme de squence: cas inscription

UML

61

Diagramme de collaboration: cas inscription

UML

62

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

UML

63

Diagramme tats-transitions: cas inscription

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

UML

65

Diagramme dactivits: cas inscription

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)

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

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

UML

69