You are on page 1of 55

Gnie Logiciel

6
Aperu du
processus unifi

Gnie Logiciel 1 & 2
1 Introduction
2 LObjet dans le dveloppement du logiciel
3 UML - Modlisation statique
3.1 Concepts fondamentaux
3.2 Concepts avancs
4 UML - Modlisation dynamique
5 UML - Modle des Use Cases
6 Dmarche - Aperu du processus unifi
Partie: GL 1
Partie: GL 2
Gnie logiciel
Sommaire
Pourquoi une mthodologie / processus?
Le Processus Unifi
Itration
Les itrations peuvent tre regroupes en 4 phases
Phases (cration, laboration, construction, transition)
Activits
Chaque itration consiste enchaner 5 activits :
Besoins
Analyse
Conception
Implmentation
Tests
Gnie logiciel 6-4
Pourquoi une mthodologie /
Processus?
Les techniques (diagrammes dUML) de
dveloppement de systme doivent tre
organises si elles doivent fonctionner ensemble

UML mme ne contient rien qui aide prendre
cette dcision
Gnie logiciel 6-5
Pourquoi une mthodologie /
Processus?
L'organisation des tches n'est pas contenue dans les
techniques
Elle doit tre dcrite un plus haut niveau d'abstraction
Mthode ou processus d'un projet est la manire
particulire avec laquelle les tches dans ce projet sont
organises
La mthodologie est encore plus abstraite : un mta-
processus qui peut tre appliqu de nombreux projets
Gnie logiciel 6-6
Processus, Mthode ou
Mthodologie?
Souvent mlang, comme s'il s'agissait de la mme
chose, mais ces termes diffrent rellement
Mthode/Processus = description pas--pas des
tapes impliques dans l'accomplissement d'une
tche particulire
Elle ne peut tre la mme pour deux projets diffrents,
la mthode est spcifique un projet.
Mthodologie = ensemble de principes gnraux qui
guident le choix d'une mthode adapte une tche
ou projet spcifique
Gnie logiciel 6-7
Pourquoi utiliser une
mthodologie / Processus?
De nombreux avantages sont avancs
Aide produire un produit de meilleure qualit
Logiciel mieux document
Plus acceptable par l'utilisateur
Plus facile maintenir/entretenir
Logiciel plus homogne
Aide assurer que les spcifications des
utilisateurs sont suivies
Aide le manager du projet contrler le projet
Rduit les cots de dveloppement
Encourage la communication entre les personnes
Gnie logiciel 6-8
UML n'est qu'un langage
Bien quissu dune concertation visant produire la
processus Unifie, UML n'est qu'un langage de
modlisation et non une mthodologie part entire.
UML dfinit des notations utiles dans toutes les tapes du
dveloppement d'un logiciel, de l'analyse des besoins la
livraison de celui-ci, mais il ne propose aucune dmarche
spcifique pour mener ce dveloppement terme.
En ce sens, UML peut a priori tre utilis dans le cadre de
l'utilisation de toute mthode de dveloppements (par
objets).
Gnie logiciel 6-9
Le Processus Unifi
Gnie logiciel 6-10
Le Processus Unifi
Les auteurs principaux d'UML, I. Jacobson,
G. Booch et J. Rumbaugh, proposent une
dmarche de dveloppement pouvant tre
facilement associe UML : le Processus Unifi
(Unified Software Development Process - 1999).
L'essentiel du Processus Unifi provient des
mthodes Objectory, Booch, et OMT, auxquelles
s'ajoutent quelques apports issus des travaux
d'laboration d'UML.
Le Processus Unifi ne fait pas partie intgrante du
standard UML.

Gnie logiciel 6-11
le Processus Unifi ou Unified
Software Development Process
(USDP)
Processus du domaine public pour le
dveloppement Orient-Objet de logiciel

Maintenant largement surpass par le Processus
Unifi Rational (similaires dans leurs aspects
principaux)

Gnie logiciel 6-13
Le Processus Unifi
Les itrations peuvent tre regroupes en 4 phases :
cration (objectifs du projet, et cots),
laboration (besoins),
construction (obtention du produit quasi finalis),
transition (mise au point et livraison).

Profil dun projet typique montrant les tailles
relatives des quatre phases
Gnie logiciel 6-14
Le Processus Unifi
Chaque itration consiste enchaner 5 activits
principales :
Besoins,
Analyse,
Conception,
Implmentation,
Tests.
Diffrentes activits plus spcifiques peuvent
s'enchaner dans chacune de ces 5 activits
principales. Elles sont effectues par diffrents
travailleurs.
Gnie logiciel 6-15
Organisation en phases,
itrations et activits
Rpartition du travail en phases, itrations et activits principales
Besoins
Analyse
Conception
Implmentation
Tests
Phases
Itrations
Cration laboration Construction Transition
It. 1 It. 2 It. n It. n-1
Activits
principales
Gnie logiciel 6-16
Organisation en phases,
itrations et activits
Rpartition du travail en phases, itrations et activits principales
Besoins
Analyse
Conception
Implmentation
Tests
Phases
Itrations
Cration laboration Construction Transition
It. 1 It. 2 It. n It. n-1
Activits
principales
Gnie logiciel 6-17
Activit-
Analyse des besoins
Gnie logiciel 6-18
Activits de
l'analyse des besoins
L'analyse des besoins regroupe les activits
suivantes :
tablir une bauche du modle des use-cases,
assigner des priorits aux use-cases,
dtailler chaque use-case,
prototyper l'interface utilisateur,
structurer le modle des use-cases.
Gnie logiciel 6-19
Enchanement des activits
de l'analyse des besoins
Architecte
Concepteur
dinterface
Analyste
systme
Spcificateur
de use-case
baucher
modle u-c.
Assigner
priorits u-c.
Dtailler
use-case
Prototyper
interface
Structurer
modle u-c.
Gnie logiciel 6-20
Enchanement des activits
de l'analyse des besoins
Architecte
Concepteur
dinterface
Analyste
systme
Spcificateur
de use-case
baucher
modle u-c.
Assigner
priorits u-c.
Dtailler
use-case
Prototyper
interface
Structurer
modle u-c.
Gnie logiciel 6-21
bauche du
modle des use-cases
L'analyste systme est responsable de cette
activit.
A partir notamment de la liste des fonctionnalits,
elle consiste :
identifier les acteurs,
identifier les use-cases,
dcrire brivement chaque use-case,
fournir un diagramme global de use-cases,
laborer un glossaire.
Gnie logiciel 6-22
Enchanement des activits
de l'analyse des besoins
Architecte
Concepteur
dinterface
Analyste
systme
Spcificateur
de use-case
baucher
modle u-c.
Assigner
priorits u-c.
Dtailler
use-case
Prototyper
interface
Structurer
modle u-c.
Gnie logiciel 6-23
Priorit des use-cases
Cette activit fait suite l'bauche du modle des
use-cases.

L'architecte tablit un ordre de priorit pour la
ralisation (conception, implmentation, ) des
use-cases dans les itrations ultrieures.
Gnie logiciel 6-24
Enchanement des activits
de l'analyse des besoins
Architecte
Concepteur
dinterface
Analyste
systme
Spcificateur
de use-case
baucher
modle u-c.
Assigner
priorits u-c.
Dtailler
use-case
Prototyper
interface
Structurer
modle u-c.
Gnie logiciel 6-25
Description
dtaille des use-cases
Cette activit fait suite l'tablissement des
priorits sur les use-cases.
Un responsable est nomm pour la description
dtaill de chaque use-case, il doit :
dtailler la description sommaire fournie par
l'analyste systme, par des descriptions textuelles,
des diagrammes de squence ou de collaboration,
un diagramme d'tat;
rechercher les droulements anormaux et
exceptionnels possibles et les dcrire.
Gnie logiciel 6-26
Enchanement des activits
de l'analyse des besoins
Architecte
Concepteur
dinterface
Analyste
systme
Spcificateur
de use-case
baucher
modle u-c.
Assigner
priorits u-c.
Dtailler
use-case
Prototyper
interface
Structurer
modle u-c.
Gnie logiciel 6-27
Prototypage de
l'interface utilisateur
Cette activit fait suite la description dtaille des
use-cases.
Le concepteur dinterface fournit :
une conception logique de l'interface utilisateur
(indpendante de la manire dont elle peut tre
implmente),
des croquis de "pages-crans" en accord avec cette
conception logique.
Gnie logiciel 6-28
Enchanement des activits
de l'analyse des besoins
Architecte
Concepteur
dinterface
Analyste
systme
Spcificateur
de use-case
baucher
modle u-c.
Assigner
priorits u-c.
Dtailler
use-case
Prototyper
interface
Structurer
modle u-c.
Gnie logiciel 6-29
Structurer le
modle des use-cases
Cette activit fait suite la description dtaille des
use-cases.
L'analyste systme amliore le modle des use-
cases, notamment en identifiant :
des descriptions similaires (gnralisation),
des descriptions communes (inclusion),
des descriptions optionnelles (extension).
Gnie logiciel 6-30
Organisation en phases,
itrations et activits
Rpartition du travail en phases, itrations et activits principales
Besoins
Analyse
Conception
Implmentation
Tests
Phases
Itrations
Cration laboration Construction Transition
It. 1 It. 2 It. n It. n-1
Activits
principales
Gnie logiciel 6-31
Activit -
Analyse
Gnie logiciel 6-32
Activits de l'analyse
L'analyse regroupe les activits suivantes :
analyse architecturale,
analyse de use-case,
analyse de classe,
analyse de paquetage.
Gnie logiciel 6-33
Enchanement des
activits de l'analyse
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Analyse
architecturale
Analyse de
use-case
Analyse
de classe
Analyse de
paquetage
Gnie logiciel 6-34
Enchanement des
activits de l'analyse
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Analyse
architecturale
Analyse de
use-case
Analyse
de classe
Analyse de
paquetage
Gnie logiciel 6-35
Analyse architecturale
Cette activit est sous la responsabilit de
l'architecte.
A partir du modle des use-cases, elle consiste
fournir :
une bauche des classes d'analyse manifestes,
une bauche des paquetages d'analyse (en 2
couches : spcifique et gnrale aux applications),
une premire description de l'architecture
(exigences).
Gnie logiciel 6-36
Enchanement des
activits de l'analyse
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Analyse
architecturale
Analyse de
use-case
Analyse
de classe
Analyse de
paquetage
Gnie logiciel 6-37
Analyse de use-case
Cette activit fait suite l'analyse architecturale,
elle est effectue par un ingnieur de use-case.
Cela consiste identifier les classes d'analyse et
les interactions ncessaires la ralisation d'un
use-case.
De nouvelles classes d'analyse peuvent tre
identifies, ou bien on peut donner de nouveaux
lments de dfinition de classes dj identifies.
Les interactions peuvent tre dcrites par des
diagrammes de description dynamique.
Gnie logiciel 6-38
Enchanement des
activits de l'analyse
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Analyse
architecturale
Analyse de
use-case
Analyse
de classe
Analyse de
paquetage
Gnie logiciel
Analyse de classe
Cette activit succde aux analyses de use-cases,
elle est effectue par un ingnieur de composants.
Elle consiste :
identifier les responsabilits d'une classe partir de
la synthse des diffrents rles qu'elle joue dans les
use-cases (oprations),
identifier les attributs et les relations entre classes
(associations, gnralisation),
formuler ventuellement des exigences sur la
conception (taille des attributs, ).
Gnie logiciel
Enchanement des
activits de l'analyse
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Analyse
architecturale
Analyse de
use-case
Analyse
de classe
Analyse de
paquetage
Gnie logiciel
Analyse de paquetage
Cette activit fait suite l'analyse des classes,
toutes deux sont effectues par un ingnieur de
composants.
Cela consiste amliorer la rpartition des classes
d'analyse en paquetages, bauches pendant
l'analyse architecturale. Il faut :
garantir la cohsion des paquetages,
dcrire les dpendances entre paquetages et
chercher les diminuer.

Gnie logiciel 6-42
Organisation en phases,
itrations et activits
Rpartition du travail en phases, itrations et activits principales
Besoins
Analyse
Conception
Implmentation
Tests
Phases
Itrations
Cration laboration Construction Transition
It. 1 It. 2 It. n It. n-1
Activits
principales
Gnie logiciel 6-43
Activits -
Conception
Gnie logiciel 6-44
Activits de conception
La conception regroupe les activits suivantes :
conception architecturale,
conception de classe,
conception de use-case,
conception de sous-systme.
Gnie logiciel 6-45
Enchanement des
activits de conception
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Conception
architecturale
Conception
de use-case
Conception
de classe
Conception de
sous-sytme
Gnie logiciel 6-46
Enchanement des
activits de conception
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Conception
architecturale
Conception
de use-case
Conception
de classe
Conception de
sous-sytme
Gnie logiciel 6-47
Conception architecturale
L'architecte assume la responsabilit de cette
activit.
partir notamment du modle des use-cases, du
modle d'analyse et de la premire description de
l'architecture issue de l'analyse, il doit en particulier
produire :
une bauche des sous-systmes et de leur interface
(4 couches),
une bauche des classes et mcanismes de
conception,
une bauche du modle de dploiement (nuds et
configurations rseau).
Gnie logiciel 6-48
Architecture en 4 couches
spcifique
lapplication
gnrale aux
applications
middleware
logiciel
systme
D

p
e
n
d
a
n
c
e
s

Gnie logiciel 6-49
Enchanement des
activits de conception
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Conception
architecturale
Conception
de use-case
Conception
de classe
Conception de
sous-sytme
Gnie logiciel 6-50
Conception de classe
Cette activit fait suite la conception
architecturale, elle est effectue par les ingnieurs
de composants.
Cette activit consiste :
dcrire prcisment les oprations et les attributs
des classes de conception,
dcrire les relations auxquelles elle prend part,
dcrire ses tats imposs (diagramme d'tats),
expliciter ses mthodes (qui ralisent les
oprations) et la ralisation correcte de ses
interfaces,
exprimer les exigences sur son implmentation.

Gnie logiciel 6-51
Enchanement des
activits de conception
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Conception
architecturale
Conception
de use-case
Conception
de classe
Conception de
sous-sytme
Gnie logiciel 6-52
Conception de use-case
Cette activit fait suite la conception architecturale et la
conception des classes de conception, elle est effectue
par les ingnieurs de use-case.
Cette activit consiste :
reconnatre les classes de conception prenant part la
ralisation d'un use-case, de nouvelles classes de conception
peuvent tre ventuellement identifies,
dcrire les interactions entre classes en termes de messages,
dfinir les exigences sur les oprations et l'implmentation,
contrler et enrichir la description des sous-systmes et de
leur interface.
Gnie logiciel 6-53
Enchanement des
activits de conception
Architecte
Ingnieur de
composants
Ingnieur
de use-case
Conception
architecturale
Conception
de use-case
Conception
de classe
Conception de
sous-sytme
Gnie logiciel

Conception de sous-systme
Cette activit fait suite la conception des classes
et des use-cases, elle est effectue par les
ingnieurs de composants.
Cette activit consiste finaliser la description des
sous-systmes et de leur interface, c'est--dire :
actualiser les dpendances entre sous-systmes (et
les minimiser),
actualiser leur interface,
actualiser le contenu des sous-systmes.
Gnie logiciel
Organisation en phases,
itrations et activits
Rpartition du travail en phases, itrations et activits principales
Besoins
Analyse
Conception
Implmentation
Tests
Phases
Itrations
Cration laboration Construction Transition
It. 1 It. 2 It. n It. n-1
Activits
principales
Gnie logiciel 6-56
Rsum: UP (Processus
unifi)
Enracin dans:
La mthode de Booch (bonne pour la conception
et l'implmentation)
OMT (bonne pour l'analyse)
Objectory (bonne pour l'ingnierie des besoins et
l'architecture du systme)
UP a rassembl ces mthodes
Aussi volumineux et complexe : temps
d'apprentissage long, ou bien l'adapter au besoin