C352 New Chap 3
C352 New Chap 3
Processus
de
conception
de
systèmes
d'information
(C352)
Pascal
ANDRÉ,
Alain
VAILLY
(Université
de
Nantes)
juin
2016
version
imprimable
du
cours
Chapitre
3
Bien
analyser
son
besoin
La
première
étape,
incontournable,
d’un
développement
logiciel
est
celle
de
la
définition
des
besoins.
Elle
va
permettre
de
préciser
les
objectifs,
les
services
attendus
et
les
principales
contraintes
pesant
sur
le
système
étudié.
Qu’il
s’agisse
d’un
système
existant
qu’il
faut
reprendre
ou
d’une
création
ex
nihilo,
quel
que
soit
le
type
d’application
informatique
(système
d’information,
système
industriel,
système
embarqué...),
la
première
étape
est
celle
qui
va
permettre
de
comprendre
ce
que
veut
le
client.
Cette
étude
n'est
pas
une
étude
théorique,
abstraite.
Elle
intervient
dans
un
contexte
précis,
dans
une
organisation
ayant
ses
objectifs,
ses
lois,
ses
stratégies,
ses
contraintes...
L'analyse
du
besoin
ne
peut
ignorer
cet
environnement
sauf
à
se
condamner
à
l'échec.
Elle
est
réalisée
par
des
hommes
sur
des
hommes
et
cette
dimension
doit
également
être
prise
en
compte
(voir
infra).
Ceci
est
valable
quel
que
soit
le
type
de
développement
mis
en
œuvre.
Que
l’on
travaille
par
itérations
successives,
que
l’on
fasse
de
l’Extreme
Programming,
que
l'on
pratique
l'agilité
ou
que
l’on
travaille
“à
l’ancienne”,
avec
un
style
en
cascade,
en
V,
en
W...
cette
étape
de
découverte
est
indispensable.
Elle
dépasse
du
reste
largement
le
cadre
du
développement
logiciel
et
se
retrouve
dans
tous
les
processus
qui
mènent
à
la
création
d’un
artefact.
Que
veut
le
client
?
Quels
sont
les
objectifs
à
atteindre
?
Ce
sont
des
questions
quasi
universelles.
Ne
pas
y
répondre
avant
de
se
lancer
dans
la
conception
conduira
presque
inévitablement
à
la
catastrophe,
le
résultat
obtenu
n’ayant
aucune
chance
de
correspondre
à
ce
qui
est
attendu.
C’est
aussi
l’étape
de
tous
les
dangers,
une
erreur
faite
à
ce
niveau
risquant,
si
elle
n’est
pas
découverte
et
corrigée
très
vite,
de
conduire
à
un
outil
inadapté.
Sa
non
correction
entraînera
“au
mieux”
de
mauvais
usages,
au
pire
un
abandon
pur
et
simple
de
cet
outil.
L’analyste
qui
se
situe
à
ce
niveau
est
pris,
quelque
part,
entre
deux
feux
:
d’un
côté,
il
doit
composer
avec
des
personnes,
de
l’autre
il
ne
peut
pas
ignorer
le
mode
de
fonctionnement
de
la
machine
sur
laquelle
le
logiciel
va
fonctionner.
La
dimension
humaine
de
cette
étape
intervient
à
au
moins
deux
niveaux
:
les
informations
dont
il
a
besoin
lui
seront
fournies
par
des
Hommes
(avec
tout
ce
que
cela
peut
comporter
d’imprécision,
d’erreur,
de
subjectivité,
de
mauvaise
foi
quelque
fois)
et
les
procédures
qu’il
va
créer,
développer,
seront
utilisées
par
des
Hommes
(avec
tout
ce
que
cela
induit
comme
risques
d’erreurs,
de
mauvaises
pratiques,
de
peu
de
fiabilité).
La
dimension
mécanique
est
celle
de
la
Machine.
Les
logiciels
seront
exécutés
par
ces
machines.
Celles-‐ci
font
strictement
(et
sans
état
d’âme)
ce
qu’on
leur
demande
de
faire.
Un
ordre
erroné
sera
exécuté
sans
retard,
quelques
qu’en
soient
les
conséquences.
Une
ambiguïté
dans
une
Plan
I.
Introduction................................................................................................................................................ 6
A.
Localisation
dans
le
cycle
de
vie
du
logiciel........................................................................................... 6
B.
Enjeux
et
risques.................................................................................................................................... 7
C.
Processus
et
résultats ............................................................................................................................ 7
D.
Ouvrages
de
référence .......................................................................................................................... 8
II.
Bien
définir
son
périmètre
d'intervention ................................................................................................. 9
A.
Différentes
"zones"
composant
le
périmètre........................................................................................ 9
B.
Résultats
produits................................................................................................................................ 10
C.
Application
au
cas
«
compte
bancaire
» .............................................................................................. 11
III.
Mettre
en
place
une
équipe ................................................................................................................... 12
A.
Catégories
de
personnes ..................................................................................................................... 12
B.
Maîtrise
d'ouvrage,
maîtrise
d'œuvre ................................................................................................. 12
C.
Composition
de
l'équipe...................................................................................................................... 13
D.
Application
au
cas
«
compte
bancaire
» .............................................................................................. 13
IV.
Exprimer
les
besoins
fonctionnels .......................................................................................................... 14
A.
Bref
rappel
de
la
notation ................................................................................................................... 14
B.
Processus
de
mise
en
évidence
des
besoins........................................................................................ 19
C.
Application
au
cas
«
compte
bancaire
» .............................................................................................. 23
V.
Exprimer
des
besoins
non
fonctionnels................................................................................................... 24
A.
Qualité
et
contraintes.......................................................................................................................... 24
B.
Application
au
cas
«
compte
bancaire
» .............................................................................................. 25
VI.
Préparer
les
tests.................................................................................................................................... 26
A.
Tests
de
type
«
boîte
noire»................................................................................................................ 26
B.
Mesures
destinées
au
contrôle
qualité ............................................................................................... 28
C.
Application
au
cas
«
compte
bancaire
» .............................................................................................. 29
VII.
Analyse
de
l'application......................................................................................................................... 30
A.
Objectif
central
de
cette
étape............................................................................................................ 30
B.
Hypothèses
de
travail .......................................................................................................................... 31
C.
Techniques
utilisées............................................................................................................................. 33
D.
Processus
d'analyse............................................................................................................................. 38
VIII.
Application
au
cas
«
compte
bancaire
» ............................................................................................... 40
A.
Périmètre
d'intervention..................................................................................................................... 42
figure
1
-‐
processus
2TUP
Il
s'agit
d'étudier
ce
que
demande
l'utilisateur,
de
le
formaliser,
puis
de
l'analyser
afin
d'en
comprendre
les
tenants
et
les
aboutissants.
On
se
trouve
dans
l'espace
du
problème,
le
résultat
de
cette
étape
étant
une
vision
complète
du
milieu
dans
lequel
les
développeurs
vont
devoir
se
mouvoir.
L'accent
est
essentiellement
mis
sur
les
besoins
fonctionnels,
c'est
à
dire
sur
ce
que
fait
l'organisation
dans
laquelle
on
va
agir
et
ce
qu'elle
devra
faire.
Ces
"fonctions"
devront
être
prises
en
charge
par
le
logiciel.
Il
y
a
donc,
quelque
part,
substitution
d'un
outil
humain
(en
totalité
ou
partiellement)
par
un
outil
informatique.
Cette
substitution
ne
sera
complète
que
si
l'environnement
a
été
correctement
étudié,
analysé,
compris...
Par
"dessus"
se
grefferont
les
modifications
apportées
à
l'existant
pour
prendre
en
compte
les
nouveaux
besoins.
Ces
besoins
devront,
plus
globalement,
être
positionnés
par
rapport
à
la
stratégie
de
l'entreprise,
à
son
schéma
directeur.
Ils
prendront
aussi
en
compte
d'autres
éléments
comme
la
disponibilité
des
équipes
de
la
DSI,
la
vie
de
l'entreprise...
Outre
les
besoins
fonctionnels,
d'autres
demandes
sont
mises
en
avant
concernant
la
qualité
des
produits
créés
et
les
contraintes
auxquelles
seront
soumis
ces
produits.
Tout
ceci
fait
partie
de
ce
que
l'on
appelle
communément
les
besoins
non
fonctionnels.
2. Résultats
Le
résultat
de
ce
travail
se
présente
sous
la
forme
d'un
recueil
complet
des
fonctionnalités
à
développer,
des
exigences
en
matière
de
qualité
ainsi
que
des
contraintes
auxquelles
sera
soumis
le
logiciel.
Ce
recueil
sera
constitué
de
diagrammes
de
cas
d'utilisation,
de
scénarios
et,
éventuellement,
d'un
diagramme
de
classes
et
d'une
description
des
processus
métiers
de
l'organisation
ou
de
l'entreprise
pour
laquelle
le
travail
est
fait.
Il
sera
enfin
complété
par
une
batterie
de
tests,
de
mesures
qui
seront
prises
en
compte
au
moment
où
il
s'agira
de
valider
le
logiciel,
tant
d'un
point
de
vue
fonctionnel
que
non
fonctionnel.
Ces
tests,
ces
mesures,
seront
accompagnés
des
résultats
attendus
lors
des
tests
et
des
mesures,
ainsi,
pour
les
mesures,
que
des
définitions
de
ce
qui
doit
être
obtenu
(il
ne
suffit
pas
de
dire
que
telle
mesure
devra
produire
un
résultat,
il
faut
aussi
dire
à
partir
de
quelle
valeur
ce
résultat
constituera
une
"bonne"
valeur).
figure
2
-‐
périmètre
du
logiciel
(extrait
de
[CH301])
Définir
le
contexte
va
revenir
à
dresser
la
liste
de
tous
les
intervenants,
à
recenser
tous
les
outils
qui
interagissent
avec
le
logiciel.
Il
faut
aussi
s'intéresser
aux
interfaces
entre
le
contexte
(les
acteurs)
et
le
système.
Connaître
le
périmètre
permet
aussi,
a
contrario,
de
déterminer
ce
qui
n'est
pas
pertinent
pour
le
développement
du
logiciel.
figure
4
-‐
seconde
cartographie
(extrait
de
[CH301])
Réduire
les
zones
floues,
les
zones
d'ombre,
est
nécessaire.
Il
faut
cependant
garder
en
mémoire
que
cela
n'est
pas
toujours
facile,
pas
toujours
possible.
Pour
compliquer
le
"jeu",
ces
zones
peuvent
fluctuer
au
cours
du
temps.
Un
projet
peut
se
voir
différer
au
profit
d'un
autre
;
le
périmètre
d'un
projet
peut
se
réduire
de
façon
importante
pour
dégager
des
ressources
qui
seront
redéployées
sur
un
projet
plus
prioritaire.
La
stratégie
de
l'entreprise
joue
un
rôle
non
négligeable
à
ce
niveau.
B. Résultats
produits
Recenser
les
acteurs
va
pousser
à
dresser
une
sorte
de
calepin
avec,
pour
chaque
personne,
son
identité,
son
degré
d'implication
dans
le
processus
(est-‐ce
un
usager
?
un
décideur
?
un
développeur
?...),
son
rôle
actuel
et
futur
(ceci
sera
utile
lors
de
la
définition
des
besoins
lorsqu'il
figure
5
-‐
relation
client
fournisseur
(extrait
de
[CH301])
1. Notion
d'acteur
Un
utilisateur
peut
être
une
personne
unique,
une
personne
type
(représentant
un
ensemble
de
personnes
physiques),
une
machine,
un
autre
logiciel...
De
fait,
l'analogie
la
plus
proche
de
la
notion
d'acteur
est
celle
qui
consiste
à
dire
qu'un
acteur
est
un
rôle.
Un
acteur
joue
un
rôle
par
rapport
au
logiciel
que
l'on
décrit.
Il
va
s'en
servir
ou
répondre
à
ses
questions
ou
recevoir
une
information...
Il
est
concerné
par
le
fonctionnement
de
ce
logiciel,
de
façon
plus
ou
moins
proche.
Une
personne
peut
jouer
plusieurs
rôles,
c'est
plus
rarement
le
cas
d'une
machine.
Un
acteur
est
à
l'extérieur
du
logiciel
(ce
n'est
pas
une
partie
de
ce
logiciel
mais
de
son
contexte)
qui
interagit
avec
lui,
soit
en
lui
posant
une
question,
soit
en
répondant
à
une
de
ses
questions,
soit
les
deux.
On
n'étudie
pas
le
comportement
interne
d'un
acteur.
On
se
"contente"
d'étudier
ses
stimuli
et
réactions.
Un
acteur
peut,
dans
certains
cas,
prendre
la
"place"
d'un
autre
et
jouer
son
rôle.
C'est
notamment
le
cas
lorsqu'un
responsable
se
met
à
la
place
d'un
de
ses
employés
et
exécute,
provisoirement,
une
de
ses
tâches.
Cet
acteur
va
alors
hériter
de
ses
"pouvoirs"
(exactement
comme
dans
un
jeu
de
rôle
ou,
en
fonction
de
données,
vous
pouvez
acquérir
de
nouveaux
pouvoirs
et
faire
d'autres
"choses".
L'héritage
de
rôle
se
traduit
aisément
en
UML
par
la
notion
d'héritage.
figure
6
:
expression
de
l'héritage
entre
acteurs
Dans
cette
figure,
les
acteurs
B
et
C
héritent
des
"pouvoirs"
de
l'acteur
A.
Ils
vont
donc
pouvoir
utiliser
le
logiciel
comme
le
fait
A.
Cet
héritage
permet,
entre
autres
choses,
de
simplifier
les
schémas.
2. Notion
d'utilisation
Un
logiciel
est
constitué
de
programmes
et
de
données.
Les
programmes
"travaillent"
sur
les
données,
les
saisissent,
les
mémorisent,
les
transforment,
les
analysent...
Un
logiciel
peut
être
utilisé
par
différentes
personnes,
certaines
ayant
plus
de
droits,
de
pouvoirs
que
d'autres.
Certaines
ne
feront
que
de
la
saisie,
d'autres
auront
accès
è
quelques
fonctionnalités,
d'autres
pourront
tout
faire...
Chaque
utilisateur
perçoit
une
partie
de
ce
que
fait
réellement
le
logiciel,
cette
perception
pouvant
du
reste
être
partiellement
erronée.
En
UML,
les
fonctionnalités
sont
représentées,
pour
ce
qui
concerne
les
besoins,
par
la
notion
de
cas
d'utilisation.
Cette
notion
intègre
celle
de
perception
plus
ou
moins
déformée,
de
droits
plus
ou
moins
étendus...
Un
cas
d'utilisation
est
représenté
graphiquement
par
une
ellipse
:
figure
7
:
représentation
graphique
d'un
cas
d'
utilisation
Cette
notation
est
"pauvre".
Elle
ne
véhicule
que
très
peu
d'informations.
Dans
l'exemple
ci-‐
dessus,
on
n'a
que
peu
de
renseignements
sur
ce
que
recouvre
vraiment
la
gestion
des
membres.
Il
est
donc
vital
d'associer
à
cette
représentation
d'autres
éléments,
comme
une
description
textuelle
et
des
scénarios,
la
première
précisant
les
choses,
les
seconds
les
illustrant
pour
les
rendre
plus
conrêts,
notamment
pour
les
"clients".
Le
système
est
utilisé,
par
différents
acteurs,
pour
faire
différentes
choses.
Compte-‐tenu
du
fait
que
la
modélisation
des
besoins
se
positionne
au
début
de
la
chaîne
de
développement
du
logiciel,
la
perception
que
l'on
a
de
ce
que
fait
le
système
doit
se
représenter
au
niveau
macroscopique
(en
identifiant
les
processus-‐métier).
Un
cas
d'utilisation
n'est
pas
une
fonction.
Dans
un
logiciel
de
gestion
d'une
bibliothèque,
par
exemple,
le
bon
niveau
sera
celui
de
la
gestion
des
prêts
(celle-‐ci
intégrant
les
emprunts,
les
retours,
les
non-‐retours,
les
réservations...).
3. Description
textuelle
Les
diagrammes
(cas
d'utilisation,
acteurs)
sont
peu
expressifs.
Ils
n'apparaissent
que
sous
forme
graphique
restreinte
et
ne
sont
identifiés
que
par
quelques
caractères.
Que
signifie,
par
exemple,
dans
le
schéma
ci-‐dessous
qui
comprend
deux
cas
d'utilisation
et
trois
acteurs,
"Gérer
les
membres"
?
figure
8
:
exemple
de
diagramme
pauvre
en
sens
Ces
diagrammes
donnent
une
idée
générale
des
fonctionnalités
attendues.
Il
faut
leur
donner
du
sens.
Cela
se
fait
de
deux
façons
différentes,
en
fournissant
une
description
textuelle
de
chaque
cas
et
en
précisant,
par
un
scénario,
les
principales
interactions.
Nous
traiterons
les
scénarios
un
peu
plus
loin.
Nous
proposons
une
description
textuelle
non
normalisée
pour
spécifier
chaque
UC
:
Chaque
alternative,
chaque
exception
peut
faire
l'objet
d'un
scénario.
Le
cas
nominal
est,
bien
entendu,
lui
aussi
décrit
sous
forme
d'un
scénario.
Dans
le
cas
de
la
figure
10,
il
pourrait
donc
y
avoir
quatre
scénarios.
En
pratique,
il
y
en
aura
entre
1
(le
cas
nominal)
et
4.
5. Scénarios
Un
scénario
décrit
le
dialogue
entre
le
système
et
les
acteurs
concernés.
Le
dialogue
va
donc
être
basé
sur
ces
deux
"concepts",
le
système
étant
placé
au
centre
du
diagramme
et
les
acteurs
à
la
"périphérie".
À
chaque
fois
qu'il
y
aura
transmission
d'information,
question...
une
flèche
la
mettra
en
évidence
et
l'orientation
de
celle-‐ci
désignera
l'émetteur
et
le
récepteur.
Lorsque
le
système
mettra
en
œuvre
une
de
ses
fonctionnalités,
cela
sera
modélisé
par
une
flèche
recourbée
(elle
partira
du
système
et
arrivera
au
système).
Chaque
"traitement"
sera
matérialisé
par
un
petit
rectangle,
plus
ou
moins
long,
représentant
un
temps
d'activité
et
donc
un
traitement.
6.
Autres
éléments
On
pourra
être
amené
à
proposer
d'autres
modélisations,
notamment
pour
définir
les
termes
techniques
(on
utilisera
alors
le
formalisme
des
diagrammes
de
classes)
ou
pour
formaliser
le
fonctionnement
de
l'entreprise
(on
utilisera
les
diagrammes
d'activités
ou
bien
le
formalisme
proposé
par
BPM),
en
produisant
le
modèle
du
domaine
(i.e.
les
classes)
et
le
modèle
métier
(i.e.
les
activités).
Ces
modèles
seront
toutefois
plutôt
élaborés
en
amont
de
l'analyse
des
besoins,
pour
bien
comprendre
le
"monde"
dans
lequel
l'on
se
situe.
1. Acteurs
Pour
mettre
en
évidence
les
acteurs
concernés,
nous
allons
utiliser
le
résultat
du
travail
que
nous
avons
effectué
en
amont
avec
la
mise
en
place
de
l'équipe.
Durant
cette
mise
en
place,
nous
avons
(normalement)
recensé
toutes
les
personnes
concernées,
de
près
ou
de
loin,
par
le
logiciel
à
développer.
Il
est
donc
raisonnable
de
penser
que
les
acteurs
se
trouvent
dans
cette
liste.
Ces
personnes
recensées,
il
faut
se
poser
deux
questions
:
• Comment
est-‐ce
qu'elle
utilise
le
système
?
• Joue-‐t-‐elle
un
rôle
essentiel
ou
bien
secondaire
?
Les
acteurs
utilisent
le
système.
Chaque
utilisation
se
traduit
d'abord
par
une
interaction
entre
le
ou
les
acteurs
et
le
système.
Chapitre
3
–
Bien
analyser
son
besoin
C352
19/71
figure
12
:
utilisation
=
interaction
Les
acteurs
ne
se
servent
pas
du
système
de
la
même
façon.
Certains
sont
très
actifs,
moteurs
;
d'autres
sont
passifs
et
se
contentent,
par
exemple,
de
répondre
à
une
question
du
système.
Les
premiers
seront
appelés
acteurs
principaux
(ou
primaires),
les
seconds
acteurs
secondaires.
Les
acteurs
principaux
déclenchent
l'utilisation,
les
acteurs
secondaires
y
participent.
Il
faut
donc,
dans
un
premier
temps,
dresser
une
liste
des
tous
les
acteurs,
de
leurs
utilisations
du
système.
NB
:
un
acteur
peut
tout
à
fait
ne
pas
être
humain
(et
correspondre,
par
exemple,
à
une
machine,
une
autre
organisation,
un
logiciel...).
figure
13
:
utilisation
=
interaction
2. Interactions
Le
recensement
effectué,
il
faut
aborder
de
la
façon
la
plus
précise
possible
les
interactions
existantes
entre
acteur(s)
et
système.
Cela
peut
se
faire
en
utilisant
les
diagrammes
OMT
:
figure
14
:
modélisation
OMT
d'une
interaction
figure
15
:
modélisation
UML
d'une
interaction
Quel
que
soit
le
type
de
diagramme
choisi,
il
est
important
de
conserver
à
l'esprit
deux
règles
de
modélisation
:
• Les
dialogues
entre
les
acteurs
(i.e.
sans
passer
par
le
système)
ne
doivent
pas
être
représentés.
Ils
sont
hors
contexte
et
ne
seront
pas
modélisés.
• Les
acteurs
principaux
sont
ceux
qui
ont
intérêt
à
ce
que
le
système
fonctionne,
quelle
que
soit
la
façon
dont
la
communication
avec
celui-‐ci
est
opérée.
Dans
le
cas
d'un
emprunt
d'ouvrage
en
bibliothèque,
par
exemple,
l'acteur
principal
de
l'utilisation
Emprunt
c'est
bien
le
lecteur,
pas
la
bibliothécaire...
même
si
cette
personne
effectue
la
saisie
des
informations
sur
l'emprunt.
Elle
n'est
qu'un
intermédiaire
entre
le
lecteur
et
le
système.
3. Description
détaillée
Une
fois
que
les
acteurs
sont
recensés
et
que
les
interactions
qu'ils
ont
avec
le
système
sont
répertoriées,
il
convient
d'approfondir
et
de
décrire
minutieusement
ces
interactions.
Cela
passe
par
la
constitution
des
diagrammes
UML
(qu'il
s'agisse
des
diagrammes
de
cas
d'utilisation
ou
des
scénarios)
et
par
leur
description
textuelle.
Cette
dernière
est
un
élément
fondamental
du
travail
d'analyse
des
besoins
(cf.
[CH303]).
Elle
participe
à
l'appropriation
de
ces
besoins
par
les
analystes
et
offre
aux
utilisateurs
un
support
pour
vérifier
si
ces
analystes
n'ont
pas
fait
d'erreur
d'interprétation,
de
contre-‐sens...
figure
16
:
exemple
de
description
textuelle
NB : la signification des différentes rubriques est détaillée dans la figure 9.
figure
17
-‐
différentes
catégories
d'exigences
(extrait
de
[CH301])
figure
18
-‐
point
de
vue
client
et
point
de
vue
système
(extrait
de
[CH301])
Ces
points
de
vue
ne
devraient
pas
être
opposés.
Si
tel
était
le
cas,
il
reviendra
à
l'équipe
de
résoudre
le
problème
et
de
dire
lequel
doit
être
privilégié.
D'autres
contraintes
pèsent
sur
le
produit
qui
sera
développer
:
elles
sont
liées
à
l'environnement
technique
dans
lequel
ce
produit
sera
immergé,
à
l'urbanisation
du
système
d'information,
aux
outils
méthodologiques
utilisés...
toutes
considérations
qui
proviennent
de
l'autre
branche
du
processus
en
Y.
Installation
V
Jeux d'essais
J1
1
Analyse des
Validation
besoins
Dossier analyse 1
+ algorithmes
Codage
figure
19
-‐
une
autre
vision
du
processus
de
développement
d'un
logiciel,
le
cycle
en
V
Ce
cycle
a
ceci
d'intéressant
qu'il
met
en
évidence
les
deux
types
de
contrôles
qu'il
faut
faire
et,
pour
ce
qui
nous
concerne,
qu'il
met
en
parallèle
tests
(de
validation)
et
analyse
des
besoins.
Il
montre
clairement
que
ces
tests
sont
conçus
dès
les
premières
étapes
du
développement
du
logiciel
même
s'ils
sont
réalisés
dans
les
dernières.
Il
faut
préparer
deux
types
de
tests
différents
:
• Les
tests
de
type
"boîte
noire",
qui
serviront
à
observer
le
comportement
du
logiciel
et
à
comparer
comportement
obtenu
et
comportement
prévu.
• Les
mesures
qui
fourniront
des
résultats
aux
observateurs
chargés
de
contrôler
si
les
exigences
de
qualité
et
de
respect
des
contraintes
sont
satisfaites.
Ces
tests
concourront
à
la
validation
du
produit,
une
fois
les
tests
unitaires
réalisés
par
les
équipes
de
développement.
n° 1 n° 2 n° 3 n° 4 n° 5
figure
20
-‐
différents
chemins
possibles
dans
le
graphe
En
théorie,
il
faut
passer
par
tous
les
chemins.
Il
est
toutefois
assez
évident
que
certains
nœuds
sont
parcourus
plusieurs
fois.
Il
est
donc
possible
de
réduire
le
nombre
de
tests
(ce
qui
fait
inévitablement
gagner
un
peu
d'argent)
tout
en
assurant
une
couverture
maximale.
Il
"suffit"
alors
de
passer
une
seule
fois
dans
chaque
nœud.
Dans
le
cas
présent,
on
peut
se
contenter
de
deux
passages
:
chemin 1 : Début - Etape 1 - Etape 2 - Alternative 2 - Etape 4 - Etape 5 - Fin 1
NB
:
le
chemin
1
porte
le
numéro
5
dans
la
figure
précédente,
le
chemin
2
le
numéro
4.
Tester
le
bon
fonctionnement
d'une
utilisation
revient
à
parcourir
le
minimum
de
chemins
dans
le
graphe
pour
assurer
une
couverture
de
tous
les
cas.
Nous
envisageons
dans
ce
qui
précède
une
couverture
à
100
%,
c'est-‐à-‐dire
dans
laquelle
tous
les
chemins
sont
testés.
Si
la
couverture
à
assurer
n'est
pas
de
100
%
mais
de
80...
ou
de
70
%,
il
faut
"simplement"
choisir,
parmi
toutes
les
combinaisons,
lesquelles
feront
l'objet
d'un
test
et
lesquelles
ne
le
subiront
pas.
Dans
notre
scénario
exemple,
il
est
parfaitement
envisageable
de
considérer
que
l'exception
ne
se
rencontrant
quasiment
jamais,
il
est
inutile
de
la
tester.
Alors,
deux
chemins
ou
trois
ou
quatre
?
Deux
scénarios
ou
trois
ou
quatre
?
Le
choix
relève
de
l'équipe
et
en
particulier
des
deux
maîtres
d'ouvrage
(pour
l'aspect
satisfaction
des
exigences)
et
d'œuvre
(pour
l'aspect
respect
des
délais
et
des
coûts).
figure
21
-‐
retour
sur
le
processus
2TUP
Nous
avons
décidé
(et
il
s'agit
bien
d'une
décision
d'ordre
pédagogique)
de
regrouper
ces
deux
étapes
situées
l'une
après
l'autre
sur
la
même
branche
du
Y.
Il
n'est
pas
impossible
que
les
réactions
de
nos
apprenants
nous
disent
que
cette
option
n'est
pas
bonne.
Nous
reviendrons
alors
en
"arrière"
et
ferons
deux
chapitres
au
lieu
d'un.
Nous
avons
énormément
insisté,
dans
le
module
B350
Modélisation
à
objets
pour
la
conception
de
systèmes
d'information,
sur
les
différentes
notations
UML
qui
sont
utilisées
durant
cette
phase
d'analyse.
Aussi,
passerons
nous
très
vite
"dessus"
pour
nous
concentrer
sur
le
processus,
sur
la
démarche.
Nous
renvoyons
donc
le
lecteur
à
ce
module
pour
les
notations
et
au
fil
rouge
pour
les
illustrations.
figure
22
-‐
hypothèse
de
travail
n°
1,identité
de
nommage
Chapitre
3
–
Bien
analyser
son
besoin
C352
31/71
figure
23
-‐
hypothèse
de
travail
n°
2,
la
classe
Interface
figure
24
-‐
le
système
est
remplacé
par
l'interface
NB
:
cette
classe
Interface
(ou
ces
classes
Interface
s'il
y
en
a
plusieurs)
regroupent
le
V
et
le
C
du
modèle
MVC.
Il
y
a
au
moins
deux
avantages
à
respecter
cette
hypothèse.
Le
passage
du
scénario
au
diagramme
de
séquences
est
simplifié
et
sa
traçabilité
est
facilitée
(le
dialogue
est
conservé
d'une
étape
à
l'autre).
Par
ailleurs,
il
est
possible
de
mettre
en
place
simplement
un
contrôle
de
la
visibilité
des
classes
(l'interface
est
public,
les
classes
internes
sont
masquées).
3)
nous
privilégions
le
contrôle
centralisé
du
dialogue
entre
les
classes.
Le
contrôle
est
localisé
dans
la
classe
Interface.
Il
est
possible
de
mettre
en
place
un
autre
type
de
contrôle,
décentralisé
dans
chaque
classe,
mais
ce
n'est
pas
ce
que
nous
avons
choisi.
figure
25
-‐
hypothèse
de
travail
n°
3,
un
contrôle
centralisé
4)
afin
de
pouvoir
résoudre
simplement
le
problème
de
l'existence
ou
non
d'un
objet,
nous
associerons
systématiquement
à
chaque
classe
Xxx
une
classe
spéciale,
nommée
Ens.
Xxx
ou
EnsDeXxx,
ayant
un
seul
objet,
et
ayant
pour
vocation
unique
de
tenir
à
jour
la
"liste"
des
objets
de
Xxx
existant.
Cette
classe
sera
très
probablement
supprimée
lors
de
la
phase
de
conception
(au
profit,
par
exemple,
d'un
vecteur
d'objets).
Nous
considérons
ces
hypothèses
de
travail
comme
une
sorte
de
patron
de
spécification.
On
peut
faire
sans.
Nous
considérons
que
l'adopter
facilite
le
travail
de
création
des
différents
diagrammes.
C. Techniques
utilisées
Nous
allons
développer
ces
techniques
au
travers
d'exemples,
le
plus
souvent
tirés
de
notre
banque
de
sujet.
1. Passage d'un scénario à un diagramme de séquences : cas Les flots bleus
a) Contexte
La
Société
Civile
Immobilière
Les
Flots
bleus
(ci-‐après
appelée
l’Agence)
gère
un
parc
locatif
d’un
millier
d’appartements
et
de
maisons.
Ses
dix
collaborateurs
accueillent
propriétaires
et
locataires,
rédigent
les
baux
passés
entre
ceux-‐ci,
encaissent
les
loyers
et
les
charges.
Chacun
s’occupe
d’un
ensemble
de
locations
séparé
de
ceux
des
autres
et
est
rémunéré
proportionnellement
à
son
activité.
C’est
le
gérant
de
l’Agence
qui
effectue
les
affectations
de
collaborateurs
à
un
parc
d’immeubles,
qui
calcule
la
paye
de
ceux-‐ci.
L'énoncé
de
ce
cas
comprend,
notamment,
un
diagramme
de
classes
initial
et
un
scénario.
Une
des
questions
portait
sur
la
transformation
de
ce
scénario
en
un
diagramme
de
séquences
cohérent
avec
le
diagramme
de
classes.
figure
27
-‐
diagramme
de
classes
originel
–
Cas
Les
flots
bleus
figure
28
-‐
scénario
calcul
des
gains
d'un
collaborateur
–
Cas
Les
flots
bleus
Le
diagramme
de
séquences
est
un
scénario
dans
lequel
la
colonne
Système
est
développée
pour
y
introduire
les
classes.
d) Commentaires
Le
diagramme
de
classes
est
cohérent
si
toutes
les
classes
évoquées
dans
les
diagrammes
de
séquences
y
figurent
et
si
les
messages
correspondent
à
des
opérations
des
classes
réceptrices.
Il
a
donc
fallu
ajouter
au
modèle
de
données
une
classe,
ContrôleurGestionCollaborateurs.
Il
a
aussi
fallu
ajouter
les
opérations
suivantes
:
2. Prise
en
compte
d'un
diagramme
de
collaborations
-
Cas
Les
flots
bleus
Dans
le
même
contexte
de
cette
agence
immobilière,
exprimons
ce
qui
se
passe
lors
de
la
sélection,
par
un
futur
locataire,
via
un
portail
Web,
d’un
logement
libre.
Les
logements
libres
sont
ceux
qui
n’ont
plus
de
bail
en
cours
associé
(tous
ceux
qui
les
concernent
sont
terminés).
Le
locataire
fournit
le
nom
de
la
ville,
le
nombre
de
pièces
souhaité
et
un
budget
maximum
à
ne
pas
dépasser.
Il
reçoit
en
réponse
une
liste
de
logements,
parmi
lesquels
il
va
en
choisir
un.
Une
fois
ce
choix
transmis
au
système,
il
recevra
les
coordonnées
(téléphone
et
mail)
du
collaborateur
à
contacter.
L'énoncé
fournissait
un
diagramme
de
séquences
et
demandait
de
traduire
ce
diagramme
en
un
diagramme
de
collaborations.
figure
30
-‐
diagramme
de
séquences
recherche
d'un
logement
libre
–
Cas
Les
Flots
bleus
c) Commentaires
Le
diagramme
de
classes
est
cohérent
si
toutes
les
classes
évoquées
dans
les
diagrammes
de
séquences
et
de
collaboration
y
figurent
et
si
les
messages
correspondent
à
des
opérations
des
classes
réceptrices.
Il
a
donc
fallu
ajouter
au
modèle
de
données
initial
deux
classes,
ContrôleurGestionLocation
et
EnsLogements.
Il
a
aussi
fallu
ajouter
les
opérations
suivantes
:
Ce travail est quasiment mécanique. Il est grandement facilité par l'emploi d'un logiciel.
Voici le diagramme états-‐transitions qui décrit la vie d'un logement :
figure
32
-‐
diagramme
états-‐transitions
Classe
Logement
–
Cas
Les
flots
bleus
NB
:
la
transition
volontéDeSignature
part
bien
de
la
frontière
du
super-‐état
Vacant
;
elle
s’impose
en
effet
à
tous
les
états
internes.
NB
:
nous
n'avons
pas
envisagé
nous
n’avons
pas
envisagé
la
destruction
physique
du
logement,
qui
pourrait
être
modélisée
par
un
état
final
atteint
à
partir
des
trois
états
Vacant
,
Réservé
et
Loué.
Les
différents
numéros
sur
les
transitions
correspondent
aux
significations
suivantes
:
b) Commentaires
Rendre
ce
diagramme
états-‐transitions
cohérent
avec
les
autres
schémas,
c’est
:
1. fournir
une
variable
état
dans
la
classe
Logement
qui
permette
de
mémoriser
l’état
courant
du
logement
;
2. vérifier
que
toutes
les
actions
mentionnées
dans
le
diagramme
sont
présentes
dans
la
classe
Logement,
les
événements
correspondant,
quant
à
eux,
à
la
réception
d’un
message.
D. Processus
d'analyse
Le
processus
peut
se
résumer
simplement
comme
suit
:
Bs
figure
34
-‐
aspect,
non
définitif,
de
l'interface
d'agency
Le
bandeau
d'information,
comme
son
nom
l'indique,
donne
accès
à
tout
un
ensemble
d'informations,
classées
en
cinq
catégories
:
Comptes,
Cartes
&
Services,
Épargne
&
Placements,
Crédits,
Assurances.
Cette
dernière
catégorie
ne
sera
pas
développée
dans
la
première
version
d'agency.
figure
35
-‐
aspect,
non
définitif,
du
bandeau
d'information
de
l'interface
d'agency
Dans
chaque
catégorie,
on
trouvera
soit
des
renseignements
généraux,
soit
des
informations
propres
au
client.
L'onglet
Comptes,
par
exemple,
est
un
bouton
fournissant
le
solde
de
tous
les
comptes
du
client
(ceux-‐ci
étant
affichés
dans
l'espace
d'affichage).
Le
bandeau
des
commandes
fournit
toutes
les
opérations
accessibles
selon
la
catégorie.
Ces
menus
sont
contextuels
;
ils
changent
en
fonction
du
type
des
données
manipulées.
Ils
ne
sont
pas
exclusifs
(certaines
fonctions
sont
communes
à
plusieurs
catégories).
Voici,
à
titre
d'exemple,
la
liste
des
fonctions
disponibles
pour
les
catégories
Comptes
(C)
et
Épargne
&
Placements
(E)
:
Autorisation
découvert
(C)
Consulter
mes
contrats
(C,
E)
Consulter
mes
documents
(C,
E)
Faire
opposition
carte
(C)
Gérer
mes
alertes
(C,
E)
Gérer
virements
émis
(C)
Imprimer
IBAN
RIB
(C)
Opposition
prélèvement
(C)
Pointer
écritures
(C,
E)
Sécuriser
mes
opérations
(C)
Souscrire
documents
électroniques
(C)
Télécharger
écritures
(C)
Virement
entre
comptes
(C,
E)
Virement
permanent
(E)
Virement
vers
un
tiers
(C)
Certaines
de
ces
opérations
sont
"à
tiroirs",
c'est-‐à-‐dire
qu'elles
donnent
elles
même
accès
à
une
liste
de
sous-‐opérations.
figure
37
-‐
exemple
de
menus
contextuels
A. Périmètre
d'intervention
Le
développement
d'agency
va
se
faire
en
plusieurs
étapes.
La
première
concernera
la
gestion
des
comptes
et
des
placements
et
épargne
de
clients,
ainsi
que
leur
authentification
via
le
boîtier
de
contrôle.
La
deuxième
étape
prendra
en
compte
les
onglets
Cartes
&
Services
et
Crédits.
La
troisième
et
dernière
étape
traitera
des
assurances.
Le
périmètre
correspond
donc
à
tout
ce
qui
concerne
Comptes,
Épargne
&
Placements
et
authentification.
Les
autres
aspects
sont
"rejetés"
à
l'extérieur,
dans
une
zone
périphérique
(correspondant
à
des
éléments
pouvant
éventuellement
interagir
avec
ceux
du
périmètre).
Les
acteurs
impliqués
sont
essentiellement
les
clients
et,
éventuellement,
les
agents
d'accueil.
Toutes
ces
personnes
seront
connectées
à
l'application
agency
au
travers
d'un
écran
(voir
figure
34
et
figure
35),
les
clients
utilisant
en
plus
un
boîtier
de
contrôle.
Les
transactions
effectuées
par
les
clients
via
les
automates
multifonctions
ne
font
pas
partie
du
périmètre.
B. Équipes
Huit
types
distincts
de
personnes,
huit
"rôles"
ont
pu
être
mis
en
évidence
à
la
Banque
Saumuroise
:
-‐
Directeur
agence,
-‐
Responsable
RH,
-‐
Secrétaire,
-‐
Responsable
agence,
-‐
Conseiller
chargé
de
clientèle
physique,
-‐
Conseiller
chargé
de
clientèle
morale,
figure
38
-‐
différents
types
de
"personnes"
et
relations
entre
eux
L'agence
virtuelle
servira
essentiellement
aux
clients
de
la
banque
et,
éventuellement,
aux
agents
chargés
de
l'accueil.
A
priori,
les
conseillers
chargés
de
clientèle,
qui
disposent
dans
leur
bureau
d'outils
plus
puissants,
n'utiliseront
pas
(en
tant
que
conseillers)
agency.
La
direction
de
la
banque
ayant
renoncé
à
impliquer
un
de
ses
clients
dans
la
définition
de
cet
outil,
c'est
un
membre
du
personnel
d'une
banque
membre
de
la
fédération
qui
jouera
le
rôle
de
client.
Un
des
conseillers
de
Saumur
constituera,
avec
cette
personne,
la
maîtrise
d'ouvrage.
La
responsabilité
de
cette
équipe
MOA
sera
assurée
par
le
responsable
de
l'agence
de
Montreuil-‐
Bellay.
La
maîtrise
d'œuvre
comprendra
deux
informaticiens
détachés
par
la
BICOMAT,
placés
sous
la
direction
du
responsable
du
service
informatique
de
cette
même
BICOMAT.
C. Besoins
fonctionnels
Nous
détaillerons
ci-‐après
les
cas
d'utilisation
suivants
:
Gérer
les
autorisations,
Gérer
Épargne
&
Placements,
Gérer
les
comptes.
Ces
cas
nécessitent
l'intervention
de
deux
acteurs,
le
client
et
le
conseiller.
Tous
ces
cas
sont
liés
les
uns
aux
autres,
via
le
contrôle
d'accès.
Chapitre
3
–
Bien
analyser
son
besoin
C352
43/71
figure
39
-‐
liaisons
entre
paquetages
figure
43
-‐
Créer
un
compte
sans
être
client
figure
44
-‐
Créer
un
deuxième
compte
agency
figure
46
-‐
Lister
les
alertes
figure
47
-‐
Créer
un
tiers
figure
49
-‐
Activer
un
tiers
figure
50
-‐
Activation
possible
figure
52
-‐
Créer
un
virement
ponctuel
avec
dépassement
solde
compte
figure
53
-‐
Créer
un
compte
épargne
figure
55
-‐
Clôturer
un
compte
épargne
figure
56
-‐
Pointer
les
écritures
figure
57
-‐
Première
ébauche
du
modèle
métier
Plusieurs
données
sont
exprimées
sous
forme
de
codes.
En
voici
la
signification
:
TypeCarte
=
{Visa,
Mastercard,
VisaPlus,
Eurocard}
TypeCompte
=
{Compte
Épargne,
Compte
chèques,
Compte
Placements}
TypeClient
=
{privé,
moral}
TypeOpération
=
{Retrait
liquide,
dépôt
liquide,
virement
interne,
virement
externe,
paiement
chèque,
paiement
CB,
dépôt
chèque}
Il
restera
à
affiner
ce
modèle
en
le
confrontant
aux
différents
diagrammes
de
séquences
qui
seront
produits
à
partir
des
scénarios.
figure
58
-‐
Différents
scénarios
de
la
création
d'un
compte
Prenons
un
autre
exemple,
celui
du
pointage
des
écritures.
Cette
fonctionnalité
est
constituée
d'une
boucle
de
traitement
"autour"
de
chaque
mouvement
passé
sur
le
compte.
1
Deux
tests
conduisent,
en
théorie,
à
quatre
situations
différentes.
Pour
autant,
trois
seulement
seront
prises
en
compte.
Le
quatrième
cas
(celui
où
la
personne
qui
demande
la
création
n'est
pas
cliente
de
la
Banque
Saumuroise
et
malgré
tout
a
déjà
un
compte
agency)
n'est
pas
possible.
figure
60
-‐
différentes
étapes
dans
la
vie
d'un
tiers
Outre
la
création
d'une
classe
Tiers
(avec
un
attribut
étatTiers
pour
mémoriser
l'état
du
tiers),
ce
diagramme
génère
l'apparition
des
opérations
MettreTiers(),
Création(),
Activation()
et
Suppression()
dans
cette
classe.
Une
opération
est
créée,
pointée
ou
non,
archivée.
Elle
ne
peut
être
supprimée.
L'annulation
d'une
opération
n'est
pas
non
plus
possible
(en
fait,
l'annulation
se
fait
en
créant
une
opération
"contraire").
Une
opération
ne
peut
pas
être
différée
SAUF
s'il
s'agit
d'un
virement
ponctuel.
Un
virement
est
une
opération.
La
caractéristique
d'un
virement
est
qu'il
peut
être
différé.
Un
virement
permanent
est
en
fait
une
succession
de
virements
effectués
à
des
dates
régulières.
Ces
virements
sont,
par
nature,
différés
–sauf,
peut-‐être–
le
premier.
Tout
ceci
peut
se
modéliser
ainsi
(la
partie
spécifique
d'un
virement
différé
étant
matérialisée
par
des
traits
pointillés)
:
La
création
de
ce
compte
(une
fois
les
contrôles
passés)
revient
à
modifier
les
informations
contenues
dans
la
classe
Client.
Le
diagramme
de
séquences
ci-‐après
décrit
les
traitements
mis
en
œuvre
:
Chapitre
3
–
Bien
analyser
son
besoin
C352
57/71
figure
62
-‐
diagramme
de
séquences
Créer
un
compte
agency
sans
erreur
Le
tiers
est
un
client
(au
sens
du
modèle
métier)
"light",
c'est-‐à-‐dire
que
nous
n'avons
pas
autant
d'informations
à
son
sujet.
Il
est
lié
à
une
banque
et
possède
un
compte.
Il
n'a
pas
de
carte
bancaire
connue,
il
n'est
pas
assisté
par
un
conseiller
et
ne
réalise
aucune
opération.
Le
modèle
métier
doit
donc
être
retouché
pour
faire
apparaître
ce
tiers
:
figure
63
-‐
nouveau
modèle
métier
figure
64
-‐
diagramme
de
séquences
Créer
un
tiers
NB
:
nous
avons
fait
l'hypothèse
d'un
timer
externe.
Si
tel
n'était
pas
le
cas,
il
faudrait
ajouter
une
classe
et
la
doter
de
l'opération
Attendre
().
Le
diagramme
de
séquences
introduit
plusieurs
opérations
:
c) Activation possible
Rendre
un
tiers
activable
revient
simplement
à
changer
son
état.
Il
passe
de
"non
actif"
à
"activable".
Le
diagramme
de
séquences
correspondant
est
le
suivant
:
Un
tiers
peut
être
activé
s'il
est
dans
l'état
"activable".
Le
traitement
présenté
dans
le
scénario
met
en
œuvre
un
ensemble
de
contrôles
que
nous
allons
conserver
dans
le
diagramme
de
séquences.
Cinq
nouvelles
opérations
sont
apparues
dans
le
diagramme
et
doivent
être
reportées
dans
le
modèle
des
données
:
figure
67
-‐
diagramme
de
séquences
Créer
un
compte
épargne
NB
:
le
traitement
décrit
ci-‐dessus
est
celui
d'une
création
à
partir
d'un
virement
ponctuel.
La
création
à
partir
d'un
virement
permanent
nécessiterait
la
mise
en
place
de
tous
les
virements
différés.
figure
68
-‐
modèle
de
données
modifié
La fermeture d'un compte épargne, en soit, revient à "marquer" le compte comme "clôturé".
figure
69
-‐
classe
Opération
modifiée
figure
70
-‐
diagramme
de
séquences
Clôturer
un
compte
épargne
Le
virement
permanent
envisagé
dans
le
scénario
(voir
la
figure
51)
est
en
faveur
d'un
tiers.
Le
traitement
à
mettre
en
œuvre
est
le
suivant
:
figure
71
-‐
diagramme
de
séquences
Créer
un
virement
permanent
Le
pointage
va
se
faire
par
marquage.
Une
opération
pointée
passera
dans
l'état
"pointée".
L'idée
est
donc
de
parcourir
les
opérations
associées
à
un
compte
(pour
accélérer
le
traitement,
il
serait
bon
que
celles-‐ci
soient
triées
par
date
croissante,
les
plus
récentes
au
début),
de
sélectionner
celles
qui
sont
dans
l'état
"réalisée"
et
de
les
proposer
au
client.
Une
fois
que
le
client
aura
lu
les
informations
sur
l'écriture,
son
état
passera
à
"pointée".
Le
diagramme
de
séquences
correspondant
à
ce
travail
est
donc
le
suivant
:
figure
72
-‐
diagramme
de
séquences
Pointer
les
écritures
Ce
travail
doit
être
poursuivi,
chaque
scénario
devant
faire
l'objet
d'un
approfondissement
et
donner
lieu
à
un
diagramme
de
séquences.
Nous
ne
le
ferons
pas,
faute
de
place.
figure
73
-‐
nouveau
modèle
de
données
NB
:
ce
diagramme
de
classes
est
amputé,
pour
des
raisons
de
place,
de
ses
opérations
et
de
ces
classes
dites
"de
service".
Quarante
et
une
opérations
ont
été
recensées,
trouvant
leur
place
dans
huit
classes
:
Ce
travail
d'enrichissement
du
modèle
de
données
doit
se
poursuivre
avec
l'étude
des
autres
scénarios.
Nous
laissons
le
lecteur
le
faire.
Un
dernier
mot
avant
de
refermer
ce
chapitre,
à
propos
de
la
classe
Interface.
Il
est
fort
possible
(il
est
même
souhaitable)
qu'il
y
en
ait
plusieurs.
Si
l'on
se
réfère
à
la
figure
35,
on
peut
parfaitement
associer
interface
et
onglet.
Il
y
aurait
alors
une
classe
Interface
Épargne,
une
classe
Interface
Compte
chèques...
Ceci
obligera
toutefois
à
retoucher
les
différents
diagrammes...
figure
75
-‐
Cycle
itératif
et
incrémental
Cette
double
nature
du
cycle
permet
de
mieux
gérer
les
risques,
d’anticiper
et
surtout
d’agir
avant
qu’il
ne
soit
trop
tard.
Nous
pouvons
considérer
que
les
résultats
présentés
précédemment
sont
ceux
de
la
première
itération,
il
y
en
aura
d’autres
qui
figeront
progressivement
les
besoins.
3. Normes
On
utilise
des
normes
pour
les
modèles,
la
documentation
standard,
la
gestion
de
projets,
la
qualité…
Dans
le
module
projet,
la
présentation
des
documents
sera
normalisée
selon
le
modèle
décrit
dans
le
document
de
référence.
2
On
peut
utiliser
des
outils
GED
;
gestion
électronique
documentaire.