Académique Documents
Professionnel Documents
Culture Documents
CONCEPTION
ORIENTÉES OBJET
(II2)
LA MISE EN PLACE D’UN SYSTÈME
2
Analyse Conception
Quoi-Faire ? Comment-Faire ?
Description de la solution d’un
Description d’un problème : CONCEPTION
problème :
ANALYSE
3
LA COMPLEXITÉ DES LOGICIELS
4
INTÉRÊT DES OBJETS?
O b je t 3
O b je t 2
5
HISTORIQUE DES LANGAGES OO
6
LES MÉTHODES D’ANALYSE
Méthodes fonctionnelles :
s’inspirent de l’architecture des ordinateurs
on s’intéresse aux fonctions du système ; ex : SADT
7
L’UNIFICATION
des méthodes
La guerre des méthodes ne fait plus avancer la technologie des objets
Recherche d’un langage commun unique
Utilisable par toutes les méthodes
Adapté à toutes les phases du développement
Compatible avec toutes les techniques de réalisation
8
UML ?
C’est:
Un langage de modélisation des applications construites à l’aide d’objets,
indépendant de la méthode utilisée
Une notation, un langage de modélisation objet
Une description complète, évolutive, publique
Un standard
Ce n’est pas :
Une méthode
9
GENÈSE D’UML
OMT
U t i l i s a t i on d ’u n s t a n d a r d d e mo d é l i s a t i o n « u n i v e r s e l »
Booch A u d é p a rt , p l u s d e 1 5 0 mé t h o d e s ! !
OOSE U n i fi c a t i o n p r o g r e s s i v e d e p l u s i e u rs mé t h o d e s , d e r e ma r q u e s d e s
u t i l i s a t e ur s , d e s p a r t e n ai re s
Fusion 1 9 8 9 : c r é a t i o n d e l ’O M G ( O b j e c t M a n a g eme n t g r o u p ) ; g r o u p e c r é é à
l ’ i n i t i a t i v e d e g r a n d e s s o c i é t é s i n f o rm a t i q ue s a mé r i c a i n e s a f i n d e
Classe-Relation n o r m a l i s e r l e s s y s t è m e s à o b j e t s ; 1 è r e r é a l i s at i o n d e l ’O M G : C O R B A
( c o mmu n i c a t i on e n t r e a p p l i c a t io n s o b j e t s d a n s u n s ys t è m e d i s t r i b u é
ROOM h é t é r ogè ne )
HOOD
L a d e r n i è re v e r s i o n d e l a s p é c i f i c a t i o n v a l i d é e p a r l ' O M G e s t U M L
2 .5 . 1 ( 2 0 17 )
etc... UML 2.5
Rational OMG Mars 2015
Fin 1990 UML 1.4
1995 Fin 2001
OMT UML 1.3
(Rumbaugh et al.) Unified Method
0.8 1996 Juin 1999
Booch UML 1.1
UML 0.9 Nov. 1997
OOSE
(Jacobson et al.)
OMT
procédés UML SA/RT
SADT
industriels
de production ERD
Merise
de logiciels et
de systèmes. DFD
etc.
JSD
LES OUTILS UML
Fonctionnalités courantes
Edition des modèles et diagrammes UML
Gestion du dictionnaire de données
Génération de code C++, Java,...
Rétro-conception à partir de code existant
…
Quelques exemples
Rational Rose de Rational Software (www.rational.com)
Software Through Pictures d’AONIX (www.ide.com)
Cayenne Class Designer de Cayenne Software (www.cayennesoft.com)
AMC Designer, Poseidon, Visual Design, Spark (www.cayennesoft.com)
STARUML, …
12
PRÉSENTATION DU COURS
Module 45h.
Cours
13
OBJECTIFS DU COURS
14
PLAN DU COURS
Introduction
Les diagrammes d’analyse
15
ÉVALUATION
16
RÉFÉRENCES
Internet
Cours sur le web : http://uml.free.fr
Site : www.uml.org (OMG)
17
II2-ENSI
INTRODUCTION
INTRODUCTION
Plan
Sensibilisation à la modélisation
Importance de la modélisation
Principes de modélisation
Intérêt et limites des modèles
UML
Définition
Historique
Buts d’UML
Diagrammes
19
MODÉLISATION DES OBJETS
• Objectif :
Représenter certains aspects de la réalité d’intérêt
pour l’organisation
• Approche
Représenter les objets réels, leurs propriétés et leurs
relations par leurs équivalents O&R dans le monde de
l’information
Monde de l’information
Monde Réel
Vue du
plombier Vue de
l'électricien Vue du
locataire
Vue du
maçon
Vue du
propriétaire
Vue de
l'architecte
LA MAPPEMONDE EST UN MODÈLE
DE LA TERRE
modelOf
ask() ask()
L’IMPORTANCE DE LA MODÉLISATION
Pourquoi modéliser?
Les modèles permettent de mieux comprendre le système que l’on développe
• Fournir des spécifications claires : produire, exploiter
• Clarifier les objets, les concepts, les référentiels, les processus.
Nous construisons des modèles pour les sy stèmes complexes parce que nous
ne sommes pas en mesure d’appréhender de tels systèmes dans leur
intégralité.
24
LES QUATRE PRINCIPES DE
MODÉLISATION
25
DIFFÉRENTES SORTES DE MODÈLES
System represent s Model
ask() ask()
modèle
La carte est un modèle statique S D
d'un système statique.
S o n
Autre exemple, un recensement.
D o o
26
INTÉRÊT DU MODÈLE
27
LIMITES ET DANGERS DES MODÈLES
Tout modèle est faux, toute abstraction est
fausse!--- Ne pas confondre le modèle et le système
La pipe de Magritte
L'image de la pipe ne permet
pas de fumer
L'image de la pipe permet de
raisonner sur la pipe (design,
constitution, etc.) au niveau
de l'instance ou du concept.
modelOf
28
LA MAPPEMONDE EST UN MODÈLE
DE LA TERRE
Dynamique
(comment le système Fonctionnel
EVOLUE) (ce que le système FAIT)
EMPLOI DES MODÈLES: LIMITES ET
DANGERS
Besoin de modèles pertinents et adaptés
° Adaptés au domaine
° Compréhensibles par les intervenants
° Apportant une plus value d'abstraction suffisante (ex :
Action semantics)
Un modèle est un outil, dont il faut toujours mesurer
la plus value : Pragmatisme sur le choix et l'usage des
modèles
Complémentarité avec d'autres approches (ex : prototypage,
approche incrémentale, etc.)
La "culture UML" doit se mettre en place dans les
organisations
31
VERS UN LANGAGE UNIFIÉ POUR LA
MODÉLISATION
Booch, Jacobson et Rumbaugh se fixent 4 objectifs:
représenter des systèmes entiers (au-delà du seul logiciel) par des
concepts objets (plusieurs vues) ,
établir un couplage explicite entre les concepts et les artefacts
exécutables,
prendre en compte les facteurs d’échelle inhérents aux systèmes
complexes et critiques,
créer un langage de modélisation utilisable à la fois par les humains
et les machines.
32
UML: DÉFINITION
Constat :
But :
Modéliser un problème de façon standard
33
L’UNIFICATION
34
UML: HISTORIQUE
35
Les CONTRIBUTIONS À UML
Booch
Rumbaugh Jacobson
Fusion
Meyer
La description des opérations,
Conception par
Le nombre de messages
contrat - invariants
Embley
Harel
Les classes singletons,
Diagrammes à état
Gamma, et.al
Wirfs-Brock
Frameworks, patterns,
Les responsabilités
notes Shlaer - Mellor Odell
C’est :
Une notation
Une description complète, évolutive, publique
Un standard
Ce n’est pas :
Une méthode
Une méthodologie
Un processus de modélisation
Une démarche de modélisation
38
OBJECTIFS D’UML
39
OBJECTIFS D’UML
• Visualiser
• Chaque symbole graphique a une sémantique
• Spécifier
• de manière précise et complète, sans ambiguïté
• Construire
• les classes, les relations, ….
• Documenter
• les diagrammes, notes, contraintes, exigences
les artefacts d’un système à forte composante
logicielle
40
MODÉLISATION ORIENTÉE OBJET
42
LES PRÉOCCUPATIONS EN UML
44
LES BRIQUES DE BASE
45
LES REPRÉSENTATIONS POSSIBLES
46
LES REPRÉSENTATIONS POSSIBLES
47
LES REPRÉSENTATIONS POSSIBLES
48
LES REPRÉSENTATIONS POSSIBLES
49
LES REPRÉSENTATIONS POSSIBLES
50
LES REPRÉSENTATIONS POSSIBLES
51
LES REPRÉSENTATIONS POSSIBLES
52
LE LANGAGE UML
Les mécanismes généraux
Les paquetages
Les stéréotypes
Les étiquettes
Les notes
Les contraintes
Les diagrammes de base
Les diagrammes de classes avec la contribution
Les diagrammes d’objets de Pierre-Alain Muller
Les diagrammes de cas d'utilisation
Les diagrammes de séquence
Les diagrammes de communication
Les diagrammes d'états/transitions
Les diagrammes d'activités
Les diagrammes de composants
Les diagrammes de déploiement
53
PRINCIPAUX DIAGRAMMES D’UML
State
State
Diagrams
Diagrammes
Diagrams
Use-Case De Classes
Use-Case
Diagrammes
Diagrams State
Use-Case Diagrams
de cas State
Diagrams
Use-Case Diagrammes
Diagrams
Diagrams
Diagrammes d’utilisation D’objets
Diagrams
D’activités
Scenario State
Scenario
Diagrams State
Diagrams
Diagrammes
Diagrams Diagrammes
Diagrams
De séquences Modèles D’états
Scenario Component
Scenario
Diagrams
Component
Diagrams
Diagrammes
Diagrammes
Diagrams Diagrammes Diagrams
De collaboration De déploiement De composants
MODÈLES D’UML
56
LES DIAGRAMMES D’UML 2.5
Diagramme de temps
Diagramme de
structure
composite
57
LES MODÈLES UML / PAR VUE
58
PROCESSUS BASÉ SUR LA
RÉALISATION DE MODÈLES
1
Capture des 2
exigences Analyse Modèle de conception
Modèle de déploiement
3
Consolidation
des exigences 4
Modèle d’analyse
Conception
5
Réalisation
Modèle d’exigences
6
Tests
Modèle de tests
Modèle de réalisation
59
CHAÎNE COMPLÈTE D’UNE DÉMARCHE DE
MODÉLISATION DU BESOIN JUSQU’AU CODE
PHASES NON OUTILLÉES PAR UML
Codage
Transcription dans un langage de programmation objet des objets du
dossier de conception
Tests
Réaliser les tests unitaires des classes
Faire les tests des modules correspondant aux paquetages
Tester les scénarios
Valider le système du point de vue externe
Intégration
Introduction des classes ou paquetages par étapes
61
CONCLUSION - LES BÉNÉFICES D’UML
62