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

UML : Unified Modelling Language

Présentations similaires


Présentation au sujet: "UML : Unified Modelling Language"— Transcription de la présentation:

1 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 : 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 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

3 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

4 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

5 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

6 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

7 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 (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

8 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

9 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

10 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

11 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

12 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

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

14 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

15 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

16 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

17 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 = Kilométrage-annuel ? () AutreVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1re immatriculation = 16 sept 2007 Kilométrage = Kilométrage-annuel ? () MaVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1re immatriculation = 16 sept 1997 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 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 ( )

18 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

19 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

20 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

21 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..*

22 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..*

23 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

24 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

25 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

26 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

27 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.

28 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

29 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..*

30 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

31 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)

32 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

33 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

34 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)

35 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 >

36 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


Télécharger ppt "UML : Unified Modelling Language"

Présentations similaires


Annonces Google