UML : Unified Modelling Language

Slides:



Advertisements
Présentations similaires
Génie Logiciel 2 Julie Dugdale
Advertisements

Autour des objets et du formalisme UML
T. Libourel Autour des objets T. Libourel
19 septembre 2006 Tendances Logicielles MDD/MDA : Génération dapplications avec IBM Rational Software Architect Jean-Pierre Schoch –
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Projet n°4 : Objecteering
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Les cas d’utilisation (use cases)
Laboratoire Informatique Image Interaction
Modélisation des flux La méthode Merise Yves Giovannangeli
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
UML - Présentation.
Les objets: représentation
Le Modèle Logique de Données
UML (2) Rappel sur le modèle statique : classe / objet
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Introduction à UML NFE108 CNAM – LILLE Madame DELECLUSE
UML (Unified Modeling Langage)
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
UML (2) Rappel sur le modèle statique : classe / objet
UML (2) Rappel sur le modèle statique : classe / objet
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
Règle 0 & 1: attribut et classe
Michel Tollenaere (INPG)
1 Cours MSI, modélisation de SI : livraison journaux version 1 du 8 février 2005 Modélisation de S.I. Livraison de journaux ENSGI – MSI 2ème année Michel.
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Les Cas d’utilisation.
Analyse et Conception des Systèmes d’Informations
Modélisation E/R des Données
Modélisation des bases de données avec UML
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
1 Introduction : Management des systèmes dinformation version 1.1 du 13 Novembre 2001 Introduction : Management des systèmes dinformation ENSGI Cours MSI.
Static modeling, Thu G. Falquet, L. Nerima.
Chapitre 3 Les diagrammes de classes
UML : Unified Modelling Language
Outils pour la modélisation des systèmes distribués
Analyse et conception orientée objet
Management des systèmes d’information Conclusion
SYSTEMES D’INFORMATION
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Le diagramme de séquences
Portée, arrimages et intervenants Évolution des méthodes
UML : Unified Modelling Language
Démarche de développement
UML (2) Modèle dynamique le diagramme de séquence
Michel Tollenaere (INPG)
Introduction : Management des systèmes d ’information
Mickaël GARDONI ENSGI, TD MSI n°2, version 1.1 du /6 produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone.
Sensibilisation a la modelisation
Modélisation Objet UML avec Rational Rose 2000
Management des Systèmes d’Information (MSI)
L. Gzara, E. Khouri, M Tollenaere 1 MSI 2A ICL – Initiation ACCESS Interfaces 2014 Initiation MS Access 2010 Interfaces – Formulaires Dynamique des données.
Introduction au langage de modélisation Unifié UML
UML : un peu d’histoire H. Lounis.
Unified Modeling Langage
Nouvelles Technologies Internet & Mobile
2 Processus de conception de BD
Unified Modeling Language
Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Introduction à la Programmation Orientée Objet
TP D’UML Groupe N° 3.
Management des Systèmes d’Information (MSI)
UML Unified Modeling Language. UML : 8 diagrammes 1.Classes 2.Activités 3.Séquences 4.Collaboration 5.Etats transition 6.Cas d’utilisation 7.Composants.
UML : méthode Processus. Introduction(1) ● Cycles ● Spécification par cas d'utilisation ● Identifier les besoins ● Analyse par cas d'utilisation ● Affiner.
1 UML : Unified Modelling Language Historique : Grady Booch 1981, ADA, « Object Oriented Development » James Rumbaugh 1991, OMT, JOOP (Journal of OO programming)
Transcription de la présentation:

UML : Unified Modelling Language Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 UML : Unified Modelling Language Historique : Grady Booch 1981, ADA, « Object Oriented Development » James Rumbaugh 1991, OMT, JOOP (Journal of OO programming) Ivar Jacobson, OOSE sept 97, UML 1.1 Références : http://www.omg.org http://uml.free.fr/ site en français en France Pierre Alain Muller (U-Mulhouse) et Valtech http://uml.developpez.com/ Outils : StarUML 5.0 Objecteering http://www.objecteering.com/us/produits_pe.php Rational ROSE , http://www.rational.com plus de 30 outils de modélisation et de CASE (Computer Aided Software Engineering)

Architecture Technologie UML modelling information systems propriétés Constituant Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 UML modelling information systems at conceptual level at logical level : acteur (intéragissant avec VEGA2) Système (VEGA2) message Technologie Architecture

Creating the UML UML 2.2 UML 2.0 UML 0.9 UML 1.3 UML 1.1 UML 1.0 OOSE Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 UML 2.2 UML 2.0 2005 2009 OOSE Other methods UML 0.9 Web - June ´96 UML 1.3 Final submission to OMG, Sep ‘97 First submission to OMG, Jan ´97 UML 1.1 OMG Acceptance, Nov 1997 public feedback UML 1.0 UML partners Unified Method 0.8 OOPSLA ´95 Booch method OMT

Contributions to the UML Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Harel Statecharts Meyer Before and after conditions Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Booch Booch method Embley Singleton classes and high-level view Rumbaugh OMT Wirfs-Brock Responsibilities Jacobson OOSE Shlaer - Mellor Object lifecycles Odell Classification

Axes de modélisation d ’un système Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Statique (ce que le système EST) diagramme de classes diagramme d’objets diagramme de composants diagramme de déploiement Dynamique (comment le système EVOLUE) Fonctionnel (ce que le système FAIT) diagramme de séquence diagramme de collaboration diagramme d’états-transitions diagramme d’activités diagramme de cas d’utilisation diagramme de collaboration

Niveaux d’abstraction d’un SI Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Niveaux d’abstraction d’un SI En UML, les mêmes modèles peuvent être utilisés à différents niveaux d’abstraction du plus conceptuel à l’implantation. On peut donc appliquer des mécanismes de transformation continue. Conceptuel organisationnel logique physique

Les 9 diagrammes d’UML 1.1 (13 diag en 2.0) Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Les 9 diagrammes d’UML 1.1 (13 diag en 2.0) diagramme de cas d’utilisation diagramme de classes diagramme de séquence diagramme de collaboration diagramme d’objets diagramme d’états-transitions diagramme d’activités (nous utiliserons IDEF 0) diagramme de composants diagramme de déploiement

Description UML des diagrammes UML Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Diagramme Ceci est un commentaire Cas d ’utilisation Classes Etats Transitions Séquence Cas d ’utilisation Classes Etats Transitions Séquence Collaboration Composants Déploiement Activité Objets

Exemples : Quelques diagrammes Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Exemples : Quelques diagrammes Cas d’utilisation une fonctionnalité attendue du système par les différents acteurs. : acteur (intéragissant avec VEGA2) Système (VEGA2) message Diagramme de séquence Chaque cas d'utilisation apparaît comme un scénario, décrit par un ou plusieurs diagrammes de séquence. Un diagramme de séquences montre les interactions entre les acteurs et le système selon un point de vue temporel pour accomplir une fonctionnalité attendue du système (un cas d ’utilisation). C’est une ensemble de messages échangés entre les acteurs et le système, ordonnés chronologiquement. Diagramme de Classes

Modèle Fonctionnel Use Cases = cas d’utilisation Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Modèle Fonctionnel Use Cases = cas d’utilisation diagramme de collaboration

Diagramme de cas d’utilisation Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Diagramme de cas d’utilisation Représente les fonctions du système de point de vue de l ’utilisateur. Ceci est un cas d’utilisation Ceci est une relation un acteur relation Acteur Cas d ’utilisation Eléments du diagramme : acteur : un rôle joué par une personne, un service, etc. qui interagit avec le système étudié cas d’utilisation : manière spécifique d ’utiliser un système. Image d’une fonctionnalité attendue, déclenchée en réponse à la stimulation d’un acteur relations entre cas d’utilisations et acteurs

Relations entre cas d’utilisation Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Trois types de relations : relation de communication : entre un acteur et un cas d’utilisation. Exprime l’échange d’informations entre l’acteur et le système. client Déclencher virement relation d’utilisation : entre deux cas d’utilisation. Exprime que le cas d’utilisation source comprend également le comportement décrit par le cas d’utilisation destinataire (utile pour la factorisation de cas). « use » Déclencher virement identification relation d’extension : entre deux cas d’utilisation. Exprime que le cas d’utilisation source étend le comportement du cas d’utilisation cible (utile pour la spécialisation de cas). « extend » Virement par Internet Déclencher virement

Source http://uml.free.fr/ Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Source http://uml.free.fr/

Acteurs : diagramme de cas d’utilisation Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Acteurs : diagramme de cas d’utilisation Acteur humain : il s’agit ici d’un rôle et non d’un acteur identifié. Acteur non humain : exemple un logiciel de comptabilité ou d’ERP avec lequel le système interagit Conçoit les schémas et nomenclatures Récupère les schémas Exemple Gestion des schémas Récupère les Développeur contraintes Définit les contraintes mécaniques Gestion des contraintes Responsable CFAO Responsable Gestion des jobs Gère la création et les révisions d ’un job BE <<dépend>> Gère la création et les révisions des dossiers variantes Gestion des dossiers

Diagramme de Collaboration Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Interactions entre objets du système avec un accent particulier sur la structure spatiale statique des objets (contexte des objets). Les messages sont numérotés pour indiquer l’ordre des envois. Permet de situer le contexte du système. Message : Simple, Asynchrone, Synchrone, Minuté : ascenseur : cabine : porte : lumière 1 : monter 3 : fermer 2 : allumer Objet 1 1 : message 2 : message Objet 2 4 : message 5 : message 3 : message Objet 3

Modèle Statique diagramme d ’objets Diagramme de classes Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Modèle Statique diagramme d ’objets Diagramme de classes

AutreVoiture : Voiture Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Objets et classes TaVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1re immatriculation = 16 sept 2009 Kilométrage = 125 000 Kilométrage-annuel ? () AutreVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1re immatriculation = 16 sept 2007 Kilométrage = 125 000 Kilométrage-annuel ? () MaVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1re immatriculation = 16 sept 1997 Kilométrage = 125 000 Kilométrage-annuel ? () Objet : une entité concrète avec une identité bien définie qui encapsule un état et un comportement. L’état est représenté par des valeurs d’attribut et des associations, le comportement par des méthodes. 2 objets peuvent être semblables et pas identiques Un objet peut être une instance d’une classe. Classe : une description d’un ensemble d’objets qui partagent les mêmes attributs, opérations, méthodes, relations et contraintes. Une classe peut posséder des attributs ou des méthodes «de classe». Voiture Marque : chaîne Modèle : chaîne Immatriculation : chaîne (8) 1re immatriculation : date Kilométrage : entier Kilométrage-annuel ? ( ) Kilometrage_annuel_moyen ( )

Liens diagramme d’objets -/- diagramme de classes Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Liens diagramme d’objets -/- diagramme de classes Structure statique d’un système, en termes d’objets et de liens entre ces objets. Ces objets et ces liens possèdent des attributs qui possèdent des valeurs. Un objet est une instance de classe et un lien est une instance d’association. Nom de l’objet : Classe Attributs = valeurs Personne âge : entier collaborateur * Etienne : personne âge = 35 Jean-Luc : personne âge = 25 patron Diagramme d ’objets collaborateur 1 patron emploie> Concrétisation Abstraction Diagramme de classes

Diagramme de classes exemple : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Structure statique d’un système, en termes de classes et de relations entre ces classes. Voiture Couleur Cylindrée Vitesse max Démarrer () Accélérer () Freiner () Nom de classe Attributs Opérations () exemple : Syntaxe: nom_attribut : type_attribut = valeur initiale nom_opération (nom_argument : type_argument = valeur_par_défaut, …) : type_retourné Visibilité : trois niveaux de visibilité pour les attributs et les opérations: public (+) : élément visible à tous les clients de la classe protégé ( #) : élément visible aux sous-classes de la classe privé (-) : élément visible à la classe seule

Nommage des associations Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Nommage des associations constructeur véhicule Construire> produit fabricant <construit par <Transporte passager véhicule personne véhicule Conduit> conducteur véhicule Possède> propriétaire véhicule <Emploie employé employeur personne entreprise Dirige> directeur société Possède> société actionnaire

Multiplicité des associations Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Multiplicité des associations 1 0 .. 1 m .. n * ou 0 .. * 1 .. * Un et un seul (obligatoire) Zéro ou un (optionnel) De m à n (entiers) quelconque Au moins 1 Personne Société Employeur Employé 1 0..*

Associations Agrégation: Rôle et multiplicité : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Associations Agrégation: Association transitive : si voiture est composée de moteur et si moteur est composé de courroie alors voiture est composée de courroie Association non symétrique : si voiture est composée de moteur, moteur ne peut pas être composé de voiture Association qui peut être réflexive : exemple, une fonction peut être composée d’autres fonctions, un sous ensemble d’autres sous ensembles. Rôle et multiplicité : Une classe a un rôle dans une association. Les rôles portent une information de multiplicité précisant le nombre d ’associations auquel une instance d ’objet peut être associée. Les multiplicités les plus courantes sont : 1 / 0..1 / m..n / * /0..* / 1..*

Classe-association Permet de «qualifier» plus finement une association Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Classe-association Permet de «qualifier» plus finement une association

Placement des attributs et des associations Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Placement des attributs et des associations Etudiant Travail 1 Réalise > 0..* 0..* 0..* 1 Diplôme Note - valeur Mention 0..1 Chambre Numéro

Contraintes personne compte Est_titulaire> {Ordonnée} personne Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Contraintes personne compte Est_titulaire> 0 .. * 1 {Ordonnée} 0 .. * personne classe Parent d ’élève {Sous ensemble} 0 .. * Délégués 0 .. * personne université Enseignants {Ou-exclusif} 0 .. * Etudiants

Agrégation Livre Chapitre {Ordonnée} {Ordonnée} Paragraphe 1 .. * 1 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Agrégation Livre Chapitre 1 .. * {Ordonnée} 1 {Ordonnée} 1 .. * Paragraphe

La composition traduit une dépendance existentielle forte. Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Composition Homme Tête 1 1 La composition traduit une dépendance existentielle forte.

Diagramme de classes : Relations entre classes Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Diagramme de classes : Relations entre classes Agrégation : quand une classe fait partie d’une autre classe (agrégat - composant) Association : toute relation structurelle entre classes, autre que l’agrégation et la généralisation Généralisation (voir transparents UML2) : factorisation des éléments communs d’un ensemble de classes dites sous-classes dans une classe plus générale dite super-classe. Elle signifie que la sous-classe est un ou est une sorte de la super-classe. Le lien inverse est appelé spécialisation classe 4 classe 3 classe 2 classe 1 agrégation association généralisation spécialisation 1..* 1 1..* 1 véhicule moteur constructeur Construit par voiture camion avion

Exemple de diagramme de classes Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Exemple de diagramme de classes Outil Simulation Créer_Projet() Modifier_Projet() ModifierParamètre_Projet() Créer_Problème() Modifier_Problème() ModifierParamètre_Problème() Créer_Etude() Modifier_Etude() ModifierParamètre_Etude() FaireAppelAUneAncienne_Etude() Conclure_Etude() Créer_Cycle() Modifier_Cycle() ModifierPramètre_Cycle() Rajouter_Entité() Conclure_Cycle() 1..* Projet NomProjet NuméroPDM DateDebutProjet Projet() Tes_infos?() Nouv_Paramètres() Problème Titre_Problème Objectif Delai Prix NiveauPriorite FicheEtude Conclusion Problème() Nou_Paramètres() Etude Titre_Etude NomPièce ButEtude TypeEtude Etude() Tes_infos() Ajouter_Conclusion() 1 1..* 1..* 1 Induit 1..* 1..* 1..* LesProjets LesProblèmes 1 1 EstResoluPar 0..* 0..* 0..1 0..1 0..1 0..1 Suivant ComplétéePar 0..* 0..* 0..* 0..* LesEtudes 1..* 1..*

Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Modèle Statique Passage d’un diagramme de classe UML à un modèle relationnel pour SGBD

Passage du modèle statique UML au relationnel : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Règle 0 & 1: attribut et classe Passage du modèle statique UML au relationnel : les associations produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone Classe Relation / Table Produit (Réf-produit, Libellé-p, Prix-vente-p) Fournisseur (Code-fournisseur, Adresse, Téléphone)

Passage du modèle statique UML au relationnel : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Règle 2 : relation de multiplicité (1) Passage du modèle statique UML au relationnel : les associations Classe produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone < fournir 1 * Remise - valeur Produit (Réf-produit, Libellé-p, Prix-vente-p, Code-fournisseur, remise) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table

Passage du modèle statique UML au relationnel : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Règle 3 : relation de multiplicité (0-1) Passage du modèle statique UML au relationnel : les associations Classe produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone * < fournir 0-1 Remise - valeur Produit (Réf-produit, Libellé-p, Prix-vente-p, remise, Code-fournisseur) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table

Passage du modèle statique UML au relationnel : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Règle 4 : relation de multiplicité (0..*) (1..*) Passage du modèle statique UML au relationnel : les associations Classe produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone 0..* ou 1..* * < fournir Remise - valeur Produit (Réf-produit, Libellé-p, Prix-vente-p) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table Fournir (Réf-produit, Code-fournisseur, remise)

Passage du modèle statique UML au relationnel : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Règle 5 : relation réflexive orientée Passage du modèle statique UML au relationnel : les associations Père (nom-fils, nom-père) Relation / Table Classe Personne nom 0..* 1 père de >

Passage du modèle statique UML au relationnel : Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Règle 6 relation réflexive symétrique Passage du modèle statique UML au relationnel : les associations Relation / Table Personne (Nom) Frère (nom1, nom2) Classe Personne nom Attention, la relation étant transitive, des traitements devront être associés au modèle. frère de