<Nom du projet>

Document d'architecture logicielle

Version <1.0>

[Remarque : Le modèle suivant est à utiliser avec le processus Rational Unified Process.  Le texte entre parenthèses droites, affiché en caractères italiques bleus (style=InfoBlue), sert à donner des indications à l'auteur, et devra être supprimé avant la publication du document. Tout paragraphe saisi dans ce contexte sera automatiquement passé en style normal (style=Body Text).]

 

Historique des révisions

Date

Version

Description

Auteur

<jj/mmm/aa>

<x.x>

<détails>

<nom>

       
       
       

Sommaire

1. Introduction         
1.1 Objet     
1.2 Portée     

2. Représentation architecturale

3. Objectifs et contraintes architecturaux   

 

6. Vue des processus

7. Vue de déploiement

8.2 Couches     

9. Vue des données (facultatif)       

10.Taille et performances               

11.Qualité               


Document d'architecture logicielle

1.                  Introduction

[L'introduction du document d'architecture logicielle doit fournir une vue d'ensemble du document d'architecture logicielle. Elle doit définir l'objet et la portée du document d'architecture logicielle, en faire une présentation générale et répertorier les définitions, acronymes, abréviations et références utilisés dans ce document.]

1.1               Objet
Ce document fournit une présentation de l'architecture du système, à l'aide d'un certain nombre de vues d'architecture décrivant différents aspects du système. Il a pour vocation de mettre en relief les principales décisions architecturales qui ont été prises par rapport au système.

[Cette section définit l'objet du document d'architecture logicielle, au sein de l'ensemble de la documentation liée au projet, et décrit brièvement la structure de ce document. Il convient d'identifier le public auquel ce document s'adresse, et de définir comment il est censé être utilisé.]

1.2               Portée

[Brève description des éléments auxquels le document d'architecture logicielle s'applique : aspects affectés ou influencés par ce document.]

1.3               Définitions, acronymes et abréviations

[Cette sous-section doit fournir une définition de tous les termes, acronymes et abréviations nécessaires à la bonne compréhension du document d'architecture logicielle.  Ces informations peuvent être fournies par référence au Glossaire du projet.]

1.4               Références

[Cette sous-section doit comprendre une liste exhaustive de tous les documents auxquels le document d'architecture logicielle fait référence. Pour chaque document, vous devez indiquer le titre, le numéro de rapport (le cas échéant), la date et l'organisation qui l'a publié. Spécifiez les sources auprès desquelles il est possible de se procurer ces références. Ces informations peuvent être fournies par référence à une annexe ou à un autre document.]

1.5               Présentation

[Cette sous-section doit décrire le reste du contenu du document d'architecture logicielle et présenter son organisation.]

2.                  Représentation architecturale

[Cette section l'architecture logicielle pour le système actuel, et comment elle est représentée. 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 objectifs et les contraintes logicielles qui ont un impact sur l'architecture (par exemple, sécurité, confidentialité, utilisation d'un produit prêt à l'emploi, portabilité, distribution et 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 issus du modèle de cas d'utilisation s'ils représentent une fonctionnalité importante du système final, ou s'ils ont une couverture architecturale importante (grand nombre d'éléments d'architecture concernés), ou s'ils soulignent ou illustrent un point d'architecture particulièrement délicat.]

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.

Pour chaque classe importante du package, vous devez indiquer son 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 du logiciel en donnant quelques réalisations de cas d'utilisation (ou scénarios), et explique comment les différents éléments du modèle de conception contribuent à ce fonctionnement.

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, cette vue doit indiquer au minimum les noeuds physiques (ordinateurs, UC) 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 générale du modèle d'implémentation, la décomposition du logiciel en couches et en sous-systèmes au sein du modèle d'implémentation, ainsi que tout élément d'implémentation significatif du point de vue de l'architecture.]

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. Ces caractéristiques doivent être clairement définies si elles revêtent une importance particulière (sécurité, confidentialité, etc.).]