Langage de modlisation objet unifi Site http uml
Langage de modélisation objet unifié Site : http: //uml. free. fr UML 1
Plan �Introduction �Modéliser avec UML �Diagrammes de cas d’utilisation �Diagrammes de classes �Diagrammes d’objets �Diagrammes de séquence �Diagrammes de collaboration �Diagrammes d’états/transition �Autres diagrammes UML 2
Introduction �Les systèmes deviennent de plus en plus complexes et dépassent la compréhension et la maîtrise par un seul individu. Le recours à un modèle conceptuel s’avère indispensable �Un modèle est une représentation abstraite d’un système, qui facilite l’étude et la communication entre intervenants au sein d’un projet �Il est utilisé et progressivement enrichi dans toutes les étapes d’un projet : spécification, analyse, conception, test, intégration et rétro-ingénierie �UML (Unified Modeling Language) est le standard industriel de modélisation orientée objet UML 3
Objectifs poursuivis �Représenter des systèmes entiers (au-delà du seul logiciel) par des concepts objets �Créer un langage de modélisation utilisable par les humains et les machines �Établir un couplage explicite entre les concepts et les produits exécutables UML 4
Rappel sur les objets �Un objet est une entité aux frontières précises �Il est identifié (avec un nom) �Il est insécable (il doit être complet) �Un ensemble d'attributs caractérise son état �Son état peut agir sur l’état d’autres objets �Un ensemble de méthodes (d'opérations) définissent son comportement �Un objet est une instance de classe (une occurrence d'un type abstrait) UML 5
Notions fondamentales �la notion d’objet et de classe (d'objets) �L’encapsulation (les interfaces des objets) �L’héritage (les hiérarchies d'objets) �L’agrégation (la construction d'objets à l'aide d‘autres objets) UML 6
Approche objet �Un ensemble de concepts stables, éprouvés et normalisés �Une solution destinée à faciliter l'évolution d'applications complexes �Une panoplie d'outils et de langages performants pour le développement UML 7
Limites �L'approche objet est moins intuitive que l'approche fonctionnelle ! �Quels moyens utiliser pour faciliter l'analyse objet ? �Quels critères identifient une conception objet pertinente ? �Comment comparer deux solutions de découpe objet d'un système ? �L'application des concepts objets nécessite une grande rigueur ! �Le vocabulaire est précis (risques d'ambiguïtés, d'incompréhensions). �Comment décrire la structure objet d'un système de manière pertinente ? UML 8
Solution �il faut disposer d'un outil �qui donne une dimension méthodologique à l'approche objet � qui permette de mieux maîtriser sa richesse : UML 9
Les points forts d’UML �UML est un langage formel et normalisé �gain de précision �gage de stabilité �encourage l'utilisation d'outils �UML est un support de communication performant �Il cadre l'analyse �Il facilite la compréhension de représentations abstraites complexes �Son caractère polyvalent et sa souplesse en font un langage universel UML 10
Modéliser avec UML 11
Modèles et modélisation �Modéliser : comprendre et représenter �Un modèle est une abstraction de la réalité Abstraction : ensemble des caractéristiques essentielles d'une entité, retenues par un observateur �Un modèle est une vue subjective mais pertinente de la réalité Un modèle ne représente pas une réalité absolue mais reflète des aspects importants de la réalité, il en donne donc une vue juste et pertinente UML 12
Exemple de modèles �Modèle météorologique : à partir de données (nuage, vents, pression atmosphérique…), permet de prévoir les conditions climatiques pour les jours à venir �Modèle économique : à partir d'hypothèses macro-économiques (évolution du chômage, taux de croissance. . . ), permet de simuler l'évolution de cours boursiers �Modèle démographique : définit la composition d'un panel d'une population et son comportement, dans le but d'augmenter l'impact de démarches commerciales, etc. . . UML 13
Caractéristiques des modèles �Le caractère abstrait d'un modèle doit notamment permettre : �de faciliter la compréhension du système étudié � Un modèle réduit la complexité du système étudié. �de simuler le système étudié � Un modèle représente le système étudié et reproduit ses comportements �Un modèle réduit (décompose) la réalité, dans le but de disposer d'éléments de travail exploitables par des moyens mathématiques ou informatiques UML 14
Comment modéliser avec UML �UML permet de représenter des modèles, mais ne définit pas comment implémenter les modèles ! UML 15
Diagrammes � 5 vues statiques du système : � diagrammes de cas d'utilisation (Fonctionnel) � diagrammes de classes � diagrammes d'objets � diagrammes de composants � diagrammes de déploiement � 4 vues dynamiques du système : � diagrammes de séquence � diagrammes de collaboration � diagrammes d'états-transitions � diagrammes d'activités UML 16
Diagrammes de cas d’utilisation UML 17
Use case diagrams �Expression du comportement du système (actions et réactions), selon le point de vue de l’utilisateur �Décrivent le système et les relations entre le système et l’environnement �Intérêts: � Permettent de délimiter les frontières du système � Constituent un moyen d’exprimer les besoins d’un système � Utilisés par les utilisateurs finaux pour exprimer leurs attentes et leurs besoins � Permettent d’impliquer les utilisateurs dès les premiers stades du développement � Constituent une base pour les tests fonctionnels UML 18
Convention graphique UML 19
Éléments de base �Acteur : entité (personne ou système) externe qui échange de l’information (entrée/sortie) � L'acteur peut consulter ou modifier l'état du système. � En réponse à l'action d'un acteur, le système fournit un service qui correspond à son besoin. � Les acteurs peuvent être classés (hiérarchisés) hiérarchisés en faisant une sorte d’héritage. �Use case : ensemble d'actions réalisées par le système, en réponse à une action d'un acteur � Les uses cases peuvent être structurés. � Les uses cases peuvent être organisés en paquetages (packages). � L'ensemble des use cases décrit les objectifs (le but) du système. UML 20
Exemple standard UML 21
Relations entre cas d’utilisation �Relation d’utilisation : <<include>> �Le cas d’utilisation contient un autre cas d’utilisation �Relation d’extension : <<extend>> �Le cas d’utilisation étend (précise) les objectifs (le comportement) d’un autre cas d’utilisation UML 22
Exemple Virement par internet Client distant <<extend>> Virement Client <<include>> Identification UML Vérification solde 23
Collaboration �Interaction entre objets, dont le but est de répondre à un besoin d'un utilisateur (réaliser un objectif du système) �Représente les classes qui participent à la réalisation d'un cas d'utilisation UML 24
Exemple Cas d’utilisation Collaboration Vente véhicule « réalise » « initiateur » client « participe » vendeur « participe » voiture Classes participant à la collaboration UML 25
- Slides: 25