Académique Documents
Professionnel Documents
Culture Documents
Les mthodes
ISTA.ma
Un portail au service
de la formation professionnelle
Le Portail http://www.ista.ma
Que
ue vous soyez tudiants, stagiaires, professionnels de terrain, formateurs, ou que vous soyez tout
simplement intress(e) par les questions relatives aux formations professionnelle,
professionnelle aux mtiers,
http://www.ista.ma vous propose un contenu mis jour en permanence et richement illustr avec un suivi
quotidien de lactualit, et une varit de ressources documentaires, de supports de formation ,et de
documents en ligne ( supports de cours, mmoires, exposs, rapports de stage ) .
Le site propose aussi une multitude de conseils et des renseignements trs utiles sur tout ce qui
concerne la recherche d'un emploi ou d'un stage : offres demploi, offres de stage,
stage comment rdiger
sa lettre de motivation, comment faire son CV, comment se prparer l'entretien dembauche,
dembauche etc.
Les forums http://forum.ista.ma sont mis votre disposition, pour faire part de vos expriences,
ragir l'actualit, poser des questionnements,
question
susciter des rponses.N'hsitez
'hsitez pas interagir avec
tout ceci et apporterr votre pierre l'difice.
Notre Concept
Le portail http://www.ista.ma est bas sur un concept de gratuit intgrale du contenu & un modle
collaboratif qui favorise la culture dchange et le sens du partage entre les membres de la communaut ista.
Notre Mission
Diffusion du savoir & capitalisation des expriences.
Notre Devise
Partageons notre savoir
Notre Ambition
Devenir la plate-forme leader dans le domaine de la Formation Professionnelle.
Notre Dfi
Convaincre de plus
lus en plus de personnes pour rejoindre notre communaut et accepter de partager leur
savoir avec les autres membres.
Nouvelles mthodes
Motivation
1) Prendre en compte des applications de plus en plus complexes, tant dans le
monde de la gestion (introduction du multimdia) que des applications
techniques (CAO, simulation, cartographie ...) qui se caractrisent par :
le besoin de reprsentation dobjets complexes et volumineux
lvolution frquente de la structure et du comportement de ces objets
la gestion des exceptions.
2) Diminuer les cots de dveloppement et de maintenance (par la rutilisabilit).
OOA
OOD
OOP
Page 2
Historique
Les langages
Les mthodes
UML
MAC
SIMULA
67
SMALLTALK
72
ADA
C++
83
84
86
96
97
Les premiers objets ont t dvelopps pour grer les interfaces graphiques.
Les suivants doivent tre les objets mtiers, c'est--dire ceux que l'entreprise
manipule dans le cadre de son activit.
Depuis 1986, on peut considrer que c'est l'poque des pionniers en ce qui
concerne les mthodes OO. On assiste une profusion de publications.
1997, avec la naissance d'UML peut constituer le dbut de la priode de transition
vers la gnralisation de cette mthode, qui doit permettre d'abaisser les cots
perptuels de re-formation et r-quipement d'outils, chaque nouveau projet
Page 3
Les pionniers
Page 4
Objecteering ou Classe-Relation.
Mthode d'une socit franaise Softeam ou travaille P. Desfray.
Par rapport des mthodes comme OMT ou Booch, elle ajoute la notion
d'hypergnricit. L'ide est intressante car l'approche Oriente Objet
montre que tous les systmes informatiques semblent bien tre rductibles
un certain nombre de types de base qui se conjuguent l'infini.
Elle est intimement lie un AGL.
Si elle dbouche aux USA, elle deviendra une option crdible.
Objets Naturels
Mthode dveloppe chez Concis par Paul-Andr BRES.
Elle prsente un apport intressant sur le modle des donnes de Merise.
Le modle des Objets Naturels a pour fonction de formaliser les
comportements d'objets qui sont construits partir du modle conceptuel
des donnes de type Entit / Relation Etendu afin de dduire
automatiquement les transactions interactives qui en dcoulent.
Elle offre un AGL qui gnre les applications dans l'environnement de
dveloppement de GUPTA Technologies (SQL Windows, Team Windows).
Page 5
Histoire rcente
UML 1.1
Rvision, septembre 97
UML 1.0
UML 0.9
www juin 96
OOPSLA '95
Autres mthodes
Booch
OMT
OOSE
Partenaires
Page 6
Les diagrammes
Modles statiques
Diagramme de classes et diagrammes dobjets. Il dcrivent la structure
statique des objets et de leurs relations : agrgation, hritage ou association ;
ainsi que les attributs et les oprations qui caractrisent chaque classe
d'objets. Proposs par OMT et Booch.
Modles dusage
Diagramme de cas dutilisation (ou Use Cases).
Ces cas d'utilisation constituent l'approche principale de la mthode OOSE
de Jacobson. Un cas d'utilisation reprsente une partie du comportement du
systme par rapport un acteur externe. Les cas d'utilisation donnent lieu
l'laboration des scnarios.
Modles dynamiques
Diagramme d'tats (STD : State Transition Diagram de Harel). Dcrit le
comportement des objets les plus importants ou les plus reprsentatifs.
Deux diagrammes d'interaction:
Diagramme de squence ou Event trace dans OMT, encore appel
diagramme de suivi d'vnements. Met en vidence l'aspect temporel des
interactions entre les classes.
Diagramme de collaboration ou Event flow dans Booch. Montre les
interactions (envoi de messages) entre des objets.
Diagramme d'activit. Un peu part. Il drive la fois des statecharts de
Harel, mais aussi des Work flow diagrammes existants bien avant l'orient
objet.
Modles architecturaux
Diagramme de composants. Montre les lments physiques et leurs
dpendances dans l'environnement de ralisation. (Booch).
Diagramme de dploiement. Dcrit la configuration matrielle d'un
systme. (Booch).
Page 7
Modles statiques
Diagramme de classe
Il reprsente les lments de modlisation statique, tels que des classes, leur
contenu et leurs relations. Par contre il ne peut pas dcrire les aspects dynamiques.
Classes
Une classe dcrit un groupe d'objets ayant des proprits similaires (attributs), un
comportement commun (oprations), des relations communes avec les autres
objets ainsi qu'une mme smantique.
Le choix des classes est subjectif, il dpend fortement du contexte de l'application.
Personne, socit, animal, processus et fentre sont des classes d'objets.
Reprsentation graphique d'une classe :
Nom de classe
Attributs
Oprations ( )
Objets
Chaque objet a une identit et peut tre distingu des autres. La Dupont, la
Socit Simplex, Rintintin, le processus numro 7648 et la fentre du haut sont des
objets.
Gnralement, les objets (instances de classe) ne sont reprsents que pour donner
des exemples.
Personne
Personne
Personne
Personne
Nom
Prnom
Age
Dupont
La
32
Lebrun
Marie
45
Legendre
Raoul
18
Classe
Objets
Les objets et les classes apparaissent souvent comme des noms communs dans les
descriptions de problmes.
Page 8
Attributs
Un attribut est une valeur de donne dtenue par les objets d'une classe.
Chaque nom d'attribut est unique l'intrieur d'une classe (par opposition au fait
d'tre unique parmi toutes les classes). Ainsi la classe Personne et la classe Socit
peuvent avoir chacune un attribut adresse.
Syntaxe complte :
Attributs de classe
C'est une sorte de variable globale pour la classe. C'est en fait une valeur unique
partage par tous les objets de la classe et accessible tous, ce qui vite les
recopies et les risques d'incohrence.
Pour le distinguer, il est prcd du symbole $ ou il est soulign.
Fentre
+ tailleDfaut : rectangle
+ taille : Area = (100,100)
# visibilit : boolean = INVISIBLE
Page 9
Opration
Une opration est un service que l'on peut demander un objet pour raliser un
comportement. Tous les objets d'une classe partagent les mmes oprations.
En analyse, on parle plutt dopration. En conception, on parle plutt de
mthode. Une mthode est l'algorithme ou la procdure qui produit le rsultat de
l'opration.
Syntaxe complte :
+ afficher ( ) : Position
+ cacher ( )
Objet gomtrique
Page 10
Liens et association
Diagramme d'objets :
Un lien est une connexion smantique entre des objets.
Pierre : Etudiant
Un lien
Mulhouse : Universit
Un lien
Strasbourg : Universit
Un lien
Un lien
Jean-Paul : Etudiant
Anne : Etudiant
Laurence : Etudiant
Diagramme de classes :
Un lien est une instance d'association. Une association dcrit un groupe de liens
ayant une structure et une smantique commune.
Une association
Universit
Etudiant
Pour amliorer la lisibilit, l'association peut tre dcore par une forme verbale
active ou passive. Le sens de la lecture peut tre prcis.
Universit
Universit
Hberge >
Etudiant
Etudiant
Remarque:
Les associations sont souvent implmentes dans les langages de programmation
sous forme de pointeurs d'un objet sur un autre. Un pointeur est un attribut qui
contient une rfrence explicite vers un autre objet ou vers un ensemble d'objets.
Page 11
Association ternaire
Une association peut tre binaire, ternaire, d'ordre quatre ou plus.
Dans la pratique, la grande majorit des association sont binaires. On rencontre
peu de ternaires, et encore moins (voire pas du tout) d'ordre quatre ou plus.
Une association ternaire est ncessaire quand elle ne peut pas tre subdivise en
associations binaires sans perte d'information.
Projet
Langage
Diagramme
de classes
Personne
Comptabilit
: projet
Cobol : langage
Diagramme d'objets
Marie : Personne
Logiciel CAO :
projet
C : langage
Classe
Diagramme dobjets
< instance de
Page 12
Association
^ relie
^ relie
*
Objet
< instance de
Lien
Multiplicit
La multiplicit prcise combien d'instances d'une classe peuvent se rattacher une
seule instance d'une classe donne.
La notation gnrale adopte est :
min . . max
obligatoire
0..1
optionnel
0..* ou *
1..*
au moins 1
1..5, 10
entre 1 et 5, ou 10
Remarque:
La multiplicit est crite au bout du trait symbolisant l'association, ce qui est
l'inverse de MERISE.
Agence
Nom
Adresse
Vhicule
Immatriculation
Puissance
Une agence gre plusieurs vhicules (0 ou n); un vhicule est attach une et une
seule agence.
Personne
Nom
Prnom
Entreprise
1..*
< emploie
0..1
Raison sociale
Activit
Page 13
Rle
Un rle est une extrmit de l'association.
Le nom de rle est un nom qui identifie de faon unique une extrmit de
l'association.
Personne
Nom
Prnom
Entreprise
1..*
< emploie
employ
0..1
employeur
Raison sociale
Activit
L'utilisation des noms de rle est facultative mais elle prte moins confusion et
est plus commode.
Ces noms de rle peuvent se substituer au nom de l'association ou lui tre ajouts.
Les noms de rles sont ncessaires pour des associations entre deux objets d'une
mme classe.
Les noms de rles sont aussi utiles pour distinguer deux associations d'un mme
couple de classes.
propritaire
Utilisateur
Rpertoire
0..1
utilisateur autoris
*
contenu
Page 14
conteneur
Exercice
Une compagnie arienne propose des vols des passagers.
Un vol a un aroport de dpart et un aroport d'arrive.
Les aroports desservent des villes.
Un commandant de bord, un copilote, des htesses et un avion sont affects
chaque vol.
Quand un passager rserve une place sur un vol, on lui attribue un numro
de sige.
Crer les classes et les associations ncessaires la modlisation de ce
problme.
Passager
Cd de bord
Copilote
Htesse
Sige
Vol
*
Dpart
Arrive
1
Aroport
*
Desservir
*
Ville
Page 15
Avion
Contrainte
C'est une relation smantique entre des lments du modle qui spcifie des
conditions ou propositions devant rester vraies pour que le modle soit valide.
{ contrainte }
Contrainte d'inclusion
Sige 1
1..*
Elu municipal
1
Mairie
{sous-ensemble}
maire
1
dirige
Contrainte d'exclusion
Socit
Compte
{ or }
Personne
Contrainte d'ordre
{ordonn}
Pays
1
Dpartement
1..*
Les lments du cot "plusieurs" ont un ordre explicite qui doit tre prserv.
Page 16
Agrgation
L'agrgation est une forme d'association forte dans laquelle un objet agrgat est
fait de composants. Les composants font partie de l'agrgat.
L'agrgation met en relation des instances d'objets. Deux objets distincts sont
englobs, lun des deux est une partie de lautre.
La dcision d'utiliser l'agrgation est affaire de jugement et frquemment
arbitraire. Il n'est pas toujours vident de choisir entre association et agrgation.
Une agrgation peut tre fixe si le nombre et les types des sous-parties sont
prdfinis.
Micro-ordinateur
1
Ecran
1
Chssis
0..1
UC
Souris
1
Processeur
1
Clavier
1..*
0..1
Mmoire
Ventilateur
Division
Service
Une Socit est une agrgation de Divisions, qui sont leur tour des agrgations
de Services. Une Socit est donc indirectement une agrgation de Services.
Page 17
Composition
Une composition est une forme forte d'agrgation dans laquelle le cycle de vie des
parties composantes est li celui du compos.
Les composants n'existent pas seuls. Ils peuvent tre cres aprs le
compos, mais ensuite elle vivent et meurent avec lui.
Si on dtruit le compos, les composants n'existent plus.
Une fois tablis, les liens ne peuvent pas tre changs.
Homme
Losange noir
Tte
Tronc
0..2
Bras
0..2
Jambe
Agrgat rcursif
Un agrgat rcursif contient directement ou indirectement une instance de la mme
sorte d'agrgat. Le nombre de niveaux potentiels est illimit.
Un programme informatique est un agrgat de blocs, incluant ventuellement des
expressions composes rcursives. La rcursion s'achve sur des expressions
simples. Les blocs peuvent tre imbriqus sur un nombre arbitraire de niveaux.
1..*
Bloc
Page 18
Programme
Instruction
Instruction
lmentaire
Gnralisation et hritage
La gnralisation met en relation les classes et constitue une faon de structurer la
description dun objet unique.
La relation de classification correspond des phrases du type "est une sorte
de".
Une instance d'une sous-classe est simultanment une instance de toutes ses
classes anctres.
Principe de substitution de Liskov: une instance de l'lment plus spcifique
peut tre utilis l o l'lment plus gnral est autoris.
Equipement
Nom
fabricant
poids
cot
Type d'quipement
Pompe
Rservoir
Echangeur
Pression d'aspiration
pression de dbit
taux d'coulement
Volume
pression
Superficie
diamtre
longueur
pression
Type de pompe
Pompe centrifuge
p. diaphragme
Pompe immerge
Diamtre d'hlice
nombre de pales
axe de rotation
Matriel de
diaphragme
Longueur de piston
diamtre de piston
nombre de cylindres
Les mots crits prs des triangles de gnralisation sont des discriminants.
Un discriminant est un attribut de type numration qui indique que la proprit d'un objet a t
rendue abstraite par une relation de gnralisation particulire.
Une seule proprit doit tre discrimine la fois.
L'hritage est le mcanisme par lequel des lments plus spcifiques incorporent
la structure et le comportement d'lments plus gnraux.
Page 19
Extension de la notation
Les discriminants sont indispensables s'il existent plusieurs arbres de classification
diffrents.
Avion
motorisation
Planeur
Rayon d'action
AvionAMoteur
MoyenCourrier
LongCourrier
{disjoint, complete}
Roi
Page 20
Dame
Tour
Fou
Cavalier
Pion
Exercice
Reprsenter le modle objet d'une gestion technique de documents.
Chaque document est compos d'un ou plusieurs feuillets.
Un feuillet comporte du texte et des objets gomtriques qui constituent
deux types d'objets graphiques supportant des oprations de type : copier,
couper, coller et dplacer.
Considrer les quatre objets gomtriques suivant :
cercle caractris par un diamtre,
ligne caractrise par ses points de terminaison,
arc caractris par un rayon, un angle de dbut et un angle d'arc,
rectangle caractris par les longueurs de ses cots.
Indiquer les attributs: paisseur du trait et couleur de remplissage.
Feuillet
Document
*
Objet graphique
Copier
Couper
Coller
Dplacer
1.. *
Objet gomtrique
Texte
groupe
Epaisseur du trait
2 dimensions
couleur remplissage
1 dimension
Ligne
Points de terminaison
Page 21
Arc
Rayon
Angle dbut
Angle d'arc
Rectangle
Longueurs des cots
Cercle
Diamtre
Note
Une note est un commentaire plac sur un diagramme :
Ceci est une note
Package
Un package est un regroupement d'lments du modle. Il peut comporter
plusieurs types dentits (classes, associations, package).
Un lment du modle, et plus particulirement une classe peut tre reprsente
plusieurs fois dans un modle. Il est alors bon dindiquer le package
dappartenance dune classe comme suit : NomPackage : : NomClasse
Le nom dune classe est unique dans un package. Par contre il est possible davoir
deux classes de mme nom dans des packages diffrents.
Le systme entier peut tre vu comme un package unique de haut niveau contenant
tout le reste. On peut aussi reprsenter les dpendances entre packages.
Client
Facturation
Facturation : :
Facture
Socit
1
Client
concerner
Commande
acheter
*
Produit
Page 22
Strotype
Nouveau type d'lment de modlisation qui tend la smantique du mta-modle !
Un strotype permet de classer les lments du modle en grandes familles.
Il peut tre associ tout lment du modle (classe, association, opration,
attribut, package )
On peut dfinir ses propre strotypes; par exemple les classes dinterface, les
classes de contrle, les classes entit.
On peut mme y associer un(e) icne.
<< Interface>>
+ afficher ()
+ crer ()
# setTailleDefaut (Rectangle)
Pattern
Modle gnrique rsolvant un problme classique et rcurrent.
Solution qui a fait ses preuves, fonde sur l'exprience.
Solution rutilisable dans des contextes diffrents.
De plus en plus de Patterns sont disponibles au travers de livres et publications.
Design Patterns
Analysis Patterns
L'agrgat rcursif qui modlise les structures arborescentes, est un exemple
d'Analysis Pattern.
Page 23
Attribut d'association
Un attribut d'association est une proprit des liens d'une association.
Les associations plusieurs plusieurs sont la justification la plus contraignante de
l'existence des attributs d'association. Un tel attribut est sans conteste une
proprit du lien et ne peut tre rattach l'un ou l'autre des objets.
Accessible par
Fichier
Utilisateur
Permission d'accs
/user/cdrgest
/user/cdrgest
/com/grmod/.login
(lire)
(lire-crire)
(lire-crire)
Jean Martin
Marie Durand
Jean Martin
Autre exemple :
Travaille-pour
Personne
Nom
N scurit sociale
adresse
Salaire
fonction
Socit
Nom
adresse
Page 24
Qualification
Le qualificatif est un attribut spcial qui permet de filtrer les lments de la cible.
Cela rduit souvent la multiplicit effective d'une association.
Les associations un plusieurs et plusieurs plusieurs peuvent tre qualifies.
Exemple :
Rpertoire
Fichier
Rpertoire
Fichier
Nom de fichier
Autre exemple :
Socit
Socit
matricule
bureau
1..*
0..1
Personne
Personne
Socit
Page 25
Personne
Exercice
Modliser la structure de l'arborescence des fichiers sous windows 95.
Les fichiers, les raccourcis et les rpertoires sont contenus dans des
rpertoires et possdent un nom.
Un raccourci peut concerner un fichier ou un rpertoire.
Au sein d'un rpertoire donn, un nom ne peut identifier qu'un seul
lment (fichier, sous-rpertoire ou raccourci).
0..1
nom
Rpertoire
1
Elment
Raccourci
Fichier
1
reprsente
{or}
reprsente
Page 26