02 Modelisation
02 Modelisation
02 Modelisation
Gnie Logiciel
Merise
Modlisation objet
UML
Ce support nest quune adaptation des supports rdigs par Isabelle VALEMBOIS
(Thales-services)
MERISE
Les modles de la mthode Merise :
Le modle de flux
Le modle conceptuel de donnes
Le modle conceptuel de traitements
Le modle organisationnel de traitements
Le modle logique de donnes
Le modle oprationnel des traitements
Le modle physique des donnes
En savoir plus sur Merise :
La mthode MERISE - H. Tardieu, A. Rochefeld, R.
Colletti
MODELISATION OBJET (1/6)
Principaux concepts objet :
Classe
Type dobjet caractris par sa structure de donnes (attributs)
et son comportement (mthodes)
Objet
Un objet reprsente un individu, une entit identifiable relle ou
conceptuelle avec un rle bien dfini dans le domaine du
problme ou dans un systme (instance de classe)
Attribut
Un attribut est une proprit, une caractristique, une qualit
inhrente ou distinctive dun objet (exemples : la couleur ou
limmatriculation dune voiture)
Mthode
Une mthode est une action quun objet effectue de sa propre
initiative ou la demande (raction un vnement ou un
envoi de message). Ces mthodes dcrivent les proprits
dynamiques dun objet.
MODELISATION OBJET (2/6)
Principaux concepts objet :
Quelques mthodes "classiques" :
Un constructeur est une mthode qui permet de construire et
dinitialiser un objet (instanciation dun objet)
Par opposition, un destructeur est une mthode qui permet de
dtruire un objet instanci
Un accesseur est une mthode qui permet de rcuprer la valeur
dun attribut dun objet (get et is)
Un modificateur est une mthode qui permet de modifier la
valeur dun attribut dun objet (set)
Un observateur est une mthode qui permet de retrouver des
informations sur lhistoire (ltat) dun objet
Un itrateur est une mthode qui permet dappliquer chaque
partie dun objet (par exemple dans le cas dun objet de type
collection) une action dtermine
MODELISATION OBJET (3/6)
Principaux concepts objet :
Association
Une association permet de prciser une relation entre diffrents
objets. Une association possde gnralement un nom qui sert
dcrire la nature de la relation
Une association est galement caractrise par le nombre dobjets
pouvant tre relis par lintermdiaire dune instance dassociation :
0..1, 0..n, 1..n, n..n
Agrgation
Une agrgation est une relation binaire entre deux objets qui
spcifie une inclusion entre une partie et un tout. Une partie peut
appartenir dautres agrgations et exister indpendamment
Composition
Une composition est un type particulier dagrgation qui spcifie
une inclusion entre une partie et un tout plus forte que lagrgation :
quand on supprime llment composite, il y a obligatoirement
suppression des composants
MODELISATION OBJET (4/6)
Gnralisation
Dans le cas dun hritage, on dit quune classe "mre" est une
gnralisation des proprits de ses classes "fille"
Spcialisation
Dans le cas dun hritage, on dit quune classe "fille" est une
spcialisation des proprits de sa classe "mre"
MODELISATION OBJET (5/6)
Principaux concepts objet :
Encapsulation (interface)
Mcanisme permettant de dissimuler les dtails du
fonctionnement interne dune classe aux autres classes
Abstraction (classe abstraite)
Mcanisme permettant la dissociation entre la dclaration dune
classe et son implmentation (interface)
Polymorphisme
Mcanisme permettant dassocier un comportement, une
implmentation diffrente en fonction de lobjet auquel on se
rfre (par exemple : dessiner lcran un carr ou un cercle).
Lmetteur na pas besoin de connatre la classe du receveur,
seulement que la smantique du message sera la mme pour
toutes les classes similaires (par exemple : la mthode toString
en JAVA, les injecteurs en C++)
MODELISATION OBJET (6/6)
Principaux concepts objet :
Message
Mcanisme caractristique des langages objet. Le message est
lunique support de communication entre objets. Larrive dun
message provoque lexcution dune mthode de lobjet
Type daccs, porte, visibilit
Public
Private
Protected
Surcharge de mthode
Mcanisme permettant de dclarer plusieurs constructeurs ou
plusieurs fois une mme mthode (mme nom) dans une classe,
condition que tous aient une signature diffrente (valeur de
retour et/ou paramtres diffrents)
UML (1/24)
Objectifs
Faciliter la communication entre les diffrents acteurs dun
projet
Faciliter la communication avec la machine
Documenter un projet de bout en bout
Spcifier et donc limiter les ambiguts
Construire (interprter les diagrammes pour code)
Dfinition
Langage de description des objets permettant une
modlisation rigoureuse des systmes complexes
Langage Unifi pour la Modlisation objet
UML (2/24)
Avantages dUML :
Formel et normalis (garantit stabilit et performance
dun projet, rduit les risques)
Support de communication performant et prouv
(permet de cadrer lanalyse et de faciliter la
comprhension de reprsentations abstraites : cest
lesperanto de lanalyse)
Inconvnients dUML :
Priode dapprentissage
Processus de production non couvert
UML (4/24)
Historique
UML (5/24)
Diagrammes
UML :
UML (5/24)
Dcouverte des besoins
Diagramme de cas dutilisation : dcrit les fonctions du
systme (point de vue de ses futurs utilisateurs -Jacobson)
Diagramme de squence : reprsentation des interactions
temporelles entre objets dans la ralisation dune IHS
Analyse
Diagramme de classes : structure des donnes
Diagramme dobjets : illustration
Diagramme collaboratif : reprsentation des interactions
entre objets
Diagramme dtats : reprsentation du comportement des
objets dune classe en terme dtats et de transitions dtats
Diagramme dactivits : structure dune opration en
actions
UML (5/24)
Conception
Diagramme de squence : reprsentation des interactions
temporelles entre objets dans la ralisation dune opration
Diagramme de dploiement : description du dploiement
des composants sur les dispositifs matriels
Diagramme de composants : architecture des composants
physiques dune application
UML (6/24)
Acteur
CU
UML (7/24)
Imprimer ticket
+ attributs drivs
ou calculables
UML (10/24)
Le diagramme de classes :
Il permet de dcrire les classes dun systme ainsi que les
associations et les relations dhritage entre ces classes
Les associations (forme verbale)
active, Personne
Travaille
Socit
pour >
rles, Employ
Personne Socit
Employeur
Composition et agrgation
Lhritage
UML (12/24)
Le diagramme dobjets :
Le diagramme dobjets est un cas illustr dun
diagramme de classes. Selon le contexte, il montre la
relation entre les objets
UML (13/24)
Le diagramme de collaboration :
Le diagramme
de collaboration
est une extension
des diagrammes
de classes
Il montre les
interactions entre objets
et vise reprsenter
du point de vue statique
et dynamique les objets
impliqus dans la mise en
place dune fonction
applicative
UML (14/24)
+ de 60 ans + de 60 ans
En retraite
Transition garde
A
climatise are
UML (16/24)
Synchronisation
UML (17/24)
A E1 B
E2
C
A E1 B
E2 E2
C
UML (18/24)
Le diagramme de squences :
Il permet de reprsenter des interactions entre les
objets selon un point de vue temporel
Reprsentation dun objet :
classe
Classe (grand rectangle)
Le diagramme de squences :
Les messages :
simples
synchrones
asynchrones
rflectifs
avec dlai
UML (20/24)
Le diagramme de squences :
Ajout de pseudo-code
Branche conditionnel
If
else
end if
UML (20/24)
getColor()
ALT
setState( white )
[noir]
getX()
LOOP
setValue( t[i], i )
[i < x]
UML (21/24)
Exemple de
diagramme de
squences :
UML (22/24)
Le diagramme
dactivits :
Il sagit dune variante
du diagramme dtat-
transition reprsentant
la dynamique du
systme
Il sert reprsenter le
comportement interne
dun cas dutilisation.
Son intrt rside dans
la reprsentation
simplifie des activits.
UML (23/24)
Le diagramme de
composants :
Il dcrit les
lments
physiques et leurs
relations dans
lenvironnement
de ralisation
Il montre les choix
de ralisation
UML (24/24)
Le diagramme de
dploiement :
Il montre la disposition
physique des diffrents
matriels (nuds) qui
entrent dans la
composition dun
systme et la rpartition
des programmes
excutables sur ces
matriels
Il montre les choix de
ralisation
OUTILS (1/3)
Outils Merise :
Power AMC
MS-Designer
Outils UML :
Rational Rose (rachet et intgr par IBM)
Objecteering
Together ControlCenter
ArgoUML, Posidon
Outils de gestion de tests :
Mercury TestDirector
Compuware QADirector
Rational TestManager
OUTILS (2/3)
Critres de slection des outils UML :
Respect des normes UML
OS supports
Stabilit
Exhaustivit des diagrammes
Correspondance relationnel
Gnration de code
Format de documentation
Gestion de configuration
Reverse engineering
Gestion de tests
OUTILS (3/3)
Lanalyse
tape
intermdiaire
entre la
spcification
des besoins
et la
conception
du systme
ANALYSE (2/8)
Lanalyse statique
Pour identifier les classes de conception intervenant dans les
diagrammes dinteraction du modle conceptuel, deux sous-
tapes sont ncessaires :
Construire le modle du domaine. Sorte de glossaire formalis
des concepts fondamentaux de lespace du problme, ce modle
fournit une partie des classes de conception : celles
correspondant directement aux concepts mtier manipuls
par les experts du domaine et les utilisateurs. Ces concepts,
leurs attributs et leurs relations vont tre dcrits en UML par des
diagrammes de classes simplifies.
Construire les diagrammes de classes participantes. Afin de
prendre en compte galement lIHM et la cinmatique de
lapplication, les diagrammes de classes participantes font la
jonction entre les cas dutilisation, le modle du domaine, la
maquette et les diagrammes de conception logicielle. Il sagit
de diagrammes de classes qui dcrivent, par cas dutilisation,
les trois principales classes danalyse et leurs relations.
ANALYSE (3/8)
Lanalyse dynamique
Le modle dynamique permet de dcrire :
Pour chaque cas dutilisation, la squence des
interactions entre les acteurs et le systme vue comme
une bote noire, reprsente par les diagrammes de
squence systme. Ce sont ces diagrammes qui feront le
lien entre les cas dutilisation et les diagrammes
dinteraction du niveau conceptuel.
Dautre part, pour reprsenter de manire formelle
lensemble des chemins possibles entre les principaux
crans proposs lutilisateur, et partir des informations
fournies par la maquette, il reste dtailler les
diagrammes dactivits de navigation.
Si ncessaire, le cycle de vie commun aux objets dune
mme classe, peut tre explicit par les diagrammes
dtats.
ANALYSE (7/8)
La conception du systme
Cible
Dans les activits de
conception, le modle
correspond aux
concepts
informatiques
utiliss par les
outils, les langages
ou les plates-formes
de ralisation. Le
modle sert ici
tudier, documenter,
communiquer et anticiper la solution logicielle.
CONCEPTION (2/3)
Conception
Pour chaque CU :
Diagramme de classes de conception
Diagramme de squence ou de collaboration
Annexes
MCD et MPD (le cas chant)
STRATEGIE DE TESTS (1/4)
Enjeux techniques :
Niveau de service
o Performance
o Tolrance aux pannes
o Exploitabilit
Scurit
Prennit et volutivit
Enjeux conomiques
Rduction des cots de recette
Rduction de cots de maintenance
STRATEGIE DE TESTS (2/4)
Cahier de test
Il a pour objectif de prsenter les modles de rfrence
en terme de tests pour le projet. A ce titre, il contient
tous les modles de documents utiliss dans le cadre de
lactivit de tests :
cas de test
scnario de tests
fiche danomalie
tableau de bord des anomalies
Dfinitions :
La rutilisabilit est laptitude dun logiciel tre
rutilis en tout ou en partie pour de nouvelles
applications
La rutilisabilit consiste se servir dun composant
pour en crer un nouveau
Objectifs :
Optimiser les cots de dveloppement
Optimiser les cots de maintenance
Fiabiliser les dveloppements
Favoriser lvolutivit, ladaptabilit, lutilisabilit
REUTILISABILITE (2/11)
Techniques de rutilisabilit :
La duplication (inconvnient : la maintenabilit).
Le pr-processing : trs similaire la technique prcdente, il
intgre un outil spcialis, le pr-processeur. Ainsi, les
corrections d'erreurs comme les volutions apportes la
partie rutilise profitent l'application d'origine
(inconvnient : si des modifications sont faites sur le code
rutilisable et si tous les utilisateurs ne sont pas informs de ces
modifications, ceci peut altrer le fonctionnement peru par les
autres utilisateurs).
Les bibliothques de composants : cette technique consiste
appeler un composant excutable et d'en exiger un certain
comportement l'aide de paramtres.
Les frameworks : dans les bibliothques de composants, c'est
l'application qui invoque une routine de la bibliothque et c'est
l'application qui fait le contrle. Dans les frameworks, la
situation est inverse, c'est le framework qui dirige les
tches et qui fait des appels l'application si ncessaire
(Exemple : Struts).
REUTILISABILITE (3/11)
1-2
STRUTS (2/2)
1-2