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

EPITECH 2009 sebastien@migniot.com UML EPITECH 2009 sebastien@migniot.com.

Présentations similaires


Présentation au sujet: "EPITECH 2009 sebastien@migniot.com UML EPITECH 2009 sebastien@migniot.com."— Transcription de la présentation:

1 EPITECH 2009 sebastien@migniot.com
UML EPITECH 2009

2 UML2 – Diagrammes principaux
Pré-Requis La démarche Classes, la vue statique Séquences, la vue dynamique Diagrammes de classe Notation, attributs et opérations Associations entre classes Abstractions et interfaces Patterns et méta-classes Diagrammes de séquence Les types de message Contraintes, récursivité, boucles Diagramme de collaboration Exemple complet

3 Pré-requis La démarche Classes, la vue statique
Séquences, la vue dynamique

4 La démarche UseCase : utilisations du système
Sequence : déroulement par fonctionnalité Class : détail des participants

5 Classes Représente les concepts participant au logiciel
Représente la vue statique, l'union de tous les attributs et opérations issus de la vue dynamique Contient les relations entre concepts

6 Séquences Représente le déroulement ou le séquencement
Détaille en profondeur un message Liste les participants à la séquence

7 Diagrammes de classe Notation, attributs et opérations
Associations entre classes Abstractions et interfaces Patterns et méta-classes

8 Notation, attributs et opérations
Un objet particulier est nommé, souligné et suivi de sa classe Ses attributs représentent son état à un moment donné Il reste l'instance d'une classe

9 Notation, attributs et opérations
Une classe est présentée comme une fiche de propriétés Ses attributs d'abord Ses opérations ensuite Tous les membres ont une visibilité private - protected rien public +

10 Notation, attributs et opérations
Le type des membres est suffixé Format d'attribut [visi] [nom] [:] [type] Format d'opération [visi] [nom] [(] paramètre* [)] [:] [type] Format de paramètre [in|out|inout] attribut*

11 Notation, attributs et opérations
Les classes ou membres abstraits sont en italique Les membres statiques sont soulignés

12 Associations entre classes
Généralisation Réalisation Agrégation Composition Dépendance utilisation instanciation Import, friend

13 Associations entre classes
La généralisation spécifie que la destination généralise la source La réalisation spécifie que la source remplit le contrat décrit par la destination

14 Associations entre classes
L'agrégation est la relation de contenance La composition est employée lorsque le conteneur contrôle le cycle de vie des contenus Exemple : Un album contient physiquement des Images alors qu’une Facture contient une référence vers un payeur existant ailleurs

15 Associations entre classes
La relation de dépendance générique permet de multiples expressions Les stéréotypes classique sont use instanciate import friend

16 Abstractions et interfaces
Une classe abstraite représente une mise en commun non instanciable Exemple : Un noeud de système de fichier n’a pas d’existence physique autre que Dossier, Fichier et Lien Les interfaces sont les concepts minimalistes les plus proches d’un contrat Exemple : Le comparateur, le filtre

17 Patterns et méta-classes
Les Design pattern, des patrons de conception Exemple: Le Visitor et le Composite du système de fichier Eprouvées depuis des années, nul besoin de reinventer la roue, faire confiance aux QI à trois chiffres D'autres patrons, les patrons d’implémentation Exemple : couplage LDAP et Database Les Meta classes, les classes des classes

18 Annexe1 Exercice suivant le temps
Écrire le diagramme de classes qui modélise cette présentation Montre que les diagrammes de classes ne sont pas triviaux

19 Diagrammes de séquence
Les types de message Contraintes, récursivité, boucles Diagramme de collaboration

20 Les types de message Synchronze Asynchrone Retour Réflexif
Instanciation et destruction

21 Message synchrone Le message synchrone est le plus concevable
L'appelant pose la question et attend la réponse Forme impérative et bloquante

22 Message asynchrone Le message asynchrone est un mail
L'appelant envoie « avec bon espoir de réception » Forme non bloquante, fire and forget

23 Message retour Pas forcément explicité En général implicitement OK
Représente les choix comportementaux et les plages de valeur en réponse au message

24 Message réflexif Typique d'un message auto-suffisant
Exemple : FileSystem.getRoot() Valable pour les récursions Valable pour les itérations

25 Instanciation, destruction
Pour effectuer un virement on passe par une Transaction La transaction est crée, stéréotypée <<new>> ou <<instantiate>> La transaction est effectuée puis détruite, marqué d'un X Cf documents normatifs

26 Contraintes, récursivité, boucles
Les blocs stéréotypés, types et gardes assert : assertion, donc nécessité loop : itération sur une collection alt : alternatives, if else-if, else opt : optionel, if unitaire sans else par : parallele, exécution concurrente break, seq, strict, neg, critical Exemples

27 Blocs stéréotypés Les blocs ont un stéréotype en haut du cadre
Les blocs ont des gardes pour chaque compartiment du cadre stéréotypé alt, assert, loop ...

28 Assertion Bloc stéréotypé assert
Permet de préciser un cas sine qua non Exprime une condition évidente Exemple: dans un chemin de fichier, les intermédiaires sont des dossiers

29 Conditionnalité Bloc stéréotypé opt et alt
Le bloc opt est un if sans else, par exemple, « si le compte est débiteur, envoyer un mail » Le bloc alt décrit de multiples choix exclusifs, par exemple « impair, pair ou jackpot »

30 Itération Bloc stéréotypé loop Le garde indique la collection itérée
Couplable avec break pour une itération de recherche Remarque : va souvent de pair avec une agrégation de cardinalité > 1

31 Exemple mixte Deux blocs opt ne se joignent pas forcément en un seul bloc alt – commenter – Le bloc loop est évident

32 Concurrence Bloc stéréotypé par, seq et strict
Le lancement de windows lance de multiples programmes Le lancement est fini sur jonction des actions parallèles

33 Autres blocs Break : fin de boucle Neg : chemin impossible, en erreur
Terminer une boucle de recherche Neg : chemin impossible, en erreur Exemple du masculin enceinte Critical : chemin synchronisé Exemple du call 911

34 Syntaxe des messages [pré "/"] [["["cond"]"] [séq] ["*"["||"]["["iter"]"]] ":"] [r ":="] msg"("[par]")" 3 : bonjour() [heure = midi] 1 : manger() 1.3.6 * : ouvrir() 3 / *||[i := 1..5] : fermerEnParralele() 1.3,2.1 / [t < 10s] 2.5 : age := demanderAge(nom,prenom) Cosmétique avant tout

35 Exemple des billets Exemple de bloc alternatifs
Pour certaines alternatives, itérer Notation des « continuation »

36 Annexe2 Exercice suivant le temps
Écrire le diagramme de séquences qui modélisent le scénario « rendre transparentes les images de la présentation » Montre que les diagrammes de classes sont triviaux .. lorsque les diagrammes de séquence sont implicites

37 Diagramme de collaboration
Bijection avec les diagrammes de séquences Plus facile à écrire et imaginer Plus facilement partageable Traduit en diagramme de séquences pour ajouter des blocs et des gardes

38 Récapitulatif Pré-Requis Diagrammes de classe Diagrammes de séquence
La démarche Classes, la vue statique Séquences, la vue dynamique Diagrammes de classe Notation, attributs et opérations Associations entre classes Abstractions et interfaces Patterns et méta-classes Diagrammes de séquence Les types de message Contraintes, récursivité, boucles Diagramme de collaboration

39 Exemple complet Ouvrir le diagramme BoUML joint au cours dans le fichier ./UML2 - Diagrammes principaux/Diagrammes/Diagrammes.prj et illustrer les relations d'héritage, les abstractions, les interfaces, les conditionnalités et assertion de séquencement.


Télécharger ppt "EPITECH 2009 sebastien@migniot.com UML EPITECH 2009 sebastien@migniot.com."

Présentations similaires


Annonces Google