Académique Documents
Professionnel Documents
Culture Documents
Gnie Logiciel
(d'aprs A.-M. Hugues)
Contexte :
dossier d'analyse
Terminologie alternative :
Objectifs de ce cours
Intrt
Plan du cours
Dossier d'analyse
Interface utilisateur
Maquettage et prototypage
Plan du cours
Dossier d'analyse
Interface utilisateur
Maquettage et prototypage
complte et dtaille
Attention :
bote noire
spcifications fonctionnelles
spcifications non-fonctionnelles
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
la base du contrat
10
Pour le client :
11
objectifs
fonctionnalits attendues
environnement
faisabilit et justifications
ressources ncessaires
12
glossaire de l'application
13
entres (multi-canales)
traitement
dtails ventuels :
conditions d'arrt
exceptions, points de reprise, traitement des anomalies
si traitement trop complexe dcrire : algorithme suggr
14
types de donnes
domaines de variation
fentres et crans
15
4.2) Contraintes
performances
priorits
16
...
6) lments de livraison
tests de recette
17
Prcis
Cohrent
pas de contradictions
18
Complet
pas d'oublis
Argument
critre de traabilit ()
19
Traable
Maintenable / flexible
20
21
22
Plan du cours
Dossier d'analyse
Interface utilisateur
Maquettage et prototypage
Modle conceptuel
Point de dpart :
l'interface utilisateur
Extrme importance
23
Modle conceptuel
24
Exercice :
Dfinir un modle conceptuel
25
Objets
bote de rception
rpertoire
contact
Relations
26
Exemple de
contraintes
ventuelles
27
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
cration d'un
nouveau
message
message en cours
(suite de caractres)
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
29
Il structure
Il fonde l'intuition
apprentissage rduit
Il facilite l'interaction
efficacit, productivit
30
utilisateur
dcideur
31
Diffrents types de
modles conceptuels
Modle de simulation
Modle structurel
abstraction
32
33
(d'aprs P. Baudelaire)
actions
34
(d'aprs P. Baudelaire)
Modle de simulation
Modle structurel
35
36
Dictionnaire de donnes
Modle conceptuel et
besoins de spcification
Besoin de structuration
pour la prcision
pour la lisibilit
Reprsentations tabulaires
37
Table de dcision
38
Exemple :
date et heure de MAC OS X
39
Paramtres d'entre :
Paramtre de sortie :
Affichage :
numrique
Affichage :
analogique
optionnel
non
oui
non
40
Paramtres d'entre :
Paramtre de sortie :
Affichage :
numrique
Affichage :
analogique
optionnel
non
non
optionnel
41
42
Question
43
Rponses possibles
Paramtres de sortie :
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
45
Question
Rponse possible
Combinatoire
46
47
(A B) C
48
AB
(A B) C
49
Question
Rponse possible
Combinatoire
50
Affichage
Jour de la
semaine
Secondes
numrique
optionnel
optionnel
analogique
non
non
fentre
numrique
oui
non
fentre
analogique
non
optionnel
51
peu courant
non-dterminisme
52
Table de dcision et
besoins de spcification (1)
Table de dcision :
l'tat du systme
Comment faire ?
53
Table de dcision et
besoins de spcification (2)
Besoin de modliser
l'tat du systme
traiter l'tat comme un paramtre ordinaire
Table de transition
54
55
Table de transition
2 tats :
logu, dlogu
4 oprations :
Oprations autorises
tat rsultant
dlogu
se loguer
logu
logu
lire, crire
logu
logu
se dloguer
dlogu
56
57
Question
Structures de table :
croissance exponentielle
mauvaise lisibilit
Comment faire ?
58
Reprsentations graphiques
Pouvoir d'expression :
Caractristiques :
59
Reprsentations graphiques
Reprsentations semi-formelles
60
Intrt des
reprsentations graphiques
Passage l'chelle
(ventuellement en rajoutant de la modularit)
61
Reprsentations graphiques
Modle entit-association
Diagramme tats-transitions
Rseau de Petri
...
62
Modle entit-association
63
Modle entit-association
64
65
Modle entit-association
Une cl ou un identifiant
Modle entit-association
66
Modle entit-association :
Notations graphiques
Relations : ovales
adhrent
emprunter
est emprunte
(0,1)
cassette
Nexemplaire
date d'achat
nb emprunts
tat
67
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)
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
Modle entit-association et
besoins de spcification
des traitements
du flux d'information
69
Modlise
les traitements
Exprime
70
demande
d'emprunt
Ncarte
vrification
client
rfrence film
stock de
cassettes
Nclient
refus
comptes
clients
vrification
cassette
Ncassette
enregistrement
emprunt
carte modifie
cassette
71
Affinements successifs :
72
Conseils :
()
73
Diagrammes tats-transitions
74
Diagramme tats-transitions
Graphe :
nud = tat
75
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
Cassette perdue
Diagrammes tats-transitions
Rendent compte de :
Exemples d'application
77
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
79
Non-dterminisme (1)
Non-dterminisme (2)
Automate dterministe
80
Diagramme tats-transitions et
besoins de spcification
Rseaux de Petri
81
82
Rseau de Petri
Graphe biparti
Sommets (nuds)
place tat
place entre
(pr-condition)
place entre
(pr-condition)
transition
place sortie
(post-condition)
83
Rseau de Petri
Dclenchement d'une transition :
non-dterministe, atomique
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
P8
emprunt autoris si cassette disponible et adhrent en rgle
84
Rseau de Petri
Modlisation
concurrence, coopration
Extensions
85
Mthodes semi-formelles
Mthodes formelles
86
87
Aide au dveloppement
88
Manque de formation
89
90
Spcifications oprationnelles
(= enchanement des actions)
Spcifications axiomatiques
(= proprits que doivent satisfaire les
implmentations)
91
Peu rpandues
Besoin d'outils
92
93
Et aussi...
...
scurit
Rcapitulatif des
Techniques et outils de spcification
Modle conceptuel
Reprsentations tabulaires :
table de dcision
table de transition
modle entit-association
diagramme tats-transitions
Mthodes formelles
94
95
Plan du cours
Dossier d'analyse
Interface utilisateur
Maquettage et prototypage
Interface utilisateur
[ Terminologie :
96
Spcification de
l'interface utilisateur
spcifications fonctionnelles
97
reprsentation de l'information
interactions
98
Convivialit
facilit d'utilisation
Efficacit
comptence
but du travail
99
100
Lisibilit
Standardisation
boutons, jauges
raccourcis clavier
...
101
X Athena Widget
Motif
Tk
Swing
GTK, GTK+
OpenGL
...
102
103
Plan du cours
Dossier d'analyse
Interface utilisateur
Maquettage et prototypage
Maquettage et prototypage
Quand :
Objectifs :
104
105
Maquette
Souvent jetable
106
Prototype
les fonctionnalits
ralisables ?
compltes, ralistes, non contradictoires ?
107
Prototype
Intrt
108
Prototype
traitements d'erreur
standards
fiabilit, robustesse
...
109
Prototype
Choix d'un langage de prototypage adapt
spcifique un domaine
110
Du prototype l'implmentation
R-implmentation toujours recommandable
Mais
111
112
retenir
Ne pas oublier :