La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Michel Tollenaere U.M.L. partie 1 1 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 UML : Unified Modelling Language Historique : Grady Booch 1981,

Présentations similaires


Présentation au sujet: "Michel Tollenaere U.M.L. partie 1 1 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 UML : Unified Modelling Language Historique : Grady Booch 1981,"— Transcription de la présentation:

1 Michel Tollenaere U.M.L. partie 1 1 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 : site en français en France Pierre Alain Muller (U-Mulhouse) et Valtech Outils : StarUML 5.0 Objecteering Rational ROSE, plus de 30 outils de modélisation et de CASE (Computer Aided Software Engineering)

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

3 Michel Tollenaere U.M.L. partie 1 3 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Booch methodOMT Unified Method 0.8 OOPSLA ´95 OOSE Other methods UML 0.9 Web - June ´96 public feedback Final submission to OMG, Sep 97 First submission to OMG, Jan ´97 UML 1.1 OMG Acceptance, Nov 1997 UML 1.3 UML 1.0 UML partners Creating the UML UML UML

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

5 Michel Tollenaere U.M.L. partie 1 5 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 diagramme de classes diagramme dobjets diagramme de composants diagramme de déploiement Statique (ce que le système EST) diagramme de séquence diagramme de collaboration diagramme détats-transitions diagramme dactivités Fonctionnel (ce que le système FAIT) Dynamique (comment le système EVOLUE) diagramme de cas dutilisation diagramme de collaboration Axes de modélisation d un système

6 Michel Tollenaere U.M.L. partie 1 6 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Conceptuel organisationnel logique physique En UML, les mêmes modèles peuvent être utilisés à différents niveaux dabstraction du plus conceptuel à limplantation. On peut donc appliquer des mécanismes de transformation continue. Niveaux dabstraction dun SI

7 Michel Tollenaere U.M.L. partie 1 7 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 diagramme de cas dutilisation diagramme de classes diagramme de séquence diagramme de collaboration diagramme dobjets diagramme détats-transitions diagramme dactivités (nous utiliserons IDEF 0) diagramme de composants diagramme de déploiement Les 9 diagrammes dUML 1.1 (13 diag en 2.0)

8 Michel Tollenaere U.M.L. partie 1 8 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 DiagrammeClassesComposantsDéploiementCollaborationEtats TransitionsSéquenceObjetsCas d utilisation ClassesEtats TransitionsSéquence Ceci est un commentaire Description UML des diagrammes UML Activité

9 Michel Tollenaere U.M.L. partie 1 9 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Cas dutilisation une fonctionnalité attendue du système par les différents acteurs. Exemples : Quelques diagrammes : 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). Cest une ensemble de messages échangés entre les acteurs et le système, ordonnés chronologiquement. Diagramme de Classes

10 Michel Tollenaere U.M.L. partie 1 10 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Modèle Fonctionnel Use Cases = cas dutilisation diagramme de collaboration

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

12 Michel Tollenaere U.M.L. partie 1 12 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 dutilisation. Exprime léchange dinformations entre lacteur et le système. Déclencher virementclient relation dutilisation : entre deux cas dutilisation. Exprime que le cas dutilisation source comprend également le comportement décrit par le cas dutilisation destinataire (utile pour la factorisation de cas). Déclencher virement identification « use » relation dextension : entre deux cas dutilisation. Exprime que le cas dutilisation source étend le comportement du cas dutilisation cible (utile pour la spécialisation de cas). Virement par Internet Déclencher virement « extend » Relations entre cas dutilisation

13 Michel Tollenaere U.M.L. partie 1 13 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Source

14 Michel Tollenaere U.M.L. partie 1 14 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Récupère les Acteur humain : il sagit ici dun rôle et non dun acteur identifié. Acteur non humain : exemple un logiciel de comptabilité ou dERP avec lequel le système interagit Exemple Définit les contraintes mécaniques Conçoit les schémas et nomenclatures Gère la création et les révisions des dossiers variantes Gère la création et les révisions d un job Développeur Gestion des schémas Responsable CFAO Gestion des jobs Gestion des contraintes Gestion des dossiers > Responsable BE schémas Récupère les contraintes Acteurs : diagramme de cas dutilisation

15 Michel Tollenaere U.M.L. partie 1 15 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 lordre 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 Objet 2 Objet 3 1 : message 3 : message 2 : message 4 : message 5 : message Diagramme de Collaboration

16 Michel Tollenaere U.M.L. partie 1 16 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Modèle Statique diagramme d objets Diagramme de classes

17 Michel Tollenaere U.M.L. partie 1 17 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 TaVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1 re immatriculation = 16 sept 2009 Kilométrage = Kilométrage-annuel ? () AutreVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1 re immatriculation = 16 sept 2007 Kilométrage = 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 dattribut et des associations, le comportement par des méthodes. 2 objets peuvent être semblables et pas identiques Un objet peut être une instance dune classe. Classe : une description dun ensemble dobjets 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». Objets et classes Voiture Marque : chaîne Modèle : chaîne Immatriculation : chaîne (8) 1re immatriculation : date Kilométrage : entier Kilométrage-annuel ? ( ) Kilometrage_annuel_moyen ( ) MaVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1 re immatriculation = 16 sept 1997 Kilométrage = Kilométrage-annuel ? ()

18 Michel Tollenaere U.M.L. partie 1 18 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Structure statique dun système, en termes dobjets 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 dassociation. Personne âge : entier patron collaborateur 1 * Diagramme de classes Nom de lobjet : Classe Attributs = valeurs Liens diagramme dobjets -/- diagramme de classes Etienne : personne âge = 35 Jean-Luc : personne âge = 25 patron Diagramme d objets collaborateur emploie> Abstraction Concrétisation

19 Michel Tollenaere U.M.L. partie 1 19 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Structure statique dun système, en termes de classes et de relations entre ces classes. Nom de classe Attributs Opérations () Voiture Couleur Cylindrée Vitesse max Démarrer () Accélérer () Freiner () 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 Syntaxe: nom_attribut : type_attribut = valeur initiale nom_opération (nom_argument : type_argument = valeur_par_défaut, …) : type_retourné exemple : Diagramme de classes

20 Michel Tollenaere U.M.L. partie 1 20 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Nommage des associations véhiculeconstructeur fabricant produit véhiculepersonne Conduit> conducteurvéhicule Possède> propriétairevéhicule directeursociété Possède> actionnaire société

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

22 Michel Tollenaere U.M.L. partie 1 22 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 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 dautres fonctions, un sous ensemble dautres 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..* Associations

23 Michel Tollenaere U.M.L. partie 1 23 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Classe-association Permet de «qualifier» plus finement une association

24 Michel Tollenaere U.M.L. partie 1 24 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Placement des attributs et des associations Diplôme TravailEtudiant Chambre Réalise > Note - valeur Numéro Mention 0..* * 1

25 Michel Tollenaere U.M.L. partie 1 25 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Contraintes comptepersonne {Ordonnée} Est_titulaire> * classepersonne {Sous ensemble} 0.. * Parent d élève Délégués universitépersonne {Ou-exclusif} 0.. * Enseignants Etudiants

26 Michel Tollenaere U.M.L. partie 1 26 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Agrégation ChapitreLivre {Ordonnée} * Paragraphe {Ordonnée} 1.. *

27 Michel Tollenaere U.M.L. partie 1 27 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Composition TêteHomme 1 1 La composition traduit une dépendance existentielle forte.

28 Michel Tollenaere U.M.L. partie 1 28 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Agrégation : quand une classe fait partie dune autre classe (agrégat - composant) Association : toute relation structurelle entre classes, autre que lagrégation et la généralisation Généralisation (voir transparents UML2) : factorisation des éléments communs dun 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 véhicule voiturecamionavion moteur constructeur 1 1..* 1 Diagramme de classes : Relations entre classes Construit par

29 Michel Tollenaere U.M.L. partie 1 29 Cours MSI-2A filière ICL version 2.1 du 9 novembre * 1 0..* EstResoluPar 1 0..* 1..* 1 Induit 1..* LesProblèmes LesProjets 1..* LesEtudes 0..1 ComplétéePar 0..* * 0..1 Suivant 0..* * Exemple de diagramme de classes

30 Michel Tollenaere U.M.L. partie 1 30 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 Modèle Statique Passage dun diagramme de classe UML à un modèle relationnel pour SGBD

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

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

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

34 Michel Tollenaere U.M.L. partie 1 34 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 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) Règle 4 : relation de multiplicité (0..*) (1..*) fournisseur Code-fournisseur Adresse Téléphone < fournir 0..* ou 1..* produit Réf-produit Libellé-p Prix-vente-p Classe Passage du modèle statique UML au relationnel : les associations Remise - valeur *

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

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


Télécharger ppt "Michel Tollenaere U.M.L. partie 1 1 Cours MSI-2A filière ICL version 2.1 du 9 novembre 2009 UML : Unified Modelling Language Historique : Grady Booch 1981,"

Présentations similaires


Annonces Google