Tâche: Identifier les mécanismes de conception
Cette tâche explique comment affiner les mécanismes d'analyse en mécanismes de conception.
Disciplines: Analyse et conception
Objet
  • Affiner les mécanismes d'analyse en mécanismes de conception en fonction des contraintes imposées par l'environnement d'implémentation.
Relations
Etapes
Classement des clients des mécanismes d'analyse par catégories

Les mécanismes d'analyse fournissent des ensembles de services conceptuels utilisés par les classes d'analyse. Ils offrent une simplification commode pour les comportements vraiment complexes qui devront être abordés en dernier ressort, mais qui dépassent la portée de l'effort d'analyse. Leur objectif principal est de nous permettre d'enregistrer les exigences liées à ces services du système à concevoir, sans que nous ayons à prêter attention aux détails du fournisseur de service.

A présent, nous devons commencer à préciser les informations rassemblées sur les mécanismes d'analyse. Les étapes sont les suivantes :

Identifiez les clients de chaque mécanisme d'analyse. Examinez tous les clients d'un mécanisme d'analyse donné en observant les caractéristiques qu'ils requièrent pour ce mécanisme. Par exemple, un certain nombre de classes d'analyse pourraient utiliser un mécanisme de persistance, tout en ayant des exigences très diverses : les exigences de persistance d'une classe qui possédera un millier d'instances persistantes sont extrêmement différentes de celles d'une classe qui en possédera quatre millions. De la même manière, une classe dont les instances doivent répondre en moins d'une milliseconde aux données d'instance exigera une approche différente de la persistance, par rapport à une classe dont l'accès aux données d'instance n'est effectué que par des requêtes ad hoc et des applications de génération de rapports en batch.

Identifiez les profils de caractéristique de chaque mécanisme d'analyse. Ces profils de caractéristique peuvent être extrêmement variés et offrir différents degrés de performance, d'encombrement, de sécurité, de coût économique, etc. Chaque mécanisme d'analyse est différent et différentes caractéristiques s'appliquent à chacun. De nombreux mécanismes exigeront l'évaluation du nombre d'instances à gérer et de leur taille prévue en termes de nombre d'octets. Dans tout système, la circulation de grandes quantités de données crée des problèmes de performances considérables auxquels vous devrez faire face.

Regroupez les clients en fonction de l'utilisation des profils de caractéristique. Regroupez les clients qui semblent nécessiter l'utilisation de mécanismes d'analyse aux profils de caractéristique semblables ; identifiez un mécanisme de conception fondé sur les besoins de chaque groupe. Ces regroupements constituent une première division dans les mécanismes de conception. Un mécanisme d'analyse exemple, "communication interprocessus", peut être mappé à un mécanisme de conception "fonction ORB". Différents profils de caractéristique aboutiront à différents mécanismes de conception qui émergent du même mécanisme d'analyse. Le mécanisme de persistance, simple en analyse, donnera naissance en conception à un certain nombre de mécanismes de persistance : persistance en mémoire, fondée sur des fichiers, fondée sur des bases de données, distribuée, etc. Les mécanismes de conception sont des mécanismes d'analyse affinés en fonction des différents profils de caractéristique.

Inventaire des mécanismes d'implémentation

Procédez de manière ascendante et dressez l'inventaire des mécanismes d'implémentation (voir Concept : Mécanismes de conception et d'implémentation) dont vous disposez :

  • Les mécanismes offerts par une infrastructure de composant ou produit middleware.
  • Les mécanismes offerts par des systèmes d'exploitation.
  • Les mécanismes offerts par un composant.
  • Les mécanismes offerts par une librairie de classes.
  • Le code existant (voir aussi Tâche : Intégration des éléments de conception existants)
  • Les packages à usage spécifique : générateur d'interface graphique utilisateur, système d'informations géographiques, système de gestion de base de données, etc.

Déterminez les situations où il est possible d'utiliser des mécanismes d'implémentation existants et celles qui nécessitent la construction de nouveaux mécanismes d'implémentation.

Mappage des mécanismes de conception aux mécanismes d'implémentation

Les mécanismes de conception constituent une abstraction des mécanismes d'implémentation qui permet d'annuler le fossé entre les mécanismes d'analyse et les mécanismes d'implémentation. L'utilisation de mécanismes architecturaux abstraits lors de la conception nous permet de réfléchir à la manière dont nous allons fournir les mécanismes architecturaux sans nous embarrasser des détails d'un mécanisme particulier. Elle peut également nous permettre de remplacer un mécanisme d'implémentation spécifique par un autre sans produire d'effet négatif sur la conception.

Déterminez les plages des caractéristiques. Fondez-vous sur les caractéristiques identifiées pour les mécanismes de conception pour déterminer les plages ou valeurs raisonnables, économiques ou réalistes à utiliser dans le mécanisme d'implémentation candidat.

Prenez en compte le coût d'acquisition des composants achetés. Pour les mécanismes d'implémentation candidats, tenez compte du coût d'acquisition ou de licence, de la maturité du produit, de vos relations avec le fournisseur, du support, etc. parallèlement aux critères purement techniques.

Recherchez les bons composants ou construisez-les. Pour certains mécanismes de conception, vous découvrirez souvent qu'il n'existe pas de mécanisme d'implémentation apparemment approprié. Cette constatation vous conduira à rechercher le bon produit ou à identifier la nécessité d'un développement interne à l'entreprise. Vous remarquerez peut-être également que certains mécanismes d'implémentation ne sont pas utilisés du tout.

Le choix d'un mécanisme d'implémentation repose sur des caractéristiques techniques, mais également sur des caractéristiques non techniques, telles que le coût. Certains choix peuvent être provisoires. Presque tous sont liés à des risques : les performances, la robustesse et l'évolutivité sont des préoccupations quasi quotidiennes qui doivent être validées par l'évaluation, le prototypage à des fins d'exploration ou l'inclusion dans le prototype architectural.

Documentation des mécanismes architecturaux

Dans cette tâche, le rôle de l'architecte logiciel consiste à effectuer des décisions sur ces mécanismes et à les valider en les construisant ou en les intégrant, en vérifiant leur efficacité, puis en les imposant de manière cohérente sur le reste de la conception du système. L'architecte logiciel collabore avec le responsable de processus pour documenter les mécanismes et les détails concernant leur utilisation dans les principes de conception relatifs au projet. Voir Tâche : Préparation des instructions relatives au projet. La relation (ou le mappage) des mécanismes d'analyse aux mécanismes de conception et d'implémentation, de même que le raisonnement associé à ces choix, doit être documentée dans le document d'architecture logicielle. Les mécanismes sont des éléments de modèle de conception (comme les packages, classes et sous-systèmes de conception) qui peuvent être détaillés dans le Produit : Modèle de conception, dans le cadre de leurs activités de conception respectives.



Plus d'informations