• Aucun résultat trouvé

Cours langage (UML) concepts et modèles – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Cours langage (UML) concepts et modèles – Cours et formation gratuit"

Copied!
55
0
0

Texte intégral

(1)

Laurent PEROCHON

INRA

Centre de Clermont-Ferrand / Theix Unité de Recherche sur les Herbivores

63122 Saint Genès Champanelle laurent.perochon@clermont.inra.fr

Unified Modeling Langage (UML)

Concepts et Modèles

(2)

Introduction Vue d’ensemble

Que doit faire mon logiciel ? La structurelle (vue métier) La dynamique (vue métier)

La conception (vue informatique) Conclusion

Unified Modeling Langage (UML)

Concepts et Modèles

(3)

Introduction

L’Informaticien, le scientifique et l’ordinateur

Le scientifique

Informaticien

Utilisation

Pr og ra m m at io n

(4)

Introduction

L’Informaticien, le scientifique et l’ordinateur

Le scientifique

Informaticien

Pr og ra m m at io n Nouveau logiciel

Transformation Apprendre

Méthodes / Outils / Langage

(5)

Introduction

L’Informaticien, le scientifique et l’ordinateur

Le scientifique

Informaticien

Pr og ra m m at io n Nouveau logiciel

Communiquer Apprendre

à communiquer

(6)

Introduction

dommages engendrés par le vent

Tree positions Tree heights

Wind speed

Tree characteristics Tree diameter

Contact with other trees

Upwind gap size (gapfactor)

Shelter (gustfactor) Turning moment

at stem base Anchorage

strength stem length

Damage to small trees

Uprooting Stem breakage

Additional loading

Trees to remove

Le graphique pour modéliser

(7)

facteurs impliqués dans les performances de la lactation chez la vache laitière

Introduction

Le graphique pour modéliser

(8)

Événements cellulaires possibles induit par le signal

Introduction

Cell with arrested

growth because of DNA damage

( c) Senescent cell with the arrested growth because of telomere

(b) Cell with the damaged DNA (a) Normal cell

Proliferative signals

1) Normal division

MUTATOR RESPONSE 4) Abrogation of cell-cycle arrest and initiation of error-prone division with the emergence of mutant cells

REGULAR RESPONSE TO DNA DAMAGE

2) Normal division after DNA repair 3) Apoptosis Reparable

damage

Irreparable damage

Superposition of irreparable damage and survival signal

Superposition of replicative senescence and survival signal

Le graphique pour modéliser

(9)

Introduction

Formes diverses

•Risque d’incompréhension important

•Outils logiciels très limités

Un seul formalisme ?

Le graphique pour modéliser

(10)

Introduction

Formaliser

(J. Learmount et al. 2006) Modèles à Compartiments

(flux entre compartiments) Unified Modeling Langage (UML)

Communiquer

avec un informaticien

Langage

de l’informaticien

(11)

Introduction

Vue d’ensemble

Que doit faire mon logiciel ?

La structure du logiciel (vue métier)

La dynamique interne au logiciel (vue métier) La conception (vue informatique)

Conclusion

Unified Modeling Langage (UML)

Concepts et Modèles

(12)

Object Management Group (OMG) Regroupe les principaux acteurs

en informatique utilisant l’approche objet

Unified Modeling Langage (UML)

UML 1 (1997)

UML 2 (2005) Vue d’ensemble

UML

XML MOF CORBA

(13)

Diagrammes

(entités + relations)

Entités Relations

(entre entités) Vue d’ensemble

UML

(14)

Classe

- âge

- dors() Personne

Cas d ’utilisation Paquetage

Biologique Gestant État / Activités

Émission CO

2

Vue d’ensemble

Entités

Acteur

Eleveur

(15)

Dépendance

Association

Généralisation/

Spécialisation

Agrégation Alimente >

Vue d’ensemble

Relations

(entre entités)

(16)

13

Vue d’ensemble

Diagrammes

Classes

Cas d’utilisation Séquences

Paquetages

Etats-Transitions

Activités

Représentation graphique

du logiciel

(17)

Introduction Vue d’ensemble

Que doit faire mon logiciel ?

La structure du logiciel (vue métier)

La dynamique interne au logiciel (vue métier) La conception (vue informatique)

Conclusion

Unified Modeling Langage (UML)

Concepts et Modèles

(18)

Que doit faire mon logiciel ?

C’est la question primordiale !

(19)

Que doit faire mon logiciel ?

Quels types d’utilisateurs ?

Chacun de ces types d’utilisateurs va avoir des besoins spécifiques / des utilisations du logiciel différentes

Découpage par fonctions, responsabilités, domaines d’expertise, par équipes … Exemple :

Logiciel Achat : secrétaire, responsable contrat achat, service informatique

Simulateur PARIS : informaticien, expert comportement social, expert ingestion, expert végétation, stagiaires

Un type d’utilisateur UML Un acteur

Type de l’acteur

(20)

Que doit faire mon logiciel ?

Que veut faire chaque acteur ?

Il s’agit ici de définir les fonctionnalités du logiciel pour chacun des acteurs

Exemple :

Logiciel Achat : consulter un prix, passer commande, ajouter un nouveau compte utilisateur, inscrire un nouveau fournisseur

Simulateur PARIS : caractériser les animaux et la végétation initiales, sélectionner les sorties désirées, lancer une simulation

Une fonctionnalité UML Un cas d’utilisation

Nom du cas d’utilisation

(21)

Que doit faire mon logiciel ?

Le diagramme des cas d’utilisation

acteurs + cas d’utilisation

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

Mon logiciel

Acteur 4 Acteur 2

Acteur 3

Acteur 1

(22)

Que doit faire mon logiciel ?

Le diagramme des cas d’utilisation

Exemple : logiciel achat

Consulter Un prix Passer une commande

Inscrire un nouveau fournisseur

Ajouter un nouveau compte utilisateur

Logiciel achat

Responsable contrat achat

Service informatique

Secrétaire

(23)

Que doit faire mon logiciel ?

Détailler chaque cas d’utilisation

Il s’agit ici de décrire les séquences d’interaction entre l’acteur et le logiciel pour réaliser le cas d’utilisation

Passer une commande

Exemple : logiciel achat

4- valide commande

Contrôle code correct 3- saisie code équipe

enregistre 2- saisie quantité

Contrôle code correct et renvoi libellé

1- saisir code article

Logiciel

Secrétaire

(24)

Que doit faire mon logiciel ?

Détailler chaque cas d’utilisation

Passer une commande

Exemple : logiciel achat

Le diagramme des séquences

Logiciel

Envoie code article

contrôle Envoie libellé

Envoie code équipe contrôle

ok

Valide commande

Passer la Secrétaire

4- valide commande

Contrôle code correct 3- saisie code équipe

enregistre 2- saisie quantité

Contrôle code correct et renvoi libellé

1- saisir code article

Logiciel Secrétaire

(25)

Que doit faire mon logiciel ?

Détailler chaque cas d’utilisation

Exemple : logiciel achat

Logiciel Envoie code article

contrôle Envoie libellé

Envoie code équipe

contrôle ok

Valide commande

Passer la commande Secrétaire

Informaticien

Comment ?

(26)

Que doit faire mon logiciel ?

Technique Métier

(27)

Eleveur

Vendre du lait

Vétérinaire

Soigner les vaches

Troupeau de bovins laitiers

Le diagramme des cas d’utilisation

(Le système vu de l’extérieur)

Que doit faire mon logiciel : vue métier

(28)

Comment le réalise t’il ?

Quelles parties du système interviennent pour réaliser le cas

d’utilisation ?

Décrire la structure du système (statique)

Comment font ces parties pour réaliser le cas d’utilisation ?

Décrire la dynamique du système

Que doit faire mon logiciel

1 cas d’utilisation

(29)

Introduction Vue d’ensemble

Que doit faire mon logiciel ?

La structure du logiciel (vue métier)

La dynamique interne au logiciel (vue métier) La conception (vue informatique)

Conclusion

Unified Modeling Langage (UML)

Concepts et Modèles

(30)

La structure du système

Sous Système 1

Les dépendances entre systèmes

<<system>> système entier

Paquetage

<<system>>

sous-système 1

<<system>>

sous-système 3

<<system>>

sous-système 2 Dépendance : le sous-système 1 dépend du sous-système 2

Sous Système 2

Sous Système 3

Sous système 1 Sous système 3

Sous système 2

(31)

La structure du système

<<system>>

Fermier

Parcelle

Troupeau

<<system>> Bovins allaitants

<<system>>

<<system>>

Les dépendances entre systèmes

(32)

La structure du système

Entité de base du système : l’objet

Un objet est unique, il a des caractéristiques et un comportement

Objet 6 Objet 4

Objet 3 Objet 5

Objet 1 Objet 2

(33)

La structure du système

Modéliser les objets

Ils ont des points communs : type de caractéristiques et de fonctions communes

renard 1 : mâle; 7 ans; 1,15 m; croissance; reproduction renard 2 : femelle; 6 ans; 1,02 m; croissance; reproduction

….

Champignon 1 Renard 1

Arbre 3 Arbre 1

Arbre 2 Champignon 2 Renard 2

(34)

La structure du système

Modéliser les objets : la classe

Nom de la classe Caractéristiques

(variables) fonctions

Renard - Sexe

- Âge - Taille

- Croissance Renard

Forme détaillée Forme simplifiée

renard 1 : mâle, 7 ans, 1,15 m; croissance, reproduction renard 2 : femelle, 6 ans; 1,02 m ; croissance, reproduction

….

Objet 1

Objet 2

Objet 4

(35)

Classe A Nom association>

Classe B La structure du système

Les relations entre classes : les associations

Classe A Classe B

Rôle A

Rôle B

(36)

Lapin mange>

Salade La structure du système

Les associations

Risque engendre> Accident

(37)

Généralisation / Spécialisation La structure du système

Les associations particulières

Classe plus générale Classe plus spécialisée

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

(38)

Agrégation / composition La structure du système

Les associations particulières

agrégat partie composition partie

(39)

(Force et al., 2002)

La structure du système

Exemple complet

(40)

Introduction Vue d’ensemble

Que doit faire mon logiciel ?

La structure du logiciel (vue métier)

La dynamique interne au logiciel (vue métier)

La conception (vue informatique) Conclusion

Unified Modeling Langage (UML)

Concepts et Modèles

(41)

La dynamique interne du système

inter objets intra objet

(42)

La dynamique interne du système

Inter objets

On ne montre pas la dynamique complète du système, mais on détaille par sous-fonction / scénario

Séquences d’échanges (Temps)

Diagramme de

séquences

(43)

(Webb et al. 2005)

La dynamique interne du système

Diagramme de séquence

Echange entre objets actifs (AO) et petites molécules

SM AO SM AO AO AO

/extraCellula Solution

/cellBilayer /cytosol /enzyme 1 /enzyme n /mitochondrial OuterBilayer

SubstrateRequ

SubstrateRequ SubstrateRequ

SubstrateReq SubstrateRequ

SubstrateLev

SubstrateLev

SubstrateLev SubstrateLev

SubstrateLev

SubstrateLevel

(44)

La dynamique interne du système

Boucle, alternative …

Nom de la séquence

objet1 : classe3 objet2 : classe6 objet5 : classe3

Message 1

Message 4 Message 5 Message 6

loop min, max

Message 7 Message 8

Message 9

alt [condition 1]

[condition 2]

(45)

La dynamique interne du système

intra objet

Changement d’états

Diagramme

D’états-transitions

Ce que fait l’objet

Diagramme d’

activités

(46)

La dynamique interne du système

Diagramme d’états-transitions

Les stades du papillon

chenille

chrysalide

papillon

Etat initial

Etat final Transition

Etat

Quels sont les états ?

Quelles sont les transitions entre états ?

(47)

(Webb 2005) Initialize

Waiting

Active timeCourse

Substrate level

La dynamique interne du système

Diagramme d’états-transitions

Le comportement de l’enzyme

(48)

La dynamique interne du système

Diagramme d’activités

activité

Activité : enchaînement plus ou moins complexes d’actions

Activité 1 Activité 2

Activité 3

L’activité 3 ne commencera que lorsque les activités 1 et 2 seront finies

Alternative

(49)

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 ]

La dynamique interne du système

Diagramme d’activités

Les activités du ruminant au pâturage

(50)

Introduction Vue d’ensemble

Que doit faire mon logiciel ?

La structure du logiciel (vue métier)

La dynamique interne au logiciel (vue métier)

La conception (vue informatique)

Conclusion

Unified Modeling Langage (UML)

Concepts et Modèles

(51)

ftp://ftp-developpez.com/laurent-audibert/Cours-UML/pdf/Cours-UML.pdf

La conception

(52)

La conception: le diagramme de composants

(53)

La conception: le diagramme de déploiement

(54)

Conclusion / discussion

•Aide à l’analyse métier et informatique

•Aide à la communication : entre experts biologistes, entre biologistes et informaticiens, dans un article, un colloque

•Aide à la programmation : la structure et les spécifications du programme sont faites.

•De nombreux outils existent

•Maintenant largement répandu et enseigné en école informatique

(55)

Références bibliographiques

•J. Bryant, N. López-Villalobos, C. Holmes, J. Pryce. Simulation modelling of dairy cattle performance based on knowledge of genotype, environment and genotype by environment interactions:current status. Agricultural Systems.

V. 86, pp. 121–143.2005.

•J.L. Drouet, L. Pagès. GRAAL-CN: A model of GRowth, Architecture and Allocation for Carbon and Nitrogen dynamics within whole plants formalised at the organ level. Ecological Modelling. V. 206, pp. 231–249. 2007.

•C. Force, L. Perochon, D.R.C. Hill. Design of a multimodel of a dairy cows herd attacked by mastitis. Simulation Modelling Practice and Theory. V. 10, pp. 543–554. 2002.

•T. V. Karpinets, B. D. Foy. Model of the developing tumorigenic phenotype in mammalian cells and the roles of sustained stress and replicative senescence. Journal of Theoretical Biology. V. 227, pp. 253–264. 2004.

•J. Learmount, M.A. Taylor, G. Smith, C. Morgan. A computer model to simulate control of parasitic gastroenteritis in sheep on UK farms. Veterinary Parasitology. V. 142, pp. 312–329. 2006.

•N. El Saadi, A. Bah. An individual-based model for studying the aggregation behavior in phytoplankton. Ecological Modelling. V. 204, pp. 193–212. 2007.

•M.J. Schelhaasa, K. Kramera, H. Peltola, D.C. van der Werf, S.M.J. Wijdevena. Introducing tree interactions in wind damage simulation. Ecological Modelling. V. 207, pp. 197–209. 2007.

•L. Pérochon, P. Carrère, R. Baumont, B. Dumont, C. Mazel, C. Force, D.R.C. Hill, P. D’Hour, F. Louault, S. Prache, J.F. Soussana, M. Petit. Design of a spatial multi-agent model of a perennial grassland ecosystem grazed by a herd of ruminants. ESS01. 13th european simulation symposium. Simulation in industry. SCS, pp. 509-513. 2001.

•K. Webb, T. White. UML as a cell and biochemistry modeling language. BioSystems. V. 80, pp.283–302. 2005.

•Y. Xiao, D. Clancy, N.P. French, R.G. Bowers. A semi-stochastic model for Salmonella infection in a multi-group herd.

Mathematical. Biosciences. V. 200, pp. 214–233. 2006.

Biologie

UML

•L. Debrauwer et F. V. der Heyde. UML2. Initiation, exemples et exercices corrigés. Ed. ENI. Coll. Informatique Technique. 274 p. 2005

•M. Roux-Rouquié, N. Caritey, L. Gaubert et C. Rosenthal-Sabroux. Using the Unified Modelling Language (UML) to guide the systemic description of biological processes and systems. 2004. BioSystems. V. 75, pp. 3–14. 2004.

•J. Rumbaugh, I. Jacobson, G. Booch. UML 2.0 Guide de référence. Campus Press. 774 p. 2004.

Références

Documents relatifs

– Description des activités d’un cas d’utilisation ou d’une opération – Diagramme de type : état-action. – Exécution d’activités différentes selon le résultat

– Diagramme d'état généralisant pour chaque classe ayant Diagramme d'état généralisant pour chaque classe ayant un comportement réactif aux événements les scénarios et

Bien au contraire, l'utilité d'UML étant de vous permettre de réfléchir à votre application avant de vous lancer dans sa réalisation, il faut prendre (et non &#34;perdre&#34;)

A use case use case is a kind of classifier representing a coherent is a kind of classifier representing a coherent unit of functionality provided by a system, a subsystem,

  Pour chaque scénario d’ Pour chaque scénario d ’un cas d un cas d’ ’ utilisation, détailler sur un exemple (en utilisant utilisation, détailler sur un exemple

UML est une notation, pas une méthode UML est une notation, pas une méthode UML est un langage de modélisation objet UML est un langage de modélisation objet UML convient pour

En effet, ce n’est pas un diagramme de collaboration, mais la modélisation d’une collaboration dans les diagrammes de classe. Cela permet de représenter quelles classes travaillent

Dans cette étape, on cherche à détailler la description des besoins par la description textuelle des cas d'utilisation et la production de diagrammes de séquence système