La modélisation visuelle augmente le niveau d'abstraction
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.
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 :
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é.
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.
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.
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.
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/.
|