Guide d'utilisation de l'outil: Réalisation d'une analyse architecturale à l'aide de Rational Systems Developer
Ce guide d'utilisation de l'outil explique comment réaliser une analyse architecturale à l'aide de l'environnement de modélisation RSD.
Outil: Rational Systems Developer
Etend: Réalisation de l'analyse architecturale à l'aide de la plateforme Rational Software Development.
Relations
Eléments connexes
Description principale

Présentation

Ce guide d'utilisation de l'outil requiert la création préalable d'un ensemble de modèles structurés, conformément aux instructions relatives aux structures de modèles pour RSx.

Les étapes suivantes sont réalisées dans ce guide d'utilisation de l'outil :

Informations supplémentaires sur l'outil

Développer une vue d'ensemble de l'architecture

Pour cette étape, vous pouvez utiliser l'outil selon deux méthodes :

  • en tant qu'outil de dessin pour la création de diagrammes informels décrivant l'architecture
  • en tant qu'outil de modélisation UML pour la création de modèles sémantiques formels spécifiant la plupart des détails d'une solution et servant de base de génération automatique de grandes parties d'implémentation à l'aide des transformations modèle-modèle et modèle-code.

Pour les applications J2EE, il existe un certain nombre de configurations de déploiement sur lesquelles vous pouvez baser votre architecture initiale. Pour créer un ensemble de diagrammes, utilisez une combinaison des éléments des tiroirs Geometric Shapes (Formes géométriques) et Deployment (Déploiement) de la palette.

Pour obtenir plus d'informations sur la structure des modèles, consultez les livres blancs suivants :

Evaluer les actifs disponibles

Remarque : certaines fonctions mentionnées dans cette section ne sont pas prises en charge dans RSM.

L'architecte doit envisager la réutilisation des actifs internes, y compris des modèles existants.Cet outil offre également un large support pour l'analyse architecturale automatisée, permettant d'effectuer des découvertes architecturales via une visualisation logicielle de haut niveau, la détection de patterns et d'anti-patterns. Pour plus d'informations, reportez-vous aux instructions Reconnaissance, analyse et contrôle de l'architecture.

Identifier les exigences de transformation

Vous pouvez utiliser l'outil selon trois méthodes :

  1. en tant qu'outil de dessin pour la création de diagrammes informels décrivant la présentation de l'architecture.
  2. en tant qu'outil de modélisation UML pour la création de modèles sémantiques formels spécifiant la plupart des détails d'une solution et à partir duquel les détails supplémentaires peuvent être générés automatiquement, à l'aide des transformations modèle-modèle et modèle-code.
  3. en tant qu'outil de modélisation UML pour la création de modèles sémantiques formels spécifiant la plupart des détails d'une solution. Les transformations ont bien lieu mais elles se font manuellement.

Si vous travaillez selon les scénarios 2 ou 3 (ci-dessus), il vous faut alors penser aux transformations dont vous aurez besoin. Dans les meilleures circonstances, les transformations nécessaires existeront déjà et procureront les fonctionnalités nécessaires.

Si vous travaillez selon le scénario 2 (ci-dessus) et la transformation ne correspond pas vraiment à vos besoins, vous devez effectuer l'une des tâches suivantes :

  • Etendre la transformation existante.
  • Mettre à jour la transformation en changeant son code.
  • Créer une nouvelle transformation qui alimente ou accepte la productivité de la transformation existante.
  • S'il est impossible de la réutiliser et si vous devez créer une nouvelle transformation autonome, vous pouvez utiliser le canevas existant comme exemple/point de départ.

Astuce : il existe un certain nombre d'exemples de transformations que vous pouvez réutiliser ou utiliser comme point de départ pour votre propre transformation : modèle de gestion-modèle de cas d'utilisation, modèle de cas d'utilisation-modèle d'analyse et modèle d'analyse-modèle de conception.

Si vous devez créer une nouvelle transformation, suivez les 6 étapes ci-dessous :

  1. Créez un projet de plug-in de transformation
  2. Précisez le type de source et le modèle cible
  3. Précisez les profils applicables
  4. Ajoutez des règles à la transformation
  5. Implémentez un comportement spécifique de transformation
  6. Testez la transformation

Identifier les patterns réutilisables

Outre la recherche des transformations que vous pouvez réutiliser, il est important de penser aux patterns pertinents qui peuvent s'appliquer à votre projet. Comme pour les transformations, dans les meilleures circonstances, les patterns existent déjà.

Si les patterns identifiés ne correspondent pas vraiment à vos besoins, vous devez effectuer l'une des tâches suivantes :

  1. Créer un nouveau pattern qui fonctionne avec le pattern existant
  2. Mettre à jour le pattern afin qu'il réponde effectivement à vos besoins
  3. Utiliser le pattern existant comme modèle/exemple pendant que vous construisez un nouveau pattern qui corresponde mieux à vos besoins

Consultez la catégorie d'aide manuel d'aide Extension de la fonctionnalité de RSx (RSA, RSM et RSD sont des RSx).

Si vous décidez de créer votre propre pattern, suivez les 6 étapes ci-dessous :

  1. Créez une bibliothèque de patterns
  2. Ajoutez un pattern à la bibliothèque
  3. Ajoutez des paramètres du canevas au pattern
  4. Précisez les dépendances entre ces paramètres
  5. Implémentez un comportement spécifique de pattern
  6. Testez le pattern

Identifier les profils réutilisables

Consultez votre inventaire de profils disponibles et voyez si vous devez en augmenter le nombre. Les profils peuvent être des mécanismes utiles pour vous aider à ajouter des détails et apporter des précisions à votre modèle sans devoir passer par une implémentation particulière. Vous devez également considérer l'interrelation entre les patterns, les transformations et les profils. Vous pouvez utiliser ces mécanismes seuls mais ils offrent une meilleure productivité si on les utilise ensemble.

Identifier les modèles et les éléments de code réutilisables

L'architecte doit envisager la réutilisation des actifs internes, y compris des modèles existants.L'outil offre également un large support pour l'analyse architecturale automatisée, permettant d'effectuer des découvertes architecturales via une visualisation logicielle de haut niveau, la détection de patterns et d'anti-patterns. Pour plus d'informations, reportez-vous aux instructions Reconnaissance, analyse et contrôle de l'architecture. .

Il existe également le tutoriel : manuel d'aideCreating Architectural Control Rules and Reviewing the Architecture of an Application (Création de règles de contrôle de l'architecture et revue de l'architecture d'une application) dans lequel vous trouverez une meilleure explication de certaines fonctions d'automatisation dans l'outil pour évaluer les actifs existants.

Rechercher des actifs dans developerWorks

Notez que la bibliothèque technique Rational d' IBM developerWorks contient également des actifs utiles.

Utiliser la spécification RAS et l'explorateur d'actifs

Lors de l'utilisation de la Reusable Asset Specification (spécification RAS), vous pouvez décider de basculer vers la Perspective RAS dans le plan de travail de l'outil. L'explorateur d'actifs est une vue clé dans la perspective, qui vous permet de vous connecter à un référentiel existant, de naviguer dans les référentiels ou de créer des référentiels comprenant des actifs RAS. De plus, les utilisateurs du système peuvent commenter un actif stocké dans un référentiel - fournissant ainsi un autre mécanisme pour vous aider dans votre sélection d'actif.

Pour plus d'informations voir :

  • manuel d'aideRAS Assets - RAS Asset to Import/Export (Actifs RAS - Actif RAS à importer/exporter) 
  • manuel d'aideTutorials and samples for importing and exporting RAS assets (Tutoriels et exemples pour importer et exporter des actifs RAS) 
  • manuel d'aidePackaging Assets for Reuse (Regroupement des actifs en packages en vue d'une réutilisation)
  • manuel d'aideFinding RAS Assets (Recherche d'actifs  RAS)

Définir l'organisation de haut niveau des sous-systèmes

Les décisions que vous prenez sur l'organisation de la solution en composants, services et sous-systèmes sont incluses dans le modèle de conception (c'est-à-dire dans un modèle de conception EIT) et prennent comme base des considérations architecturales telles que :
  • stratégie par couches
  • stratégie par composants (en fonction de concepts de cohésion et de couplage)
  • division du travail adaptée à chaque projet

Si une approche de développement guidé par modèle (MDD) utilisant les transformations automatisées est privilégiée, les transformations modèle-modèle et modèle-code introduisent des questions supplémentaires concernant les structures de modèles. Par exemple, vous pouvez aligner les packages de votre modèle de conception pour refléter l'ensemble des projets au sein desquels vous développerez l'implémentation. Vous pouvez également utiliser un modèle de mappage pour définir la façon dont les artefacts d'implémentation de la solution seront organisés en projets et en dossiers, ainsi que la façon dont le modèle de conception sera mappé à ces projets et dossiers. Voir manuel d'aideSpecifying File Names for the Output of a UML Transformation (Spécification de noms de fichiers pour la sortie d'une transformation UML).

Si vous n'utilisez pas les transformations automatisées dans votre approche MDD, vous devez prendre des mesures pour procurer les informations imbriquées dans la transformation automatisée :

  • Ajout de diagrammes
  • Notes sur les diagrammes
  • Utilisation de profils
  • Utilisation de contraintes
  • Ajout de documentation détaillant le mappage

L'outil peut également prendre en charge le besoin d'organiser les éléments de plusieurs façons afin de répondre aux attentes spécifiques de toutes les parties prenantes. La solution consiste à utiliser des packages de <<perspective>> qui séparent l'organisation des différents éléments du modèle de conception des vues de diagrammes du contenu du modèle, ce qui permet de créer le nombre de vues souhaité, reflétant ainsi les approches d'organisation orthogonales. Outre la communication des idées de conception représentées dans votre modèle, cette approche peut aussi vous aider à mieux comprendre les éléments qui composent votre solution.

Pour obtenir plus d'informations sur la structure des modèles, consultez les livres blancs suivants :

Identifier les abstractions clés 

Identifiez les principales abstractions des diagrammes de classes avec une brève description de chaque classe. Pour ce faire, procédez de la manière suivante :

  1. Ouvrez le modèle de conception. Si vous projetez de maintenir un modèle d'analyse séparé, vous devez alors enregistrer dans ce modèle le même type d'information.
  2. Rendez-vous dans le package contenant les abstractions principales. Vous pouvez également utiliser un package de <<perspective>> des abstractions principales. Reportez-vous aux Instructions relatives aux structures de modèles pour RSx.
  3. Ajoutez un diagramme de classes. Voir manuel d'aideAdding Class Diagrams to Model Elements (Ajout de diagrammes de classes aux éléments de modèle).
  4. Ajoutez des classes au diagramme stéréotypées en tant qu'<<entity>> (entités). Voir manuel d'aideCreating and Modifying Class Diagrams (Création et modification de diagrammes de classes) et manuel d'aideApplying Stereotypes to Model Elements (Application de stéréotypes aux éléments de modèle).
  5. Ajoutez une description à chaque classe à l'aide de l'onglet Documentation de la vue Properties. Voir manuel d'aideDocumenting Model Elements (Documentation des éléments de modèle).
  6. Associez un document à la classe (facultatif) : dans l'explorateur de modèles, cliquez avec le bouton droit de la souris sur l'élément à associer à un fichier, puis cliquez sur Add UML > URL (Ajouter un élément UML > URL). Voir manuel d'aideLinking Model Elements to External Files (Relier des éléments de modèle à des fichiers externes).
  7. Définissez les relations entre les classes. Voir manuel d'aideRelations.
    • Ajoutez des relations d'association.
    • Spécifiez les types de relations d'association.
    • Ajoutez des relations de généralisation.

Pour plus d'informations, voir manuel d'aideModeling Static Structure by Using Class Diagrams (Modélisation d'une structure statique à l'aide de diagrammes de classes).

Identifier les interactions stéréotypées

Cette étape est incluse uniquement si vous effectuez cette activité au cours de la phase de création.

L'objectif de cette étape consiste à identifier les interactions entre les abstractions clés du système qui caractérisent les principaux types d'activité présents dans le système. Ces interactions sont enregistrées sous forme de réalisations de cas d'utilisation.

Pour obtenir des conseils sur la création de réalisations de cas d'utilisation, voir Analyse des cas d'utilisation.

Lorsque vous travaillez avec des diagrammes d'itération, il est rapide et facile de basculer entre la vue du diagramme de communication et celle du diagramme de séquence :

  1. Ajoutez un diagramme de communication ou un diagramme de séquence à votre modèle. Le diagramme sera créé dans une interaction propre.
  2. Ajoutez des éléments de modèle au diagramme créé, selon les besoins, pour représenter l'interaction.
  3. Pour ajouter le diagramme associé, cliquez avec le bouton droit de la souris sur l'interaction puis sélectionnez Add Diagram > Communication Diagram (Ajouter un diagramme > Diagramme de communication).
  4. Si vous avez commencé avec un diagramme de communication, le flux est le même à l'exception de votre sélection finale qui sera Add Diagram > Sequence Diagram (Ajouter un diagramme > Diagramme de séquence).

Développer une vue d'ensemble du déploiement

  1. Ajoutez un diagramme de déploiement au modèle de déploiement.
  2. Ajoutez des noeuds au diagramme.
  3. Dans la palette, sélectionnez Stereotyped Node (Noeud stéréotypé) dans le tiroir Deployment (Déploiement), puis utilisez l'un des types de noeuds prédéfinis. Remarque : la plupart des noeuds prédéfinis ont des représentations graphiques personnalisées associées au type du noeud.
  4. Ajoutez des associations entre les noeuds.

Conseils supplémentaires :

  1. Utilisez les notes et les couleurs comme repères visuels pour attirer l'attention sur les fonctions importantes de votre diagramme.
  2. Donnez des détails en cohérence avec le niveau d'abstraction requis. Exposez uniquement les éléments essentiels à la compréhension.
    1. Utilisez la commande Delete from Diagram (Supprimer du diagramme) pour supprimer les éléments inutiles. Les éléments seront supprimés du diagramme mais cela n'aura aucune incidence sur le modèle sous-jacent.
    2. Utilisez la commande Filters (Filtres) pour masquer/afficher les détails. Pour accéder à cette commande, cliquez avec le bouton droit de la souris sur les élément de modèle dans un diagramme et sélectionnez Filters (Filtres).
  3. Utilisez les éléments du tiroir des formes géométriques pour ajouter tout complément d'information devant être enregistré, mais n'étant pas bien représenté par les éléments trouvés dans le tiroir de déploiement.
  4. Contentez-vous de communiquer un aspect de la vue de déploiement statique d'un système. Aucun diagramme de déploiement ne nécessite d'enregistrer tout ce qui se rapporte à la vue de déploiement d'un système.
  5. Utilisez les packages de <<perspective>> afin de regrouper les éléments de modèle et procurer une vue supplémentaire ou alternative.
  6. Si le diagramme nécessite davantage de détails et de précision, utilisez les profils, les contraintes, les notes et l'onglet documentation pour enregistrer les informations.

Identifier les mécanismes d'analyse

Il existe des fonctions de l'outil pouvant être utiles à l'identification ascendante de certains mécanismes d'analyse, via la prise en charge de l'analyse architecturale (détection de pattern et d'anti-pattern). Le référentiel RAS permet de rassembler tous les candidats potentiels à la réutilisation. Voir manuel d'aideCreating Software Modeling Artifacts for Reuse (Création d'artefacts de modélisation logicielle en vue d'une réutilisation) et manuel d'aideApplying Patterns (Application de patterns) pour une vue complète des exigences relatives au regroupement des actifs réutilisables.

Si vous disposez de patterns, de transformations, de modèles, de conseils écrits ou autres artefacts que vous voulez partager et réutiliser dans une organisation plus vaste, RAS peut vous aider. RAS vous permettra d'explorer un actif réutilisable, de le réviser, de donner un retour d'informations le concernant et de l'insérer dans une solution. Pour des conseils supplémentaires sur l'utilisation de la spécification RAS et des actifs regroupés à l'aide de cette spécification, voir :

  • manuel d'aideRAS Assets - RAS Asset to Import/Export (Actifs RAS - Actif RAS à importer/exporter) 
  • manuel d'aideTutorials and Samples regarding importing and exporting RAS assets (Tutoriels et exemples pour importer et exporter des actifs RAS) 
  • manuel d'aidePackaging Assets for Reuse (Regroupement d'actifs en vue d'une réutilisation)
  • manuel d'aideFinding RAS Assets (Recherche d'actifs RAS)  

Au cours de cette étape, documentez chaque mécanisme d'analyse et ses clients. RSA peut vous aider à rechercher et représenter ces informations de plusieurs façons :

  • Recherchez les clients en cliquant avec le bouton droit de la souris sur le mécanisme puis sélectionnez Filters > Show Related Elements (Filtres > Afficher les éléments associés)
  • Utilisez un diagramme de rubrique. Voir manuel d'aideTopic Diagrams (Diagrammes de rubrique)
  • Utilisez un diagramme de navigateur. Voir manuel d'aideBrowse Diagrams (Diagrammes de navigateur) 
  • Utilisez les packages de <<perspective>> pour fournir une vue des mécanismes utilisés.
  • Utilisez les packages de <<framework>> (infrastructure préfabriquée) pour établir comment les mécanismes vont effectuer ce qui leur est demandé. 

Réviser les résultats

Les résultats de l'analyse architecturale étant provisoires et relativement informels, les revues doivent également être informelles. Il peut être utile de publier les modèles au format HTML. Notez également que les diagrammes peuvent être copiés dans Microsoft Word et d'autres programmes.

Pour plus d'informations, voir manuel d'aidePublishing Models (Publication de modèles) et le tutoriel manuel d'aidePublishing a Model to Web (Publication d'un modèle dans le Web).

Informations supplémentaires sur l'outil

Tutoriels :

  • manuel d'aideApplying a Pattern (Application d'un pattern)
  • manuel d'aideCreate a Pattern (Création d'un pattern)
  • manuel d'aideUnderstanding the UML Model Hierarchy (Comprendre la hiérarchie de modèle UML) 
  • manuel d'aideIntroduction to the Modeling Perspective (Introduction à la perspective de modélisation)

Exemples :

  • manuel d'aidePatterns - Simple UML Model (Patterns - Modèle UML Simple)