Cours modèles, vue et diagrammes UML, tutoriel & guide de travaux pratiques en pdf.
Un foisonnement de méthodes
Fin 80 / début 90
– orientation de plus en plus marquée vers l’objet
Conséquence naturelle, mise en place de méthodes
– OOD : Object Oriented Design (Booch, 1991)
– HOOD : Hierarchical Object Oriented Design (Delatte et al., 1993)
– OOA : Object Oriented Analysis (Schlaer, Mellor, 1992)
– OOA/OOD : (Coad, Yourdon, 1991)
– OMT : Object Modeling Technique (Rumbaugh, 1991)
– OOSE : Object Oriented Software Engineering (Jacobson, 1992)
– OOM : Object Oriented Merise (Bouzeghoub, Rochfeld, 1993)
– Fusion (Coleman et al., 1994)
Bilan
– de nombreuses méthodes (>50)
– ayant des avantages et des inconvénients
– des concepts assez proches, des notations différentes
Vers une unification
1994
– tentative de normalisation de l’OMG, sans effet
– Rumbaugh (OMT) rejoint Booch (OOD) chez Rational Software
• objectif : créer une méthode en commun (méthode unifiée)
1995
– présentation de la version 0.8 de la méthode
– arrivée de Jacobson (OOSE) chez Rational
1996
– implication de l’OMG (sous pression des industriels pour favoriser l’interopérabilité des modèles)
– langage unifié UML 0.9 (Unified Modeling Language),
1997
– UML 1.0 sort chez Rational
– UML 1.1 adopté par l’OMG comme standard officiel
Evolutions d’UML
1997-2003
– adoption par les entreprises
– UML 1.1 à UML1.5 : modifications/améliorations
2005
– UML 2.0
– quelques nouveaux diagrammes
– changements importants au niveau du métamodèle, pour permettre d’utiliser UML pour la programmation.
Objectifs d’UML
Montrer les limites d’un système et ses fonctions principales (pour les utilisateurs) à l’aide des cas d’utilisation et des acteurs
Illustrer les réalisations de CU à l’aide de diagrammes d’interaction
Modéliser la structure statique d’un système à l’aide de diagrammes de classes, associations, contraintes
Modéliser la dynamique, le comportement des objets à l’aide de diagrammes de machines d’états
Révéler l’implantation physique de l’architecture avec des diagrammes de composants et de déploiement
Possibilité d’étendre les fonctionnalités du langage avec des stéréotypes
Un langage utilisable par l’homme et la machine : permettre la génération automatique de code, et la rétro-ingénierie.
Modèles, vue et diagrammes UML
Modèle
– abstraction d’un système composée d’un ensemble d’éléments de modèle
– ce qui est construit par et ce qui est perçu au travers des diagrammes (par le concepteur, le lecteur)
– conforme au méta-modèle UML
Vue
– projection d’un modèle suivant une perspective qui omet les éléments non pertinents pour cette perspective. Elle se manifeste dans des diagrammes
– ex. : vue statique, vue fonctionnelle…
Diagramme
– présentation graphique d’éléments de visualisation représentant des éléments de modèle (graphe)
– ex. : diagramme de classes, de séquences…
Conception et UML
Différentes façons de voir UML : différentes façons de penser
– la conception
– l’objectif et l’efficacité d’un processus de génie logiciel
donc
– essayer de comprendre le point de vue de l’auteur pour chaque publication / site sur UML
UML n’est pas une méthode…
… mais des principes de conception orientée objet sont sousjacents
– aux diagrammes
– aux façons de les présenter
donc
– difficile de présenter uniquement les diagrammes
– on parlera aussi de méthode, de bonnes pratiques
Généralités sur les méthodes OO
Grandes caractéristiques
– itératives (vs cascade)
• analyse et conception tout au long du projet, pas seulement au début
– centrées sur les cas d’utilisation
• besoins réels
– centrées sur l’architecture
Découpage d’un projet en activités
– besoins : comprendre dans quoi s’insère le système et ce qu’il doit faire
– analyse : fonctionnement du système à hau niveau
– conception : fonctionnement logiciel
– réalisation : codage
– tests, déploiement…
À propos de cette présentation
Présentation de UML 2, quelques points de UML 1
– faites attention à la syntaxe quand vous rencontrez un diagramme
Présentation = synthèse de nombreuses lectures
– mixe syntaxe et utilisation
– synthèse personnelle des bonnes pratiques présentées
Présentation d’UML non exhaustive
– ce cours contient beaucoup de choses utiles
– pour plus de précisions : livres de référence
– pour la description exacte (syntaxe et sémantique) : http://www.omg.org/uml
UML et le web
– beaucoup de sites web parlent d’UML
– on trouve du bon et du moins bon
UML et la règle
Deux types de règles pour l’utilisation d’UML
– normatives
• comment il faut faire, comité d’experts : norme
– descriptives
• comment les gens font, usages, modes : conventions dans l’utilisation
• peuvent être en contradiction avec la norme (surtout pour UML2)
Règles
– utiliser le sous-ensemble d’UML qui vous convient
– droit de supprimer n’importe quel élément d’un diagramme
– droit d’utiliser n’importe quel élément d’un diagramme dans un autre
• ce qui compte pour les auteurs d’UML, c’est le méta-modèle, pas les diagrammes
– liberté de dessiner ce que l’on veut
• surtout en mode esquisse, sur papier ou au tableau
Introduction à UML (12)
Généralités sur la notation (8)
Diagrammes de classes, objets, packages (25)
(Diagrammes de) cas d’utilisation (10)
Diagrammes d’interaction (10)
Diagrammes d’activité (8)
Diagrammes de machines d’état (8)
Diagrammes de composants et de déploiement (6)
Autres diagrammes UML (6)
Autres diagrammes non UML (4)
Autres points liés à UML (15)