Professional Documents
Culture Documents
Conduite de projet
Mthode danalyse et de conception
Processus unifi
G. Picard
SMA/G2I/ENS Mines Saint-Etienne
gauthier.picard@emse.fr
Octobre 2009
Une partie du matriau de ce cours est issue du cours de Corinne CAUVET - Universit d'Aix-Marseille
Dveloppement (rappel)
Modle en cascade
Dveloppement (rappel)
Modle en V
Expression
des besoins
Analyse
Conception
Conception
Du Systme
Tests
Validation
fonctionnelle
vrifie
Analyse
Implmentation
Validation
des besoins
vrifie
Tests du
systme
vrifie
vrifie
Conception
des composants
Tests des
composants
Maintenance
Implmentation
5
Dveloppement (rappel)
Modle en spirale
Sommaire
!!Objectifs dun processus dingnierie
logicielle
!!Modles UML (rappels)
! Processus de dveloppement Unifi
Analyse
Conception
Spcifications
Implmentation
Validation
Tests
7
Diagrammes disponibles
(rappel)
Constituants de base
Annot.note
Struct.
Group.
Cas d'utilisation
Classe
Classe Active
Interface
Composant
Collaboration
Noeud
statique
Relations
Dpendances
Associations
Gnralisation
Package
Modle
Comp.
Sous-systme
Interaction Framework
Machine d'tat
Diagrammes
D. Cas d'utilisation
D. de classe
D. d'objet
D. de squence
D. de collaboration
D. d'tat/transition
D. d'activit
D. de composant
D. de dploiement
Diagrammes
de Composants
Modles
dynamique
9
10
! Description
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Cas
11
12
Diagramme de squences
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Diagramme de squences
notation
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Objet ou classe
Acteur
Augmenter(3,5)
crer
getValue(a)
Autre objet ou
classe
5,5
Modifier(b)
dtruire
temps
13
Diagramme de collaboration
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
14
Diagramme de collaboration
notation
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
15
1:augmenter(3,5)
Un acteur
Un Objet
2 : <<crer>>
3 :modifier
Un Objet
Un Autre Objet
16
Diagramme de classes
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Diagramme de classes
notation
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
17
Diagramme dobjets
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
18
Diagramme dobjets
notation
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
19
20
Diagramme dtats-transitions
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Diagramme dtats-transitions
notation
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Le premier tat
Entre/Action
do/Action
Evnement/Action
Sortie/Action
[garde]venement/action
Un autre tat
21
Diagramme dactivits
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
22
Diagramme dactivits
notation
! Reprsentation
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Une activit
23
24
Diagramme de composants
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Diagramme de composants
notation
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
Un composant
Un autre
composant
25
Diagramme de dploiement
objectifs
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
26
Diagramme de dploiement
notation
! Description
"!Cas dutilisation
"!Squences
"!Collaboration
"!Classes
"!Objets
"!tats/transitions
"!Activits
"!Composants
"!Dploiement
! Nuds de larchitecture :
serveurs, postes de travail et
priphriques
! Les composants sont allous aux
diffrents nuds
27
Un noeud
Un composant
Un autre noeud
Un autre
composant
28
Diagramme
Cas Utilisation
Sommaire
!!Objectifs dun processus dingnierie logicielle
!!Modles UML (rappels)
!!Processus de dveloppement Unifi
Diagramme
Classes
!!Principes
!!Recueil des besoins, Analyse, Conception
!!Utilisation des diagrammes
!!Processus pilot par les cas dutilisation
!!Processus centr sur larchitecture
!!Processus guid par les Patterns
Cas dUtilisation
Diagramme
Squences
Diagramme
Etats
Diagramme
Collaboration
29
30
Cas
d'utilisation
pilot par
Langage
UML
bas sur
Processus A
Conseils
Patterns
Architecture
centr sur
Processus
Unifi
guid par
se droule
Itratif et
incrmental
Processus B
* Facteurs organisationnels
* Facteurs de domaine
* Facteurs techniques
31
32
34
! Segmentation du travail
! Concentration sur les besoins et les risques,
! Les premires itrations sont des prototypes
35
36
Phases
Pr-Etude
Elaboration
Elaboration
Intgration
Construction
Intgration
Intgration
Construction Construction
temps
Vision
! Pr-tude :
!
!
!
!
!
!
Dfinition de
l'itration
Evaluation
Elaboration
38
Phases
Phases
temps
temps
Vision
Architecture
Vision
! Elaboration :
Architecture
Premires
fonctionnalits
! Construction :
# Produit
39
40
Phases
Activits (1)
! Modlisation mtier :
temps
Vision
Architecture
Premires
fonctionnalits
Livraison
Produit
! Transition :
!
!
!
!
!
!
!
!
41
42
Activits (1)
Production de maquettes IHM
Activits (2)
! Analyse et conception :
! Transformation des besoins utilisateurs en modles UML
! Modle d'analyse et modle de conception
! Implmentation :
! Dveloppement itratif
! Dcoupage en couches
! Composants d'architecture
! Retouche des modles et des besoins
! Units indpendantes, quipes diffrentes
44
Itrations (2)
Itrations (1)
Enchanement des
Phases
Activits dIngnierie
Pr-tude Elaboration
Une itration
dans la phase
d'laboration
Construction
Transition
Modlisation Mtier
Prelim
Iteration
...
Arch
Iteration
...
Cons
Cons
Iteration Iteration
...
Trans
Iteration
...
Release
Release
Dploiement
Release
Configuration Mgmt
Management
Environment
Enchanement des
Preliminary
Iteration(s)
Iter.
#1
Iter.
#2
Iter.
#n
Iter. Iter.
#n+1 #n+2
Iter.
#m
Iter.
#m+1
Iterations
activits Support
45
46
Sommaire
Modles
47
Recueil
Besoins
Modles des
Use Case
Analyse
Modles
dAnalyse
Conception
Modles de
Conception
Implmentation
Modles
Dimplmentation
Test
Modles
de test
Modles de
Dploiement
48
Rle
! Identifier les diffrents intervenants : client(s), utilisateurs, matre
duvre, dveloppeurs, ...
! Identifier le rle de chacun, ventuellement leur associer des
priorits
! Identifie les services que le systme devrait fournir et dfinit les
contraintes sur le systme.
! Runit toute l'information du domaine disponible pour les
membres du projet.
! tablit une base contractuelle sur laquelle le client et
l'organisation du projet s'appuient lors des ngociations.
! Permet l'estimation des cots et des chanciers
! Procure les critres de validation et vrification
! Facilite le transfert des connaissances et la gestion des
configurations
! Sert de base aux amliorations futures.
50
Exigences (1)
Exigences (2)
! Exigences fonctionnelles
51
52
Etapes :
vue densemble
54
56
!
!
!
!
! Dfinir un dictionnaire
58
60
Dfinition
Nom. Info.
Type entit
Pilotage
Pilotage
paquetage
Instrument
Instrument
Classe
abstraite
Manche
balai
Intrument permettant au
pilote de diriger lavion
MancheABa
Classe
lai
Action
Dfinition
Nom info.
Type entit
Augmenter
les gaz
Action permettant
dinjecter du carburant
pour augmenter la vitesse
de lavion
IncrGaz
opration
61
62
Analyse
Intervenants et tapes
Modle dAnalyse
Modle d'analyse
Packages d'analyse
64
Analyse
Modle dAnalyse
vs Modle des cas dutilisation
Analyse
Classes dAnalyse
! Classes candidates partir des descriptions
des Use Cases
! 3 types de classes :
Modle d'analyse
! Formul dans le langage du
dveloppeur
! Structure la vue interne du
systme
! Structur avec des paquetages
et des strotypes
! Indication aux dveloppeurs
de la forme du systme (pour
conception et implmentation)
! Esquisse une ralisation des
caractristiques du systme
! Classes'entit
! classes donnes du systme (dure de vie plus
longue que celle des UC)
! Classes'frontire
! interfaces entre acteur et systme
! Classes'contrle
! encapsulent le comportement d'un Use Case
65
Classes danalyse :
Classes Entits
Analyse
66
Classes danalyse :
Classes Frontires
Analyse
68
Classes danalyse :
Classes Contrle
Analyse
Analyse
! Contiennent un scnario de UC
Analyse
70
Analyse
71
72
Analyse
Analyse
73
74
Analyse
Analyse
76
Analyse
Analyse
77
78
Analyse
Analyse
! Remarques :
79
80
Analyse
Analyse
Diagramme de classes
82
Analyse
Analyse
Diagramme de classes
! Types dassociation :
! association
2.!
3.!
83
84
Analyse
Analyse
! Elimination des :
!
!
!
!
viter les associations mal nommes : choix des noms primordial pour la
comprhension
Indiquer les noms dextrmits dassociations
Identifier les associations qualifies
Prciser les multiplicits
Ajouter les associations manquantes
Transformer certaines associations en agrgations
85
86
Conception
Fin analyse
Modle de Conception
Modle de conception
Sous-systme de conception
Interface
Classes de conception
%!
mthodes
%!
visibilits des attributs
87
88
Modle danalyse vs
Modle de conception
Modle danalyse
! Modle conceptuel
! Autorise plusieurs
conceptions
! Peu de strotypes de
classes
! Peu de couches
Conception
Etapes suivre
1.!
2.!
3.!
4.!
Modle de conception
! Modle physique
! Spcifique une
implantation
! Strotypes dpendant de
lenvironnement cible
dimplantation
! Plusieurs couches
89
90
Sommaire
91
92
Modles des
Use Case
Modles
dAnalyse
utilise
Modles de
Conception
Modles des
Use Case
utilise
Modles
dAnalyse
Diagrammes
de Composants
Modles de
Conception
utilise
Modles de
Dploiement
Modles
Dimplmentation
Modles de
Dploiement
utilise
Modles
Dimplmentation
Modles
de test
Diagrammes
de Composants
utilise
utilise
utilise
utilise
Modles
de test
93
94
Modles des
Use Case
Modles
dAnalyse
Modles de
Conception
Modles de
Dploiement
Modles
Dimplmentation
Modles des
Use Case
utilise
Modles
dAnalyse
Diagrammes
de Composants
Modles de
Conception
utilise
Modles de
Dploiement
utilise
utilise
Modles
Dimplmentation
utilise
Modles
de test
Diagrammes
de Composants
utilise
utilise
utilise
Modles
de test
95
96
Modles des
Use Case
Modles des
Use Case
Modles
dAnalyse
Modles
dAnalyse
Modles de
Conception
Modles de
Dploiement
Modles
Dimplmentation
Diagrammes
de Composants
Diagrammes
de Composants
utilise
Modles de
Conception
utilise
Modles de
Dploiement
utilise
utilise
Modles
Dimplmentation
utilise
Modles
de test
utilise
Modles
de test
utilise
97
98
Sommaire
Phases
Workflows Ingnierie
Pr-tude Elaboration
Construction
Transition
Modlisation Mtier
Recueil des besoins
Analyse & Conception
Implmentation
!!Principes
!!Recueil des besoins, Analyse, Conception
!!Utilisation des diagrammes
!!Processus pilot par les cas dutilisation
!!Processus centr sur larchitecture
!!Processus guid par les Patterns
Test
Dploiement
Workflows Support
Configuration Mgmt
Management
Environment
Iter.
#1
Iter.
#2
Iter.
#n
Iter. Iter.
#n+1 #n+2
Iter.
#m
Iter.
#m+1
Iterations
99
100
Phases
Workflows Ingnierie
Pr-tude Elaboration
Construction
Phases
Workflows Ingnierie
Transition
Pr-tude Elaboration
Modlisation Mtier
Modlisation Mtier
Workflows Support
Configuration Mgmt
Management
Environment
Iter.
#1
Iter.
#2
Iter.
#n
Iter. Iter.
#n+1 #n+2
Iter.
#m
Implmentation
Test
Dploiement
Construction
Transition
Workflows Support
Configuration Mgmt
Management
Environment
Iter.
#m+1
Preliminary
Iteration(s)
Iter.
#1
Iterations
Iter.
#2
Iter.
#n
Iter. Iter.
#n+1 #n+2
Iter.
#m
Iter.
#m+1
Iterations
101
102
Phases
Workflows Ingnierie
Pr-tude Elaboration
Construction
Transition
Modle
des cas
dutilisation
spcialis par
Modlisation Mtier
Recueil des besoins
Analyse & Conception
Implmentation
Test
Dploiement
Workflows Support
! sauf changement,
aucun UC ne doit
rester dcouvrir
Modle
dAnalyse
ralis par
Modle de
Conception
distribu par
ralis par
vrifi par
Modle de
Dploiement
Configuration Mgmt
Management
Environment
Preliminary
Iteration(s)
Iter.
#1
Iter.
#2
Iter.
#n
Iter. Iter.
#n+1 #n+2
Iter.
#m
Modle
d'implantation
Iter.
#m+1
Iterations
103
Modle de
Test
104
30"4'+-20"('-(
56#$2&#-20"(
:'&-(
<'&(4#&(.=/-2$2&#-20"&(,'$2'"-(4'&(->47'&('"&'1?$'(
)*+',-&(./(.01#2"'(
!,472-'4-'&(
30"4'+-'/,&(
8,09,#11'/,&(
;"-69,#-'/,&('-(
-'&-'/,&(
105
106
Sommaire
! Outil de communication
107
108
! Forte cohsion
! Faible couplage
! Notion de couches
! Composition de paquetages
Couche application
Couche service
109
110
! Diagramme de composants
! composants logiciels et dpendances
! fichier,table de base de donnes, excutable, librairie de
fonctions, document
112
! Abstraction et encapsulation,
! Modlisation des lments et mcanismes
principaux du systme,
! Expression des aspects statiques et
dynamiques
! Utilisation :
Vue logique
Vue de ralisation
Vue de dploiement
113
114
! modules,
! sous-programmes,
! tches (en tant qu'units de programme)
! paquetage sous-systmes
! tches
! threads,
! processus,
! interactions.
115
116
! nuds,
! modules,
! programmes principaux.
117
Composants
Vision
cas dutilisation
Etats-Transitions
Activit
Vision Processus
Intgrateurs systme
Performance
Changement dchelles
Throughput
Conceptuel
Sommaire
!!Objectifs dun processus dingnierie logicielle
!!Modles UML (rappels)
!!Processus de dveloppement Unifi
Vision
Implmentation
Cas d'utilisation
118
Programmeurs
Gestion du logiciel
!!Principes
!!Recueil des besoins, Analyse, Conception
!!Utilisation des diagrammes
!!Processus pilot par les cas dutilisation
!!Processus centr sur larchitecture
!!Processus guid par les Patterns
Dploiement
Vision Dploiement
Ingnieur systme
Topologie du systme
Installation
Communication
Physique
121
122
Le nom
Un problme rcurrent
de conception O.O.
Le problme
Les bnfices
Composite Pattern
Reprsenter des objets complexes
! Construction rcursive de hirarchies
! Considrer de manire homogne les nuds
simples et complexes
Les bnfices
La solution
123
Objetcomplexe
Element
Objetsimple
124