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
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 UML 2 : De l'apprentissage à la pratique, 2009, Ellipses, Laurent Audibert Outils : Objecteering Rational ROSE , plus de 30 outils de modélisation et de CASE (Computer Aided Software Engineering)

2 Architecture Technologie UML modelling information systems
Grenoble INP Génie industriel 2A ICL MSI – UML 1 propriétés Constituant 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.0 UML 1.3 UML 1.1 UML 1.0 UML 0.9 OOSE
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Creating the UML UML 2.0 2003 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
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Contributions to the UML 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
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Axes de modélisation d ’un système 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
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 UML 1 diagramme de cas d’utilisation
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Les 9 diagrammes UML 1 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 9 diagrammes UML
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Description UML des 9 diagrammes UML Diagramme Ceci est un commentaire Cas d ’utilisation Cas d ’utilisation Classes Etats Transitions Séquence Classes Etats Transitions Séquence Collaboration Composants Déploiement Activité Objets

9 Exemples : Quelques diagrammes
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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). C’est une ensemble de messages échangés entre les acteurs et le système, ordonnés chronologiquement. Cas d’utilisation une fonctionnalité attendue du système (VEGA2) par les différents acteurs. Diagramme de Classes

10 Acteur 1 Acteur 2 Grenoble INP Génie industriel 2A ICL MSI – UML 1
cas d'utilisation Acteur 1 cas d'utilisation article code désignation prix-U rayon ss-rayon * contient> 1 Sous rayon Rayon emplacement nom Implantation comporte Nom cas d'utilisation Acteur 2 En préparation do / ajout article état initial état final Confirmée do / préparer livraison do / attente paiement Livrée Payée Confirmation client paiement effectué 10 ans après paiement Pas de confirmation client après 1 mois

11 Modèle Fonctionnel Use Cases : cas d ’utilisation
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Modèle Fonctionnel Use Cases : cas d ’utilisation diagramme de collaboration

12 Diagramme de cas d’utilisation
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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

13 Relations entre cas d’utilisations
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Relations entre cas d’utilisations 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. déclenche client 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). virement identification « use » 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). Virement par Internet virement « extend »

14 Acteurs : diagramme de cas d’utilisation
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Diagramme de Collaboration 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
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Modèle Statique diagramme d ’objets Diagramme de classes

17 Grenoble INP Génie industriel 2A ICL MSI – UML 1
Objets et classes MaVoiture : Voiture marque = Renault Modèle = Nevada Immatriculation = 648ADX38 AnnéeModele = 1992 Kilométrage = 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. Un objet est 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) AnnéeModele : date Kilométrage : entier Rouler ( ) Kilometrage_annuel_moyen ( )

18 Diagramme d’Objets Concrétisation Abstraction
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Diagramme d’Objets 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 :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Diagramme de classes 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 Diagramme de classes : Relations entre classes
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 : factorisation des éléments communs d’un ensemble de classes dits 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..* constructeur véhicule moteur voiture camion avion

21 Associations Agrégation: Rôle et multiplicité :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 systémique : si voiture est composée de moteur, moteur ne peut pas être composé de voiture Association qui peut être réflexive : une fonction peut être composée d ’autres fonctions 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..*

22 Nommage des associations
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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

23 Multiplicité des associations
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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..*

24 Arité des associations
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Arité des associations Association d’arité 3 Salle lieu Etudiant Cours Enseignant Début Fin

25 Placement des attributs et des associations
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Placement des attributs et des associations Etudiant Travail 1 Réalise > 0..* 0..* 0..* 1 Diplôme Note Mention 0..1 Chambre Numéro

26 Contraintes personne compte Est_titulaire> {Ordonnée} personne
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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

27 Agrégation Livre Chapitre {Ordonnée} {Ordonnée} Paragraphe 1 .. * 1
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Agrégation Livre Chapitre 1 .. * {Ordonnée} 1 {Ordonnée} 1 .. * Paragraphe

28 Composition La composition traduit une dépendance existentielle forte.
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Composition Homme Tête 1 1 La composition traduit une dépendance existentielle forte.

29 Exemple de diagramme de classes
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 Grenoble INP Génie industriel 2A ICL MSI – UML 1
Modèle Statique Passage d ’un diagramme de classe à un modèle relationnel

31 Passage du modèle statique UML au relationnel :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Règle 2 : relation de multiplicité (1) Passage du modèle statique UML au relationnel : les associations fournisseur Code-fournisseur Adresse Téléphone Classe < fournir 1 produit Réf-produit Libellé-p Prix-vente-p remise 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 :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 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 :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Règle 4 : relation de multiplicité (0..*) (1..*) Passage du modèle statique UML au relationnel : les associations fournisseur Code-fournisseur Adresse Téléphone < fournir 0..* ou 1..* produit Réf-produit Libellé-p Prix-vente-p remise Classe 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 :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 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 :
Grenoble INP Génie industriel 2A ICL MSI – UML 1 Règle 6 relation réflexive symétrique Passage du modèle statique UML au relationnel : les associations Relation / Table Personne (Nom) Frère (nom, nom) Classe Personne nom 0..* Attention, la relation étant transitive, des traitements devront être associés au modèle. 0..* frère de


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

Présentations similaires


Annonces Google