Version 2.0 1 Pierre-Alain Muller Modélisation objet avec UML Pierre-Alain Mull
Version 2.0 1 Pierre-Alain Muller Modélisation objet avec UML Pierre-Alain Muller pa.muller@essaim.univ-mulhouse.fr ESSAIM, 12 rue des Frères Lumière 68093 Mulhouse Cedex Version 2.0 2 Pierre-Alain Muller Au menu • La genèse d’UML • Un survol d’UML • La notation UML • Vers un processus unifié • La suite de l’histoire Version 2.0 3 Pierre-Alain Muller La genèse d’UML Version 2.0 4 Pierre-Alain Muller Complexité des logiciels • Les tendances – Programmation sans programmer – Micro-architectures (patterns) – Importance de l’architecture – Informatique distribuée – Multimédia Version 2.0 5 Pierre-Alain Muller De quoi a-t-on besoin ? • Un langage de modélisation – Notation claire – Sémantique précise • Un processus de génie logiciel Langage Processus Système Version 2.0 6 Pierre-Alain Muller Langage de modélisation • Générique • Expressif • Flexible (configurable, extensible) • Syntaxe et sémantique • Unification par convergence aujourd’hui Version 2.0 7 Pierre-Alain Muller Processus • Générique • Impossible à standardiser – Personnes, applications, cultures... • Cadre configurable • Unification par convergence dans le futur Version 2.0 8 Pierre-Alain Muller Comment modéliser ? • La manière de modéliser influence fortement – La compréhension du problème – La solution • Il n’existe pas de modèle universel – Jeux de modèles faiblement couplés – Multiplicité des niveaux d’abstraction • Les meilleurs modèles sont en prise sur le monde réel Version 2.0 9 Pierre-Alain Muller Evolution des méthodes • D’abord des méthodes structurées • A partir des années 80 émergence des méthodes orientées-objets • Les principales méthodes objets convergent – Différences superficielles – Notation, terminologie • L’expérience permet de séparer le bon grain de l’ivraie Version 2.0 10 Pierre-Alain Muller La prolifération des méthodes objet • Une cinquantaine de méthodes objet dans les cinq dernières années – Confusion, attentisme • Consensus autour d’idées communes – Objets, classes, associations, sous-systèmes, cas d’utilisation Version 2.0 11 Pierre-Alain Muller Rapprochement de Booch et OMT • Booch’93 et OMT-2 sont plus ressemblantes que différentes – Booch’93 adopte les associations, les diagrammes d'Harel, les traces d’événements – OMT-2 introduit les flots de messages et retire les diagrammes de flot de données • Booch-93 construction • OMT-2 analyse et abstraction Version 2.0 12 Pierre-Alain Muller L’unification des méthodes • La guerre des méthodes ne fait plus avancer la technologie des objets • Recherche d’un langage commun unique – Utilisable par toutes les méthodes – Adapté à toutes les phases du développement – Compatible avec toutes les techniques de réalisation Version 2.0 13 Pierre-Alain Muller Différentes sortes de systèmes • Logiciels – Ingénierie des logiciels • Logiciels et matériels – Ingénierie des systèmes • Personnes – Ingénierie des affaires Unification sur plusieurs domaines d’applications Version 2.0 14 Pierre-Alain Muller La notation unifiée • Basée sur les méthodes de BOOCH, OMT et OOSE • Influencée par les bonnes idées des autres méthodes • Mûrie par le travail en commun Version 2.0 15 Pierre-Alain Muller Principales influences • Souvent une histoire imbriquée Booch Catégories et sous-systèmes Embley Classes singletons et objets composites Fusion Description des opérations, numérotation des messages Gamma, et al.Frameworks, patterns, et notes Harel Automates (Statecharts) Jacobson Cas d’utilisation (use cases) Meyer Pré- et post-conditions Odell Classification dynamique, éclairage sur les événements OMT Associations Shlaer-MellorCycle de vie des objets Wirfs-Brock Responsabilités (CRC) Version 2.0 16 Pierre-Alain Muller Portée de la notation unifiée • Standardiser les artefacts du développement – Modèles, notation et diagrammes • Ne pas standardiser le processus – Dirigé par les cas d’utilisation – Centré sur l’architecture – Itératif et incrémental Version 2.0 17 Pierre-Alain Muller Les objectifs • Représenter des systèmes entiers • Etablir un couplage explicite entre les concepts et les artefacts exécutables • Prendre en compte les facteurs d’échelle • Créer un langage de modélisation utilisable à la fois par les humains et les machines Version 2.0 18 Pierre-Alain Muller Approche retenue • Identifier la sémantique des concepts de base • Classer les concepts • Construire un métamodèle • Choisir une notation graphique • Regrouper par niveau d’abstraction, complexité et domaine Version 2.0 19 Pierre-Alain Muller Métamodèle • Identification des concepts fondamentaux – Définition de la sémantique de ces concepts – Choix d’une représentation graphique • Métamodélisation d’UML avec UML – Description formelle des éléments de modélisation • Austère, pas pédagogique – Méthodologistes – Constructeurs d’outils Version 2.0 20 Pierre-Alain Muller Les modèles et les vues • Un modèle est un quanta de développement – Cohérence interne forte – Couplage faible avec les autres modèles – Relié à une phase de développement • Une vue est une projection au travers des éléments de modélisation – Graphique – Peut englober plusieurs modèles Version 2.0 21 Pierre-Alain Muller Exemples de modèles • Un système possède plusieurs modèles Modèle d’analyse Système Modèle de conception Modèle de réalisation Modèle de déploiement Version 2.0 22 Pierre-Alain Muller Les étapes • Octobre 95 – Unified Method V0.8 • Octobre 96 – UML V0.91 (The Unified Modeling Language for Object-Oriented Development) • Janvier 97 – UML 1.0 est soumise à l’OMG • Septembre 97 – Approbation par le comité technique de l’OMG Version 2.0 23 Pierre-Alain Muller Evolution de UML Version 2.0 24 Pierre-Alain Muller Acceptation de UML • UML est dans le domaine public • Soutenue par le marché – Microsoft, HP, IBM, Oracle... • Successeur naturel des méthodes de Booch, OMT et OOSE • UML est le fruit de l’expérience et des besoins de la communauté des utilisateurs Version 2.0 25 Pierre-Alain Muller Les partenaires • Courant 96 UML devient un enjeu stratégique • Consortium de partenaires – DEC, HP, i-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI et Unisys – IBM, Platinum, Data Access Technologies, Reich Technologies, Softeam, Taskon A/S Version 2.0 26 Pierre-Alain Muller En résumé • UML est une notation, pas une méthode • UML est un langage de modélisation objet • UML convient pour toutes les méthodes objet • UML est dans le domaine public Version 2.0 27 Pierre-Alain Muller Un survol d’UML Version 2.0 28 Pierre-Alain Muller Eléments de modélisation • Briques pour capturer la sémantique des applications • Pas accessibles directement aux utilisateurs • Représentation interne (outils) • Représentation externe (échange entre outils) Version 2.0 29 Pierre-Alain Muller Eléments de modélisation • Les objets – Une entité d’un monde réel ou virtuel • Les classes – La description d’un ensemble d’objets • Les états – Une étape de la vie d’un objet • Les tâches – Un flot de contrôle indépendant Version 2.0 30 Pierre-Alain Muller Eléments de modélisation • Les cas d’utilisation – Une manière dont un acteur utilise le système • Les collaborations – La réalisation d’un cas d’utilisation par une société d’objets collaborants • Les micro-architectures (patterns) – Un générateur pour la structure et l’interaction d’une société d’objets Version 2.0 31 Pierre-Alain Muller Eléments de modélisation • Les composants – Un module contenant des entités d’implémentation • Les noeuds – Un dispositif matériel capable d’exécuter du logiciel • Les paquetages – Une partition du modèle • Les notes – Un commentaire, une explication ou une annotation Version 2.0 32 Pierre-Alain Muller Relations • L’association – Une connexion sémantique entre instances • La généralisation – Une relation de classification • La dépendance – L’utilisation d’un élément par un autre • La trace – Dépendance inter-modèles Version 2.0 33 Pierre-Alain Muller Mécanismes communs • Les stéréotypes <<stéréotype>> – Extension des classes du métamodèle • Les étiquettes – Paire (nom, valeur) • Les notes – Commentaire textuel • Les contraintes {contrainte} – Relation sémantique entre éléments Version 2.0 34 Pierre-Alain Muller Types primitifs Chaîne Booléen Expression Liste Multiplicité Nom Point Temps Non interprété Version 2.0 35 Pierre-Alain Muller La notation UML Version 2.0 36 Pierre-Alain Muller Notation • Manipulée par les utilisateurs • Simple, intuitive, expressive, cohérente • Vues graphiques (multiples) des éléments de modélisation Version 2.0 37 Pierre-Alain Muller Les diagrammes d’UML • 9 types de diagrammes Diagramme Cas d’utilisation Composants Classes Déploiement Etats-Transitions Activité Séquence Collaboration Objets Version 2.0 38 Pierre-Alain Muller Diagrammes • Les diagrammes de classes – Les classes et les relations statiques • Les diagrammes d’objets – Les objets et les liens • Les diagrammes de séquence – Vision temporelle des interactions • Les diagrammes de collaboration – Vision spatiale des interactions Version 2.0 39 Pierre-Alain Muller Diagrammes (suite) • Les diagrammes de cas d’utilisation – Les acteurs et l’utilisation du système • Les diagrammes d’états-transitions – Le comportement des objets • Les diagrammes d’activités – Le flot de contrôle interne aux opérations Version 2.0 40 Pierre-Alain Muller Diagrammes (suite) • Les diagrammes de composants – Les composants d’implémentation et leurs relations • Les diagrammes de déploiement – La structure matérielle et la distribution des objets et des composants Version 2.0 41 Pierre-Alain Muller Paquetages • Organisation des modèles Nom de paquetage Cat <<Catégorie>> Sub <<Sous-système>> Version 2.0 42 Pierre-Alain Muller Diagrammes de classes • Les classes Nom de classe Nom de classe Nom de classe <<Stéréotype>> Propriété Véhicule <<Utilitaire>> Etat = testé Auteur = pam Version 2.0 43 Pierre-Alain Muller Diagrammes de classes • Les attributs et les opérations Nom de classe Nom uploads/Litterature/ uml.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 29, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.4687MB