Vous êtes sur la page 1sur 112

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Gnie Logiciel
(d'aprs A.-M. Hugues)

Analyse des Besoins


(Spcifications)
Renaud Marlet
LaBRI / INRIA
http://www.labri.fr/~marlet
mj 17/04/2007

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Analyse des besoins :


Position dans le cycle de vie

Contexte :

problme pos par le client : cahier des charges

Phase d'analyse des besoins :

formulation d'une rponse ce problme (proposition)

dossier d'analyse

Phase suivante : planification

Terminologie alternative :

dfinition du produit, spcification

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Objectifs de ce cours

Donner des lments structurants

points cls du dossier d'analyse

techniques et outils standards de spcification

Intrt

pour celui qui va crire des spcifications

pour celui qui va lire des spcifications

techniques rutilisables dans d'autres contextes

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan du cours

Dossier d'analyse

Techniques et outils de spcification

modles, reprsentations, ...

Interface utilisateur

contenu, importance, qualit, ...

mthodologie, ergonomie, ...

Maquettage et prototypage

nature, intrt, ...

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan du cours
Dossier d'analyse

Techniques et outils de spcification

modles, reprsentations, ...

Interface utilisateur

contenu, importance, qualit, ...

mthodologie, ergonomie, ...

Maquettage et prototypage

nature, intrt, ...

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Contenu du dossier d'analyse (1)

Description des fonctions du produit

complte et dtaille

y compris dans sa relation avec l'environnement

Attention :

seules sont dcrites les fonctions visibles de l'usager

pas l'architecture modulaire du produit

bote noire

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Contenu du dossier d'analyse (2)

spcifications fonctionnelles

spcifications non-fonctionnelles

premire version du glossaire

(et dans le cas d'un cycle de vie en V :


+ tests de validation et de qualification
+ premire version du manuel utilisateur)

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Cycle de vie :
modle en V (rappel)
(Expression
des besoins)

(Validation
des besoins)

Spcifications

Qualification

Conception
globale

Tests
d'intgration

Conception
dtaille
Programmation

Tests
unitaires

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Importance du dossier d'analyse

Erreur dans la spcification


cot important si dcouvert trop tard

la base du contrat

protection du client (engagement du fournisseur)

protection du fournisseur (attente client bien dfinie)

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Dossier d'analyse : fait par qui ?

Gnralement ralis par

Parfois ralis par le client

des membres de l'unit de dveloppement

attente d'un produit prcis

Parfois donn par une norme

protocole, format d'change, ...

exercice : citez des exemples

10

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Dossier d'analyse : fait pour qui ?

Pour le client :

description prcise de ce qui sera ralis

permet d'anticiper la mise en exploitation

Pour les dveloppeurs :

rfrence prcise et non ambigu

ce qu'il s'agit de raliser


ce qu'il s'agit de tester

11

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan type du dossier d'analyse


plan indicatif !
(ne pas ncessairement le suivre la lettre)
1) Introduction

objectifs

fonctionnalits attendues

environnement

faisabilit et justifications

ressources ncessaires

lments de cot et chancier

12

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan type du dossier d'analyse


2) Concepts et terminologie

glossaire de l'application

Peut tre en annexe, ou bien un document


autonome utilis et partag dans tout le projet

13

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan type du dossier d'analyse


3) Description fonctionnelle externe
3.1) Pour chaque fonction :
( fonctionnalit abstraite, pas une routine de programme !)

entres (multi-canales)

traitement

sorties (multi-canales) : effets

dtails ventuels :

conditions d'arrt
exceptions, points de reprise, traitement des anomalies
si traitement trop complexe dcrire : algorithme suggr

14

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan type du dossier d'analyse


3) Description fonctionnelle externe (suite)
...
3.2) Organisation logique des donnes

types de donnes

domaines de variation

3.3) Interface homme-machine

fentres et crans

tats (reprsents ou non) et transitions

15

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan type du dossier d'analyse


4) Description interne
4.1) Interaction avec l'environnement

composants logiciels ncessaires aux fonctions en 3.1


(ex. base de donnes existante)

4.2) Contraintes

contraintes de ralisation (ex. encombrement mmoire)

contraintes de qualit (ex. prcision du calcul)

performances

critres de vrification des contraintes

priorits

16

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Plan type du dossier d'analyse


5) Questions ouvertes et rponses apportes par
les dveloppeurs

prcisions, faisabilit (lments de prototypage)

...

6) lments de livraison

cahier provisoire de recette

constitution des lots

tests de recette

dates issues de la planification

17

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Qualits du dossier d'analyse (1)

Prcis

formulation non ambigu

Cohrent

pas de contradictions

18

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Qualits du dossier d'analyse (2)

Complet

pas d'oublis

couverture de tous les besoins ( cahier des charges)

description exhaustive des fonctionnalits

Argument

liaison claire (rfrences) avec

des besoins exprims dans le cahier des charges

(des objectifs exprims dans la spcification d'objectifs)

critre de traabilit ()

19

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Qualits du dossier d'analyse (3)

Traable

pouvoir suivre le devenir des fonctionnalits dans les


phases ultrieures (implmentation, test)

Maintenable / flexible

comment prendre en compte les volutions futures?

20

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Forme du dossier d'analyse

Sparation des concepts


= 1 concept par paragraphe

Numrotation des paragraphes et/ou sections


facilit de rfrence
traabilit (dans les phases ultrieures)

21

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

22

Plan du cours

Dossier d'analyse

contenu, importance, qualit, ...

Techniques et outils de spcification

Interface utilisateur

modles, reprsentations, ...


mthodologie, ergonomie, ...

Maquettage et prototypage

nature, intrt, ...

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle conceptuel

Donne une image mentale du produit (!)

Recense les fonctionnalits attendues

Point de dpart :

l'analyse des besoins

l'interface utilisateur

Extrme importance

23

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle conceptuel

labor partir des interviews d'utilisateurs

Dfinit, pour chaque grande fonction du produit :

les objets (ou entits) que le produit cre/manipule

les attributs de ces objets

les oprations raliser sur ces objets

24

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Exercice :
Dfinir un modle conceptuel

Messagerie tlphonique du type SMS / texto :

consulter les messages dans la bote de rception


supprimer un message
envoyer un message
faire suivre ou rpondre un message
consulter les contacts dans le rpertoire
ajouter et supprimer des contacts dans le rpertoire

Quels sont les objets et les relations (notamment


de possession) entre objets ?

25

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Objets et relations dans une


messagerie textuelle tlphonique

Objets

bote de rception

message (2 types : reu, en cours de rdaction)

rpertoire

contact

Relations

la bote de rception contient une liste de messages

un message provient de / est destin un numro

un contact a un nom et un numro

26

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle conceptuel de la messagerie


Exercice : remplir le tableau
Grand type de
fonction du
produit
gestion de la
bote de rception
gestion d'un
message reu
cration d'un
nouveau
message
gestion du
rpertoire
gestion d'un
contact

Objet (et attributs)

Liste des oprations

Exemple de
contraintes
ventuelles

27

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Exemple de modle conceptuel


de la messagerie
Grand type de
fonction du
produit

Objet (et attributs)

Liste des oprations

Exemples de
contraintes
ventuelles

gestion de la
bote de rception

bote de rception
(liste de messages
reus)

consulter la liste,
slectionner un msg

nombre maximum
de messages

gestion d'un
message reu

message reu (suite


de caractres non
modifiable)

lire, faire suivre,


rpondre, supprimer

cration d'un
nouveau
message

message en cours
(suite de caractres)

diter, envoyer, annuler

taille maximum
d'un message

gestion du
rpertoire

rpertoire
(liste de contacts)

consulter la liste,
ajouter un contact,
slectionner un contact

nombre maximum
de contacts

gestion d'un
contact

contact
(nom, numro)

modifier, supprimer

taille maximum du
nom, du numro

28

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Choix dans le modle conceptuel

Ajout et de suppression de message

opration sur un message sur la bote de rception ?

Ajout et suppression de contact

opration sur un contact ou sur le rpertoire ?

Plus gnralement, il y a un choix quand une


opration

relie deux objets

en particulier : un contenant avec un contenu

29

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Importance du modle conceptuel

Il structure

identification de concepts, objets, attributs, oprations


et de leur articulation

Il fonde l'intuition

image mentale : analogie avec des concepts, objets,


attributs et oprations connus

apprentissage rduit

Il facilite l'interaction

efficacit, productivit

30

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Importance du modle conceptuel

Impact sur tout les acteurs

utilisateur

dveloppeur (projet complexe)

dcideur

31

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diffrents types de
modles conceptuels

Modle de simulation

lien avec un existant concret

Modle structurel

abstraction

On va en donner des exemples

32

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle conceptuel de simulation


Exemple : traitement de texte

33

(d'aprs P. Baudelaire)

Recrer une technologie connue


Machine crire, papier

page = zone rectangulaire contenant

des cellules (caractres ou blancs) [regroupes en lignes]

un curseur (l o le prochain caractre s'imprime)

actions

surimpression d'un caractre o se trouve le curseur

crire, effacer (blancs), copier des caractres [sur une ligne]

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle conceptuel structurel


Exemple : traitement de texte

34

(d'aprs P. Baudelaire)

Manipulation et reprsentation d'entits abstraites


Document = chane de caractres arbitrairement
longue, organise hirarchiquement en sections,
paragraphes, mots...

manipulations travers cette structure logique

insrer, dtruire, remplacer, dplacer, copier

pas de limitation des oprations sur une seule ligne

spcification et enregistrement de rgles de formatage

changer le style sans changer le contenu

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Comparaison des diffrents types


de modles conceptuels

Modle de simulation

avantage : intuition facile

inconvnient : peut tre limitatif

Modle structurel

avantage : plus gnral, plus puissant

inconvnient : peut demander un plus grand travail


de conceptualisation

35

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

36

Dictionnaire de donnes

Souvent amorc par le modle conceptuel

Constitu au fur et mesure de l'analyse

Nom de tous les objetsutiliss


(+ attributs, oprations, ...)

classement alphabtique (+ synonymes ou alias)

lien avec de futures entits issues du dveloppement

variables, fonctions, classes, ...

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle conceptuel et
besoins de spcification

Descriptions avec des mots

concepts, objets, attributs, oprations...

Besoin de structuration

pour la prcision

pour la compltude (comment tre systmatique?)

pour la lisibilit

Reprsentations tabulaires

37

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de dcision

Dfinition des valeurs de sorties en fonctions


des valeurs d'entre et de leurs combinaisons
Adapt aux systmes dont les sorties ne
dpendent que des entres (et pas de l'tat
courant)

38

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Exemple :
date et heure de MAC OS X

39

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de dcision : Exemple


date et heure de MAC OS X
Affichage du jour de la semaine (lundi, mardi, ...) :

Paramtres d'entre :

Afficher dans : [barre des menus] ou [fentre]

Affichage : [numrique] ou [analogique]

Paramtre de sortie :

Afficher le jour de la semaine : oui, non, optionnel


Afficher le jour de la semaine

Afficher dans : barre des


menus
Afficher dans : fentre

Affichage :
numrique

Affichage :
analogique

optionnel

non

oui

non

40

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de dcision : Exemple


date et heure de MAC OS X
Affichage de l'heure avec les secondes

Paramtres d'entre :

Afficher dans : [barre des menus] ou [fentre]

Affichage : [numrique] ou [analogique]

Paramtre de sortie :

Afficher l'heure avec les secondes : oui, non, optionnel

Afficher l'heure avec les secondes


Afficher dans : barre des menus
Afficher dans : fentre

Affichage :
numrique

Affichage :
analogique

optionnel

non

non

optionnel

41

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

42

Question

Quelle structure de table

s'il y a plusieurs paramtres de sortie ?

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

43

Rponses possibles

Quelle structure de table

s'il y a plusieurs paramtres de sortie ?

Autant de tables que de paramtres de sortie ()


Liste des sorties dans chaque case ()

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de dcision : Exemple


date et heure de MAC OS X
Affichage du jour de la semaine et des secondes :

Paramtres de sortie :

Afficher le jour de la semaine : oui, non, optionnel

Afficher l'heure avec les secondes : oui, non, optionnel

Afficher le jour
et/ou les secondes
Afficher dans :
barre des menus
Afficher dans :
fentre

Affichage : numrique

Affichage : analogique

jour optionnel
secondes optionnelles

jour absent
secondes absentes

jour prsent
secondes absentes

jour absent
secondes optionnelles

44

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

45

Question

Quelle structure de table

s'il y a plus de deux paramtres d'entre ?

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Rponse possible

Quelle structure de table

s'il y a plus de deux paramtres d'entre ?

Combinatoire

autant de colonnes que de paramtres d'entre

et toutes les combinaisons possibles

46

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

47

Table de dcision : Exemple (1)

3 paramtres d'entre (boolens)

1 paramtre de sortie (boolen)


A

(A B) C

N.B. pas de titre pour les lignes

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

48

Table de dcision : Exemple (2)

3 paramtres d'entre (boolens), 1 de sortie (boolen)

rsultats intermdiaires pour la comprhension


A

AB

(A B) C

N.B. pas de titre pour les lignes

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

49

Question

Quelle structure de table

s'il y a plusieurs paramtres d'entre


et plusieurs paramtres de sortie ?

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Rponse possible

Quelle structure de table

s'il y a plusieurs paramtres d'entre


et plusieurs paramtres de sortie ?

Combinatoire

autant de colonnes que de paramtres d'entre


et de paramtres de sortie

et toutes les combinaisons possibles

50

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de dcision : Exemple


date et heure de MAC OS X

Deux paramtres d'entre :

afficher dans, affichage

Deux paramtres de sortie :

jour de la semaine, heure avec les secondes


Afficher dans

Affichage

Jour de la
semaine

Secondes

barre des menus

numrique

optionnel

optionnel

barre des menus

analogique

non

non

fentre

numrique

oui

non

fentre

analogique

non

optionnel

51

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Capacit de reprsentation d'une


table de dcision

Exprimer une fonction


= sorties dfinies en fonction des entres

Exprimer une relation


= quelles combinaisons d'entres et de sorties sont
acceptables

peu courant

non-dterminisme

confusions / oublis possibles

52

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de dcision et
besoins de spcification (1)

Table de dcision :

sorties en fonction (ou en relation avec) des entres

Limites : besoin de modliser

l'tat du systme

des relations entres-sorties dpendant de l'tat

des relations entres-sorties modifiant l'tat

Comment faire ?

53

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de dcision et
besoins de spcification (2)

Besoin de modliser

l'tat du systme
traiter l'tat comme un paramtre ordinaire

des relations entres-sorties dpendant de l'tat


tat comme paramtre d'entre supplmentaire

des relations entres-sorties modifiant l'tat


tat comme paramtre de sortie supplmentaire

Table de transition

54

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

55

Table de transition

Automate modlisant la dynamique du systme


Adapt aux systmes dont les sorties sont
dtermines

non seulement par les entres

mais aussi par l'tat/historique des entres antrieures

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Table de transition : Exemple


autorisation d'accs par login

2 tats :

logu, dlogu

4 oprations :

se loguer, se dloguer, lire, crire


tat

Oprations autorises

tat rsultant

dlogu

se loguer

logu

logu

lire, crire

logu

logu

se dloguer

dlogu

56

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

57

Question

Structures de table :

Quels cas sont bien traits ?

Quels cas ne sont pas bien traits ?

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Tables (de dcision, de transition) et


besoins de spcification

Bien adaptes tant que le problme est petit


Ne passent pas l'chelle (s'il y a un grand
nombre de paramtres d'entre, de sortie ou
d'tats)

croissance exponentielle

mauvaise lisibilit

risque d'erreurs (oublis, incohrences, ...)

Comment faire ?

58

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Reprsentations graphiques

Pouvoir d'expression :

reprsentation des donnes et des traitements

Caractristiques :

plus synthtiques que les tables

sans ncessairement perte de prcision

59

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Reprsentations graphiques

Pas un dessin arbitraire !

en fait, langage normalis

smantique non ambigu (ou peu ambigu, si


accompagnes de textes en langue naturelle)

Reprsentations semi-formelles

60

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Intrt des
reprsentations graphiques

Renforcement de la prcision et de la lisibilit

Rduction du risque d'oubli ( systmatique)

Passage l'chelle
(ventuellement en rajoutant de la modularit)

Plus intuitives bien que plus formelles


favorisent la communication entre le dveloppeur
et l'utilisateur (le client)

61

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Reprsentations graphiques

Modle entit-association

Diagramme de flot de donnes

Diagramme tats-transitions

Rseau de Petri

...

62

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle entit-association

Date de 1976 (P. Chen) mais toujours trs utilis


Reprsentation des donnes d'un systme et
des relations les liant

(Utilis notamment pour la conception de bases


de donnes relationnelles, mais avec des
contraintes supplmentaires, ex. non circularit)

63

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle entit-association

Une entit est

un objet que l'on sait distinguer d'un autre

ex. : livre dans une bibliothque

Chaque entit a des attributs (ou proprits)

ex. : titre, nom, numro, ...

Chaque attribut prend ses valeurs sur

un domaine de valeurs autorises

ex. : chane de caractres, entier de 1 31, ...

64

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

65

Modle entit-association

Les entits peuvent tre regroupes en des


ensembles d'entits ayant

les mmes attributs avec des valeurs diffrentes

ex. : livres d'une bibliothque, clients d'une entreprise

Une cl ou un identifiant

permet de distinguer une entit (ou un ensemble


d'entits) d'un(e) autre

ex. : titre d'un livre, ou numro de rfrence si


plusieurs exemplaires du mme livre

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle entit-association

Une relation entre diffrentes entits ou


ensemble d'entits est

un lien d'association entre eux (possession,


dpendance, ...)

ex. : un livre possde un auteur, un client d'une


banque possde un ou des comptes en banque

La cardinalit d'une relation est

le nombre de liens (minimum, maximum) pour un


ensemble d'entits

66

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle entit-association :
Notations graphiques

Entits reprsentes par des rectangles

Attributs attachs aux entits : liste d'attributs

Identifiant de l'entit : item soulign dans la liste

Relations : ovales

Cardinalits : (x,y) c.--d. entre x et y


emprunte
(0,n)

adhrent

emprunter

est emprunte
(0,1)

cassette

Nexemplaire
date d'achat
nb emprunts
tat

67

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

68

Modle entit-association
Exemple : vidothque

Nexemplaire
date d'achat
nb emprunts
tat

date
emprunte
(0,n)

adhrent
numro
nom
caution
nb films

possde
(1,1)

emprunter

cassette

rserve
(0,n)

possder

reproduit
(1,1)

rserver

est possde
(1,1)

carte

est emprunte
(0,1)

reproduire

est rserv
(0,n)

est reproduit par


(0,n)

fournisseur

numro
ref fournisseur
nom fournisseur
adresse fournisseur
tlphone fournisseur
responsable commercial

fournit
(1,n)

film
est fourni
(1,n)

fournir
prix

code film
titre
ralisateur
acteurs
genre
rsum

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Modle entit-association et
besoins de spcification

Relations tats statiques possibles

Ne rend pas compte de la dynamique

des traitements

du flux d'information

Diagrammes de flot de donnes

69

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagramme de flot de donnes

Modlise

les gisements d'information

le transit des donnes

les traitements

Exprime

comment chaque processus (traitement) transforme


ses entres en sorties (flot entrant et sortant)

(aussi appel diagramme de contexte


= idem avec agents extrieurs intervenant sur le produit)

70

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagramme de flot de donnes


Exemple : gestion des emprunts
refus
carte
infos film

demande
d'emprunt
Ncarte

vrification
client

rfrence film

stock de
cassettes
Nclient

refus

comptes
clients

vrification
cassette
Ncassette

enregistrement
emprunt
carte modifie

cassette

71

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagramme de flot de donnes

Affinements successifs :

zoom sur une bote

numrotation arborescente (ex. : A.D.3)

veiller la cohrence des entres et sorties

72

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagramme de flot de donnes

Conseils :

Entre 2 et 6 activits par diagramme (sinon dcouper)

Flot globalement de gauche droite, de bas en haut

viter les croisements de flches

()

73

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagrammes de flot de donnes et


besoins de spcification

Ne conviennent pas pour le flot de contrle


ce ne sont pas des organigrammes !

Ne rendent pas compte de

la dynamique des traitements

l'enchanement des traitements dans le temps

Diagrammes tats-transitions

74

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagramme tats-transitions

Graphe :

nud = tat

arte = transition, tiquete par

les vnements qui provoquent la transition

ou les vnements provoqus par la transition

Reprsentation ordinaire des automates finis

75

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagramme tats-transitions :
Ex. Cassette dans une vidothque

76

Cassette commande
Livraison de la cassette et
enregistrement de l'entre de la cassette
Demande d'emprunt et
rponse N de cassette

Cassette disponible
Emprunt de la cassette et
enregistrement de l'emprunt

Demande d'emprunt
et rponse de refus

Cassette emprunte

Retour cassette et
enregistrement du retour

Temps d'emprunt dpass et


enregistrement de la perte de la cassette

Cassette perdue

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagrammes tats-transitions

Rendent compte de :

la dynamique des traitements

l'enchanement des traitements dans le temps

Exemples d'application

comportement d'un objet ractif

enchanements d'crans avec IHM complexes

77

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Comparaison : Table de transition et


Diagramme tats-transitions
tat

Oprations autorises

tat rsultant

dlogu

se loguer

logu

logu

lire, crire

logu

logu

se dloguer

dlogu

dlogu
se loguer

lire, crire

logu

se dloguer

78

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

79

Non-dterminisme (1)

Plusieurs transitions avec la mme tiquette,


partant d'un mme tat
Transition : sans vnement attach
Ex. transitions de l'tat 1 l'tat 2 = {acd, a, b, f, aef}
a
c

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Non-dterminisme (2)

Automate dterministe

plus lisible (une seule transition suivre)

moins compact si le problme comporte de


l'indterminisme (peut tre exponentiellement
plus grand)

Automate non dterministe

moins lisible (suivre des transitions en parallle)

plus compact (donc plus lisible )

80

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Diagramme tats-transitions et
besoins de spcification

Ne permettent pas d'exprimer la concurrence


(= paralllisme)

Rseaux de Petri

81

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

82

Rseau de Petri

Graphe biparti

sommets rpartis en 2 groupes

chaque arte a une extrmit


dans un groupe et une extrmit
dans l'autre groupe

Sommets (nuds)

place tat

place entre
(pr-condition)

marques (jetons) dans certaines


places, un instant donn

transition changement d'tat

place entre
(pr-condition)

transition
place sortie
(post-condition)

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

83

Rseau de Petri
Dclenchement d'une transition :

prsence de jetons dans toutes les places entre

dcrmentation du nb de marques des places entre

incrmentation du nb de marques des places sortie

non-dterministe, atomique

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Rseau de Petri : Exemple


Dlivrance d'une cassette

P1

P1 : emprunt demand
P2 : vrification de la cassette
P3 : vrification de l'adhrent
P4 : emprunt refus
P5 : emprunt possible
P6 : emprunt possible
P7 : emprunt refus
P8 : emprunt autoris

T1
P2

T2

P4

P3

T3

T4

P5

P6
T6

T5

P7

T1 : prparation de la vrification (action)


T2 : cassette emprunte (condition)
T3 : cassette disponible (condition)
T4 : adhrent en rgle (condition)
T5 : adhrent pas en rgle (condition)
T6 : autoriser l'emprunt (action)

P8
emprunt autoris si cassette disponible et adhrent en rgle

84

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Rseau de Petri

Ordonnancement des activits

Modlisation

systmes parallles vnements discrets

concurrence, coopration

ex. exclusion mutuelle, producteur/consommateur

Extensions

marques colores, arcs inhibiteurs, limites de taille,


transitions sources, transitions puits, ...

Variante (dual) : Grafcet

85

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Mthodes semi-formelles

Rpandues dans l'industrie

Nombreux outils qui les implmentent

Inconvnient : manque (parfois) de rigueur


mathmatique

Mthodes formelles

86

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Mthodes d'analyse formelles :


Caractristiques

Spcifications formelles = objets mathmatiques


modlisations analysables par les mathmatiques

Ncessit d'une analyse profonde du problme


meilleure matrise

Preuves formelles (mathmatiques)


certaines proprits garanties (sret, scurit, ...)
ex. correction : programme conforme sa spcification

87

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Mthodes d'analyse formelles :


Capacits automatiques

Aide au dveloppement

debug de spcification (vrification de cohrence)

gnration (semi-)automatique de code

gnration (semi-)automatique de tests

Animation d'une spcification


~ gnration de prototype

88

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Mthodes d'analyse formelles :


Problmes objectifs

Certains problmes difficilement spcifiables

Manque de formation

interface homme-machine, systme temps-rel, ...

ingnieurs logiciel mathmaticiens, logiciens

Efforts plus sur les notations que sur les outils

preuves faisables mais difficiles raliser en pratique

89

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Mthodes d'analyse formelles :


Croyances

Croyances (conservatrices) du management

rentabilit pas prouve

en fait : souvent plus cher mais de meilleure qualit

Croyance (frileuse) des dveloppeurs :

peu de problmes spcifiables formellement

en fait : gros systmes dj spcifis (gestion de


fichiers Unix, JavaCard, systmes de transport, ...)

Croyance (nave) des chercheurs :

problmes de dveloppement rsolus ds qu'on


adopte des mthodes formelles

90

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Mthodes d'analyse formelles :


Quelques formalismes

Spcifications oprationnelles
(= enchanement des actions)

automates, systmes de transition, logique de Hoare

langages : VDM, Z, B, ...

Spcifications axiomatiques
(= proprits que doivent satisfaire les
implmentations)

spcifications algbriques : OBJ, Larch, ...

91

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Mthodes d'analyse formelles :


La situation aujourd'hui

Peu rpandues

Mais reprsentent l'avenir de la spcification

utilises pour des systmes critiques (scurit)


mais avenir lointain

Besoin d'outils

plus simples (moins d'expertise ncessaire)

plus puissants (moins de choses expliciter)

92

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

93

Et aussi...

Critres Communs (CC)

...

scurit

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Rcapitulatif des
Techniques et outils de spcification

Modle conceptuel

Reprsentations tabulaires :

table de dcision

table de transition

Reprsentations graphiques semi-formelles :

modle entit-association

diagramme de flot de donnes

diagramme tats-transitions

rseau de Petri, ...

Mthodes formelles

94

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

95

Plan du cours

Dossier d'analyse

contenu, importance, qualit, ...

Techniques et outils de spcification

modles, reprsentations, ...

Interface utilisateur

mthodologie, ergonomie, ...

Maquettage et prototypage

nature, intrt, ...

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Interface utilisateur

Souvent objet de concurrence entre applications


(peu de diffrences sous le capot)

Reflet des fonctionnalits du produit

[ Terminologie :

franais : interface homme-machine (IHM),


interface graphique

anglais : graphical user interface (GUI) ]

96

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Spcification de
l'interface utilisateur

Tt dans le cycle de vie

spcifications fonctionnelles

Nombreuses discussions avec l'utilisateur/client

maquette pour valider l'interface

(~ seul moyen efficace d'une discussion profitable)

97

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Interface utilisateur : Mthodologie

Partir du modle conceptuel des donnes et


traitements
Dfinir un modle conceptuel du dialogue

reprsentation de l'information

interactions

Choix crucial d'un bon modle conceptuel

98

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Interface utilisateur : Ergonomie (1)

Convivialit

facilit d'utilisation

mesure : ex. nombre de jours d'apprentissage

Efficacit

productivit des utilisateurs ( mesure)

caractriser les types d'utilisateurs cibls

comptence

but du travail

performances attendues, ...

99

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

100

Interface utilisateur : Ergonomie (2)

Lisibilit

mise en avant des donnes pertinentes/prioritaires


regroupement des donnes similaires
alignement visuel des donnes
sens/ordre de lecture ordinaire
stabilit d'un cran l'autre

Standardisation

march, influence du systme d'exploitation/fentrage


normes de l'entreprise
conventions lies au domaine

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Interface utilisateur : Outils (1)

Utilisation de briques de base standards

fentres, botes de dialogue, onglets

menus : fixes, droulants, pop-up

boutons, jauges

choix : cases cocher, boutons radio, vido inverse

raccourcis clavier

aides visuelles : icnes, couleurs

effets visuels : images, animations

...

101

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Interface utilisateur : Outils (2)

Utilisation de bibliothques standards

X Athena Widget

Motif

Tk

Swing

GTK, GTK+

OpenGL

...

102

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

103

Plan du cours

Dossier d'analyse

Techniques et outils de spcification

contenu, importance, qualit, ...


modles, reprsentations, ...

Interface utilisateur

mthodologie, ergonomie, ...

Maquettage et prototypage

objectifs, nature, intrt, ...

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Maquettage et prototypage

Quand :

aprs le premier jet des spcifications fonctionnelles

Objectifs :

montrer au client quoi ressemblera le produit

valider les besoins et les spcifications

104

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

105

Maquette

Systme incomplet dont l'aspect extrieur est


+/- le mme que le produit raliser

Destin tester l'ergonomie du produit

Instaure un dialogue dveloppeur-utilisateur

Ne permet pas le test de performance

Souvent jetable

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

106

Prototype

Esquisser ce que sera le produit final

les fonctionnalits

sans contraintes (fiabilit, ...)

Valider les besoins utilisateur

Valider les spcifications

ralisables ?
compltes, ralistes, non contradictoires ?

Souvent jetable (sinon = prototype volutif)

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

107

Prototype
Intrt

valuer rapidement la faisabilit, mais aussi :

mettre en vidence les incomprhensions


dveloppeur-utilisateur

identifier les services difficiles utiliser

dcouvrir les contradictions

dtecter les oublis de spcification

servir de base l'criture de spcifications compltes

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

108

Prototype

Ignorer les critres non-fonctionnels :

temps de rponse, contraintes mmoire

traitements d'erreur

standards

fiabilit, robustesse

...

(sauf si la faisabilit en dpend !)

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

109

Prototype
Choix d'un langage de prototypage adapt

impratif : perl, shell, java, ...

fonctionnel : ML, lisp, scheme, ...

dclaratif : prolog, ...

spcifique un domaine

ex. programmation ractive : ESTEREL, SIGNAL, LUSTRE

ex. modlisation de processus : SIMULA, QNAP2

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Prototyper n'est pas spcifier


Un prototype ne remplace pas des spcifications

il ignore les critres non fonctionnels

il ne peut tre une base fiable du contrat ( la


diffrence du dossier d'analyse)

110

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

Du prototype l'implmentation
R-implmentation toujours recommandable

difficult intgrer des contraintes non fonctionnelles

dgradation de la structure aprs prises en compte


successives des demandes de l'utilisateur

Mais

rutilisation possible de certains composants du


prototype

rimplmentation plus rapide grce une bonne


connaissance du problme

111

Gnie logiciel Dfinition des besoins 2005-2007 Renaud Marlet

112

retenir

Qualits du dossier d'analyse

Extrme importance du modle conceptuel

prcis, cohrent, complet, argument, traable, flexible


image mentale : concepts, objets, attributs, oprations

Reprsentations graphiques semi-formelles

synthtiques, normalises, non ambigus

des diagrammes diffrents pour des usages diffrents

Ne pas oublier :

aspects non fonctionnels

Vous aimerez peut-être aussi