Académique Documents
Professionnel Documents
Culture Documents
Plan
Introduction Prsentation dUML
Dfinitions Domaines dutilisation Elments de base
Diagramme de cas dutilisation Diagramme de classes Diagramme dobjets Diagramme de squences et de collaboration Conclusion
2
Modlisation
Modle
Reprsentation abstraite et simplifie dune entit du monde rel en vue de le dcrire, de lexpliquer ou de le prvoir Thorie oriente vers laction quelle doit servir
Modlisation
Introduction
Exemples de modles
Modle mtorologique Modle conomique Modle dmographique Plans
3 4
21/12/2008
Modlisation
Modliser un systme pour :
Mieux comprendre son fonctionnement Matriser sa complexit Assurer sa cohrence Permettre la communication entre les diffrents membres de lquipe Permettre une bonne rpartition des tches Rduire les cots et les dlais
Gestion de projet
Bien comprendre les besoins, les demandes et les exigences des utilisateurs finaux. Bonne communication avec le client pour valider certains choix et vrification de ltape (1). Tester et valider chaque phase de la conception pour ne pas dcouvrir des problmes plus tard. Traiter au plus tt les problmes. Matriser la complexit et augmenter la rutilisation. Dfinir une architecture robuste. Faciliter le travail en quipe.
6
Bonnes pratiques
Dveloppement itratif
Dcoupage du problme en tapes lmentaires Chaque tape produit des retours et adaptations si ncessaire
UML
21/12/2008
Dfinition
Langage standard conu pour permettre aux concepteurs dlaborer les plans des logiciels quils doivent dvelopper N de la fusion de 3 mthodes:
OMT Booch OOSE
Le vocabulaire et les rgles dcriture rgissent la manire de construire et de lire les modles correctement mis en forme.
Aucune dcision dimplmentation.
10
UML permet de rsoudre les problmatiques du partage de linformation de manire visuelle. UML est bien plus quun assemblage de symboles graphiques !
Chaque symbole graphique possde sa smantique propre (signification universelle). Un modle peut tre crit par un concepteur et compris pas un autre sans ambigut... Une automatisation par outil peut ainsi tre mise en place pour traiter certaines informations.
UML nest pas une mthode mais une notation qui laisse la libert de conception.
UML est un mta-langage de modlisation permettant dunifier les modles utiliss dans les mthodes de dveloppement (raffinement).
11 12
21/12/2008
Mais pas seulement : on peut modliser des comportement mcaniques, humain, etc. Structure dun systme de sant / judiciaire, etc.
13
14
Les lments
Ce sont les lments de base qui vont permettre la dfinition par la suite des modles Il existe 4 types dlments en UML
Les lments Les lments Les lments Les lments structurels comportementaux de regroupement dannotation
Les relations
Les relations expriment les liens existants entre les diffrents lments.
Les diagrammes
Les diagrammes comprennent des ensembles dlments dignes d'intrt.
15
16
21/12/2008
17
18
19
20
21/12/2008
21
22
23
21/12/2008
Cas dutilisation
25
26
Acteurs
Idalisation dun rle jou par :
Une personne externe Un processus Un autre systme
Cas dutilisation
Unit cohrente Reprsente une fonctionnalit visible de lextrieur Ralise un service pour lacteur qui linitie, avec:
Dclenchement Droulement Fin
Reprsent par un petit bonhomme Il faut identifier les rles des utilisateurs dun systme pour trouver les acteurs Dfinition de la frontire du systme
Tout ce qui est lextrieur du systme : Acteur Tout ce qui est lintrieur du systme : Fonctionnalit
Modlise un service rendu par le systme Reprsent par une ellipse contenant le nom du cas (verbe linfinitif)
Effectuer Virement
27
28
21/12/2008
Strotype <<include>>
Relation dextension
Un cas A tend un cas B quand A peut tre appel au cours de lexcution de B Lextension est optionnelle Dfinit
Point dextension : point prcis du cas tendu au niveau duquel lextension peut intervenir Une contrainte : condition pendant laquelle lextension intervient
Strotype <<extend>>
Relation de gnralisation
Le cas A est une gnralisation du cas B si B est un cas particulier de A Concept dhritage
30
29
Description du fonctionnement
Squence nominale : dcrit le droulement normal du cas Pr-conditions : tat du systme avant le dclenchement du cas Post-conditions : tat du systme lissue de lexcution du cas
Rubrique optionnelle
Spcifications non fonctionnelles : spcifications techniques, besoins en interface graphique
31 32
21/12/2008
Diagramme de classes
Le diagramme le plus important de la modlisation oriente objet : le seul obligatoire Dcrit la structure interne du systme Fournir une reprsentation abstraite des objets du systme qui interagissent ensemble pour raliser le cas dutilisation Vue statique : pas de facteur temporel Modlisation des classes du systme et leurs relations
Indpendant du langage de programmation
Diagramme de classes
33
34
Classes
Description formelle dun ensemble dobjets ayant une smantique et des caractristiques communes Un objet est une instance de classe Reprsente par un rectangle divis en 3 compartiments obligatoires et 2 optionnels
Nom de la classe Attributs Mthodes Responsabilits (op)
ensemble des tches devant tre assures par la classe mais pour lesquelles on ne dispose pas dassez dinformations
Protected ou #
seul un lment situ dans la classe courante ou un de ses descendants peut voir llment indiqu.
Private ou
seul un lment situ dans la classe courante peut voir llment.
Package ou ~ ou rien
seul un lment dclar dans le mme paquetage peut voir llment.
Nom de la classe
A la forme :
[ <Nom_du_paquetage_1>:: ... ::<Nom_du_paquetage_N> ] <Nom_de_la_classe> [ { [abstract], [<auteur>], [<date>], ... } ]
Exceptions (op)
Situations exceptionnelles devant tre gres par les classes
35 36
Exemple :
Pack1::Class1 {abstract, Lilia}
21/12/2008
Attributs
Donnes encapsules dans les objets de cette classe Dfinis par un nom, un type de donnes, et une visibilit A la forme
<visibilit> [/] <nom_attribut> : <type> ['['<multiplicit>']' [{<contrainte>}] ] [ = <valeur_par_dfaut> ]
Mthodes
Dcrit une fonctionnalit de la classe Doit contenir un nom, un type de retour et des paramtres A la forme :
<visibilit> <nom_mthode> ([<paramtre_1>, ... , <paramtre_N>]) : [<type_renvoy>] [{<proprits>}]
Exemple
+ couleur : int [3] {list}
Attribut de classe
Attribut propre la classe, pas linstance(static en java) Garde une valeur unique et partage par toutes les instances de la classe Graphiquement : soulign
37
Un paramtre a la forme :
[<direction>] <nom_paramtre>:<type> ['['<multiplicit>']'] [=<valeur_par_dfaut>]
Exemple
+ dplacer (in distance : int = 2) : void {abstract}
38
Interfaces
Type particulier de classes Classe o toutes les mthodes sont abstraites
Strotype interface
Relation dassociation
Relation entre deux classes ou plus dcrivant les connexions structurelles entre leurs instances Relie des classes au mme niveau hirarchique (conceptuellement parlant) 4 dcorations permettent de spcifier le lien entre objets
Nom : nature des relations entre les objets Direction : direction dapplication du nom Rle : rle spcifique de chacune des classes dans lassociation Cardinalit : nombre dlments affects
Permet de regrouper un ensemble de proprits et doprations assurant un service cohrent Doit tre ralise (implmente) par au moins une classe et peut ltre par plusieurs
Strotype realize
Exemple
39
40
10
21/12/2008
Relation de dpendance
La dpendance tablit une relation dutilisation entre 2 entits dun mme diagramme. La plupart du temps il sagit dune dpendance dutilisation :
Argument dune mthode par exemple On parle alors de relation dutilisation
Composition
Dfinit une contenance structurelle entre les instances La destruction de lobjet composite implique la destruction de ses composants Une instance du composant appartient au plus une instance du composite
Cela permet didentifier implications possibles des modifications apporter dans une entit
Changement du comportement dune des classes par exemple
Agrgation 41
Composition 42
Dpendance
Relation de gnralisation
Modlise la relation dhritage
La gnralisation correspond la notion est une sorte de Modlisation des relations parents / enfants
Les entits issues dune gnralisation sont utilisables partout ou leur classe mre peut l'tre (mais pas linverse) Gnralisation (classe, classe) ou (classe, interface) Cette relation est modlise par une flche pointant sur la classe mre
43
44
11
21/12/2008
Exemple : Banque
Diagramme dobjet
45
46
Diagramme dobjets
Reprsente des objets (i.e. instances de classes) et leurs liens (i.e. instances de relations) pour donner une vue fige de ltat dun systme un instant donn Peut tre utilis pour
illustrer le modle de classes en montrant un exemple qui explique le modle prciser certains aspects du systme en mettant en vidence des dtails imperceptibles dans le diagramme de classes exprimer une exception en modlisant des cas particuliers ou des connaissances non gnralisables qui ne sont pas modliss dans un diagramme de classe prendre une image (snapshot) dun systme un moment donn
Graphiquement
Un objet est reprsent comme une classe, mais le compartiment des mthodes nest pas indiqu Le nom de lobjet est compos du nom de linstance, suivi de celui de la classe, et est soulign Les attributs reoivent des valeurs
Si certaines valeurs ne sont pas renseignes, lobjet est partiellement dfini
Le diagramme de classes modlise les rgles et le diagramme dobjets modlise des faits
47
La relation de gnralisation nest jamais reprsente Les multiplicits ne sont pas reprsentes On peut reprsenter de dpendance dinstanciation
Strotype instance of
48
12
21/12/2008
Exemples
49
50
Diagramme de squences
Modlisation les interactions entre les objets Mise en vidence de laspect temporel des traitements (ordre chronologique de ralisation) Mise en vidence des objets et des messages changs par les entits interagissant avec et/ou dans le systme La modlisation est base sur laffichage des objets participant la squence et lordre des messages et des actions associes.
51
52
13
21/12/2008
Diagramme de collaboration
Mise en vidence de lorganisation des objets qui vont collaborer pour effectuer une interaction
On reprsente les objets qui vont intervenir (les sommets) On modlise les liens qui vont modliser les communications entre les objets (les arcs) On annote les liens laide des informations qui vont tre changes entre les entits
53
54
Conclusion
UML : Langage permettant d'apprhender la ralisation dun systme informatique complexe Ensemble de diagrammes qui permettent daider la rflexion, de permettre la discussion sur des bases normalises et formalises (clients, dveloppeurs) Pas de solution unique mais un ensemble de solutions plus ou moins acceptables Contraintes clients (performances et fonctionnalits) Architectures logicielles et matrielles disposition Des itrations successives du flot permettent daboutir une solution Les diagrammes et notions prsentes dans ce cours ne sont quune petite introduction UML
56
Conclusion
55
14