<Nom du projet>

Document d'architecture logicielle

1.                  Introduction

[L'introduction du document d'architecture logicielle contient une présentation dudocument d'architecture logicielle. Il contient l'objectif, l'étendue, les définitions, les acronymes, les abréviations, les références et la présentation du document d'architecture logicielle.]

2.                  Représentation architecturale

[Cette section décrit l'architecture logicielle du système actuel et fournit sa représentation. Elle énumère également les vues nécessaires (de type Cas d'utilisation, Logique, Processus, Déploiement et Implémentation) et décrit les éléments de modèle contenus dans chacune de ces vues.]

3.                  Objectifs et contraintes architecturaux

[Cette section décrit les exigences et objectifs qui ont un impact significatif sur l'architecture (par exemple, la sécurité, la confidentialité, l'utilisation de produits du commerce, la distribution et la réutilisation). Elle énumère également les contraintes spécifiques applicables : stratégie de conception et d'implémentation, outils de développement, structure de l'équipe, planning, code existant, etc.]

4.                  Vue des cas d'utilisation

[Cette section répertorie les cas d'utilisation ou les scénarios de modèles de cas d'utilisation s'ils représentent des fonctionnalités importantes et centrales du système final, s'ils ont une large portée en matière d'architecture, s'ils contiennent de nombreux éléments architecturaux, ou encore s'ils illustrent un point spécifique et délicat de l'architecture.]

5.                  Vue logique

[Cette section décrit les parties architecturalement significatives du modèle de conception, par exemple sa décomposition en sous-systèmes et en packages. Pour chaque package important, sont également indiqués les classes et les utilitaires de classe. Vous devez présenter les classes architecturalement significatives et décrire leurs responsabilités, ainsi que les principales relations, opérations et attributs.]

5.1               Présentation

[Cette sous-section décrit la décomposition générale du modèle de conception sous la forme de hiérarchies de packages et de couches.]

5.2               Packages de conception architecturalement significatifs

[Pour chaque package important, vous devez ajouter une sous-section contenant son nom, une brève description et un diagramme reprenant les classes et les packages importants contenus dans ce package.

Chaque classe importante doit être associée à un nom, à une brève description et éventuellement à une description de ses responsabilités, opérations et attributs majeurs.]

5.3               Réalisations de cas d'utilisation

[Cette section illustre le fonctionnement réel du logiciel en mentionnant quelques réalisations (ou scénarios) de cas d'utilisation sélectionnées ; elle explique la contribution des différents éléments.]

6.                  Vue des processus

[Cette section décrit la décomposition du système en termes de processus légers (unités d'exécution uniques) et de processus lourds (groupes de processus légers). Regroupez les processus qui communiquent ou interagissent entre eux. Décrivez les principaux modes de communication entre les processus : transmission de messages, interruptions et rendez-vous.]

7.                  Vue de déploiement

[Cette section décrit une ou plusieurs configurations réseau physiques (matériel) sur lesquelles le logiciel est déployé et exécuté. Il s'agit d'une vue du modèle de déploiement. Pour chaque configuration doivent figurer au minimum les noeuds physiques (ordinateurs, unités centrales) qui exécutent le logiciel, ainsi que leurs interconnexions (bus, réseau local, point à point, etc.). Vous devez également inclure un mappage des processus de la Vue des processus sur les noeuds physiques.]

8.                  Vue d'implémentation

[Cette section décrit la structure globale du modèle d'implémentation, la décomposition du logiciel en couches et en sous-systèmes, ainsi que les composants architecturaux importants.]

8.1               Présentation

[Cette sous-section nomme et définit les différentes couches et leur contenu, les règles qui régissent l'inclusion dans une couche donnée, et les frontières entre les couches. Pensez à inclure un diagramme des composants qui indique les relations entre les couches.]

8.2               Couches

[Pour chaque couche, ajoutez une sous-section comprenant son nom, une énumération des sous-systèmes de la couche, et un diagramme des composants.]

 

9.                  Vue des données (facultatif)

[Description des mécanismes de stockage des données persistantes pour le système. Cette section est optionnelle si les données persistantes sont peu nombreuses voire inexistantes, ou si la traduction entre le modèle de conception et le modèle de données est sans importance.]

10.             Taille et performances

[Description des principales caractéristiques de dimensionnement du logiciel qui ont un impact sur l'architecture, ainsi que des contraintes de performance cible.]

11.             Qualité

[Description du rôle joué par l'architecture logicielle dans les principales caractéristiques du système (hors fonctionnement) : évolutivité, fiabilité, portabilité, etc. Si ces caractéristiques ont une signification spécifique (et notamment des implications de sécurité ou de confidentialité), elles doivent être clairement décrites.]