Plan UML: Unified modeling Language Cours 1 Présentation d UML Modèle fonctionnel (utilisation) Luigi DILILLO - LIRMM / UM2 dilillo@lirmm.fr Modélisation Produire une représentation simplifiée du monde réel pour : accumuler et organiser des connaissances, décrire un problème, trouver et exprimer une solution, raisonner, calculer. En informatique, Résoudre le hiatus entre : le réel Évolutif Ambiguïté le monde informatique Langages codifiés Sémantique unique 1
Difficultés de la modélisation Problèmes des spécifications parfois imprécises, incomplètes, ou incohérentes Taille et complexité des systèmes importantes et croissantes les besoins et les fonctionnalités augmentent la technologie évolue rapidement les architectures se diversifient assurer l interface avec le métier (domaine d application) Difficultés de la modélisation Évolution des applications évolution des besoins des utilisateurs réorientation de l'application évolution de l'environnement technique (matériel et logiciel) Problèmes liés à la gestion des équipes taille croissante des équipes spécialisation technique spécialisation métier Les méthodes = des guides structurants Décomposition du travail Organisation des phases Concepts fondateurs Représentations semi-formelles Assurent une démarche reproductible pour obtenir des résultats fiables Décomposition du travail Phases analyse, conception, codage, validation, etc. Niveaux d abstraction conceptuel (besoins) logique (solution informatique abstraite) physique (solution informatique concrète) 2
Décomposition du travail Organisation du travail Phases analyse, conception, codage, validation, etc. Niveaux d abstraction conceptuel (besoins) logique (solution informatique abstraite) physique (solution informatique concrète) Processus de développement Phases séquentielles Itération sur les phases Concepts fondateurs Fondent l approche du problème et l expression de la solution Classe, signal, état, fonction, etc. Représentations semi-formelles Représentations partiellement codifiées basées sur les concepts fondateurs diagrammes, formulaires, etc. Support de différentes activités réflexion, spécification, communication, documentation, mémorisation (trace) 3
Plan Pour résumer Une méthode d analyse et de conception propose une démarche qui distingue les étapes du développement dans le cycle de vie du logiciel (modularité, réduction de la complexité, réutilisabilité éventuelle, abstraction) s appuie sur un formalisme de représentation qui facilite la communication, l organisation et la vérification Le langage de modélisation produit des documents (modèles) qui facilitent les retours sur conception et l évolution des applications Cours 1 Présentation d UML Modèle fonctionnel (utilisation) UML - Unified Modeling Language Langage de modélisation véhiculant en particulier les concepts des approches par objets classe, instance, classification, etc. mais intégrant d autres aspects associations, fonctionnalités, événements, états, séquences, etc. UML = Bénéficier des qualités des approches par objets Simplicité Facilité pour coder et réutiliser Modèle plus proche de la réalité description plus précise des combinaisons (données, opérations) décomposition basée sur classification naturelle facile à comprendre et à maintenir Stabilité de petites évolutions peuvent être prises en compte sans changements massifs 4
La portée d UML d s explique s par l importance de l approche l par objets Omniprésence technique de l Objet dans les langages de programmation, les bases de données, les interfaces graphiques,... et les méthodes d analyse et de conception. Universalité de l Objet la notion d objet, plus proche du monde réel, est compréhensible par tous et facilite la communication entre tous les intervenants d un projet. Genèse d UMLd Au début des années 90, une cinquantaine de méthodes objet, liées uniquement par un consensus autour d idées communes (objets, classes, sous-systèmes,...) Recherche d un langage commun unique utilisable par toute méthode objet dans toutes les phases du cycle de vie, compatible avec les techniques de réalisation actuelles. UML (Unified Modeling Language) 2003 UML 2.0 Autres UML OMG OOPSLA Commentaires du public Version béta - fin 99 UML 1.3 Version intermédiaire non publiée UML 1.2 Standardisation à l OMG - Novembre 97 UML 1.1 Soumission à l OMG - Janvier 97 UML 1.0 Juin 96 puis OOPSLA 96UML 0.9 & 0.91 OOPSLA 95 Unified Method 0.8 OOSE (Jacobson) OOD (Booch) OMT (Rumbaugh) Booch 93 OMT-2 Autres méthodesbooch 91 OMT-1 OOSE Partenaires 5
Concepts généraux Points de vue sur le système Concepts généraux Quatre modèles pour concrétiser ces points de vue Vue structurelle Vue dynamique Vue Cas d utilisation Vue implémentation Vue architecture (déploiement) <------- Logique Physique ------> Modèle structurel Types d'objets et leurs relations Fonctionnalités Modèle Dynamique Stimuli des objets et leurs réponses Modèle Implémentation Composants Fichiers BD Projection sur le matériel Concepts généraux Concepts généraux Chaque modèle est une représentation abstraite d une réalité, il fournit une image simplifiée du monde réel selon un point de vue. Il permet : Diagrammes (représentations graphiques de modèles) Diagrammes de classes d instances Diagrammes de collaboration de séquences d'états, d activités - de comprendre et visualiser (en réduisant la complexité) - de communiquer (à partir d un «langage» commun à travers un nombre restreint de concepts) - de valider (contrôle de la cohérence, simuler, tester ) Diagrammes de cas d utilisation Diagrammes de déploiement de composants 6
Concepts généraux Démarche uniforme sur le cycle de vie Même notation Aspects du langage Les diagrammes sont majoritairement des graphes Noeuds Arcs Analyse Conception Implémentation Chaînes de caractères noms, étiquettes, mots clefs << interface >> Contraintes Texte libre, lge prog. OCL, etc. Notes Plan Cours 1 Présentation d UML Modèle fonctionnel (utilisation) Les cas d utilisation, ou «USE CASE» Fonctionnalités externes Modèles descriptifs du point de vue des utilisateurs Interactions avec les acteurs extérieurs la manière d utiliser le système 7
On part de l analyse des besoins. Deux concepts -Acteur toute entité extérieure au système et interagissant avec celui-ci. acteurs humains, acteurs «machine» (système extérieur communiquant avec le système étudié) - Cas d utilisation toute manière d utiliser le système suite d événements notable du point de vue de l utilisateur Trois concepts Acteur << actor >> role Cas d utilisation Acteur (rôle 2) «communicate» Acteur (rôle 1) «communicate» Frontière du système Acteur (rôle 1) Acteur (rôle 2) Diagramme du «contexte statique» «include» «extend» 0..1 Acteur (rôle 1) 0..* Acteur (rôle 2) Les cas d utilisation peuvent être liés par des relations : - d utilisation «include» (le cas origine contient obligatoirement l autre) - de raffinement «extend» (le cas origine peut être ajouté optionnellement ) 0..1 << actor >> système association - de généralisation/spécialisation «generalizes» role 8
Commander extension Commander «include» «include» «include» «include» Client Décrire produits «extend» Procéder au paiement Client Décrire produits Procéder au paiement Gestionnaire Du stock Demande catalogue Livraison Paiement CB «specializes» Paiement cash -Délimiter le système - ce qui est extérieur et qui communique avec le système - ce qui est interne au système -Définir les fonctionnalités du système du point de vue des utilisateurs -Donner une description cohérente de toutes les vues que l on peut avoir du système Descriptions complémentaires Textes, diagramme de séquences ou d activités Une proposition courante Sommaire d identification Titre, résumé, acteurs, dates création maj, version, auteurs Description des enchaînements Pré-conditions, scénario nominal, alternatives, exceptions, postconditions Besoins IHM Contraintes non fonctionnelles Temps de réponse, concurrence, ressources machine, etc. 9
10