Modélisation visuelle
La pratique de modélisation visuelle est l'utilisation de notations de conception graphiques et textuelles, riches du point de vue de la sémantique afin d'enregistrer les conceptions logicielles.
Relations
Eléments connexes
Description principale

image de modélisation visuelle

La modélisation visuelle augmente le niveau d'abstraction

En quoi consiste la modélisation visuelle?

La modélisation visuelle est l'utilisation de notations de conception riches du point de vue de la sémantique, graphiques et textuelles, afin de consigner les conceptions logicielles. Une notation comme l'UML permet d'augmenter le niveau d'abstraction en maintenant une syntaxe et une sémantique rigoureuses. Cela facilite la communication dans l'équipe de conception lors de la formation et de la revue de la conception, permettant au lecteur de réfléchir au sujet de la conception, et fournit une base sans ambiguïté pour l'implémentation.

Pourquoi modéliser?

Un modèle est une vue simplifiée d'un système. Il montre les éléments essentiels du système d'un point de vue spécifique et cache les détails non essentiels.  Les modèles peuvent avoir les fonctions suivantes :

Aider à comprendre les systèmes complexes

L'importance des modèles s'accroît en fonction de la complexité des systèmes.  Par exemple, on peut construire une niche sans schéma directeur.  Cependant, si l'on passe à la construction de maisons, puis de gratte-ciels, il devient alors nécessaire d'utiliser des schémas directeurs.

De même, une petite application créée par une personne en quelques jours peut être facilement compréhensible dans son intégralité. Par contre, un système de e-commerce comprenant des dizaines de milliers de lignes de code (SLOCs) - ou un système de contrôle aérien avec des centaines de milliers de SLOCs- ne peuvent pas être facilement compris par une seule personne. Les modèles de construction permettent au développeur d'examiner le projet dans son ensemble, de comprendre comment les composants interagissent et d'identifier les anomalies fatales. 

 Voici quelques exemples  de modèles :

  • Les cas d'utilisation pour choisir des fonctionnements sans ambiguïté
  • Les diagrammes de classes et de modèles de données pour consigner la conception
  • Les diagrammes de transition d'état pour modéliser le fonctionnement dynamique

La modélisation est importante car elle permet à l'équipe de visualiser, construire et documenter la structure et le fonctionnement du système, sans se perdre dans la complexité.

Etudier et comparer les alternatives en termes de conception à moindres frais

Des modèles simples peuvent être créés et modifiés à moindre prix pour étudier les alternatives de conception.  Les idées novatrices peuvent être consignées et revues par d'autres développeurs avant d'investir dans un développement de code coûteux.  Lorsqu'elle est associée au développement itératif, la modélisation visuelle aide les développeurs à évaluer les changements de conception et à informer toute l'équipe de développement au sujet de ces changements.

Former une base pour l'implémentation

Aujourd'hui de nombreux projets utilisent des langages de programmes orientés objet pour obtenir des systèmes réutilisables, à tolérance de changements, et stables. Pour obtenir ces avantages, il est encore plus important d'utiliser la technologie orientée objet dans la conception. Le Rational Unified Process (RUP) produit un modèle de conception orienté objet qui forme la base de l'implémentation.

Avec l'aide d'outils adaptés, un modèle de conception peut être utilisé pour générer un ensemble initial de codes pour implémentation.  On appelle ce procédé "rétro-conception" ou "génération de code".  Les modèles de conception peuvent aussi être améliorés pour contenir assez d'informations permettant de construire le système.

La génération de code peut aussi être appliquée pour générer des modèles de conception à partir d'implémentations existantes. Ce procédé peut être utilisé pour évaluer les implémentations existantes.  

"L'ingénierie aller-retour" combine les techniques de rétro-conception et de génération de code permettant une conception et un code cohérents. Associée à un processus itératif et aux outils appropriés, l'ingénierie aller-retour permet de synchroniser la conception et les codes pendant chaque itération.

Enregistrer les exigences de manière précise

Avant de créer un système, il est crucial de consigner les exigences. Choisir les exigences à l'aide d'un modèle précis et sans ambiguïté permet de s'assurer que toutes les parties prenantes peuvent comprendre et se mettre d'accord au sujet des exigences.  

Un modèle qui sépare le fonctionnement externe du système de l'implémentation vous permet de vous concentrer sur l'utilisation souhaitée du système, sans s'enliser dans des détails d'implémentation.

Communiquer les décisions sans ambiguïté

Le RUP utilise le Unified Modeling Language (UML), une notation cohérente pouvant être appliquée pour l'ingénierie système et métier.  Une notation standard joue les rôles suivants (voir [BOO95]):

  • Elle sert de langage pour communiquer les décisions qui ne sont pas évidentes ou qui ne peuvent êtres déduites du code lui-même.
  • Elle fournit une sémantique assez riche pour consigner toutes les décisions stratégiques et tactiques importantes.
  • Elle propose une forme assez concrète pour que les personnes puissent l'examiner et que les outils puissent l'utiliser.

L'UML représente l'alliance des meilleures pratiques de modélisation logicielle dans toute l'industrie de la technologie orientée objet.  Pour obtenir plus d'informations sur le langage UML, consultez notre site Web http://www-306.ibm.com/software/rational/uml/.