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 ENSGI 2A MSI - UML version 1.a du 1er Octobre 2002 1 UML : Unified Modelling Language Historique : Références : Object Management Group.

Présentations similaires


Présentation au sujet: "Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre 2002 1 UML : Unified Modelling Language Historique : Références : Object Management Group."— Transcription de la présentation:

1 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre UML : Unified Modelling Language Historique : Références : Object Management Group en France Pierre Alain Muller (U-Mulhouse) et Valtech Outils : Objecteering Rational ROSE plus de 30 outils de modélisation et de CASE (Computer Aided Software Engineering)

2 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre UML : modelling information systems at conceptual level at logical level

3 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Creating the UML 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

4 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre 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 ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagrammes UML diagramme de classes diagramme de cas dutilisation diagramme de séquence diagramme de collaboration diagramme dobjets diagramme détats-transitions diagramme dactivités diagramme de composants diagramme de déploiement

6 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Légende Cas dutilisation une fonctionnalité attendue du système (VEGA2) 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). Cest une ensemble de messages échangés entre les acteurs et le système, ordonnés chronologiquement. Diagramme de Classes

7 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de cas dutilisation Représente les fonctions du système de point de vue de l utilisateur. 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 Cas d utilisationActeur relation Cas d utilisation

8 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de cas dutilisation Relations entre cas d utilisations Trois types de relations : relation de communication : entre un acteur et un cas dutilisation. Exprime léchange dinformations entre lacteur et le système. virementclient déclenche relation dutilisation : entre deux cas d utilisation. Exprime que le cas dutilisation source comprend également le comportement décrit par le cas dutilisation destinataire (utile pour la factorisation de cas). virementidentification « 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 virement « extend »

9 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de Séquences Un cas dutilisation apparaît comme un scénario, décrit par un diagramme de séquences. Diagramme de séquence : exprime la séquence des interactions entre objets du système selon un point de vue temporel, pour réaliser le cas dutilisation. Objet 1Objet 2 1 : [condition A] message 2 : message synchrone 4 : message 6 : [condition B] message 9 : message asynchrone 7 : message réflexif Evénement / Communication entre objets Objet 3 3 : message de création 5 : message 8 : message de destruction Période dactivité de lobjet

10 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre message synchrone: lémetteur est bloqué et attend que lappelé ait fini de traiter le message (message 1) message asynchrone: lémetteur nest pas bloqué et peut continuer son exécution (message 6) Un message réflexif indique souvent un point d entrée dans une activité de plus bas niveau qui s exerce entre objets contenus par l objet composite (message 7) Un message dont les délais de transmission sont non négligeables est matérialisé par une flèche oblique (message 4) Messages conditionnés : flèches prenant leur origine au même instant avec des conditions mutuellement exclusives (messages 1 et 6) Possibilité de compléments d informations sous forme de texte libre ou de pseudo-code à côté du diagramme Période d activité : temps pendant lequel un objet effectue une action, directement ou par l intermédiaire d un autre objet sous-traitant Des contraintes temporelles peuvent être exprimées en graduant la ligne de vie (pour dire par exemple: « 10 secondes plus tard ») Diagramme de Séquences Cas particuliers

11 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de Séquences Exemple Appelant Ligne téléphonique Appelé décroche tonalité numérotation sonnerieindication de sonnerie décroche allô

12 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de Collaboration Comme les diagrammes de séquence : 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. 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

13 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de classes Structure statique dun système, en termes de classes et de relations (3 types) entre ces classes. Nom de classe Attributs Opérations () Motocyclette Couleur Cylindrée Vitesse max Démarrer () Accélérer () Freiner () Visibilité : trois niveaux de visibilité pour les attributs 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 :

14 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de classes Relations entre classes Agrégation : quand une classe fait partie dune autre classe (agrégat - composant) Généralisation : factorisation des éléments communs dun 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 Association : toute relation structurelle entre classes, autre que l agrégation et la généralisation classe 4 classe 3 classe 2 classe 1 agrégation association généralisation spécialisation véhicule voiturecamionavion moteur constructeur 1 1..* 1

15 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme de classes Relations Agrégation: Relation transitive : si voiture est composée de moteur et si moteur est composé de courroie alors voiture est composée de courroie Relation non systémique: si voiture est composée de moteur, moteur ne peut pas être composé de voiture Relation réflexive : une fonction peut être composée d autres fonctions Généralisation : Relation non réflexive : une classe ne peut dériver delle-même Relation non symétrique : si une une voiture est une sorte de véhicule, alors le véhicule ne peut pas être une sorte de voiture Relation transitive : si voiture est une sorte de véhicule terrestre qui elle même est une sorte de véhicule alors voiture est une sorte de véhicule Association : Une classe a un rôle dans une association. Les rôles portent une information de multiplicité précisant le nombre d instances qui participent dans la relation. Les multiplicités les plus courantes sont : 1 / 0..1 / m..n / * /0..* / 1..* véhiculeconstructeur 1 1..* construit par construire

16 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme dObjets Structure statique dun système, en termes dobjets et de liens entre ces objets. Un objet est une instance de classe et un lien est une instance de relation. Nom de l objet : Classe Attributs = valeurs Etienne : personne âge = 35 Jan-Luc : personne âge = 25 patron Personne âge : entier patron collaborateur 1 * Diagramme de classesDiagramme d objets

17 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme d états-Transition Description des séquences possibles détats et d actions par lesquelles un objet peut passer tout au long de sa vie. Ces séquences résultent de sa réaction à des événements discrets. Eléments du diagramme : état : situation dun objet à un moment donné transition : connexion entre deux états, permettant le passage dun état à lautre événement : occurrence d une situation donné dans le domaine du système qui déclenche la transition garde : condition booléenne qui valide ou non le déclenchement dune transition lors de loccurrence dun événement (cas de plusieurs transitions exclusives déclenchées par le même événement) action : opération exécutée pendant que lobjet est dans un état donné ou lorsque une transition est déclenchée (correspondant à des opérations déclarées dans la classe de lobjet destinataire). Une action dun état est dite activité quand lopération associée a un temps dexécution non négligeable (do : nom_opération) Etat A action do:opération Etat B Evénement [garde] / Action …. état initialétat final

18 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Personne âge Société * Les personnes ne possèdent pas toutes un emploi et se trouvent, à un moment donné, dans un des états suivants : en activité, au chômage, à la retraite Létat d une personne donnée est déterminé selon son âge et la présence ou non dun lien vers une société. Diagramme d états-Transition Exemple Diagramme de classesDiagramme d états-transitions En activité do: travailler Au chômage A la retraite Perte d emploi Embauche Plus de 60 ans

19 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagramme d Activités on peut aussi utiliser IDEF0 ou IDEF3 Variante des diagrammes détats-transition, organisé par rapport aux actions et destiné à représenter le comportement interne dune opération ou dun cas d utilisation. Mesurer température Chauffer Refroidir AérerArrêter chauffage [trop froid] [trop chaud] « synchronisation »

20 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Diagrammes de composants et de déploiement Diagramme de composants : représente larchitecture logicielle décrit les spécifications des modules qui vont contenir le code des classes ainsi que le programme principal. Lidentification des modules est réalisée pour chaque sous-système du système global. Diagramme de déploiement : représente larchitecture matérielle décrit la disposition physique des différents nœuds (processeurs) dans la composition dun système et la répartition des programmes principales du diagramme des composants, sur ces processeurs.

21 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Mécanismes UML : Paquetage Regroupement déléments de modélisation. Une façon dorganiser les modèles de la même manière que les répertoires organisent les fichiers. Un paquetage contient divers diagrammes. Un paquetage peut contenir dautres paquetages, sans limite d emboîtement. Un élément contenu par un paquetage peut apparaître dans un autre paquetage sous forme d élément importé. Un seul type de relations entre paquetages : les dépendances (au moins un élément du paquetage client utilise les services offerts par les éléments du paquetage fournisseur.

22 Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre Mécanismes UML : Stéréotype Un mécanisme dextensibilité d UML. Il spécialise les éléments de modélisation dUML, pour un métier donné : cas dutilisation, lien, classe, …. Il permet la classification des éléments de modélisation (méta-modélisation). Chaque élément de modélisation dUML a au plus un stéréotype, lorsque la sémantique de base est insuffisante. Exemple : dans le domaine de la gestion des données techniques, les liens de composition entre articles sont stéréotypés selon leur nature : « nomenclature BE » / « nomenclature BM » / etc.


Télécharger ppt "Michel Tollenaere ENSGI 2A MSI - UML version 1.a du 1er Octobre 2002 1 UML : Unified Modelling Language Historique : Références : Object Management Group."

Présentations similaires


Annonces Google