4.3 Le processus de développement : 2TUP
Un processus définit une séquence
d'étapes ordonnées qui permet de produire un système
logiciel ou de faire évoluer un système existant. Un processus
est décomposé suivant l'axe de développement technique et
l'axe de gestion du développement. L'axe de développement
technique se préoccupe de la production tandis que la gestion du
développement mesure, puis prévoit les coûts et les
délais.
La diversité des systèmes et des techniques de
modélisation ne permet pas de définir un seul processus
universel. Les créateurs d'UML ont travaillé à unifier les
meilleures pratiques de développement orienté objet pour donner
le processus unifié.
Le processus unifié (UP : Unified
Process) est un processus de développement logiciel mené par
UML [2]. Le processus unifié est :
· itératif et incrémental: le projet est
découpé en des itérations de courte durée. Ces
itérations aident à mieux suivre l'avancement du système
global. A chaque itération, il est produit un exécutable de
façon incrémentale.
· piloté par les risques : il est
identifié et écarté au plut tôt tout risque pouvant
conduire à un échec du projet.
· centré sur l'architecture : le
système est décomposé en modules pour des besoins de
maintenabilité et d'évolutivité.
· conduit par les cas d'utilisation : le processus
met en avant les besoins et exigences des futurs utilisateurs du
système.
2TUP est un processus unifié qui a pour but d'apporter
une réponse aux contraintes de changement fonctionnelles et techniques
qui s'imposent aux systèmes d'information. 2TUP propose un cycle de
développement qui dissocie les aspects techniques des aspects
fonctionnels. Il part du constat que toute évolution imposée au
système d'information peut se décomposer et se traiter
parallèlement, suivant un axe fonctionnel et un axe technique. Il
distingue ainsi deux branches (fonctionnelle et technique) dont les
résultats sont fusionnés pour réaliser le système.
On obtient un processus de développement en Y comme l'illustre la figure
suivante (cf. Figure 2). Il faut noter que le processus 2TUP commence d'abord
par une étude préliminaire. Dans cette étude
préliminaire, il s'agit d'identifier les acteurs qui vont interagir avec
le système, les messages qu'échangent les acteurs et le
système, puis à produire un cahier de charges et enfin à
modéliser le contexte [2].
Figure 2: Le
processus 2TUP
Branche fonctionnelle ou
« gauche »
Elle vise la capture des besoins fonctionnels et l'analyse des
spécifications fonctionnelles de manière à
déterminer ce que va réaliser le système en terme de
métier. C'est ici, qu'on identifie et dégage toutes les
fonctionnalités du système à réaliser.
Branche technique ou
« droite »
Elle permet la capture des besoins non fonctionnels. Il s'agit
essentiellement des contraintes que l'application doit prendre en compte comme
par exemple les contraintes d'intégration, les contraintes de
développement et les contraintes de performances.
Phase de réalisation
Cette phase est la fusion des deux précédentes
et mène à la conception applicative et à la solution
adaptée aux besoins des utilisateurs. Elle concerne les étapes de
la conception préliminaire, la conception détaillée, le
codage et les tests puis l'étape de recette.
|