Fiche méthodologique de projet
C.1 Définir l'architecture logicielle
Objectif
Décrire d’une manière symbolique et schématique les différents éléments d’un
système informatique, leurs relations et leurs interactions.
Un modèle de conception (ou d'architecture) est composé d'un ensemble de points de
vue, chacun étant composé d'un ensemble de différentes sortes de diagrammes.
Préambule
Contrairement
Contrairement aux
aux spécifications
spécifications produites
produites par
par l’analyse
l’analyse fonctionnelle,
fonctionnelle, le
le
modèle
modèle d'architecture,
d'architecture, produit
produit lors
lors de
de la
la phase
phase de
de conception,
conception, ne
ne décrit
décrit pas
pas ce
ce
que doit réaliser un système informatique mais plutôt comment il doit
que doit réaliser un système informatique mais plutôt comment il doit être être
conçu
conçu de
de manière
manière àà répondre
répondre aux
aux spécifications.
spécifications.
Rappel
Rappel :: L’analyse
L’analyse décrit
décrit le
le «« quoi
quoi faire
faire »» alors
alors que
que l’architecture
l’architecture décrit
décrit le
le ««
comment
comment le le faire
faire ».
».
Une
Une architecture
architecture faible
faible ou
ou absente
absente peut
peut entraîner
entraîner de
de graves
graves problèmes
problèmes lors
lors de
de
la
la maintenance
maintenance du
du logiciel.
logiciel. En
En effet,
effet, toute
toute modification
modification d'un
d'un logiciel
logiciel mal
mal
architecturé
architecturé peut
peut déstabiliser
déstabiliser la
la structure
structure de
de celuici
celuici et
et entraîner,
entraîner, àà la
la longue,
longue,
une dégradation.
une dégradation.
Analyse ou conception ?
Puisque
Puisque l'analyse
l'analyse produit
produit également
également desdes diagrammes,
diagrammes, ilil est
est naturel
naturel de
de se
se poser
poser
la question suivante : quand se termine l'analyse et quand commence
la question suivante : quand se termine l'analyse et quand commence la la
conception
conception ?? La
La réponse
réponse est
est simple
simple :: les
les éléments
éléments des
des diagrammes
diagrammes d'analyse
d'analyse
correspondent
correspondent àà des
des éléments
éléments visibles
visibles et
et compréhensibles
compréhensibles par par les
les utilisateurs
utilisateurs
du
du système, alors que les éléments des diagrammes de conception ne
système, alors que les éléments des diagrammes de conception ne
correspondent
correspondent à aucune réalité tangible pour ceuxci. On s'attache donc àà
à aucune réalité tangible pour ceuxci. On s'attache donc
concevoir
concevoir les
les éléments
éléments internes
internes du
du système.
système.
Le modèle d'architecture adopté dans l'Unified Process (UP)
1 C.1. Concevoir
Vue des cas d'utilisation
La
La vue
vue des
des cas
cas d'utilisation
d'utilisation est un modèle
est un modèle d'analyse.
d'analyse.
Un
Un cas
cas d'utilisation
d'utilisation est
est défini
défini comme
comme un un ensemble
ensemble dede scénarios
scénarios d'utilisation,
d'utilisation, chaque
chaque
scénario
scénario représentant
représentant uneune séquence
séquence d'interaction
d'interaction des
des utilisateurs
utilisateurs (acteurs)
(acteurs) avec
avec le
le
système.
système.
La
La vue
vue des
des cas
cas d'utilisation
d'utilisation est
est représentée
représentée par
par au
au moins
moins unun diagramme
diagramme de de cas
cas
d'utilisation,
d'utilisation, chacun
chacun des
des scénarios
scénarios de
de celuici
celuici étant
étant décrit
décrit par
par un
un ou
ou plusieurs
plusieurs
diagrammes
diagrammes dynamiques
dynamiques :: diagrammes
diagrammes d'activités,
d'activités, de
de séquence
séquence (DSS),
(DSS), d'états
d'états
transitions.
transitions.
Modèle de conception
Vue logique
Cette
Cette vue
vue essentielle
essentielle décrit,
décrit, de
de façon
façon statique
statique et
et dynamique,
dynamique, le le système
système en
en termes
termes
d'objets
d'objets et de classes. La vue logique permet d'identifier les différents éléments et
et de classes. La vue logique permet d'identifier les différents éléments et
mécanismes
mécanismes du du système
système àà réaliser.
réaliser.
On
On utilisera
utilisera un
un maximum
maximum dede composants
composants des
des différentes
différentes bibliothèques
bibliothèques et
et framework
framework àà sa
sa
disposition.
disposition. Une
Une recherche
recherche active
active de
de composants
composants libres
libres et/ou
et/ou commerciaux
commerciaux estest
également
également envisagée.
envisagée.
La
La vue
vue logique
logique est
est représentée,
représentée, principalement,
principalement, par
par des
des diagrammes
diagrammes statiques
statiques de
de classes
classes
et
et d'objets
d'objets enrichis
enrichis de
de descriptions
descriptions dynamiques
dynamiques :: diagrammes
diagrammes d'activités,
d'activités, de
de séquence,
séquence,
diagrammes
diagrammes de de communication
communication ou ou d'étatstransitions.
d'étatstransitions.
Vue des processus
La
La vue
vue des
des processus
processus décrit
décrit les
les interactions
interactions entre
entre les
les différents
différents processus,
processus, threads
threads (fils
(fils
d'exécution) ou tâches, elle permet également d'exprimer la synchronisation
d'exécution) ou tâches, elle permet également d'exprimer la synchronisation et et
l'allocation
l'allocation des
des objets.
objets. Cette
Cette vue
vue permet
permet avant
avant tout
tout de
de vérifier
vérifier le
le respect
respect des
des contraintes
contraintes
de fiabilité, d'efficacité et de performances des systèmes multitâches.
de fiabilité, d'efficacité et de performances des systèmes multitâches.
Les
Les diagrammes
diagrammes utilisés
utilisés dans
dans la
la vue
vue des
des processus
processus sont
sont exclusivement
exclusivement dynamiques
dynamiques ::
diagrammes
diagrammes d'activités, de séquence, diagrammes de communication ou d'états
d'activités, de séquence, diagrammes de communication ou d'états
transitions.
transitions.
Vue de réalisation
La
La vue
vue de
de réalisation
réalisation permet
permet de
de visualiser
visualiser l'organisation
l'organisation des
des composants
composants (bibliothèque
(bibliothèque
dynamique
dynamique et et statique,
statique, code
code source...)
source...) dans
dans l'environnement
l'environnement de
de développement.
développement. Elle
Elle
permet
permet aux
aux développeurs
développeurs dede se
se retrouver
retrouver dans
dans lele capharnaüm
capharnaüm que
que peut
peut être
être un
un projet
projet de
de
développement
développement informatique.
informatique. Cette
Cette vue
vue permet
permet également
également de
de gérer
gérer la
la configuration
configuration
(auteurs,
(auteurs, versions...).
versions...).
Les
Les seuls
seuls diagrammes
diagrammes de
de cette
cette vue
vue sont
sont les
les diagrammes
diagrammes de
de composants.
composants.
Vue de déploiement
La
La vue
vue de
de déploiement
déploiement représente
représente le
le système
système dans
dans son
son environnement
environnement d'exécution.
d'exécution. Elle
Elle
traite des contraintes géographiques (distribution des processeurs dans l'espace),
traite des contraintes géographiques (distribution des processeurs dans l'espace), des des
contraintes
contraintes dede bandes
bandes passantes,
passantes, du
du temps
temps de
de réponse
réponse et
et des
des performances
performances du du système
système
ainsi que de la tolérance aux fautes et aux pannes. Cette vue est fort utile
ainsi que de la tolérance aux fautes et aux pannes. Cette vue est fort utile pour pour
l'installation
l'installation et
et la
la maintenance
maintenance régulière
régulière dudu système.
système.
Les
Les diagrammes
diagrammes de
de cette
cette vue
vue sont
sont les
les diagrammes
diagrammes de
de composants
composants et
et les
les diagrammes
diagrammes de
de
déploiement.
déploiement.
2 C.1. Concevoir