Cours UML diagrammes de classes (Les paquetages), tutoriel & guide de travaux pratiques en pdf.
Les diagrammes de classe
Le diagramme de classes constitue un élément très important de la modélisation : il permet de définir quelles seront les composantes du système final : il ne permet en revanche pas de définir le nombre et l’état des instances individuelles. Néanmoins, on constate souvent qu’un diagramme de classes proprement réalisé permet de structurer le travail de développement de manière très efficace; il permet aussi, dans le cas de travaux réalisés en groupe (ce qui est pratiquement toujours le cas dans les milieux industriels), de séparer les composantes de manière à pouvoir répartir le travail de développement entre les membres du groupe. Enfin, il permet de construire le système de manière correcte (Build the system right).
Les paquetages
Les paquetages permettent typiquement de définir des sous-systèmes. Un sous-système est formé d’un ensemble de classes ayant entre elles une certaine relation logique. Souvent, un paquetage fait l’objet d’une réalisation largement indépendente, et peut être confiée à un groupe, ou à un individu n’ayant pas un contact étroit avec les responsables d’autres paquetages. • Ils regroupent des éléments de modélisation, selon des critères purement logiques. • Ils permettent d’encapsuler des éléments de modélisation (ils possèdent une interface). • Ils permettent de structurer un système en catégories (vue logique) et sous-systèmes (vue des composants). • Ils servent de « briques » de base dans la construction d’une architecture. • Ils représentent le bon niveau de granularité pour la réutilisation.
Les paquetages sont aussi des espaces de noms.
On peut ouvrir un package; par défaut, le package choisi est « default ».
Les interfaces
Les interfaces représentent l’élément le plus abstrait du diagramme de classes. La manière habituelle pour représenter un interface est représentée à la figure9.2, page97. Un Introduction à la programmation orientée objets 97 eivd Télécommunications mjn membre est accompagné de son type, comme il est d’usage dans beaucoup de langages de projection.
A cette représentation est associée du code, dans le langage de projection choisi. Dans le cadre de ce chapitre, nous utiliserons systématiquement Java comme langage de projection. Il est bien entendu que la modélisation est largement indépendante du langage de projection; néanmoins, certaines différences d’implémentation peuvent apparaître, comme par exemple l’absence de la notion d’interface en C++, et son remplacement par la notion de classe abstraite purement virtuelle.