INTRODUCTION UML
Introduction
Avant de pouvoir passer au codage de son projet, comme n'importe quel type de projet, il est nécessaire de passer par une phase d'analyse, suivi d'une phase de conception.
La phase d'analyse consiste à chercher tout d'abord à bien comprendre et à décrire de façon précise les besoins des utilisateurs ou des clients. Soit l'utilité de notre logiciel, ses fonctionnalités, son usage, le fonctionnement de ses actions. Ces étapes sont plus généralement appelées, l'analyse des besoins. Ainsi, on essaye de comprendre le besoin du client, puis on imagine la solution. Suit la phase de conception, grâce à laquelle on tente d'apporter plus de détails à la solution ainsi que de clarifier des aspects techniques. On utilise pour cela un langage appelé UML, Unified Modeling Language, que l'on peut traduire par Langage de Modélisation Objet Unifié. De ce fait c'est un langage visuel, c'est à dire qu'il est basé sur la représentation de diagrammes accessibles par toutes personnes, même non informaticiennes, ce qui en fait un langage universel. Ainsi, la conception orientée objet (COO) utilise ce langage dans le but de modéliser un problème concret et ensuite pourvoir l'implémenter.

En bref, UML est un support à la modélisation, qui permet de visualiser le système, spécifier sa structure et son comportement, aider à sa construction et enfin documenter les décisions.
Pour la petite histoire, ce langage est né au milieu des années 90 de la fusion de trois méthodes pour tenter de trouver un langage unique : OMT, Booch et OOSE. Les auteurs de ce compromis sont : Grady Booch, Ivar Jacobson et James Rumbaugh. UML est à présent un standard défini par l'Object Management Group (OMG). De nombreuses entreprises l'utilisent aujourd'hui et participent encore à son développement.
Une fois les diagrammes réalisés, soit la phase d'analyse et de conception terminées, on peut donc commencer à développer le code informatique, à l'aide d'un langage cette fois-ci orienté objet tel que Java ou encore C++. Ces phases restent nécessaires au développement du projet car elles permettent un gain de temps et réduisent le risque d'erreurs dans la conception ou dans la réalisation.
Généralités
Mais alors comment se compose la conception orientée objet ? Et bien la COO se divise en trois vues : la vue fonctionnelle, la vue structurelle et la vue dynamique.
- La vue fonctionnelle cherche à appréhender les interactions entre les acteurs, les utilisateurs et le système, sous forme d'objectifs à atteindre, pour cela on utilise le diagramme de cas d'utilisation. Cette vue est sous forme chronologique de scénarios d'interactions typiques, dans ce cas on utilise le diagramme de séquences.
- La vue structurelle, aussi appelée vue statique, quant à elle vise à identifier les objets, composants constituant le programme, leurs attributs, opérations et méthodes, ainsi que les liens ou associations qui les unissent, pour cela on utilise le diagramme de classes. Elle permet également de regrouper les classes fortement liées entre elles en des composants les plus autonomes possible, dans ce cas les diagrammes de packages sont plus adapté. A l'intérieur de chaque package on trouve un diagramme de classes. Il existe évidemment d'autres diagrammes dans cette vue structurelle.
- La vue dynamique, vise à décrire l'évolution des objets complexes du programme tout au long de leur cycle de vie. De leur naissance à leur mort, les objets voient leurs changements d'états guidés par les interactions avec les autres objets, ceci est représenté grâce au diagramme d'états. Le diagramme d'activité est une sorte d'organigramme correspondant à une version simplifiée du diagramme d'états. Il permet de modéliser des activités qui se déroulent en parallèle les unes des autres, quand ce parallélise peut poser problème.