UML est un langage qui permet de représenter des modèles, mais il ne définit pas le processus de leur élaboration.
Cependant, dans le cadre de la modélisation d'une application informatique, les auteurs d'UML préconisent d'utiliser une démarche :
1) itérative et incrémentale
2) centrée sur l'architecture logicielle
3) guidée par les besoins des utilisateurs du système
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.
Rappelons qu'il y a deux types de processus suivis dans les projets génie logiciel : les processus en cascade et les processus itératifs.
Un processus en cascade décompose un projet en fonctions inhérentes au développement logiciel, en d'autres termes la décomposition suit les étapes du cycle de vie du logiciel à savoir:
l'analyse, la conception, le codage et les tests. La répartition des activités dans le temps suit ces étapes.
Par exemple, un projet d'un an pourra comprendre une période d'analyse de deux mois,
elle même suivie d'une période de quatre mois pour la conception et encore de trois mois pour le codage et se termine
par trois mois de tests. Sans rentrer dans les détails, on peut imaginer sans peine les problèmes que l'on peut
rencontrer dans ce type de planification de projet. Tout simplement un problème qui surgit dans les tests peut nous
amener à revoir l'analyse et la conception.
Le processus itératif décompose un projet en extrayant des sous ensembles de fonctionnalités. On peut imaginer qu'un projet
d'un an qui se décompose en itérations de trois mois. Dans chaque itération on réalise les étapes : d'analyse,
de conception, de codage et de tests.
La première itération, par exemple, consistera à analyser le quart des exigences.
Dans ce type de processus, on capture une vision globale des exigences avant même que les itérations commencent,
c'est d'ailleurs l'objectif des premières itérations. Dans ces dernières on planifie les autres itérations.
On incite à produire du logiciel intégré et opérationnel à la fin de chaque itération. On met souvent le code
en production avant la livraison finale pour obtenir un feed-back des utilisateurs.
Le projet a alors plusieurs versions chacune étant réalisée en plusieurs itérations.
Sachez que la communauté OO (Orientée Objet) s'est pronnoncée depuis longtemps en faveur du
développement itératif, nous consacrons un paragraphe dans le chapitre "UML et la gestion de projets"
sur les processus préconisés par UML et que l'on
appelle les processus unifiés.