Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. –...

51
Introduction à UML ESIR 1 ère année Rémi Cozot Maître de Conférences – Habilité à Diriger des Recherches Équipe FRVSense – UMR IRISA [email protected]

Transcript of Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. –...

Page 1: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Introduction à UML

ESIR 1ère année

Rémi Cozot

Maître de Conférences – Habilité à Diriger des Recherches Équipe FRVSense – UMR IRISA

[email protected]

Page 2: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification et relations •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 3: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Introduction

•  Projet informatique (ou autre) – Besoin de décrire, de spécifier

•  Les besoins •  La solution

– Solution « classique » •  Cahier des charges

– Quel(s) niveaux de détails –  Laisse trop de place à l’interprétation

– Besoin d’un outil formel •  Généraliste, modulaire, hiérarchique, etc.

Cahier des Charges - Analyse fonctionnelle - Analyse de valeur : fonction/coût

Page 4: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Introduction

•  Spécifier, modéliser – Pour qui ? – Pour le client

•  Comment exprimer son besoin – Pour l’informaticien

•  Pour concevoir la solution répondant au besoin

•  Si l’outil n’est pas commun entre le client et le fournisseur, cela entraine des erreurs – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple »

Page 5: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification et relations •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 6: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Représentation un « problème » – Lister les « acteurs » – Mettre en évidence les relations

•  Des acteurs partagent des propriétés communes – Généraliser / spécialiser : classifier – Approches communes aux sciences

Page 7: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Classification – Exemple biologie / zoologie

•  Équidés – Chevaux –  Ânes –  Zèbres

– Classification en fonction de critères

•  Sauvage •  Domestique

équidés

zèbres ânes chevaux

przewalski lusitanien

domestique sauvage

pur sang

Page 8: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Relations autres que la classification – Exemple

•  Chevaux mangent fourrage

chevaux fourrage

paille foin herbe

mangent

Page 9: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Exemple : bibliothèque –  Lister les acteurs, généraliser

•  Livre •  Usagé •  Emprunt •  Date d’emprunt, de retour

– Relations •  Usagé (Recherche) livre •  Usagé (Emprunte) livre •  Usagé (Rend) livre •  Emprunt (A) date d’emprunt •  Emprunt (A) date de retour

Page 10: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Exemple : bibliothèque

usagé

livre

classique poche album

s’inscrit bibliothèque

exemplaire

emprunt

Date retour

Date emprunt

Date

personne commande

possède

emprunte

rend de

a

Page 11: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Critère(s) de classification – Exemple : Choix …

livre

classique poche album

Page 12: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Critère(s) de classification – Exemple : oui, mais

livre

classique poche album

Roman

Essai

BD

Page 13: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Critère(s) de classification – Exemple : alors

livre

Roman classique

Roman poche Roman

Essai

BD Essai classique

Essai poche

BD poche

BD album

Page 14: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Critère(s) de classification – Mais aussi ?

livre

Paru en 2016

Paru en 2015

Paru en 2014

Page 15: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Critère(s) de classification – Mais aussi ?

livre date de parution est paru en

Page 16: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Critère(s) de classification – Ou alors

date de parution est paru en livre

classique poche album Roman Essai BD

format < est du format

Page 17: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Critère(s) de classification – Ou bien encore …

date de parution est paru en livre

classique poche album

Roman Essai BD format

< es

t du

form

at

exemplaire de

Page 18: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Modélisation : classification et relations

•  Exemple : bibliothèque –  Des boîtes des flèches : manque d’un formalisme précis –  Dimensions du modèle

•  Statique •  Dynamique

–  Vues •  De l’utilisateur •  Architecture logicielle •  Déploiement

–  Granularité •  Niveau de détail du modèle

–  Dans l’exemple : quel est l’intérêt de la spécialisation »  BD, poche, classique

•  UML propose un cadre formel et ouvert

Page 19: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification relation •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 20: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

UML : Les diagrammes

•  Une seule vue ne suffit pas – Dimension structurelle statique

•  Classe, objet

– Dimension dynamique •  Utilisation •  États (automates) •  Dimension des interactions

– Communication et séquences

Page 21: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

UML : Les diagrammes

•  Diagrammes structurels ou diagrammes statiques (UML Structure) –  diagramme de classes (Class diagram) –  diagramme d’objets (Object diagram) –  diagramme de composants (Component diagram) –  diagramme de déploiement (Deployment diagram) –  diagramme de paquetages (Package diagram) –  diagramme de structures composites (Composite structure diagram)

•  Diagrammes comportementaux ou dynamiques (UML Behavior) –  diagramme de cas d’utilisation (Use case diagram) –  diagramme d’activités (Activity diagram) –  diagramme d’états-transitions (State machine diagram) –  Diagrammes d’interaction (Interaction diagram)

•  diagramme de séquence (Sequence diagram) •  diagramme de communication (Communication diagram) •  diagramme global d’interaction (Interaction overview diagram) •  diagramme de temps (Timing diagram)

Page 22: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification relation •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 23: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Cas d’utilisation – Use Case

•  Expression des besoins –  recueillir, analyser, organiser les

besoins •  Éléments de diagramme

– Acteur : personne externe, un processus ou une chose qui interagit avec un système

– Cas d’utilisation : une unité cohérente représentant une fonctionnalité visible de l’extérieur

Page 24: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Cas d’utilisation – Use Case

•  Exemple

Page 25: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Cas d’utilisation – Use Case

•  Relations entre cas –  Inclusion

•  A inclut B lorsque A appelle B pour sa réalisation.

–  Extension •  A étend B lorsque le cas

d’utilisation A peut être appelé au cours de l’exécution du cas d’utilisation B. L’extension est optionnelle.

–  Généralisation / spécialisation

•  Relations entre acteurs –  Généralisation / spécialisation

Page 26: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Cas d’utilisation – Use Case

Page 27: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification relation •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 28: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de Classes

•  Diagramme le plus important – Structure interne qui fournit une

représentation abstraite des classes (objets) du système qui réalisent les cas d’utilisation

•  Éléments de diagramme – Classe

Page 29: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de Classes

•  Relations entre classes –  Héritage /

généralisation / spécialisation

•  La classe enfant possède toutes les caractéristiques des ses classes parents.

•  Une classe enfant peut redéfinir plusieurs méthodes de la classe parent

•  Toutes les associations de la classe parent s’appliquent aux classes enfants

Page 30: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de Classes

•  Relations entre classes – Composition

•  A est composé de B •  Si A disparaît alors B disparaît également

– Agrégation

Page 31: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de Classes

•  Relations entre classes – Association

Page 32: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de Classes

•  Relations entre classes – Association

•  Direction •  Le « client » a

une « adresse » de « livraison »

•  Notion d’accessibilité – Du client on trouve l’adresse – MAIS de l’adresse on ne remonte pas aux clients

Client Adresse Livraison

1

Page 33: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de Classes

•  Relations entre classes : chercher l’erreur

Maison Pièces 1

Fenêtre 0..* 1 1..*

Page 34: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de Classes

•  Relations entre classes : chercher l’erreur

Chambre Réservation 1

Client

*

1 Hôtel

Gérant

Personne

1

1 *

0 .. *

Page 35: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification relation •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 36: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme d’états /transitions

•  Rôle : spécifier le comportement logique interne d’un objet d’une classe sous forme d’un automate à états finis

•  Éléments du diagramme – État

•  Initial •  Final

– Transition et évènement

Page 37: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme d’états /transitions

•  Plus de détails – État composite

•  État encapsulant un automate

– Historique

Page 38: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme d’états /transitions

•  Plus de détails – Concurrence

•  Des états fonctionnant en parallèle

Page 39: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme d’états /transitions

Page 40: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification relation •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 41: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de séquences

•  Rôle – Précise les messages échangés (appel de

méthodes) entre les objets dans un ordre chronologiques

– Décrit « comment » et par qui les cas d’utilisation sont réalisés

•  Éléments – Objet (éventuellement acteur) – Message / signal

Page 42: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de séquences

•  Message – Synchrone

•  Méthode avec retour

– Asynchrone (signal)

– Création / destruction

Page 43: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de séquences

•  Messages – A appelle B

– A appelle B •  B appelle A

Page 44: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de séquences

•  Exemple : jeux démineur

Page 45: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Diagramme de séquences

témoinEtage Contrôleur Ascenseur Portes

appelAscenseur()

déplacer()

déplacer()

fermer()

ouvrir()

demandeEtage()

éteindre()

allumer()

allumer()

Page 46: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Plan

•  Introduction •  Modélisation : classification relation •  UML : les diagrammes •  Cas d’utilisation •  Diagramme de Classes •  États transitions •  Séquences •  Conclusion

Page 47: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Conclusion

•  UML est un outil généraliste –  Informatique – Gestion / économie / finances – Création

•  Rubika (anciennement SupInfoGame) – Médecine

•  UML ne fait pas tout – Nécessite une méthodologie

Page 48: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Conclusion

Page 49: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

conclusion

•  Forme type de conception : patron de conception

Page 50: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

Conclusion

•  Forme type de conception : patron de conception /* * GUIFactory Example */ public abstract class GUIFactory { public static GUIFactory getFactory() { int sys = readFromConfigFile("OS_TYPE"); if (sys == 0) { return (new WinFactory()); } else { return (new OSXFactory()); } } public abstract Button createButton();}

class WinFactory extends GUIFactory { public Button createButton() { return (new WinButton()); } } class OSXFactory extends GUIFactory { public Button createButton() { return (new OSXButton()); } }

public abstract class Button { private String caption; public abstract void paint(); public String getCaption(){ return caption; } public void setCaption(String caption){ this.caption = caption; }}

class WinButton extends Button { public void paint() { System.out.println("I'm a WinButton: "+ getCaption()); } } class OSXButton extends Button { public void paint() { System.out.println("I'm a OSXButton: "+ getCaption()); } }

public class Application { public static void main(String[] args) { GUIFactory aFactory = GUIFactory.getFactory(); Button aButton = aFactory.createButton(); aButton.setCaption("Play"); aButton.paint(); }

Page 51: Introduction à UML - Institut de Recherche en ... · – Outil : vocabulaire, schéma, etc. – UML : cadre formel « simple » Plan • Introduction ... livre est paru en date de

MERCI J