Dans ce modèle nous explicitons les interfaces des objets et la sémantique des opérations (méthodes). C'est ici que nous réalisons toutes les décisions habituelles de la conception (langage d'implémentation, SGBD, système, machines, etc).
Nous allons utiliser comme composant de base pour le modèle de conception les blocs. C'est à partir de ces blocs que nous allons construire l'architecture de conception du système. Ils sont l'abstraction de l'implémentation réelle, ils peuvent être implémentés par une ou plusieurs classes.
La première réalisation du modèle de conception se fait automatiquement à partir du modèle d'analyse. On a une bijection entre les objets de l'analyse et les blocs du modèle de conception. La conservation de cette bijection est un des points forts de la méthode car elle permet d'associer du code avec des raisons analytiques et permet en cas de changement du modèle d'analyse de retrouver rapidement le code associé (traceabilité).
Cette propriété de traçabilité va nous permettre de pouvoir naviguer aisément dans le modèle d'implémentation grâce au modèle d'analyse. De plus cela aide à une plus grande localisation de fonctionnalité, ce qui réduit les coûts de transformation. Nous reprenons ici l'exemple utilisé dans le modèle d'analyse. Le modèle de conception que nous allons développé ici sera réduit mais la méthode devrait être correctement illustrée. Reprenons notre modèle d'analyse : conception.assoLe modèle d'analyse de départ
conception.asso2La première version du modèle de conception.
Nous allons nous concentrer notre travail sur les services Dépose Article et Article Bloqué et donc sur les objets concernés.
Réalisons notre isomorphisme pour produire le premier modèle de conception, remarquez les différences de formes graphiques qui permetent de savoir d'un seul coup d' il quel est le modèle en cours de développement.
conception.asso3Transformation d'un lien associatif, entre Article déposé et Gestion Alarme.
La sémantique de ce modèle est somme toute différente.
Le modèle d'analyse est une vision logique et conceptuelle du système. Le modèle de conception en est une des formes pratique et il en ressortira les choix dùs à l'environnement réel d'implémentation.
Il est essentiel de geler le modèle d'analyse pour la maintenance future une fois le modèle de conception réalisé. Le modèle de conception reste une abstraction du système final. Notre but ici est de conserver la structure (robuste et adaptable) du modèle d'analyse dans le modèle de conception. Le modèle de conception doit aussi être robuste et logique.
La sémantique des blocs doit reflété celle des objets réels de même pour leurs relations. Par exemple rares sont les langages de programmation qui sont capables de réaliser la relation extension utilisée dans le modèle d'analyse. Nous devons donc dans le modèle de conception décider comment cette relation sera implémentée, les changements du modèle devront refléter cette transformation. De même si le langage de programmation ne permet pas d'utiliser le concept d'héritage, nous devons définir dans le modèle de conception la technique qui en tiendra lieu.
Ce premier jet nous donne une idée de l'architecture du système, qui devra sans doute évoluer avec les considérations d'implémentation. Nous devrons par exemple découper ou diviser des blocs pour pouvoir les implémenter sur différents éléments matériels de notre environnement, nous devons fabriquer de nouveaux blocs, pour par exemple encapsuler le SGBD.
Le modèle de conception doit encore nous permettre de diviser la complexité du système. Les blocs étant des abstractions pour des portions de code. En parlant en termes de blocs on peut discuter du système avec une vue plus générique qui nous permet d'appréhender l'architecture du système. Cette abstraction réduit radicalement la complexité. Il est donc plus facile d'éviter les erreurs dues à la complexité du système.
Il a été prouvé qu'il est plus efficace d'éviter les erreurs en réduisant la complexité au début de la conception que de chercher les erreurs et les corriger une fois que le système est complet [Levendel1990]
Next: environnement d'implémentation Up: Le modèle de construction Previous: Ce qui est fait
Pour vos remarques ou sugestions copyright D.revuz 1995