Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parJacques Cartier Modifié depuis plus de 8 années
1
UML : Unified Modeling Language
2
Plan ● Introduction ● Diagramme d'activité ● Diagramme de classe
3
Introduction
4
Unified Modeling Language ● Auteurs ● James Rumbaugh ● Grady Booch ● Ivar Jacobson ● Standardisation par l'OMG en 1997 ● Version 2.0 (dernier trimestre 2003)
5
Filiation OMT (J. Rumbaugh) OOSE (I. Jacobson) Booch (G. Booch) UML
6
Versions ● Rational ● OMT+Booch = Unified Method (1995) ● Unified Method + OOSE = UML0.9 ● OMG ● UML1.1 (novembre 1997) ● UML1.3 (juin 1999) ● UML1.4 (fin 2001) ● UML2.0 (fin 2003)
7
UML : définition ● Langage de notation ● Indépendant vis à vis des langages de programmation ● Ouvert ● Extensible ● N'est pas une méthode ● Un ensemble de 13 diagrammes
8
Diagrammes de comportement ● Cas d'utilisation ● Activité ● État ● Séquence ● Collaboration ● Interaction ● Temps
9
Métamodèle : dynamique
10
Diagrammes de structure ● Paquetage ● Classe ● Objet ● Composant ● Déploiement ● Composant composite
11
Métamodèle : statique
12
Diagramme de cas d'utilisation ● Un cas d'utilisation représente une unité fonctionnelle du système. ● Un diagramme de cas d'utilisation visualise les besoins fonctionnels. ● Les acteurs qui interagissent avec le système ● Les relations entre les cas d'utilisation
13
Exemple de cas d'utilisation
14
Diagramme de classe ● Représente la structure statique du système. ● Acteurs internes au système. ● Niveaux de représentation : ● Logique ● Implémentation
15
Exemple de diagramme de classe
16
Diagramme de séquence ● Montre le détail des flux dans un cas d'utilisation. ● Modélise les appels entre les objets. ● Deux dimensions : ● Verticale : la chronologie des messages. ● Horizontale : les instances émettrices et réceptrices des messages.
17
Exemple de diagramme de séquence
18
Diagramme d'état ● Modélise les états par lesquels passe une classe. ● Modélise comment une classe change d'état. ● Cinq éléments de base : ● Points de départ et de fin ● Ligne orientée de transition ● Un rectangle d'état ● Point de transition
19
Exemple de diagramme d'état États des objets de type Commande
20
Diagramme d'activité ● Modélise les flux entre deux ou plusieurs classes en activité. ● Adapté pour des niveaux d'abstraction élevés. ● Logique métier ● Cas d'utilisation ● Reprend en partie la notation utilisée par les diagrammes d'état.
21
Exemple de diagramme d'activité
22
Diagramme de composant ● Modélise une vue physique du système. ● Montre les dépendances entre les composants qui constituent le système (librairies). ● Granularité ● Forte : composants de haut niveau ● Fine : niveau paquetage
23
Exemple de diagramme de composant
24
Diagramme de déploiement ● Modélise comment le système doit être déployer physiquement sur les entités matérielles (hardware). ● Montre où les composants logiciels s'exécutent et comment ils communiquent. ● La notation reprend, en l'étendant, la notation du diagramme de composant.
25
Exemple de diagramme de déploiement
26
Les 4+1 vues ● Vision d'architecture ● Il existe plusieurs manières de regarder un système ● Philippe Kruchten, le modèle 4+1 vues, IEEE Software, Nov 95 ● Vue logique ● Vue de réalisation ● Vue des processus ● Vue de déploiement ● Vue des cas d'utilisation
27
La vue logique ● Aspects statiques et dynamiques ● Les éléments ● Les objets ● Les classes ● Les collaborations ● Les interactions ● Les paquetages >
28
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 que unités de programme) ● Les paquetages >
29
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
30
La vue de déploiement ● Les ressources matérielles et l'implémentation du logiciel dans ces ressources ● Les éléments ● Les noeuds ● Les modules ● Les programmes principaux
31
La vue des cas d'utilisation ● Le recouvrement entre les vues ● Les éléments ● Les acteurs ● Les cas d'utilisation ● Les classes ● Les collaborations
32
Récapitulatif
33
UML : métamodèle ● MOF (Meta Object Facility) ● Langage utilisé pour définir le méta- modèle d'UML. ● Permet de définir d'autres langages de modélisation. ● Langage universel.
34
Fragment du métamodèle UML
35
Niveaux du métamodèle ● M3 ● L'ensemble des éléments utilisé pour définir des métamodèles. ● Classes MOF, attributs MOF, etc. ● M2 ● Métamodèles instances de MOF. ● Classes UML, attributs UML, associations UML, etc. ● Tables, vues, colonnes, etc.
36
Niveaux du métamodèle ● M1 ● Modèles instances de métamodèles M2. ● Classe ''Commande'', classe ''Client'', etc. ● Table ''Produit'', table ''Vendeur'', etc. ● M0 ● Objets et données instances de M1. ● La commande 1515, le Client ''Marignan'', etc.
37
Niveaux du métamodèle MOF UML Objets d'une application Diagrammes d'une application
38
Diagramme d'activité
39
Utilité ● Modéliser le flux procédural d'actions au sein d'activités plus larges. ● Détailler les cas d'utilisation ● Modéliser les fonctions de niveau métier ● Modéliser les fonctions de niveau système
40
Action ● Exemple d'une action. ● Partie d'un diagramme d'activité
41
État initial ● Point de départ unique ● Une seule action à partir du départ
42
État final ● Sur des points de décision il peut y avoir des actions concurrentes. ● Donc il peut y avoir plusieurs points d'arrêt.
43
Séquence d'actions (1)
44
Séquence d'actions (2) 1. Le client appelle le service vente de tickets 2. L'employé demande pour quel concert 3. Le client fait part de son choix 4. L'employé indique les places disponibles et leur prix 5. Le client choisit ses places 6. L'employé réserve les places choisies 7. L'employé demande la carte de crédit et l'adresse du client 8. Le client renseigne l'employé 9. L'employé réalise la transaction bancaire sur la carte de crédit 10. L'employé envoie les tickets au client
45
Point de décision
46
Point de convergence
47
Actions asynchrones
48
Objet de flux
49
Diagramme de classe
50
Utilité ● Montrer la structure statique du système. ● Montrer les entités du système. ● Structure interne des entités. ● Relations entre les entités. ● Niveau de détail suffisant pour la phase d'implémentation ● Méthodes ● Attributs
51
Notation pour une classe
52
Accédants, assesseurs
53
Spécialisation
54
Association nom de l'associationsens de lecture du nom rôle joué par les objets multiplicité contrainte navigation
55
Association bidirectionnelle
56
Association unidirectionnelle
57
Classe associative
58
Agrégation Agrégation et composition sont vecteurs de propagation de comportements Le cycle de vie des objets agrégés est indépendant de l'objet agrégation
59
Composition Le cycle de vie des objets composants est lié à leur composition
60
Association réflexive
61
Qualification Avion Siège N°siège Avion Siège Avion 320 1 6 N°rangée La qualification réduit la multiplicité
62
Dépendance Relation ponctuelle, les objets Produit n'entretiennent pas de référence permanente avec l'objet Convertisseur.
63
Interface
64
Notes, contraintes, stéréotypes
65
Bibliographie ●UML distilled – Martin Fowler – Addison-Wesley ●Model Driven Architecture – David S. Frankel – OMG PRESS ●Unified Modeling Language User Guide - G. Booch – Addison- Wesley ●Unified Software Development Process – I. Jacobson – Addison-Wesley ●Unified Modeling Language Reference Manual – J. Rumbaugh - Addison-Wesley
66
Sites Web ● Ressources documentaires ● www.omg.org www.omg.org ● www.uml.org www.uml.org ● www.cetus-links.org www.cetus-links.org ● www.rational.com www.rational.com ● Ressources outils ● www.argouml.tigris.org - AGL ArgoUML www.argouml.tigris.org ● www.gentleware.com - AGL Poseidon [ basé sur le projet ArgoUML ] www.gentleware.com ● uml.sourceforge.net - AGL Umbrello uml.sourceforge.net ● www.omondo.com - Plugin Eclipse OMONDO (Modeleur) www.omondo.com ● www.lysator.liu.se/~alla/dia - Créateur de diagrammes DIA www.lysator.liu.se/~alla/dia
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.