Représentation des vues
d’architecture avec UML
Pierre-Alain Muller
ENSISA
[email protected] 03.89.33.69.65
Architecture / UML 1 Pierre-Alain Muller
Architecture logicielle
• Architecture =
Eléments + Formes + Motivations
• Architecture = Stratégie + Tactique
Architecture / UML 2 Pierre-Alain Muller
La vision de l’architecte
• Il n’existe pas une seule manière de
regarder un système
– Philippe Kruchten, le modèle 4 + 1 vues, IEEE Software, Nov. 95
Architecture / UML 3 Pierre-Alain Muller
Le modèle 4 + 1 vues
• La vue logique
• La vue de réalisation
• La vue des processus
• La vue de déploiement
• La vue des cas d’utilisation
Architecture / UML 4 Pierre-Alain Muller
La vue logique
• Aspects statiques et dynamiques
• Les éléments
– Les objets
– Les classes
– Les collaborations
– Les interactions
– Les paquetages <<Catégorie>>
Architecture / UML 5 Pierre-Alain Muller
La vue de réalisation
• Organisation des modules dans
l’environnement de développement
• Les éléments
– Les modules
– Les sous-programmes
– Les tâches (en tant qu’unités de programme,
comme en Ada)
– Les paquetages <<sous-système>>
Architecture / UML 6 Pierre-Alain Muller
La vue des processus
• Décomposition en flots d’exécution et
synchronisation entre ces flots
• Les éléments
– Les tâches
– Les threads
– Les processus
– Les interactions
Architecture / UML 7 Pierre-Alain Muller
La vue de déploiement
• Les ressources matérielles et l’implantation
du logiciel dans ces resources
• Les éléments
– Les noeuds
– Les modules
– Les programmes principaux
Architecture / UML 8 Pierre-Alain Muller
La vue des cas d’utilisation
• La colle entre les autres vues
• Les éléments
– Les acteurs
– Les cas d’utilisation
– Les classes
– Les collaborations
Architecture / UML 9 Pierre-Alain Muller
Articulation des diagrammes
• UML propose 9 types de diagrammes
Diagramme
Composants Classes Séquence Activité Objets
Déploiement Cas d'utilisation Etats-Transitions Collaboration
Architecture / UML 10 Pierre-Alain Muller
Organisation des modèles
Modèle
1
Vue
1..5
Paquetage
0..1 *
Possède Référence
* *
Elément
Elément de modélisation Elément de visualisation
1..* 0..*
< Montre
Architecture / UML 11 Pierre-Alain Muller
Structuration des modèles
: Modèle
Vue des cas d'utilisation : Paquetage : Elément
Vue logique : Paquetage : Elément
Vue de réalisation : Paquetage : Elément
Vue des processus : Paquetage : Elément
Vue de déploiement : Paquetage : Elément
Architecture / UML 12 Pierre-Alain Muller
Expression des besoins
• Les cas d’utilisation
Acteur Cas d'utilisation
* *
Besoin
Architecture / UML 13 Pierre-Alain Muller
Transition vers l’objet
• Les collaborations
Cas d'utilisation
<<Réalise>>
Contexte Objet
* *
Collaboration
0..* Interaction
0..1
Architecture / UML 14 Pierre-Alain Muller
Expression du comportement
0..1 0..1 0..*
Classe Collaboration
1 1 0..1
Automate Interaction
1
1 1
0..* 0..* *
Diagramme Diagramme Diagramme
d'états-transitions d'activités d'interaction
Diagramme Diagramme
de séquence de collaboration
Architecture / UML 15 Pierre-Alain Muller
Représentation de la structure
Instance de >
Lien Relation
* * 1 *
* * * *
Objet Classe
* 1
* Instance de > *
* * *
*
Collaboration 1 Diagramme de classe
0..* *
0..1 * *
Interaction Diagramme d'objets
1 1 Contexte
*
Diagramme d'interaction
*
Architecture / UML 16 Pierre-Alain Muller
Réalisation des objets et des classes
Instance de >
Objet Classe
* 1
* *
Dépendance
* *
Composant
1 1
Module Sous-Programme Tâche
Programme principal
Architecture / UML 17 Pierre-Alain Muller
Déploiement du code exécutable
Interaction
*
1
Programme principal
*
Processus
*
Noeud
Architecture / UML 18 Pierre-Alain Muller
Granularité des éléments
* *
Catégorie Processus
1 1
1 * * *
Classe Thread
* *
* *
1 1
Module Processeur
* *
* *
1..* 1 1
1
Sous-système Noeud
* *
Architecture / UML 19 Pierre-Alain Muller
Granularité (suite)
Architecture / UML 20 Pierre-Alain Muller
Récapitulatif
V ue de s ca s V u e lo g iq u e V ue de V ue de s V ue de
d ’u tilis a tio n ré a lis a tio n p ro c e s s u s d é p lo ie m e n t
D ia g ra m m e A c te u rs
de ca s Cas
d ’u tilis a tio n d ’u tilis a tio n
D ia g ra m m e C la s s e s
d e c la s s e s R e la tio n s
D ia g ra m m e O b je ts C la s s e s
d ’o b je ts L ie n s O b je ts
L ie n s
D ia g ra m m e A c te u rs A c te u rs O b je ts
de sé que nce O b je ts O b je ts M e ssa ge s
M e ssa ge s M e ssa ge s
D ia g ra m m e A c te u rs A c te u rs O b je ts
de O b je ts O b je ts L ie n s
c o lla b o ra tio n
L ie n s L ie n s M e ssa ge s
M e ssa ge M e ssa ge s
Architecture / UML 21 Pierre-Alain Muller
Récapitulatif (suite)
Vue des cas Vue logique Vue de Vue des Vue de
d’utilisation réalisation processus déploiement
Diagramme Etats Etats Etats
d’états- Transitions Transitions Transitions
transitions
Diagramme Activités Activités Activités
d’activité Transitions Transitions Transitions
Diagramme Composants Composants Composants
de
composants
Diagramme Noeuds
de Liens
déploiement
Architecture / UML 22 Pierre-Alain Muller
Conclusion
• Il y a beaucoup de diagrammes
• Il est important de bien saisir leur
articulation
• UML se prête bien à la représentation de
l’architecture
Architecture / UML 23 Pierre-Alain Muller