III. Le Processus Unifié (UP)
1. Définition [6]
Pour définir le processus unifié, nous allons
simplement définir les deux termes qui le composent :
· Processus : Suite continue d'opérations
constituant la manière de fabriquer. En d'autres termes, c'est une
succession de tâches dans le but d'accomplir un travail, un projet.
· Unifié : Etre amené à
l'unité, se fondre en un tout. En fait, les méthodes d'analyse et
de conception orientées objet, étaient variées
jusqu'à ce que Rambaugh, Jacobson et Booch eut l'idée de les
unifier.
2. Caractéristiques [S 11]
D'après les auteurs d'UML, un processus de
développement qui possède ces qualités devrait favoriser
la réussite d'un projet. Cependant, dans le cadre de la
modélisation d'une application informatique, les auteurs d'UML
préconisent d'utiliser une démarche :
-Itérative et incrémentale,
-Guidée par les besoins des utilisateurs du
système, -Centrée sur l'architecture logicielle.
2.1 Une démarche itérative et
incrémentale ?
L'idée est simple : pour modéliser (comprendre
et représenter) un système complexe, il vaut mieux s'y prendre en
plusieurs fois, en affinant son analyse par étapes. Cette
démarche devrait aussi s'appliquer au cycle de développement dans
Le but est de mieux maîtriser la part d'inconnu et d'incertitudes qui
caractérisent les systèmes complexes.
2.2 Une démarche pilotée par les besoins des
utilisateurs ?
Avec UML, ce sont les utilisateurs qui guident la
définition des modèles :
- Le périmètre du système à
modéliser est défini par les besoins des utilisateurs (les
utilisateurs définissent ce que doit être le système).
-Le but du système à modéliser est de
répondre aux besoins de ses utilisateurs (les utilisateurs sont les
clients du système).
Les besoins des utilisateurs servent aussi de fil rouge, tout au
long du cycle de développement (itératif et incrémental)
:
-A chaque itération de la phase d'analyse, on clarifie,
affine et valide les besoins des utilisateurs.
- A chaque itération de la phase de conception et de
réalisation, on veille à la prise en compte des besoins des
utilisateurs.
-A chaque itération de la phase de test, on
vérifie que les besoins des utilisateurs sont satisfaits.
2.3 Une démarche centrée sur l'architecture
?
Une architecture adaptée est la clé de
voûte du succès d'un développement. Elle décrit des
choix stratégiques qui déterminent en grande partie les
qualités du logiciel (adaptabilité, performances,
fiabilité...). Ph. Kruchten propose différentes perspectives,
indépendantes et complémentaires, qui permettent de
définir un modèle d'architecture.
Les différentes Vues [Figure -10-] 3. Cycle
de vie du processus [S 11]
Le processus unifié se déroule en quatre
phases, incubation, élaboration, construction et transition. Chaque
phase répète un nombre de fois une série
d'itérations. Et chaque itération est composée de cinq
activités : capture des besoins, analyse, conception,
implémentation et test.
Cycle du vie du processus UP
· Incubation:
C'est la première phase du processus unifié. Il
s'agit de délimiter la portée du système,
c'est-à-dire tracer ce qui doit figurer à l'intérieur du
système et ce qui doit rester à l'extérieur, identifier
les acteurs, lever les ambiguïtés sur les besoins et les
exigences
nécessaires dans cette phase. Il s'agit aussi
d'établir une architecture candidate, c'est à dire que pour une
première phase, on doit essayer de construire une architecture capable
de fonctionner. Dans cette phase, il faut identifier les risques critiques
susceptibles de faire obstacles au bon déroulement du projet.
· Elaboration :
C'est la deuxième phase du processus. Après
avoir compris le système, dégagé les
fonctionnalités initiales, précisé les risques critiques,
le travail à accomplir maintenant consiste à stabiliser
l'architecture du système. Il s'agit alors de raffiner le modèle
initial de cas d'utilisation, voire capturer de nouveaux besoins, analyser et
concevoir la majorité des cas d'utilisation formulés, et si
possible implémenter et tester les cas d'utilisation initiaux.
· Construction :
Dans cette phase, il faut essayer de capturer tous les
besoins restants car il n'est pratiquement plus possible de le faire dans la
prochaine phase. Ensuite, continuer l'analyse, la conception et surtout
l'implémentation de tous les cas d'utilisation. A la fin de cette phase,
les développeurs doivent fournir une version exécutable du
système.
· Transition :
C'est la phase qui finalise le produit. Il s'agit au cours de
cette phase de vérifier si le système offre véritablement
les services exigés par les utilisateurs, détecter les
défaillances, combler les manques dans la documentation du logiciel et
adapter le produit à l'environnement (mise en place et installation).
|