Escolar Documentos
Profissional Documentos
Cultura Documentos
Dveloppement de Systmes
Informatiques Orients objets en UML
lments du gnie logiciel, du paradigme objet et de la notation
unifie
Djamel-Abdelhak SERIAI
seriai@ensm-douai.fr
http://csl.ensm-douai.fr/seriai
Objectifs du cours
Le paradigme objet
Notation UML des concepts objet
Organisation du cours
Organisation du cours
Le logiciel
et
Le Gnie logiciel
20/01
Cours
TP
Approche objet
et UML
Notation
UML
Notation
UML
22/01
27/01
03/02
TP UML
un exemple de A Z
Un outil CASE (AGL)
24/02
26/02
Partie I : Le Logiciel et
le Gnie logiciel
Service
Produit
Processus
Caractristiques
Du systme :
Structure, adaptabilit,
Complexit, etc.
La crise du logiciel
10
La crise du logiciel
Quelques constats de l'ampleur de l'impact des dfaillances :
11
La crise du logiciel
Prise de conscience :
12
La crise du logiciel
Prise de conscience :
13
La crise du logiciel
14
La crise du logiciel
15
Le gnie logiciel
16
Le gnie logiciel
17
18
non
Pourquoi ?
Pr-analye
Oui
Spcification
Quoi ?
Conception
Impmentation
Code
Test
Logiciel oprationnel
Maintenance
19
La phase de pr-analyse
20
But :
La phase de spcification rpond la question quoi ?
Eviter de dvelopper un logiciel non adquat
Permettre de dfinir prcisment quelles sont les fonctions raliser par le logiciel.
Exemple : Si l'on considre un logiciel effectuant le paiement des salaires dans une
entreprise, la phase de spcification permettra de rpondre notamment aux questions
suivantes :
Les employs sont-ils enregistrs sur bande ou sur disque?
Quel est le format de chaque enregistrement du fichier?
Quel est le format des sorties?
Etc.
21
Entre:
donnes fournies par des experts du domaine d'application et les futurs
utilisateurs
Mthodes:
Il faut surtout tablir un dialogue avec les experts du domaine, qui ne sont
pas forcment des informaticiens,
Utiliser des mthodes plutt cognitives : entretiens, questionnaires,
observations de l'existant, tudes de situations similaires
Dmarche : pour tablir les besoins (le cahier des charges), il faut
tudier le domaine d'application ;
l'tat actuel de l'environnement du futur systme ;
le rle du systme ;
les ressources disponibles et requises ;
les contraintes d'utilisation ;
les performances attendues ;
22
Lien : Cette activit doit tre mene en liaison avec les tudes
de faisabilit et la planification, et doit se poursuivre durant tout
le processus de dveloppement.
23
But :
tablir une premire description du futur systme
rpondre la question comment: comment raliser le logiciel dfini par le
cahier des charges
Entre:
analyse des besoins + considrations techniques et faisabilit informatique
Mthodes:
SADT, SART, MERISE, UML, ...
24
Rsultat:
modle conceptuel pour produire une description de ce que doit
faire le systme mais sans prciser comment il le fait (on prcise le
quoi mais pas le comment).
complment au manuel d'utilisation
manuel de rfrence prliminaire
Remarque
Cette activit ne fait pas apparatre de choix d'implmentation.
25
Techniques de spcification
nonces informels
description en langage naturel pouvant respecter des plans types (standardiss ou
propres une entreprise ou un projet)
Risque de non-cohrence, d'ambigut, de non compltudes, de difficult
d'organisation et de redondance d'informations
Prsentations formates
Dictionnaire de donnes ou glossaire :
- spcification de l'ensemble des donnes utilises en analyse et en
conception
26
Techniques de spcification
Table de dcision :
correspondance entre les valeurs d'entre et les valeurs de sortie d'un
processus (adapte la dfinition des systmes finis).
Table tats-transitions :
table des tats et, pour chaque tat les vnements qui provoquent la
transition un autre tat, les actions effectuer et l'tat suivant pour
chaque transition. Peut tre reprsente par une matrice.
Techniques graphiques ou semi-formelles : Reprsentation graphique
formelle accompagne de textes informels
Modle entit-association
27
Techniques de spcification
Techniques graphiques ou semi-formelles :
Diagrammes de flots de donnes DFD : montrent comment chaque
processus transforme les donnes qu'il reoit entre pour gnrer
celle qu'il produit en sortie.
Diagrammes de structures : description du systme sous forme de
hirarchie de fonctions. La notation permet d'exprimer les appels de
fonctions, les paramtres (entres, sorties, contrle), les structures
itratives et alternatives.
Diagrammes tats-transitions : semblables (et complmentaires) aux
tables tats-transitions.
28
Techniques de spcification
Techniques graphiques ou semi-formelles :
Rseaux de Petri et : un rseau de Petri est un outil mathmatique trs
gnral permettant de modliser le comportement d'un systme
dynamique des vnements discrets.
Grafcet: le Graphset, inspir des rseaux de Petri, est un outil de
spcification des automates logiques frquemment utilis en
automatique.
Techniques formelles
Langage B
Langage Z
Etc.
29
But
Dfinir larchitecture logicielle par ltablissement dune description trs proche
du systme raliser.
Rpartition des entits (ou des fonctions) identifies dans la spcification sur une
architecture matrielle et logicielle
Dcomposer le logiciel en composants plus simples, dfinis par leurs interfaces
et leurs fonctions (les services qu'ils rendent)
Choix dalgorithmes
Dmontrer que la spcification est correctement dcrite
Cohrence entre description, spcification et conception
Comportement
Proprits
30
Documents dentre
Document de spcification : les spcifications globales + contraintes
d'implmentation
Entits
Description des comportements locaux
Description des comportement globaux
Documents de sortie
Documents de conception gnrale (ou prliminaire)
Description des modules
Description des interfaces entre modules
Traabilit avec la spcification
Plans de test dintgration
Document de conception dtaille
Plan de test unitaire
31
Mthodes:
Enrichir la description du systme de dtails d'implmentation. Deux tapes:
1. conception architecturale :dcomposer le logiciel en composants plus simples
en terme de fonctions et interfaces
2. conception dtaille : description de chaque composant: algorithmes, structure
des donnes, ...
32
Dmarche de conception
Conception de l'architecture : identifier les sous-systmes et leurs
relations
Spcification abstraite : pour chaque sous-systme produire une
spcification abstraite des services qu'il offre et des contraintes
auxquelles il est soumis
Conception de l'interface : pour chaque sous-systme, concevoir et
documenter (de manire claire) l'interface avec les autres sous-systmes
Conception des composants de chaque sous-systme
Conception dtaille des structures de donnes
Conception dtaille des algorithmes
33
34
35
But :
Ralisation, partir de la conception dtaille, d'un ensemble de
programmes ou de composants de programmes
Projection des concepts du modle sur un langage de programmation.
Il sagit dun processus manuel
Entre:
conception dtaille + contraintes de l'environnement de programmation
36
37
Validation et vrification
But de cette activit est de s'assurer de l'adquation du systme
produit face aux besoins et spcifications
Spcifions-nous le bon systme c'est dire un systme correspondant aux
attentes des utilisateurs et respectant les contraintes de leur
environnement? celui qui rpond l'attente des utilisateurs ?
Elle consiste essentiellement en des revues et inspections de
spcifications ou de manuels et du prototypage rapide
38
Validation et vrification
Mthodes :
examens des spcifications, programmes, preuves, tests
test unitaire , test d'intgration et test systme
on distingue :
tests statiques: examen ou analyse du texte des programme
tests dynamiques : consiste en l'excutions du logiciel sur un sousensemble des donnes permettant de vrifier tous les chemins
d'accs logiques et la plage de validit des donnes et en particulier
les conditions limites
39
40
La phase de maintenance
41
Pr-analye
Pcification
Conception
Impmentation
Test
Maintenance
42
Rpartition de leffort
Dveloppemet
40 %
spcification
20 %
Test et
Maintenance
60%
conception
20 %
Test
40 %
Maintenance
20 %
43
Rutilisation de logiciel
Il s'agit ici de constituer une bibliothque de modules. Lors de la ralisation d'un
nouveau logiciel, on cherchera le plus possible utiliser des modules existants.
cette mthode ne s'applique pas lorsqu'il s'agit de raliser un logiciel dans un
domaine relativement neuf.
44
Qualit de logiciel
45
Qualit de logiciel :
46
Dfinition :
Objectif :
Obtenir des processus de dveloppement rationnels, reproductibles et
contrlable. Utiliss pour mieux matriser le processus dveloppement en
permettant de prendre en compte, en plus des aspects techniques, l'organisation
et les aspects humains
Remarques :
Une tape, telle que la conception, peut faire intervenir plusieurs activits,
comme celles de la spcification globale, du maquettage et de la validation
une activit comme la documentation peut se drouler pendant plusieurs tapes
47
48
Conception dtaille
Codage
Intgration
maintenance
49
50
Analye
des beoins
Et faisabilit
Installation
Test systme
Test
Dacceptation
spcification
Conception
architcturale
Intgration
Et test
Dintgration
Conception
dtaille
Test unitaire
Programmation
Modle en V
contrairement au modle de la cascade, ce modle fait apparatre
le fait que le dbut du processus de dveloppement conditionne
ses dernires tapes.
avec toute dcomposition doit tre dcrite la recomposition,
toute description d'un composant est accompagne de tests qui
permettront de s'assurer qu'il correspond sa description.
ceci rend explicite la prparation des dernires phases (validationvrification) par les premires (construction du logiciel),
permet ainsi d'viter un cueil bien connu de la spcification
du logiciel :noncer une proprit qu'il est impossible de
vrifier objectivement aprs la ralisation.
le cycle en V est le cycle qui a t normalis
il est largement utilis, notamment en informatique industrielle et
tlcoms
51
Modle en spirale
Propos par B. Boehm en 1988, ce modle est beaucoup plus gnral que le
prcdent.
Il met l'accent sur l'activit d'analyse des risques : chaque cycle de la spirale
se droule en quatre phases :
dtermination, partir des rsultats des cycles prcdents --ou de
l'analyse prliminaire des besoins, des objectifs du cycle, des alternatives
pour les atteindre et des contraintes ;
analyse des risques, valuation des alternatives et, ventuellement
maquettage ;
dveloppement et vrification de la solution retenue, un modle
classique (cascade ou en V) peut tre utilis ici ;
revue des rsultats et vrification du cycle suivant.
52
Analye
Des risques
Analye
Des risques
Analye
Des risques
Prototype
Prot Prot oprationnel
3
prototype1 2
Analye
des risques
Revue
Planification
Des besoins et
Du cycle de vie
Plan de
dveloppement
Plan de test et
Dintgration
Planification de la
Prochaine phase
Simulation, modles et
Tests de performance
s
oi n s
Conception
s
e
n
B ciel
o
i
i
t
dtaille
p
Validation
log
ce duit
n
Des besoins
code
Co pro
Test
Du
unitaire
Test
Concept
De lopration
Mise en
service
Dintgration
Test
Dacceptation
Dvelopper
Et vrifier le produit
De prochain niveau
53
Modle en spirale
principe
L'analyse prliminaire est affine au cours des premiers cycles.
Le modle utilise des maquettes exploratoires pour guider la phase
de conception du cycle suivant.
Le dernier cycle se termine par un processus de dveloppement
classique.
Ce modle a t moins expriment que les deux prcdents.
Sa mise en oeuvre demande de grandes comptences et devrait tre
limite aux projets innovants cause de l'importance qu'il accorde
l'analyse des risques. Nanmoins, ce dernier concept peut tre appliqu
aux autres modles.
Le modle en spirale utilise systmatiquement des prototypes
exploratoires afin de guider la conception.
54
55
56
57
58
59
Objectif :
la distinction composition/dcomposition :
les mthodes ascendantes qui consistent construire un logiciel par
composition partir de modules existants
les mthodes descendantes qui dcomposent rcursivement le un systme
jusqu' arriver des modules programmables simplement .
60
61
62
Approches fonctionnelles
63
Approches fonctionnelles
64
Approches fonctionnelles
65
Approches fonctionnelles
MERISE
66
Approches fonctionnelles
MERISE
La mthode prconie la sparation entre les modles de donnes, analyss
avec une approche entit-association, et les modles des traitements,
prsents avec un formalisme proche de celui des rseaux de Petri
La mthode conduit raliser les six modles
67
Le choix d'une mthode oriente objet n'est pas simple car celles-ci sont
nombreuses et toutes n'ont pas t testes sur des applications suffisamment
importantes pour pouvoir tre values
Dans la plupart de ces mthodes, l'tude d'un problme est ralise suivant trois
aspects:
un aspect statique ou descriptif , o on identifie les proprits des objets et
leurs liaisons avec les autres objets
un aspect fonctionnel , dans lequel on prcise les fonctions ralises par les
objets par l'intermdiaire des mthodes.
68
69
70
71
Mthode OMT
72
La dimension statique reste la plus importante des trois car elle est la plus
stable dans le temps
la description des donnes repose sur un modle entit-association tendu.
A chaque objet on associe son comportement, par l'intermdiaire des mthodes apparues
dans les diagrammes de flots de donnes.
73
La mthode UML
UML se base sur une smantique prcise et sur une notation graphique
expressive. Il permet de modliser de manire claire et prcise la
structure et le comportement d'un systme indpendamment de toute
mthode ou de tout langage de programmation
74
La mthode UML
N de la fusion des mthodes objet dominantes (OMT, Booch et
OOSE), puis normalis par l'OMG en 1997, UML est rapidement
devenu un standard incontournable.
75