CM uml-intro

Click here to load reader

  • date post

    24-May-2015
  • Category

    Education

  • view

    1.901
  • download

    1

Embed Size (px)

Transcript of CM uml-intro

  • 1. UML UnifiedModelingLanguage1/4 : introduction
    Yannick Pri
    Dpartement Informatique Facult des Sciences et Technologies
    Universit Claude Bernard Lyon 1
    2011-2012

2. UML ?
Analyse contexte / situation pour prparer la POO
mthode de modlisation des donnees. Mthode o l'on va reprsenter les actions, les utilisateurs, les besoins, les donnes et dfinir les interactions entre.
ensemble de mthodes ayant pour objectif la modlisation de SI.
permet de modliser un problme. Il est ainsi plus facile, aprsmodlisation, de rentrer dans la partie programmation d'un projet.
sert dlimiter, comprendre un projet informatique. Il est le pont entre l'nonciation des besoins utilisateurs et le SI crer.
L destin modliser des SI, des vnements, des traitements, des processus entre acteurs
systme de modlisation de donnes. Sert reprsenter un SI et rendre ce SI comprhensible par tous.
permet de reprsenter un systme informatique en fonction des besoins d'un client. Langage conu pour tre compris par tous !
faon de reprsenter les donnes sous forme de schmas de diffrents types afin de mieux comprendre le problme.
mthode de modlisation, permet de modliser un problme. Utile pour l'analyse du problme. Permet de trouver une solution adapte.
outil de modlisation des concepts de l'OO sous forme de graphe, montre les classes et leurs relations
Sondage sept 09
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
3. UML ?
mthode d'analyse qui comprend diffrents schmas. Permet de spcifier les objectifs, les processus, les acteurs, du projet
Langage pour modliser un modle OO destin tre cod (classes + relations)
Mthode de modlisation qui permet de dfinir les diffrents cas d'utilisation, les diffrentes classes et leurs interactions
permet de modliser de plusieurs manires un SI et les interactions qu'il engendre. Propose des diagrammes qui permettent d'avoir une vision schmatique de ce que devra faire le SI et son fonctionnement
dcrit un SI industriel, form de diffrentes parties qui dcrivent le SI sous des angles diffrents
langage de modlisation, permet de modliser un ensemble de classes ou de dcrire le fonctionnement global d'un cas prcis. Etape indispensable la POO
permet de modliser les besoins de manire claire et prcise. On utilise pour cela les diagrammes de classes, seq.
reprsentation graphique du futur programme qui va tre dvelopp, utile pour le travail en quipe, permet aussi d'expliquer un programme une personne n'ayant aucune connaissance en informatique
permet de schmatiser le fonctionnement voulu pour notre systme en utilisant une notation standardise et comprhensible pour un informaticien
Sondage sept 09
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
4. UML ?
permet de modliser un projet en partant des besoins utilisateur jusqu' la ralisation du projet
notation qui sert modliser une situation
normalisation qui permet de dcrire la structure des classes et leur implmentation ainsi que les interactions ... permet de raliser sur le papier des systmes comprhensibles par tous
mthode d'analyse objet permettant de modliser, de reprsenter par le biais de diagrammes (acteurs, CU, seq...) ce qui doit tre couvert par le primtre de l'application
langage de modlisation unifi pour reprsenter un SI travers les objets qui le composent
langage souvent vu comme une mthode. comporte 14 diagrammes.
mthode de reprsentation de la POO qui permet de visualiser la structure de classe et les liens qui les unissent, permet donc de reprsenter le SI
permet de modliser, par le biais de diffrents diagrammes les besoins des utilisateurs. Permet aussi de modliser de manire concise le SI qui sera ncessaire pour rpondre aux besoins des utilisateurs (diag classes)
langage de modlisation, permet de dcrire la structure, le fonctionnement et l'organisation d'un programme de manire comprhensible
reprsentation du projet. Sert visualiser l'ensemble du projet de faon schmatique.
mthode pour schmatiser les besoins sous forme graphique
Sondage sept 09
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
5. UML ?
Sondage sept 09
le modle UML permet permet la comprhension du systme par l'ensemble des acteurs / clients oudveloppeurs
ensemble de mthodes et de diagrammes qui permettent de modliser de manire prcise un problme informatique
mthode de modlisation qui sert reprsenter un SI en en dcrivant toutes les fonctionnalits l'aide de plusieurs diagrammes
mthodologie permettant de concevoir un outil
bonne ide la base, mais normes officielles tellement strictes et complexes que peu de monde les connat rellementet qu'il ne doit pas y avoir deux personnes qui les appliquent de la mme faon
outil de modlisation pour la POO. Normes strictes. On peut facilement comprendre les classes crer et les interactions entre les classes.
mthode permettant de reprsenter une application sous une forme simple et comprhensible par tous. Elle permet de crer un base pour la modlisation du prolme.
langage permettant de modliser diffrentes choses comme des CU, des scnarii, des classes. Permet d'avoir une vision globale sur un projet.
mthode d'analyse qui permet de schmatiser les besoins de l'utilisateur et le fonctionnement d'un SI pour en tirer la structure des classes objet mettre en place, ainsi que les interactions entre celles-ci. UML fait donc le lien entre la demande initiale et le dveloppement proprement parler.
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
6. Objectifs de ce cours
Pourquoi UML ?
Petite histoire dUML
Principes gnraux
Quelques diagrammes
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
7. UML en un transparent
UML = UnifiedModellingLanguage
Unification
de nombreux langages de modlisation graphique OO des annes 1990,
de diagrammes et de principes de modlisation succs
Dfini par lOMG (Object Management Group)
Un mtamodle et divers diagrammes dont
diagrammes de classes
diagrammes de squences
Utilis pour concevoir, comprendre, changer, propos de systmes dinformation
UML nest pas une mthode
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
8. Plan
Histoire dUML
Diagrammes et modlisation
Gnralits sur les diagrammes
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
9. Un foisonnement de mthodes
Fin 80 / dbut 90
orientation de plus en plus marque vers lobjet
Consquence naturelle, mise en place de mthodes
OOD : Object Oriented Design (Booch, 1991)
HOOD : Hierarchical Object Oriented Design (Delatte et al., 1993)
OOA : Object Oriented Analysis (Schlaer, Mellor, 1992)
OOA/OOD : (Coad, Yourdon, 1991)
OMT : Object Modeling Technique (Rumbaugh, 1991)
OOSE : Object Oriented Software Engineering (Jacobson, 1992)
OOM : Object Oriented Merise (Bouzeghoub, Rochfeld, 1993)
Fusion (Coleman et al., 1994)
Bilan
de nombreuses mthodes (>50)
ayant des avantages et des inconvnients
des concepts assez proches, des notations diffrentes
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
10. Vers une unification
1994
tentative de normalisation de lOMG, sans effet
Rumbaugh (OMT) rejoint Booch (OOD) chez Rational Software
objectif : crer une mthode en commun (mthode unifie)
1995
prsentation de la version 0.8 de la mthode
arrive de Jacobson (OOSE) chez Rational
1996
implication de lOMG (sous pression des industriels pour favoriser linteroprabilit des modles)
langage unifi UML 0.9 (Unified Modeling Language),
1997
UML 1.0 sort chez Rational
UML 1.1 adopt par lOMG comme standard officiel
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
11. Evolutions dUML
1997-2003
adoption par les entreprises
UML 1.1 UML1.5 : modifications/amliorations
2005
UML 2.0
quelques nouveaux diagrammes
changements importants au niveau du mta-modle, pour permettre dutiliser UML pour la programmation
2007
UML 2.1.1
suivre
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
12. UnifiedModelingLanguage
Combinaison de principes succs
modlisation de donnes (E/A), de lactivit, objet, en composants
Objectif
visualiser / spcifier / construire / documenter les artefacts de la conception dune application
La norme elle-mme
mta-modle et familles de diagrammes
Utilisation
pas de mthode prconise
pas de spcification technologique
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
13. Plan
Histoire dUML
Diagrammes et modlisation
Gnralits sur les diagrammes
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
14. Modles, vue et diagrammes UML
Modle
abstraction dun systme, compose dun ensemble dlments de modle
ce qui est construit par et ce qui est peru au travers des diagrammes (par le concepteur, le lecteur)
Vue
projection dun modlesuivantune perspective qui omet les lments non pertinents pour cette perspective. Elle se manifestedans des diagrammes
ex. : vuestatique, vuefonctionnelle
Diagramme
prsentationgraphiquedlments de visualisation reprsentantdes lments de modle (graphe)
ex. : diagramme de classes, de squences
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
15. Exemples de diagrammes
(Larman 2005)
diagramme de classe, vue statique
Modle
diagramme de squences,
vue dynamique
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
16. Elments de modlisation, de visualisation et smantique
Que signifie ce diagramme ?
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
suit: Cours
Etudiant
17. Elments de modlisation, de visualisation et smantique
Elmentsde visualisation
utiliss dans les diagrammes visuels
Elments de modlisation
forment le modle lui-mme
Syntaxe de UML :
comment composer les lments de modlisation dans les diagrammes
Smantique de UML
ce quils signifient en termes objets
une classe peut avoir des instances
une instance a des attributs
une instance peut tre valeur dattribut
etc.
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
18. Elments de modlisation, de visualisation et smantique
Elments de visualisation
un conteneur compos de trois parties
le texte Etudiant dans la partie du haut,
le texte suit : Cours dans la partie mdiane
Elments de modlisation
classes Etudiant, Cours
attribut suit associ la classe Cours
la classe Etudiant peut avoir dautres attributs
etc.
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
suit: Cours
Etudiant
19. Objectifs dUML (1997)
Montrer les limites dun systme et ses fonctions principales (pour les utilisateurs) laide des cas dutilisation et des acteurs
Illustrer les ralisations de CU laide de diagrammes dinteraction
Modliser la structure statique dun systme laide de diagrammes de classes, associations, contraintes
Modliser la dynamique, le comportement des objets laide de diagrammes de machines dtats
Rvler limplantation physique de larchitecture avec des diagrammes de composants et de dploiement
Possibilit dtendre les fonctionnalits du langage avec des strotypes
Un langage utilisable par lhomme et la machine : permettre la gnration automatique de code, et la rtro-ingnierie
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
20. Panorama des diagrammes
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
Diagrammes de
classes / dobjets
Diagrammes de
cas dutilisation
Diagrammes de
squences
Diagrammes de
communication
Diagrammes
dactivits
Diagrammes de
composants
Diagrammes de
dploiement
Diagrammes de
packages
Diagrammes de
timing
Diagrammes de machines dtats
Diagrammes de
structure composite
Diagrammes de
vue densemble des interactions
Systme
Statique
Interactions
Fonctionnel
Structure
Comportement
Implantation
Structure
Dynamique
21. 3 modes dutilisation dUML
Esquisse
conception / communication
incompltude
Plan
exhaustivit
outils bidirectionnels
Programmation
model Driven Architecture / UML excutable
implantation automatique
raliste ?
(Fowler/Mellor)
Focus sur
les diagrammes
Focus sur
le mta-modle
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
22. Conception et UML
Diffrentes faons de voir UML : diffrentes faons de penser
la conception
lobjectif et lefficacit d'un processus de gnie logiciel
donc
essayer de comprendre le point de vue de lauteur pour chaque publication / site sur UML
UML nest pas une mthode
mais des principes de conception oriente objet sont sous-jacents
aux diagrammes
aux faons de les prsenter
donc
difficile de prsenter uniquement les diagrammes
on parlera aussi de mthode, de bonnes pratiques
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
23. Gnralits sur les mthodes OO
Grandes caractristiques
itratives (vs cascade)
analyse et conception tout au long du projet, pas seulement au dbut
centres sur les cas dutilisation
besoins rels
centres sur larchitecture
Dcoupage dun projet en activits
besoins : comprendre dans quoi sinsre le systme et ce quil doit faire
analyse : fonctionnement du systme hau niveau
conception : fonctionnement logiciel
ralisation : codage
tests, dploiement
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
24. propos de ces cours
Prsentation de UML 2, quelques points de UML 1
faites attention la syntaxe quand vous rencontrez un diagramme
Prsentation = synthse de nombreuses lectures
mixte syntaxe et utilisation
synthse personnelle des bonnes pratiques prsentes
PrsentationdUML non exhaustive
cecourscontient beaucoup de chosesutiles
pour plus de prcisions : livres de rfrence
pour la description exacte (syntaxe et smantique) : http://www.omg.org/uml
UML et le web
beaucoup de sites web parlent dUML
on trouve du bon et du moins bon
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
25. UML et la rgle
Deux types de rgles pour lutilisationdUML
normatives
comment ilfaut faire, comitdexperts : normes
descriptives
comment les gens font, usages, modes : conventions danslutilisation
peuventtre en contradiction avec la norme (surtout pour UML2)
Rgles
utiliser le sous-ensemble dUML qui vousconvient
droit de supprimernimportequellment dun diagramme
droitdutilisernimportequellment dun diagrammedans un autre
ce qui compte pour les auteursdUML, cest le mta-modle, pas les diagrammes
libert de dessinercequelonveut
surtout en mode esquisse, surpapierou au tableau
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
26. Plan
Histoire dUML
Diagrammes et modlisation
Gnralits sur les diagrammes UML
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
27. Mots-cls (classifiers)
Mots-cls
pour regrouper en familles des lmentssimilaires dun modle pour ne pas multiplier les symbolesdiffrentsdans les diagrammes
Ornementstextuels
associs des lments du modle
certainsmots-clsontprdfinis par UML
Notation
mot-cl
ex. abstract interface vrifier
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
28. Strotypes
Permet dtendre le vocabulaire UML en drivant des nouveaux lments partir dlments existants
par ajout de valeur tiquetes (nom=valeur)
Notation : strotype
Certains sont prdfinis par UML
Eg. constructor getter entity boundary control
Possibilit dassocier une icne
forme visuelle dtermine
ex. : pour control
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
29. Contraintes
Relation smantique quelconque
concernant un ou plusieurs lments du modle
dfinissant des propositions devant tre maintenues Vrai pour garantir la validit du systme modlis
Notation : {contrainte}
contenu formel ou informel
ct des lments concerns
ex. {frozen}, {jamais dtruit !}, {x - y < 10}
Certaines sont prdfinies
ex. xor, ordered
Dautres cres par lutilisateur
langue, pseudo-code, OCL
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
30. Commentaires
Commentaire
annotation quelconque associe un lment du modle
pas de smantique pour le modle
Notation : note
rectangle avec coin repli, lien pointill avec llment de visualisation concern
cercle en bout de ligne : plus prcis
Il existe des mots-cl prdfinis utilisables dans les commentaires
ex. besoin, responsabilit
Commentaire
Commentaire
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
31. Dpendances
Relation smantique faible
relation dutilisation unidirectionnelle entre deux lments
Notation
flche pointille de llment source vers llment cible, ventuellement strotype / mot-cl pour prciser le type de dpendance
IHM
Mtier
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
le paquetage IHM est dpendant du paquetage Mtier
Consquences :
- Toute modification dans le paquetage Mtier peut avoir des consquences
sur le paquetage IHM
- Une modification dans le paquetage IHM na au vu de cette dpendance
pas de consquence sur le paquetage mtier
32. Diagrammes
Diagramme = association d lments de dessin
formes nuds
relation de graphe
formes conteneurs
texte
Smantique graphique importante
graphe
contenant / contenu
Proximit
Libert pour le reste (positions)
N'importe quelle information peut tre supprime dans un diagramme
attention : pas de dduction due l'absence d'un lment
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
33. Exemple gnral
Strotype
gestion
auteur=YP
version=2.0
Contrainte
Ne signifie pas quil ny a pas dattributs
Auteur
crire
{ordered}
persistent
Oeuvre
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1
34. A suivre
UML 2/4 : diagrammes statiques
UML 3/4 : diagrammes dynamiques et dinteractions
UML 4/4 : concepts avancs
2010-2011 - Yannick Pri - Universit Claude Bernard Lyon 1