Copyright © 2015
All rights reserved.

Exemple de document d`architecture logicielle


Cette section illustre la façon dont le logiciel fonctionne en donnant quelques constatations de cas d`utilisation (ou de scénario) sélectionnées, et explique comment les différents éléments de modèle de conception contribuent à leur fonctionnalité. Lorsque ce document est créé, une entrée importante est une spécification de l`environnement d`implémentation. Vous pouvez organiser la section par les différentes vues (logique, implémentation, etc.), ou par qualité. Sinon, vous risquez de diluer le concept de l`architecture, et “tout est l`architecture. Il décrit également l`ensemble des scénarios et/ou des cas d`utilisation qui ont une couverture architecturale substantielle (qui exercent de nombreux éléments architecturaux) ou qui soulignent ou illustrent un point précis et délicat de l`architecture. Les cas de changement clarifient les propriétés du système décrites par des phrases subjectives telles que «facile à étendre», «facile à porter», «facile à entretenir», «robuste face au changement» et «rapide à développer». Cette section décrit la décomposition du logiciel en couches et sous-systèmes d`implémentation dans le modèle d`implémentation. Cette vue est uniquement pertinente pour les systèmes impliquant la persistance de base de données prise en charge. L`application de ces décisions est obtenue en encadrant un ensemble de critères d`évaluation de l`architecture qui seront utilisés dans le cadre de l`évaluation des itérations. Vous devez présenter des éléments de modèle de données significatifs sur le plan architectural, décrire leurs responsabilités, ainsi que quelques relations et comportements très importants (déclencheurs, procédures stockées, etc.). C`est parce que la prochaine grande fonctionnalité que je roule sur Structurizr est la possibilité d`ajouter la documentation supplémentaire légère dans le modèle d`architecture logicielle existante. Pour les systèmes avec un grand degré d`accès concurrentiel et de distribution, les affichages de processus et de déploiement sont également susceptibles d`être considérés tôt, car ils peuvent alors avoir un impact substantiel sur l`ensemble du système. La représentation et les objectifs de l`architecture logicielle sont généralement quelque chose qui doit être défini avant les toutes premières itérations, puis être maintenu tout au long du projet.

Les définitions de ces sections sont incluses dans mon ebook et elles sont maintenant disponibles pour lire gratuitement sur le site Web de Structurizr (voir les hyperliens ci-dessus). Sans aucune carte ou un sens de la direction, vous finirez juste en marchant de haut en bas chaque rue essayant de trouver quelque chose que vous reconnaissez ou quelque chose d`intérêt. Il fournit également une vue d`ensemble de l`allocation des éléments de conception (de la vue logique) à l`implémentation. Cette sous-section décrit la décomposition globale du modèle de conception en termes de hiérarchie de paquets et de calques. L`architecte logiciel établit la structure globale pour chaque vue architecturale: la décomposition de la vue, le regroupement des éléments et les interfaces entre ces grands groupements. La section Références présente des documents externes qui fournissent des informations de base importantes pour une compréhension de l`architecture du système. Cette section décrit les caractéristiques volumétriques et de réactivité du système. Si vous êtes intéressé à voir à quoi cela ressemble, j`ai poussé une première version et il ya une certaine documentation pour les techtribus. Cette sous-section nomme et définit les différentes couches et leur contenu, les règles qui régissent l`inclusion à une couche donnée et les limites entre les calques. Les critères relatifs à ce qui est significatif sur le plan architectural évolueront dans les premières itérations du projet, car vous découvrirez des difficultés techniques et commencerez à mieux comprendre le système.