Architecture / UML 1 Pierre-Alain Muller
Représentation des vues d’architecture avec UML
Pierre-Alain MullerENSISA
Architecture / UML 2 Pierre-Alain Muller
Architecture logicielle
• Architecture =Eléments + Formes + Motivations
• Architecture = Stratégie + Tactique
Architecture / UML 3 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 4 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 5 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 6 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 7 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 8 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 9 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 10 Pierre-Alain Muller
Articulation des diagrammes
• UML propose 9 types de diagrammes
Diagramme
Cas d'utilisation
Composants Classes
Déploiement Etats-Transitions
ActivitéSéquence
Collaboration
Objets
Architecture / UML 11 Pierre-Alain Muller
Organisation des modèles
Vue
Elément
* *
*0..1
Elément de modélisation Elément de visualisation
0..*1..* < Montre1..* 0..*
Paquetage
0..1
*Possède
*
*Référence
Modèle
1
1..51..5
1
Architecture / UML 12 Pierre-Alain Muller
Structuration des modèles : Modèle
Vue logique : Paquetage
Vue de réalisation : Paquetage
Vue des processus : Paquetage
Vue de déploiement : Paquetage
Vue des cas d'utilisation : Paquetage : Elément
: Elément
: Elément
: Elément
: Elément
Architecture / UML 13 Pierre-Alain Muller
Expression des besoins
• Les cas d’utilisation
Besoin
Cas d'utilisationActeur* ***
Architecture / UML 14 Pierre-Alain Muller
Transition vers l’objet
• Les collaborations
Cas d'utilisation
* *Objet
0..1Interaction0..*
Collaboration* *
Contexte
0..10..*
<<Réalise>>
Architecture / UML 15 Pierre-Alain Muller
Expression du comportement
*
1
0..*
0..1
Interaction
*
1
1
0..1Classe 0..1 Collaboration 0..*
0..11
0..*
1
0..*
1Automate
1
0..1 0..1
1
0..*
1
0..*
1
Diagrammed'états-transitions
Diagrammed'activités
Diagrammed'interaction
Diagramme de séquence
Diagrammede collaboration
Architecture / UML 16 Pierre-Alain Muller
Représentation de la structure
**
*
*
*
*
* 1
Classe*** *
* 1Relation
1*
*
Diagramme de classe
*
*
*
*
*
Contexte1
*Diagramme d'interaction
*
Objet
* 1Instance de >
* *
*
*Lien
* 1
Instance de >
*
0..*0..1
Interaction
1*
*
Diagramme d'objets
**
1
*
1Collaboration
*
*
*
*
0..*0..1 *
1
Architecture / UML 17 Pierre-Alain Muller
Réalisation des objets et des classes
1
*
1
*1
Classe*
Objet1*
Instance de >
Module
Dépendance
Composant
1
*
1
*
*** *
Sous-Programme
Programme principal
Tâche
Architecture / UML 18 Pierre-Alain Muller
Déploiement du code exécutable
Processus
Noeud
Programme principal
Interaction
*
*
*
*
1*
1*
Architecture / UML 19 Pierre-Alain Muller
Granularité des éléments
**
1*1..*
Sous-système
1
1*
* *1
Noeud
**
*
**
1
Module
1*
*
1
Catégorie
1..*
1 *
*
1
Processeur
1*
* *
1
Processus
1
*
**
*
*Classe
1
*
1*
*
Thread
*
1
1*
* *
Architecture / UML 21 Pierre-Alain Muller
RécapitulatifV ue de s ca sd ’u tilisa tion
V ue log ique V ue deré a lisa tion
V ue de sproce ssus
V ue dedé p lo ie m e nt
D ia gra m m ede ca s
d ’u tilisa tion
A cte ursC a s
d ’u tilisa tionD ia gra m m ede c la sse s
C la sse sR e la tions
D ia gra m m ed’ob je ts
O bje tsL ie ns
C la sse sO bje tsL ie ns
D ia gra m m ede sé que nce
A cte ursO bje ts
M e ssa ge s
A cte ursO bje ts
M e ssa ge s
O bje tsM e ssa ge s
D ia gra m m ede
co lla bora tion
A cte ursO bje tsL ie ns
M e ssa ge
A cte ursO bje tsL ie ns
M e ssa ge s
O bje tsL ie ns
M e ssa ge s
Architecture / UML 22 Pierre-Alain Muller
Récapitulatif (suite)Vue des casd’utilisation
Vue logique Vue deréalisation
Vue desprocessus
Vue dedéploiement
Diagrammed’états-
transitions
EtatsTransitions
EtatsTransitions
EtatsTransitions
Diagrammed’activité
ActivitésTransitions
ActivitésTransitions
ActivitésTransitions
Diagrammede
composants
Composants Composants Composants
Diagrammede
déploiement
NoeudsLiens