You are on page 1of 34

Nourchene Elleuch Ben ayed -

Mthodologies de conception
des systmes
Mthodologies de conception
des systmes
Chap|tre 1 Introducnon UML 2
Objectifs du module
Objectifs du module

la fin de ce module, lapprenant sera apte :


Modliser un systme selon le langage UML
Matriser les phases danalyse et de conception dun
projet et les moyens de modlisation dans chaque phase
Pouvoir implmenter les modles de conception selon un
langage de programmation et un processus de
dveloppement
valuation du module
valuation du module
Type: cours intgr
Code: AP-
Pr-requis
Programmation oriente objet (AP-% :ava et C++
solume horaire : h (h cours + h T$TP%
valuation
Eamen nal :

Rfrences du module
Rfrences du module
Roques, P., UML par la praque, Eyrolls,
Charrou, B., Osmani, A., et Thierry-Mieg, Y., Langage UML : Praque de
la modlisation, Collection Synthe,
e
dition, Pearson education,
Fowler, M., UML ., CampusPress,
Andr, P., Eercices corrigs d'UML : passeport pour une matrise de la
notation, Ellipses,
Hamilton, K. & Miles, R., Learning UML ., O'Reilly,

Plan du chapitre
Plan du chapitre
Pourquoi et comment modliser?
finition dUML
Historique et gense dUML
UML et apports dUML
Sommaire des diagrammes dUML
Utilisation des diagrammes dUML
Architecture + et UML

Modliser
Modliser
Un modle
Cest une reprsentation simplifie dune ralit
Il permet de capturer des aspects pertinents pour rpondre un
ob[ect|f df|n| priori
La lune est modlise
Par un astronaute : un corps cleste ayant une certaine masse et se
trouvant une certaine distance de la Terre
Par un pote: une dame avec laquelle il peut avoir une conversation

Pourquoi modliser?
Pourquoi modliser?
Les modles ont diffrents usages
Ils servent circonscrire des systmes complees pour les dominer
Modliser permet de tester les racteurs dune fuse, les procdures de
scurit, ltanchit de lensemble
Ils optimisent lorganisation des systmes
La modlisation de la structure dune entreprise en dpartements et
services permet davoir une vision simplifie du systme et den assurer
une meilleure gestion
Ils permettent de se focaliser sur des aspects spcifiques dun systme
sans sembarrasser des donnes non pertinentes
Sintresser une vue statique sans se soucier des autres vues
Ils permettent de dcrire avec prcision et compltude les besoins
sans connaitre les dtails du systme

Comment modliser un systme?


Comment modliser un systme?
Classes de mthodes de conception
Approches cartsiennes (premire gnration%
s
Approches systmiques (deuime gnration%
s
Approches objet (troisime gnration%
s et +

Les approches cartsiennes ($%


Les approches cartsiennes ($%
Classique
composition d'un problme en sous-problmes
composition d'une fonction en sous-fonctions jusqu' atteindre un
niveau facile coder
Mthodes
Mthodes de programmation structure, SAT
F1
F11 F12 F13
F112 F111 F121
F2
F21 F22

Les approches cartsiennes ($%


Les approches cartsiennes ($%
Points forts
Simplicit et bon sens
Adquation capturer les besoins des utilisateurs
Points faibles
Effort sur les fonctions au dtriment des donnes (redondance%
Rgles de dcomposition non eplicites
ifficile de faire de la rutilisation

Les approches systmiques ($%


Les approches systmiques ($%
SI =Structure & Comportement
Modlisation des donnes et des traitements
Mthodes
Merise et Information Engineering

Les approches systmiques ($%


Les approches systmiques ($%
Points forts
Grande cohrence des donnes
Points faibles
ichotomie entre les modles de donnes et traitements
Faiblesse de la modlisation des traitements

Les approches objet ($%


Les approches objet ($%
volution de l'approche systmique vers une plus grande
cohrence entre les objets et leurs comportements
sision du SI comme un ensemble d'objets avec leurs
oprations
Mthodes
OMT, OO, OOSE, Unified Software evelopment Process (UML%

Les approches objet ($%


Les approches objet ($%
Points forts
Capacit modliser des objets complees
Rduire les distorsions entre systme informatique et
monde rel
Intgration des traitements au donnes
Points faibles
"tout objet" difficile comprendre
Aspect fonctionnel mal reprsent

Approche cartsienne vs. objet


Approche cartsienne vs. objet
Approche cartsienne: approche descendante par
dcomposition de fonctions
Approche objet: approche
ascendante par composition
d'objets
Fonction 1
O1
O2
O3
O4
O5
O7
O6
Fonction 2
F1
F11 F12 F13
F112 F111 F121
F2
F21 F22

Approche systmique vs. objet


Approche systmique vs. objet
Bases sur les mmes concepts
SI = structure + comportement
Approche systmique
Les langages de modlisation pour les donnes et les traitements sont
incompatibles
Faut-il commencer par les donnes ou les traitements?
Approche objet
Runir les traitements et les donnes dans la mme unit (objet%

Historique dUML ($%


Historique dUML ($%

Lindustrie commence utiliser massivement les


langages de programmation OO
Le besoin de penser objet indpendamment du
langage dimplmentation
Le besoin dunifier les langages de modlisation en un
standard un|que
: Booch & Rumbaugh prsentent la
confrence OOPSLA Unified Method .
: :acobson rejoint le groupe et ils amliorent la
mthode unifie (version .%
Historique dUML ($%
Historique dUML ($%
: Raonal soware, employeur du trio, publie la
documentation dUML .
: OMG adopte UML et publie une version
amliore .

Gense dUML
Gense dUML

UML est le rsultat dun large consensus,


continuellement enrichi par les avances en matire
de modlisation des systmes et de dveloppement
logicielle
UML - Un langage
UML - Un langage
Un langage fournit des mots, une syntae et une
smantique des fins de communication
Un langage de modlisation est un langage dont les
mots et rgles servent reprsenter le niveau
conceptuel et physique d'un systme
UML fournit le vocabulaire et les rgles pour
reprsenter les diffrents modles permettant de
comprendre un systme
UML sappuie sur un mtamodle unique
Mtamodle: un diagramme qui dcrit la notation
UML -Un langage pour visualiser
UML -Un langage pour visualiser
UML fournit un ensemble de symboles et des rgles
d'assemblage pour reprsenter graphiquement les
modles du systmes
La reprsentation graphique est indpendante de la
langue et permet souvent une meilleure
communication
UML-Un langage pour spcifier
UML-Un langage pour spcifier
Un spcification est une description prcise, non
ambigu et complte
UML fournit les outils pour construire des
spcifications au niveau analyse, conception et
implmentation
UML-Un langage pour construire
UML-Un langage pour construire
UML n'est pas un langage de programmation visuel,
mais les modles d'implmentation sont assez riches
pour tre directement traduit dans un langage de
programmation
UML est suffisamment prcis et non ambigu pour
permettre la simulation
UML -Un langage pour documenter
UML -Un langage pour documenter
UML permet la reprsentation d'un systme toutes
les tapes de sa ralisation
Les modles raliss forment une documentation
prcise et complte du systme
UML dans les projets ($%
UML dans les projets ($%
UML est ulis lors de la phase de lanalyse et de la
conception prliminaire du systme
Il sert spcifier les fonctionnalits attendues du systme
(diagramme des cas dutilisation et de squence% et
dcrire larchitecture (diagramme de classe% cest tout!
La description de la partie comportementale (diagramme
dactivits et dtats% est peu utilise
La smantique nest pas totalement dfinie et risque
dinterprtations varies
La description tetuelle informelle
Encore le seul moyen de spcifier des algorithmes et des mthodes
de traitement

UML dans les projets ($%


UML dans les projets ($%
En rsum
UML sutilise seulement durant |es phases pr||m|na|res
Un des objectifs dOMG est de proposer un
paradigme guid par des modles dcrivant:
Le codage
La gestion de la qualit
Les tests et vrifications
La production de la documentation

Apports dUML
Apports dUML
Restructuration du mtamodle
Infrastructure (smantique% et superstructure (notation%
iagrammes nouveau ou modifis
Site principal pour les normes relies UML:
http:$$www.omg.org$uml$

iagrammes dUML
iagrammes dUML

D|agrammes n|stor|que
Act|v|t UML
Cas d'ut|||sat|on UML
C|asses UML
Commun|cat|on iagramme de collaboration d'UML
Composants UML
Dp|o|ement UML
sue d'ensemble des interactions UML
Ltats-trans|t|on UML
Cb[ets Ocieu dans UML
ackages Ocieu dans UML
Squence UML
Structure composite UML
Timing UML
Utilisation des diagrammes
Utilisation des diagrammes

kecue|| des
beso|ns Ana|yse Concept|on Dp|o|ement
Cas d'utilisation
Squence
Communication
Activit
Classes
Objets
tats-transitions
Composants
ploiement
sue d'ensemble des interactions
Timing
Structure composite
Packages
Architecture +
Architecture +

Vue
|og|que
Vue
comportement
Vue
dp|o|ement
Vue
|mp|mentat|on
Vue
ut|||sateur
sues architecturales et diagrammes UML
sues architecturales et diagrammes UML

Modles vs. iagrammes


Modles vs. iagrammes

Use Case
D|agrams
Use Case
D|agrams
D|agrammes
Scenar|o
D|agrams
Scenar|o
D|agrams
D|agrammes
State
D|agrams
State
D|agrams
D|agrammes
Component
D|agrams
Component
D|agrams
D|agrammes
State
D|agrams
State
D|agrams
D|agrammes
Scenar|o
D|agrams
Scenar|o
D|agrams
D|agrammes
Use Case
D|agrams
Use Case
D|agrams
D|agrammes
State
D|agrams
D|agrammes
D|agrammes
Mod|es
Outil daide la conception
Outil daide la conception
Outil: StarUML version . (Open Source%
http:$$sourceforge.net$project$showfiles.php?group_id=&package_id=&release_id=

Lst-ce que |a mcan|sat|on de |a programmat|on va


permettre UML de deven|r |e code source ?

Questions
Questions

You might also like