3.2.4 Liens entre cas d'utilisation et architecture
Tout produit est à la fois forme et fonction. Les cas
d'utilisation doivent une fois réalisés, trouver leur place dans
l'architecture. L'architecture doit prévoir la réalisation de
tous les cas d'utilisation. L'architecture et les cas d'utilisation doivent
évoluer de façon concomitante.
3.2.4.1 Marche à suivre
? L'architecte crée une
ébauche grossière de l'architecture, en partant de l'aspect qui
n'est pas propre aux cas d'utilisation (plateforme...). Bien que cette partie
de l'architecture soit indépendante des cas d'utilisation. L'architecte
doit avoir une compréhension globale de ceux-ci avant d'en esquisser
l'architecture ;
? Il travaille ensuite, sur un sous ensemble
des cas d'utilisations identifiés, ceux qui représentent les
fonctions essentielles du système en cours de développement ;
? L'architecture se dévoile peu
à peu, au rythme de la spécification et de la maturation des cas
d'utilisation, qui favorisent, à leur tour, le développement d'un
nombre croissant de cas d'utilisation. Ce processus se poursuit jusqu'à
ce que l'architecture soit jugée stable.
3.2.4.2 UP est itératif et incrémental
Le développement d'un produit logiciel destiné
à la commercialisation est une vaste entreprise qui peut
s'étendre sur plusieurs mois. On ne va pas tout développer d'un
coup. On peut découper le travail en plusieurs parties qui sont autant
de mini projets. Chacun d'entre eux représentant une itération
qui donne lieu à un incrément.
Une itération désigne la succession des
étapes de l'enchaînement d'activités, tandis qu'un
incrément correspond à une avancée dans les
différents stades de développement.
Le choix de ce qui doit être implémenté
au cours d'une itération repose sur deux facteurs :
? Une itération prend en compte un
certain nombre de cas d'utilisation qui ensemble, améliorent
l'utilisabilité du produit à un certain stade de
développement.
? L'itération traite en priorité
les risques majeurs.
Un incrément constitue souvent un additif.
A chaque itération, les développeurs
identifient et spécifient les cas d'utilisations pertinents,
créent une conception en se laissant guider par l'architecture choisie,
implémentent cette conception sous forme de composants et vérifie
que ceux-
33
ci sont conformes aux cas d'utilisation. Dès qu'une
itération répond aux objectifs fixés le
développement passe à l'itération suivante.
Pour rentabiliser le développement il faut
sélectionner les itérations nécessaires pour atteindre les
objectifs du projet. Ces itérations devront se succéder dans un
ordre logique. Un projet réussi suivra un déroulement direct,
établi dès le début par les développeurs et dont
ils ne s'éloigneront que de façon très marginale.
L'élimination des problèmes imprévus fait partie des
objectifs de réduction des risques.
|