unified modeling language - projet plume · unified modeling language (uml) notion d’objet....

83
Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 1 UML Unified Modeling Language

Upload: others

Post on 22-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 1

UML Unified Modeling Language

Page 2: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 2

Plan

Notion d’objet / Diagramme de classe Généralités

Les fonctionnalités La structure

La dynamique

Page 3: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 3

OMG www.omg.org

Unified Modeling Language (UML) Object Management Group

Page 4: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

1970/1980 : langages procéduraux et structures de données. Les procédures divisent le code en plusieurs parties (chapitres d ’un

livre). Réutilisabilité du code. Librairies (ensemble de procédures).

données en groupe ou structures, types différents.

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

1980 -> Conception orientée-objets, programmation orientée objets, Framework.

Framework = regroupement d ’objets (librairie).

4

Unified Modeling Language (UML) Notion d’objet

Page 5: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Utilisé pour modéliser les systèmes et pour la programmation

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 5

Unified Modeling Language (UML) Notion d’objet

Page 6: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Un système est composé d ’objets en interaction

Exemples :

Une compagnie aérienne (avions, pilotes …)

Un amphithéâtre (élèves, professeur, tables …)

Une loi (articles, jurisprudence …)

Fenêtre informatique (bandeau, ascenseur, bouton …)

Base de données (tables, attributs, relations …)

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 6

Unified Modeling Language (UML) Notion d’objet: Le système

Page 7: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Les objets du système amphithéâtre

Lucie Table n°1

Pascal Table°2

Paul

Chaise n°1

Chaise n°2

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 7

Unified Modeling Language (UML) Notion d’objet: Les objets

Page 8: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Objet = attributs (Variables) + Méthodes (Opérations)

Pascal Table°2

23 ans

célibataire

mange dors étudie

4 pieds

marron

ouverture tiroir tirer rallonge

Attributs

Opérations Méthodes

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 8

Unified Modeling Language (UML) Notion d’objet: Les objets

Page 9: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Procédurale Objet

procédure

Fichiers et structure de données

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

procédure Objet 1

Attributs

Méthodes

Objet 2

Attributs

Méthodes

Unified Modeling Language (UML) Notion d’objet: Procédurale/Objet

9

Page 10: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 10

Unified Modeling Language (UML) Notion d’objet: La classe

Page 11: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Elle regroupe les objets ayant des caractéristiques (attributs) et des comportements (méthodes) communs.

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Les objets d’une même classe, possèdent les mêmes attributs, mais pas nécessairement les mêmes valeurs pour ces

attributs

11

Unified Modeling Language (UML) Notion d’objet: La classe

La classe est un modèle d’objets

Page 12: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Table n°1

Table°2

Lucie

Pascal

Paul Chaise n°1

Chaise n°2

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 12

Les objets du système amphithéâtre

Personne Table Chaise

Les classes du système amphithéâtre

Unified Modeling Language (UML) Notion d’objet: Des objets à la classe

Page 13: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Pascal

23 ans

célibataire

mange dors étudie

Lucie Paul

25 ans

marié

mange dors étudie

20 ans

célibataire

mange dors étudie

âge

statut marital

mange dors étudie

Personne

Objet Instance

Classe

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 13

Unified Modeling Language (UML) Notion d’objet: Des objets à la classe

Page 14: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Chaque objet/instance est forcément associé à une classe

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 14

Classe 1

Attributs

Méthodes

Classe 1

Unified Modeling Language (UML) Notion d’objet: Des objets à la classe

Page 15: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Modélisation: définition des classes ainsi que leurs interactions (définies par la suite)

Programmation: Ecrire ces classes avec leurs interactions, dans un langage informatique orienté objet (Java, C++, …)

Exécution d’un programme : • les classes génèrent des objets, • Les méthodes des objets s’exécutent, • Les attributs des objets prennent des valeurs particulières.

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 15

Unified Modeling Language (UML) Notion d’objet: Modélisation, programmation,

exécution

Page 16: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 http://fr.wikipedia.org/wiki/Fichier:Faroes030417-nasa%282%29.jpg

Objet = île Communication inter îles = ponts

16

Les associations

Unified Modeling Language (UML) Notion d’objet: Les objets interagissent

Page 17: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 17

Elles permettent des échanges de données et de services entre objets

Unified Modeling Language (UML) Notion d’objet: Les associations

Page 18: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 18

Classe A Classe B

Unified Modeling Language (UML) Notion d’objet: Les associations

Page 19: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 19

Classe A Classe B Verbe >

LAPIN CAROTTE Mange >

ORDINATEUR communique

Ordinateur 1

Ordinateur 2

communique

Unified Modeling Language (UML) Notion d’objet: Les associations

Page 20: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 20

Cardinalités: 0,1 ou plusieurs

Conducteur Accident A eu >

Attention! Ceci ne signifie pas que tous les conducteurs ont eu des accidents, mais seulement que la classe conducteur peut-être en

lien avec accident

Unified Modeling Language (UML) Notion d’objet: combien d’objets par

associations?

Page 21: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 21

Conducteur Accident A eu >

Certains (Objets) conducteurs, n’ont jamais eu d’accident, d’autres en ont eu plusieurs

Conducteur Accident A eu > 0,N

Cardinalités: 0,1 ou plusieurs

Unified Modeling Language (UML) Notion d’objet: combien d’objets par

associations?

Page 22: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 22

Conducteur Accident A eu >

Un accident donné peut ne pas être du a des conducteurs, ou à contrario mettre en jeu plusieurs conducteurs

Conducteur Accident A eu > 0,N 0,N

Cardinalités: 0,1 ou plusieurs

Unified Modeling Language (UML) Notion d’objet: combien d’objets par

associations?

Page 23: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 23

Agrégation Généralisation /Spécialisation

Unified Modeling Language (UML) Notion d’objet: Les associations particulières

Page 24: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 24

Animal

Herbivore Carnivore Omnivore

Classe la plus générale

Classes spécialisés

Unified Modeling Language (UML) Notion d’objet: Généralisation/Spécialisation

Page 25: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 25

Animal

Herbivore Carnivore Omnivore

Attributs et méthodes Partagées (âge, poids …)

Attributs et méthodes propres, dérogations au partage

Unified Modeling Language (UML) Notion d’objet: Généralisation/Spécialisation

Page 26: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 26

(A des, utilise des, génère des)

Plante

Racine

Feuille Tige

Unified Modeling Language (UML) Notion d’objet: Agrégation

Page 27: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 27

http://sandiris.free.fr/web/index.php/tag/3d/

Unified Modeling Language (UML) Notion d’objet: Le diagramme de classe

Page 28: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 28

UML: Généralités

Page 29: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 29

UML Historique

http://en.wikipedia.org/wiki/Unified_Modeling_Language

Page 30: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

« Le langage UML est imprécis, complexe et tentaculaire » J.Rumbaugh et al. 2004

On peut faire beaucoup de chose

Ce langage n’est pas formel

30

UML C’est quoi ?

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Page 31: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Faut-il connaître intégralement le langage Java …?

En fonction de nos besoins on va en prendre certaines parties

31

UML Faut-il tout connaître ?

Page 32: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Il faut une méthode

Pas de méthode préconisée par l’OMG! Vous êtes libre

32 Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

UML Comment l’utiliser ?

Page 33: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

33 Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

UML Les éléments utilisés: Entités

Classe

- âge

- dors()

Personne

Cas d ’utilisation Paquetage

Biologique

Gestant

État / Activités

Émission CO2

Acteur

Eleveur

Page 34: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

34 Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

UML Les éléments utilisés: Relations

Dépendance

Association

Généralisation/ Spécialisation

Agrégation

Alimente >

Page 35: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Regroupements d ’entités et de relations

35 Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

UML Les éléments utilisés: Diagrammes

13 Classes

Cas d’utilisation Séquences

Paquetages

Etats-Transitions

Activités

Représentations graphiques

du logiciel

Page 36: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 36

UML: Les fonctionnalités

Page 37: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Système modélisé

Formalisme UML

Fonctionnalités

Environnement

37 Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

UML Au commencement: Les fonctionnalités

Acteur

Cas d’utilisation

Interactions avec l’extérieur

Page 38: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 38

- ce que demande le client, - ce que prévoit le contrat, - ce que l'analyste a prévu, - ce que le programmeur a fait, - ce que la mise au point a fait, - ce qu'il fallait.

UML Au commencement: Les fonctionnalités

Page 39: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Acteur (l’environnement ou un

type d’entité de l’environnement qui

interagie avec le système étudié)

Cas d’utilisation (une fonctionnalité

particulière réalisée entre le système étudié et un ou plusieurs

acteurs)

39 Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

UML Au commencement: Les fonctionnalités

Page 40: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Cas d’utilisation

1

Cas d’utilisation

7

Cas d’utilisation

6

Cas d’utilisation

5

Cas d’utilisation

4

Cas d’utilisation

3

Cas d’utilisation

2

Système modélisé

Acteur 1

Acteur 3

Acteur 2

Acteur 4

4 acteurs 7 cas d’utilisation

Exemple :

40 Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

UML Au commencement: Le diagramme de cas

d’utilisation

Page 41: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 41

UML Au commencement: Le diagramme de cas

d’utilisation

http://fr.softuses.com/125212

Page 42: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Combien de cas d’utilisation sont nécessaires ? •Dépend de la taille du projet •Dépend du chef de projet

Plusieurs diagrammes de cas d’utilisation par projet •Découpage par acteur •Découpage par type de fonctionnalité •…

42

UML Au commencement: Le diagramme de cas

d’utilisation

Page 43: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

1. On détaille un cas d’utilisation par des séquences d’échanges entre un acteur et le système (tableau, diagrammes UML …).

2. On priorise les cas d’utilisation 3. On modélise le système pour qu’il puisse réaliser les

fonctionnalités vues en 1 (L’interne).

43

UML Et après ?

Page 44: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Quelles parties du système

interviennent pour réaliser le cas

d’utilisation ?

Comment font ces parties pour

réaliser le cas d’utilisation ?

Modéliser la structure du système

(statique)

Modéliser la dynamique du

système

1 cas d’utilisation

44

UML La modélisation du système

Page 45: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 45

UML: La structure

Page 46: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

On ne met pas tout en vrac

La structure du logiciel se décompose en parties (Par modèle, fonction, structure, …)

Décomposition

46

UML Modéliser la structure du système

Page 47: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Décomposition

47

UML Modéliser la structure du système

Une décomposition s’impose

Métier Technique logiciel

Dépend d’une plateforme informatique Évolue rapidement

Plus stable

Page 48: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Décomposition: Diagramme de paquetage

48

UML Modéliser la structure du système

logiciel Paquetage

métier Technique informatique

Dépendance

Page 49: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Décomposition: Diagramme de paquetage

49

UML Modéliser la structure du système

Fermier

Parcelle

Troupeau

Elevage Bovins allaitants

Page 50: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

http://sandiris.free.fr/web/index.php/tag/3d/

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Diagramme de classes (dans des paquetages)

50

UML Modéliser la structure du système

Page 51: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Diagramme de classes (dans des paquetages)

51

UML Modéliser la structure du système

Chromosome

Cytoplasme

Enzyme

EukaryoticCell

Erythrocyte

NeuronCellBody

LipidBilayer

CellBilayer

MitochondrialInnerBilayer

MitochondrialOuterBilayer

LipidDisintegration

Matrix

Membrane

CellMembrane

MitochondrialInnerMembrane

MitochondrialOuterMembrane

MitochondrialDualMembrane

BioEntity Solvent TransportProtein

Nucleus

Mitochondrion

PyuvateTransporter

Solution

Cellular solution

GaseousSolution

Cytosol

ExtraCellularSolution

MatrixSol

MitochondrialIntermembranesol

MitochondrialIntermembraneSpace

(Webb et al. 2005)

Les entités biologiques

Page 52: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

(Drouet et al., 2007) Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Diagramme de classes (dans des paquetages)

52

UML Modéliser la structure du système

Page 53: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Quelles parties du système

interviennent pour réaliser le cas

d’utilisation ?

Comment font ces parties pour

réaliser le cas d’utilisation ?

Modéliser la structure du système

(statique)

Modéliser la dynamique du

système

1 cas d’utilisation

53

UML La modélisation du système

Page 54: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 54

UML: La dynamique

Page 55: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 55

UML Modéliser la dynamique du système

inter objets intra objet

En lien avec le diagramme de classes

Page 56: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 56

UML Modéliser la dynamique du système

Diagramme de séquence

Nom d’un objet Objet

Ligne

de vie

Message

Temps

sd nom

Page 57: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 57

UML Modéliser la dynamique du système

Diagramme de séquence

Objet 1 : Classe 1 Objet 2 : Classe 2 Objet 3 : Classe 1

Un message

Un autre message

sd nom

Une activité Encore un autre

Page 58: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Appelant : Téléphone Échange : central

téléphonique Appelé : Téléphone

Décroche

Tonalité

Numérotation

Indicateur de sonnerie Sonnerie

Décroche

Allo

sd conversation

Arrêt sonnerie

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 58

UML Modéliser la dynamique du système

Diagramme de séquence

Page 59: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 59

UML Modéliser la dynamique du système

Diagramme de séquence: vie et mort

Objet 1

Objet 2

Détruire

Créer

Page 60: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 60

UML Modéliser la dynamique du système

Diagramme de séquence: Itération

Objet 1 Objet 2

message Loop

[Min,Max,Condition]

Fragment

combiné

Page 61: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 61

UML Modéliser la dynamique du système

Diagramme de séquence: Alternative

Objet 1 Objet 2 Objet 3

Un message

Un autre message

[Condition 1]

alt

[Condition 2]

[Else] Encore un autre message

Page 62: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 62

UML Modéliser la dynamique du système

Diagramme de séquence: Optionnel, Référence

Objet 1 Objet 2

message Opt

[Condition]

Ref Autre nom de diagramme

Page 63: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 63

UML Modéliser la dynamique du système

Diagramme de séquence

On ne peut pas mettre toute la dynamique dans un seul diagramme

Scénario

Un cas d’utilisation peut nécessiter plusieurs scénario plus ou moins probables : pannes, aléas …

Page 64: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

sd nom objet1 : classe3 objet2 : classe6 objet5 : classe3

r y f e j t m

objet1 : classe3 objet2 : classe6

objet5 : classe3 comm nom

6: t

1: r

2:y 3:f 4:e 5:j 7:m

64

UML Modéliser la dynamique du système Diagramme de séquence / de communication

Page 65: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 65

UML Modéliser la dynamique du système

inter objets intra objet

En lien avec le diagramme de classes

Page 66: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 66

•L’état d’un objet est défini par un ensemble de valeurs particulières de certains de ses attributs. •Certains objets ne changent pas d’état. Exemple : Feu rouge : attribut = couleur, valeurs = vert, rouge ou orange.

Vert Orange Rouge

état transition

UML Modéliser la dynamique du système

Etats-Transitions: le cycle de vie de l’objet

Page 67: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 67

UML Modéliser la dynamique du système

Etats-Transitions: le cycle de vie de l’objet

Franchir une transition

État 1 Automatique : État 2

État 1 Evénement : État 2 Evénement

État 1 Evénement conditionné :

État 2 Evénement [condition]

Page 68: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 68

UML Modéliser la dynamique du système

Etats-Transitions: le cycle de vie de l’objet

Les stades du papillon

chenille

chrysalide

imago

Etat initial

Etat final

Quels sont les états ? Quelles sont les transitions entre états ? Evénements / Conditions ?

états-transitions

oeuf

Page 69: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 69

UML Modéliser la dynamique du système

Etats-Transitions: le cycle de vie de l’objet

Les activités liées à un état ou à une transition

•Une activité est une série d’actions. •Une action c’est la plus petite unité de traitement

état 1

Entry/ activité 4 Do/ activité 5 Evt/ activité 6 Exit/ activité 8

Evénement[condition] / activité

Page 70: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 70

UML Modéliser la dynamique du système

Etats-Transitions: le cycle de vie de l’objet

Les états composites

(état avec des sous-états)

Les stades du papillon

chenille chrysalide

imago

chrysalide

Imago

Atteint Sain

Page 71: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 71

UML Modéliser la dynamique du système

Etats-Transitions: le cycle de vie de l’objet

Historique

Attente Départ

Course Avant Mur

Saut Mur

Course Avant

Barrière

Saut Barrière

Fin Epreuve

Ordre Départ

Concours

Acceptation Saut

Acceptation Saut

Refus Saut

Refus Saut Attente

Confirmation

Disqualification

Annulation ? Annulation

H

L. Debrauwer et F. Van der Heyde, 2005

Page 72: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 72

UML Modéliser la dynamique du système

Activités

•Une activité est une série d’actions. •Une action c’est la plus petite unité de traitement activité

Alternative

Activité 1

Activité 2 Activité 3

[c1] [c2] Activité 1 Activité 2

Activité 3

Enchaînement de type fourche

Activité 1 Activité 2

Activité 3

Synchronisation

Page 73: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 73

UML Modéliser la dynamique du système

Activités

Déplacement vers le point d’eau Boire

Repos

Déplacement vers aire de couchage Repos

Percevoir végétation Choix de la végétation Déplacement vers la végétation choisie Ingestion Mémorisation spatialisée de la végétation ingérée

[manger et la végétation est satisfaisante ]

[boire ]

[repos court ]

[ repos long ]

Essayer devenir leader

[ Végétation insatisfaisante ]

[ pas leader ]

[ Devient leader ]

Choix d’un site mémoriel de végétation Déplacement vers le site

[ Distance au troupeau, aux voisins ou à un leader insatisfaisantes ]

Déplacement [ Distances correctes ]

Choix activité

Animal seul

[ Fin action ]

Les activités du ruminant au pâturage

Page 74: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 74

UML Exemples de diagrammes

Page 75: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 75

A. Lisec et al. 2008

Page 76: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 76

OSMOSE (Object-oriented Simulator of Marine Ecosystems Exploitation)

Y. J. Shin et P. Curry 2001

Page 77: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 77

Agro pastoral activity at the one-farm level

D. Hervé et al. 2002

Page 78: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 78

Agro pastoral activity at the one-farm level

D. Hervé et al. 2002

Page 79: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 79

GRAAL: a model of GRowth, Architecture and ALlocation

J.L. Drouet et L. Pagès 2003 et 2007

Carbon during the vegetative phase of the whole maize plant

Carbon and Nitrogen dynamics within whole plants formalised at the organ level

Page 80: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Structural validation of an individual-based model for plague epidemics simulation

A. Lisec et al. 2008

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 80

Page 81: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

A multi-agent simulation to assess the risk of malaria re-emergence in southern France

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 81

C. Linard et al. 2009

Page 82: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

A multi-agent simulation to assess

the risk of malaria re-emergence in

southern France

C. Linard et al. 2009

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013 82

Page 83: Unified Modeling Language - projet PLUME · Unified Modeling Language (UML) Notion d’objet. Utilisé pour modéliser les systèmes et pour la programmation Laurent Pérochon, UMR

Laurent Pérochon, UMR METAFORT, ENVOL 2012 à Biarritz du 21/1/2013 au 25/1/2013

Références bibliographiques

•F. Arrignon, M. Deconchat, J.P. Sarthou, G. Balent, C. Monteil. 2007. Modelling the overwintering strategy of a beneficial insect in a heterogeneous landscape using a multi-agent system. Ecological Modelling, 205 pp. 423-436. •J.L. Drouet et L. Pagès . 2003. GRAAL : a model of the Growth, Architecture and carbon Allocation during the vegetative phase of the whole maize plant . Model description and parameterisation. 2003. Ecological Modelling, 165 pp. 147-173. •J.L. Drouet et L. Pagès . 2007. GRALL-CN: A model of the Growth, Architecture and Allocation for the Carbon and Nitrogen dynamics within whole plants formalised at the organ level. Ecological Modelling, 206 pp.231-249. •D. Hervé, D. Genin, J. Migueis. 2002. A Modelling approach for the analysis of agro pastoral activity at the one-farm level. Agricultural Systems, 71 pp. 187-206. •C. Linard, N. Ponçon, D. Fontenille, E. F. Lambin. 2009. A multi-agent simulation to assess the risk of malaria re-emergence in southern France. Ecological Modelling 220, pp. 160-174. •A. Lisec, M. Ferlan, F. Lobnik, R. Sumrada. 2008. Modelling the rural land transaction procedure. Land Use Policy, 25 pp. 208-297. •A.J. Romera, S.T. Morris, J. Hodgson, W.D. Stirling, S.J.R. Woodward.2004. A model for simulating rule-based management of cow-calf systems. Computers and Electronics in Agriculture, 42 pp. 67-86. •Y. J. Shin et P. Curry. 2001. Exploring fish community dynamics through size-dependent trophic interactions using a spatialized individual-based model. Aquat. Living. Resour. 14 pp. 65-80. •K. Webb et T. White. 2005. UML as a cell and biochemistry modeling langage. BioSystems, 80 pp. 283-302.

83

https://www.projet-plume.org/ressource/uml http://idl.pepi.inra.fr/index.php?option=com_content&view=article&id=16:unified-modeling-language-uml&catid=25:uml&Itemid=34