Uml= unified modeling language, c'est à dire un langage de modelisation, par uniquement pour l'informatique! il peut servir à concevoir n'importe quoi!.
l'idée est d'avoir des notations et shemas (statiques ou dynamiques) permettant de modeliser un projet.
Ainsi aprés lecture d'un cahier des charges, souvent difficile a comprendre (redondances....;) en utilisant les notations uml tout le monde peut se faire une idée précise des fonctionnalités et exigences à développer.
D'ailleurs aprés cette phase d'analyse, il est intéressant de proposer une relecture par des personnes qui ne connaissent pas le cahier des charges, a eux d'en construire un autre: le cahier des charges revisité! et de le comparer ensuite à l'original.
cette étape est fondamentale, et permet d'éviter de gros ennuis d'interprétation et met souvent en lumière des contradiction de le cahier des charges original!!!!.
dans le cas d'un developemnt logiciel, il existe des logiciel qui une fois la conception réalisée (en uml) propose la génération du code, ern java en c ou autre langage.
j'espère avoir été clair .