Vous êtes sur la page 1sur 55

Unified Modeling Langage (UML) Concepts et Modles

Laurent PEROCHON
INRA Centre de Clermont-Ferrand / Theix Unit de Recherche sur les Herbivores 63122 Saint Gens Champanelle laurent.perochon@clermont.inra.fr

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Unified Modeling Langage (UML) Concepts et Modles


Introduction Vue densemble Que doit faire mon logiciel ? La structurelle (vue mtier) La dynamique (vue mtier) La conception (vue informatique) Conclusion
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

LInformaticien, le scientifique et lordinateur

Utilisation

Le scientifique

o Pr

o a ti m m a gr

Informaticien
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

LInformaticien, le scientifique et lordinateur


Nouveau logiciel

Le scientifique Transformation

Apprendre Mthodes / Outils / Langage


o a ti m m a gr n

o Pr

Informaticien
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

LInformaticien, le scientifique et lordinateur


Nouveau logiciel

Le scientifique Communiquer

Apprendre communiquer
o a ti m m a gr n

o Pr

Informaticien
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

Le graphique pour modliser


dommages engendrs par le vent
Damage to small trees

Tree positions Tree heights

Contact with other trees Upwind gap size (gapfactor) Shelter (gustfactor) Turning moment at stem base Uprooting Stem breakage

Trees to remove

Wind speed

Additional loading

Tree characteristics Tree diameter

Anchorage strength stem length

(M.J. Schelhaas et al. 2007)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

facteurs impliqus dans les performances de la lactation chez la vache laitire

Le graphique pour modliser

(J. Bryant et al. 2005)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

Le graphique pour modliser


Proliferative signals 1) Normal division REGULAR RESPONSE TO DNA DAMAGE 2) Normal division after DNA repair 3) Apoptosis MUTATOR RESPONSE 4) Abrogation of cell-cycle arrest and initiation of error-prone division with the emergence of mutant cells

vnements cellulaires possibles induit par le signal


(a) Normal cell

Reparable damage Irreparable damage

(b) Cell with the damaged DNA Cell with arrested growth because of DNA damage ( c) Senescent cell with the arrested growth because of telomere shortening

Superposition of irreparable damage and survival signal Superposition of replicative senescence and survival signal

(T.V. Karpinets et al. 2007)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

Le graphique pour modliser

Formes diverses
Un seul formalisme ?

Risque dincomprhension important Outils logiciels trs limits


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Introduction

Formaliser

Modles Compartiments (flux entre compartiments)

Unified Modeling Langage (UML)

Communiquer avec un informaticien

Langage de linformaticien
(J. Learmount et al. 2006)
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Unified Modeling Langage (UML) Concepts et Modles


Introduction

Vue densemble
Que doit faire mon logiciel ? La structure du logiciel (vue mtier) La dynamique interne au logiciel (vue mtier) La conception (vue informatique) Conclusion
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Vue densemble

UML

Object Management Group (OMG) Regroupe les principaux acteurs en informatique utilisant lapproche objet

Unified Modeling Langage (UML) UML 1 (1997)

XML MOF CORBA

UML 2 (2005)
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Vue densemble

UML

Entits

Relations (entre entits)

Diagrammes (entits + relations)

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Vue densemble

Entits

Classe Personne - ge - dors() Acteur Cas d utilisation mission CO2 Eleveur

tat / Activits Gestant

Paquetage Biologique

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Vue densemble

Relations (entre entits)


Gnralisation/ Spcialisation

Dpendance

Association Alimente >

Agrgation

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Vue densemble

Diagrammes

Classes Cas dutilisation Activits

Etats-Transitions

13

Squences Paquetages

Reprsentation graphique du logiciel


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Unified Modeling Langage (UML) Concepts et Modles


Introduction Vue densemble

Que doit faire mon logiciel ?


La structure du logiciel (vue mtier) La dynamique interne au logiciel (vue mtier) La conception (vue informatique) Conclusion
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ?

Cest la question primordiale !

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ?

Quels types dutilisateurs ?

Chacun de ces types dutilisateurs va avoir des besoins spcifiques / des utilisations du logiciel diffrentes
Dcoupage par fonctions, responsabilits, domaines dexpertise, par quipes Exemple : Logiciel Achat : secrtaire, responsable contrat achat, service informatique Simulateur PARIS : informaticien, expert comportement social, expert ingestion, expert vgtation, stagiaires

Un type dutilisateur

UML

Un acteur

Type de lacteur
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ?

Que veut faire chaque acteur ?

Il sagit ici de dfinir les fonctionnalits 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 : caractriser les animaux et la vgtation initiales, slectionner les sorties dsires, lancer une simulation

Une fonctionnalit

UML

Un cas dutilisation

Nom du cas dutilisation

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ? acteurs + cas dutilisation

Le diagramme des cas dutilisation


Mon logiciel
Cas dutilisation 1 Cas dutilisation 7 Cas dutilisation 4

Acteur 1

Acteur 2

Cas dutilisation 6 Cas dutilisation 3 Cas dutilisation 5 Cas dutilisation 2

Acteur 4

Acteur 3

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ? Exemple : logiciel achat

Le diagramme des cas dutilisation


Logiciel achat
Consulter Un prix Inscrire un nouveau fournisseur

Secrtaire

Passer une commande

Responsable contrat achat

Ajouter un nouveau compte utilisateur

Service informatique

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ?

Dtailler chaque cas dutilisation

Il sagit ici de dcrire les squences dinteraction entre lacteur et le logiciel pour raliser le cas dutilisation Exemple : logiciel achat
Passer une commande

Secrtaire 1- saisir code article 2- saisie quantit 3- saisie code quipe 4- valide commande

Logiciel Contrle code correct et renvoi libell enregistre Contrle code correct

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ?

Dtailler chaque cas dutilisation Le diagramme des squences


Secrtaire 1- saisir code article 2- saisie quantit Logiciel Contrle code correct et renvoi libell enregistre Contrle code correct

Exemple : logiciel achat


Passer une commande

3- saisie code quipe 4- valide commande

Secrtaire Envoie code article Envoie libell Envoie code quipe ok Valide commande

Logiciel
contrle

contrle

Passer la commande
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ? Exemple : logiciel achat

Dtailler chaque cas dutilisation

Comment ?
Secrtaire Envoie code article Logiciel contrle Envoie libell Envoie code quipe contrle ok Valide commande Passer la commande

Informaticien

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel ?

Technique

Mtier

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel : vue mtier

Le diagramme des cas dutilisation


(Le systme vu de lextrieur)

Troupeau de bovins laitiers Vendre du lait

Eleveur

Vtrinaire

Soigner les vaches

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Que doit faire mon logiciel

Comment le ralise til ?

Quelles parties du systme interviennent pour raliser le cas dutilisation ?

Comment font ces parties pour raliser le cas dutilisation ?

1 cas dutilisation

Dcrire la structure du systme (statique)

Dcrire la dynamique du systme

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Unified Modeling Langage (UML) Concepts et Modles


Introduction Vue densemble Que doit faire mon logiciel ?

La structure du logiciel (vue mtier)


La dynamique interne au logiciel (vue mtier) La conception (vue informatique) Conclusion
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Les dpendances entre systmes


Sous Systme 2 Sous systme 2 Sous Systme 1 Sous systme 1 Sous Sous systme 3 Systme 3
Paquetage

<<system>> systme entier Dpendance : le sous-systme 1 dpend du sous-systme 2


<<system>>

sous-systme 1

<<system>>

sous-systme 2

<<system>>

sous-systme 3
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Les dpendances entre systmes

<<system>> Bovins allaitants


<<system>> <<system>>

Fermier
<<system>>

Troupeau

Parcelle

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Entit de base du systme : lobjet


Objet 5

Objet 1 Objet 4 Objet 6

Objet 2 Objet 3

Un objet est unique, il a des caractristiques et un comportement

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Modliser les objets


Arbre 1

Arbre 2 Renard 1 Champignon 1

Champignon 2

Renard 2 Arbre 3

Ils ont des points communs : type de caractristiques et de fonctions communes


renard 1 : mle; 7 ans; 1,15 m; croissance; reproduction renard 2 : femelle; 6 ans; 1,02 m; croissance; reproduction .

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Modliser les objets : la classe


Nom de la classe Caractristiques (variables) fonctions

Objet 1 Objet 2 Objet 4

renard 1 : mle, 7 ans, 1,15 m; croissance, reproduction renard 2 : femelle, 6 ans; 1,02 m ; croissance, reproduction . Forme dtaille Renard Forme simplifie - Sexe Renard - ge - Taille - Croissance - Reproduction
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Les relations entre classes : les associations

Classe A

Nom association>

Classe B

Classe A Rle A

Rle B

Classe B

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Les associations

Lapin

mange>

Salade

Risque

engendre>

Accident

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Les associations particulires


Gnralisation / Spcialisation
Les entits biologiques Classe plus spcialise

Classe plus gnrale

Chromosome Cytoplasme Enzyme EukaryoticCell Erythrocyte NeuronCellBody CellBilayer MitochondrialInnerBilayer MitochondrialOuterBilayer LipidBilayer CellMembrane

BioEntity

Solvent

TransportProtein
PyuvateTransporter

Nucleus Matrix LipidDisintegration Membrane Mitochondrion Cellular solution

Solution

GaseousSolution Cytosol ExtraCellularSolution MitochondrialOuterMembrane MitochondrialDualMembrane MitochondrialIntermembraneSpace MitochondrialIntermembranesol MatrixSol

MitochondrialInnerMembrane

(Webb et al. 2005)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Les associations particulires


Agrgation / composition
partie composition partie

agrgat

(Drouet et al., 2007)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La structure du systme

Exemple complet

(Force et al., 2002)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Unified Modeling Langage (UML) Concepts et Modles


Introduction Vue densemble Que doit faire mon logiciel ? La structure du logiciel (vue mtier)

La dynamique interne au logiciel (vue mtier)


La conception (vue informatique) Conclusion
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme

inter objets

intra objet

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme

Inter objets
On ne montre pas la dynamique complte du systme, mais on dtaille par sous-fonction / scnario Squences dchanges (Temps)

Diagramme de squences
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme

Diagramme de squence
SM
/enzyme 1

Echange entre objets actifs (AO) et petites molcules


/cellBilayer /cytosol /extraCellula Solution SubstrateRequ SubstrateReq SubstrateLev SubstrateLev

SM

AO

AO

/enzyme n

AO

/mitochondrial OuterBilayer SubstrateRequ SubstrateLev

AO

SubstrateRequ SubstrateLevel

SubstrateRequ SubstrateLev SubstrateLev

(Webb et al. 2005)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme


Nom de la squence objet1 : classe3
Message 1

Boucle, alternative
objet2 : classe6 objet5 : classe3

loop min, max


Message 6

Message 4 Message 5

alt

[condition 1]

Message 7 Message 8

[condition 2]

Message 9

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme

intra objet

Changement dtats

Ce que fait lobjet

Diagramme Dtats-transitions

Diagramme d activits

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme


Les stades du papillon

Diagramme dtats-transitions
Etat initial chenille Transition Etat papillon

chrysalide

Quels sont les tats ? Quelles sont les transitions entre tats ?

Etat final

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme

Diagramme dtats-transitions
Le comportement de lenzyme Initialize Waiting

Substrate level

timeCourse

Active

(Webb 2005)

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme

Diagramme dactivits

Activit : enchanement plus ou moins complexes dactions

activit Activit 1 Activit 2 Lactivit 3 ne commencera que lorsque les activits 1 et 2 seront finies Activit 3

Alternative

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La dynamique interne du systme


Animal seul [ Fin action ] Dplacement vers aire de couchage Repos Repos Dplacement vers le point deau Boire

Les activits du ruminant au pturage


Choix dun site mmoriel de vgtation Dplacement vers le site [ Devient leader ] Percevoir vgtation Choix de la vgtation Dplacement vers la vgtation choisie Ingestion Mmorisation spatialise de la vgtation ingre [ pas leader ] Essayer devenir leader [ Vgtation insatisfaisante ]

Diagramme dactivits

[ repos long ]

Choix activit

[repos court ]

[boire ]

[manger et la vgtation est satisfaisante ] [ Distance au troupeau, aux voisins ou un leader insatisfaisantes ]

[ Distances correctes ]

Dplacement

(Prochon et al. 2001)


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Unified Modeling Langage (UML) Concepts et Modles


Introduction Vue densemble Que doit faire mon logiciel ? La structure du logiciel (vue mtier) La dynamique interne au logiciel (vue mtier)

La conception (vue informatique)


Conclusion
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La conception

ftp://ftp-developpez.com/laurent-audibert/Cours-UML/pdf/Cours-UML.pdf
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La conception: le diagramme de composants

http://uml.free.fr/cours/i-p17.html
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

La conception: le diagramme de dploiement

http://uml.free.fr/cours/i-p17.html
Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Conclusion / discussion Aide lanalyse mtier et informatique Aide la communication : entre experts biologistes, entre biologistes et informaticiens, dans un article, un colloque Aide la programmation : la structure et les spcifications du programme sont faites.

De nombreux outils existent Maintenant largement rpandu et enseign en cole informatique


Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008

Rfrences bibliographiques
Biologie
J. Bryant, N. Lpez-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. 121143.2005. J.L. Drouet, L. Pags. 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. 231249. 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. 543554. 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. 253264. 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. 312329. 2006. N. El Saadi, A. Bah. An individual-based model for studying the aggregation behavior in phytoplankton. Ecological Modelling. V. 204, pp. 193212. 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. 197209. 2007. L. Prochon, P. Carrre, R. Baumont, B. Dumont, C. Mazel, C. Force, D.R.C. Hill, P. DHour, 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.283302. 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. 214233. 2006.

UML
L. Debrauwer et F. V. der Heyde. UML2. Initiation, exemples et exercices corrigs. 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. 314. 2004. J. Rumbaugh, I. Jacobson, G. Booch. UML 2.0 Guide de rfrence. Campus Press. 774 p. 2004. Sur le site internet www.modelia.org suivre les liens Fiches techniques, puis UML.

Laurent Prochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008