<!-- Slide number: 1 -->
Introduction la mod lisation objet avec UML
Mme CHALOUAH Anissa
I.S.E.T Bizerte
D partement Technologies de linformatique
! (Picture2.jpg)
13/02/2015
Mme CHALOUAH Anissa
1
Notes:
<!-- Slide number: 2 -->
PLAN
Besoin de mod lisation
Le paradigme de lorient objet
LUML
13/02/2015
Mme CHALOUAH Anissa
2
<!-- Slide number: 3 -->
Chapitre 1 :
Introduction la mod lisation objet avec UML
Besoin de Mod lisation
13/02/2015
Mme CHALOUAH Anissa
3
<!-- Slide number: 4 -->
Mat riel et logiciel
Syst mes informatiques :
80 % de logiciel.
20 % de mat riel.
Le mat riel est relativement stable, le march est standardis .
Les probl mes li s l'informatique sont essentiellement des probl mes de logiciel.
13/02/2015
Mme CHALOUAH Anissa
4
<!-- Slide number: 5 -->
Complexit des logiciels
Tendances :
Programmer sans programmer : R utilisation.
Informatique distribu e
Limportance de larchitecture logicielle
multim dia
13/02/2015
Mme CHALOUAH Anissa
5
<!-- Slide number: 6 -->
La crise du logiciel
Constat du d veloppement logiciel fin ann es 60 :
d lais de livraison non respect s
budget non respect
ne r pond pas aux besoins de l'utilisateur ou du client.
difficile utiliser, maintenir, et faire voluer
13/02/2015
Mme CHALOUAH Anissa
6
<!-- Slide number: 7 -->
La crise du logiciel
tude du Department of Defense DoDdes tats-Unis sur les logiciels produits dans le cadre de 9 gros projets militaires

13/02/2015
Mme CHALOUAH Anissa
7
<!-- Slide number: 8 -->
La crise du logiciel


13/02/2015
Mme CHALOUAH Anissa
8
<!-- Slide number: 9 -->
La crise du logiciel
Utilisation des fonctionnalit s implant es

13/02/2015
Mme CHALOUAH Anissa
9
<!-- Slide number: 10 -->
Poids de la maintenance
| | Effort de d veloppement | Origine des erreurs | Co t de la maintenance |
| --- | --- | --- | --- |
| Analyse des besoins | 6% | 56% | 82% |
| Conception | 5% | 27% | 13% |
| Codage | 7% | 7% | 1% |
| Int gration et test | 15% | 10% | 4% |
| Maintenance | 67% | | |
13/02/2015
Mme CHALOUAH Anissa
10
<!-- Slide number: 11 -->
Raisons des checs
N gligence de la phase d'analyse des besoins du client.
Taille et complexit croissante des logiciels .
Manque de m thodes de conception.
N gligence et manque de m thodes et d'outils des phases de validation.
Taille des quipes en charge du logiciel.
13/02/2015
Mme CHALOUAH Anissa
11
<!-- Slide number: 12 -->
G nie Logiciel
G nie Logiciel (Software Engineering) :
Comment faire des logiciels de qualit ?
Qu'attend-on d'un logiciel ? Quels sont les crit res de qualit ?
13/02/2015
Mme CHALOUAH Anissa
Publicité
12
<!-- Slide number: 13 -->
Crit res de qualit dun logiciel
Utilit :Ad quation entre le logiciel et les besoins des utilisateurs.
Utilisabilit
Fiabilit : Tol rance aux pannes
Interop rabilit : Interactions avec d'autres logiciels
Performance : temps de r ponse, d bit, fluidit ...
Portabilit
R utilisabilit
Maintenabilit : facilit corriger ou transformer le logiciel.
13/02/2015
Mme CHALOUAH Anissa
13
<!-- Slide number: 14 -->
Qu'est-ce qu'un mod le ?
un mod le est pr vu pour arriver anticiper les r sultats du codage.
Lint r t du mod le en programmation, cest de permettre de r aliser une maquette simplifi e du programme r aliser.
Un mod le est une abstraction, une simplification de la r alit .
13/02/2015
Mme CHALOUAH Anissa
14
<!-- Slide number: 15 -->
Qu'est-ce qu'un mod le ?
Cest un outil majeur de communication entre les diff rents intervenants au sein dun projet.
Chaque membre de l quipe, depuis lutilisateur jusquau d veloppeur, utilise et enrichit le mod le diff remment.
En outre, les syst mes devenant de plus en plus complexes, leur compr hension et leur ma trise globale d passent les capacit s dun seul individu.
13/02/2015
Mme CHALOUAH Anissa
15
<!-- Slide number: 16 -->
Qu'est-ce qu'un mod le ?
Le mod le pr sente notamment latout de faciliter la tra abilit du syst me, savoir la possibilit de partir dun de ses l ments et de suivre ses interactions et liens avec dautres parties du mod le.
13/02/2015
Mme CHALOUAH Anissa
16
<!-- Slide number: 17 -->
Qualit dun bon mod le
Un bon mod le doit :
faciliter la compr hension du programme tudi , en r duisant la complexit .
permettre de simuler le comportement du programme
Un bon mod le doit donc tre construit:
au bon niveau de d tail,
selon le bon point de vue.
13/02/2015
Mme CHALOUAH Anissa
17
Notes:
Pensez lanalogie de la carte routi re. Pour circuler dans Toulouse, la carte de France serait
de peu dutilit . En revanche, pour aller de Toulouse Paris, la carte de la Haute-Garonne ne
suffit pas& chaque voyage correspond la bonne carte
<!-- Slide number: 18 -->
R les du mod le
Il permet de :
Visualiser le syst me comme il est ou comme il devrait tre.
Valider le mod le vis- -vis des clients.
Sp cifier les structures de donn es et le comportement du syst me.
Fournir un guide pour la construction du syst me.
Documenter le syst me et les d cisions prises.
13/02/2015
Mme CHALOUAH Anissa
18
<!-- Slide number: 19 -->
Approche de mod lisation
Il existe deux approches de mod lisation (d marches de conception) pour un logiciel :
L'approche fonctionnelle
L'approche objet.
13/02/2015
Mme CHALOUAH Anissa
19
<!-- Slide number: 20 -->
Lapproche fonctionnelle
Cette approche d rive des langages de programmation proc duraux.
D composition d'une t che en termes de sous-programmes.
Analyse du probl me de mani re descendante ("Top-Down").
Avantages : Lisibilit et modularit
Inconv nients :
La sp cialisation des fonctions ne favorise pas leur r utilisation.
conception plat de spaghettis dans les appels de proc dures. Il serait bien de "responsabiliser" nos parties de programmes
13/02/2015
Mme CHALOUAH Anissa
20
<!-- Slide number: 21 -->
Lapproche fonctionnelle
! (Picture2.jpg)
13/02/2015
Mme CHALOUAH Anissa
21
<!-- Slide number: 22 -->
La mod lisation objet
La mod lisation objet consiste cr er une repr sentation informatique des l ments du monde r el, sans se pr occuper de limpl mentation.
Il sagit donc de d terminer les objets pr sents et disoler leurs donn es et les fonctions qui les utilisent.
13/02/2015
Mme CHALOUAH Anissa
22
<!-- Slide number: 23 -->
Int r t du mod le objet
La force de la programmation objet, cest quelle sappuie sur un mod le calqu sur la r alit physique du monde.
Les objets se comportent comme des entit s ind pendantes, auto-suffisantes qui collaborent par change de message.
13/02/2015
Mme CHALOUAH Anissa
23
<!-- Slide number: 24 -->
Chapitre 1 :
Introduction la mod lisation objet avec UML
Publicité
Le paradigme Orient e objet
13/02/2015
Mme CHALOUAH Anissa
24
<!-- Slide number: 25 -->
Paradigme objet
Programmation Objet :
Un programme = une soci t d'entit s
Son ex cution : les entit s collaborent pour r soudre le probl me final en s'envoyant des messages.
une entit = un objet qui prend en compte sa propre gestion (objet responsable)
Liaison in vitable entre donn es et proc dures op rant sur ces donn es.
Avantages
Faciliter le d veloppement en mode boite noire
Maximiser la localit des changements
Permettre la r utilisation de code
13/02/2015
Mme CHALOUAH Anissa
25
<!-- Slide number: 26 -->
Concepts Objet
Les concepts objets se traduisent par les notions suivantes :
Objet
Classe
Encapsulation
Abstraction
H ritage
Polymorphisme
13/02/2015
Mme CHALOUAH Anissa
26
<!-- Slide number: 27 -->
Lobjet
Toute entit identifiable, concr te ou abstraite, peut tre consid r e comme un objet.
Un objet r agit certains messages quon lui envoie de lext rieur ; la fa on dont il r agit d termine le comportement de lobjet.
Il ne r agit pas toujours de la m me fa on un m me message ; sa r action d pend de l tat dans lequel il est.
13/02/2015
Mme CHALOUAH Anissa
27
<!-- Slide number: 28 -->
Lobjet
Caract ris par :
son comportement : que peut-on faire avec cet objet?
M thodes
Son tat : comment r agit lobjet quand on applique ces m thodes?
Attributs (Champs)
son identit : comment distinguer les objets qui ont le m me tat et le m me comportement? Identifiant
A les m mes r actions et la m me modularit que le monde r el.
Lobjet informatique est une projection de lobjet du monde r el.
13/02/2015
Mme CHALOUAH Anissa
28
<!-- Slide number: 29 -->
La classe
Une classe est la description des caract ristiques communes tous les objets.
Une classe est un mod le de d finition pour des objets
ayant m me structure (m me ensemble d'attributs),
ayant m me comportement (m mes op rations, m thodes),
ayant une s mantique commune.
Classe = sch ma/moule/mod le dobjets, elle d crit :
partie priv e
structure de donn es interne (attributs)
corps des m thodes (algorithmes)
partie publique (interface)
noms et param tres des m thodes
13/02/2015
Mme CHALOUAH Anissa
29
<!-- Slide number: 30 -->
La classe
Les objets (instances) sont cr s (instanci s) partir de "moules" : les classes.
Classe = g n rateur dobjets par instanciation, on peut fabriquer des objets ob issant ce sch ma/moule/mod le.

13/02/2015
Mme CHALOUAH Anissa
30
<!-- Slide number: 31 -->
Exemple : classe et objet

13/02/2015
Mme CHALOUAH Anissa
31
<!-- Slide number: 32 -->
Abstraction
Une abstraction est un r sum , un condens
Mise en avant des caract ristiques essentielles
Dissimulation des d tails
Une abstraction se d finit par rapport un point de vue
Exemple dabstraction : carte routi re
13/02/2015
Mme CHALOUAH Anissa
32
<!-- Slide number: 33 -->
Encapsulation
M canisme consistant rassembler, au sein dune m me structure, les donn es et les traitements
D finition des attributs et m thodes au niveau de la classe
Limpl mentation de la classe est cach e pour lutilisateur
D finition dune interface : vue externe de lobjet
Possibilit de modifier limpl mentation sans modifier linterface
Facilit de l volution de lobjet
Pr servation de lint grit des donn es
Lacc s direct aux attributs est interdit
Linteraction entre les objets se fait uniquement gr ce aux m thodes.
13/02/2015
Mme CHALOUAH Anissa
33
Publicité
<!-- Slide number: 34 -->
H ritage
Un objet sp cialis b n ficie ou h rite des caract ristiques de lobjet le plus g n ral, auquel il rajoute ses l ments propres
Cr ation de nouvelles classes bas es sur des classes existantes.
Transmission des propri t s (attributs et m thodes) de la classe m re vers la classe fille.
Traduit la relation est un &
Deux orientations possibles
Sp cialisation : Ajout / adaptation des caract ristiques
G n ralisation : Regroupement des caract ristiques communes
Avantages
viter la duplication du code
Encourager la r utilisation du code
13/02/2015
Mme CHALOUAH Anissa
34
<!-- Slide number: 35 -->
H ritage : Exemple

13/02/2015
Mme CHALOUAH Anissa
35
<!-- Slide number: 36 -->
Polymorphisme
D finition :
Poly : plusieurs
Morphisme : Forme
Facult dune m thode pouvoir sappliquer des objets de classes diff rentes.
Capacit dune classe red finir une m thode h rit e partir dune classe m re
Surcharge
Avantages
Lisibilit du code
G n ricit du code
13/02/2015
Mme CHALOUAH Anissa
36
<!-- Slide number: 37 -->
Polymorphisme : exemple

float surface(float rayon) {
return (3,14rayonrayon);
}
float surface(float longueur, float largeur) {
return (longueu*largeur);
}
13/02/2015
Mme CHALOUAH Anissa
37
<!-- Slide number: 38 -->
Chapitre 1 :
Introduction la mod lisation objet avec UML
UML : UNIFIED MODELINGLANGUAGE
13/02/2015
Mme CHALOUAH Anissa
38
<!-- Slide number: 39 -->
Historique
Ann es 80
M thodes pour organiser la programmation fonctionnelle (Merise)
S paration des donn es et des traitements
D but des ann es 90
Apparition de la programmation objet: n cessite dune m thodologie adapt e
Apparition de plus de 50 m thodes entre 1990 et 1995 1994
Consensus sur 3 m thodes
OMT de James Rumbaugh : repr sentation graphique des aspects statiques, dynamiques et fonctionnels dun syst me
OOD de Grady Booch: concept de package
OOSE de Ivar Jacobson : description des besoins de lutilisateur.
13/02/2015
Mme CHALOUAH Anissa
39
<!-- Slide number: 40 -->
Gen se de UML(Unified Modeling Langage)
! (Picture2.jpg)
13/02/2015
Mme CHALOUAH Anissa
40
<!-- Slide number: 41 -->
UML(Unified Modeling Langage)
UML est un langage universel de mod lisation orient e objet.
UML est une notation, un outil de communication visuelle (diagrammes)
UML est une norme maintenue par lOMG (Object Management Group)
UML est dans le domaine public, cest un standard.
13/02/2015
Mme CHALOUAH Anissa
41
<!-- Slide number: 42 -->
UML
UML est un langage pour :
Visualiser
Chaque symbole graphique poss de une s mantique.
Sp cifier
De mani re pr cise et compl te, sans ambigu t .
Construire
Une partie du code des classes peut tre g n r automatiquement.
Documenter
Les diff rents diagrammes, notes, contraintes, exigences sont conserv s dans un document.
13/02/2015
Mme CHALOUAH Anissa
42
<!-- Slide number: 43 -->
UML(Unified Modeling Langage)
UML nest pas une m thode.
UML nest pas un processus de d veloppement.
UML nest pas un langage de programmation.
13/02/2015
Mme CHALOUAH Anissa
Publicité
43
<!-- Slide number: 44 -->
Objectifs dUML
Fournir un langage visuel et expressif.
Fournir des m canismes dextension.
Etre ind pendant des technologies et langages dimpl mentation
Fournir une base formelle pour la mod lisation.
13/02/2015
Mme CHALOUAH Anissa
44
Notes:
<!-- Slide number: 45 -->
Les diagrammes UML
! (Picture2.jpg)
13/02/2015
Mme CHALOUAH Anissa
45
<!-- Slide number: 46 -->
Les diagrammes UML
Diagrammes de cas dutilisation : d crivent les services rendus par le syst me du point de vue de lutilisateur.
Diagrammes de classes : d crivent les classes dune application et leurs relations statiques.
Diagrammes dobjets : montrent l tat dune application un instant donn . (Instances des classes)
13/02/2015
Mme CHALOUAH Anissa
46
<!-- Slide number: 47 -->
Les diagrammes UML
Diagrammes de s quence : Sc nario dun cas dutilisation : chronologie des op rations.
Diagrammes de collaboration : sont une repr sentation spatiale des interactions entre objets.
Diagrammes d etats-transitions : repr sentent le comportement dun objet sous la forme dun automate tats
13/02/2015
Mme CHALOUAH Anissa
47
<!-- Slide number: 48 -->
Les diagrammes UML
Diagrammes de composants : Repr sentation des composants logiciels dun syst me.
Diagrammes de d ploiement : Description de larchitecture technique du syst me .
Diagrammes dactivit s : Vue des encha nements des activit s dun cas dutilisation ou dune op ration
13/02/2015
Mme CHALOUAH Anissa
48
<!-- Slide number: 49 -->
Les 3 axes de mod lisation dun syst me
Axe fonctionnel
(ce que le syst me FAIT)
Diagramme de cas dutilisations
Diagramme de classes
Diagramme dobjets
Diagramme de composants
Diagramme d tats-transitions
Diagramme de s quence
Diagramme dactivit
Axe dynamique
(comment le syst me volue)
Axe statique
(ce que le syst me EST)
13/02/2015
Mme CHALOUAH Anissa
49
<!-- Slide number: 50 -->
Les Vues en UML
Une fa on de mettre en Suvre UML est de consid rer diff rentes vues qui peuvent se superposer pour collaborer la d finition du syst me.
Ce sont des formulations du probl me selon un certain point de vue.
Elles peuvent se chevaucher pour compl ter une description.
Leur somme repr sente le mod le en entier : 4 vues plus 1.
13/02/2015
Mme CHALOUAH Anissa
50
<!-- Slide number: 51 -->
Les Vues en UML
! (Picture2.jpg)
Le mod le 4+1 vues de Kruchten
13/02/2015
Mme CHALOUAH Anissa
51
<!-- Slide number: 52 -->
Les Vues en UML
Vue des cas dutilisation :
c'est la description du mod le vu par les acteurs du syst me.
Elle correspond aux besoins attendus par chaque acteur
(c'est le QUOI et le QUI).
Vue logique :
c'est la d finition du syst me vu de l'int rieur.
Elle explique comment peuvent tre satisfaits les besoins des acteurs
(c'est le COMMENT).
Vue d'impl mentation :
cette vue d finit les d pendances entre les modules.
13/02/2015
Mme CHALOUAH Anissa
52
<!-- Slide number: 53 -->
Les Vues en UML
Vue des processus :
c'est la vue temporelle et technique
Elle met en Suvre les notions de t ches concurrentes, contr le, synchronisation&
Vue de d ploiement :
cette vue d crit la position g ographique et l'architecture physique de chaque l ment du syst me (c'est le O ).
13/02/2015
Mme CHALOUAH Anissa
53