Académique Documents
Professionnel Documents
Culture Documents
Chapitre 7 :
Méthode B
Olfa Mosbahi
olfamosbahi@gmail.com
Grandes étapes du développement de logiciels
Étude « système »
Cahier des charges avec description des besoins et contraintes clients
Analyse fonctionnelle
Identification des grands scénarios et des composants (modules) utiles
Spécification
Définition du rôle de chaque module
Conception
Choix de structures de données, d’algorithmes…
Codage
Implémentation
Intégration
Assemblage des différents composants
Test
Vérification du respect des spécifications
Maintenance
Permettre l’évolution du logiciel
2
Introduction
Composants :
Machine abstraite
Raffinement
Implémentation
3
Processus de développement en B
4
Machine abstraite
5
Machine abstraite
6
Ensembles et Relations
Relations
Fonctions
7
Ensembles et Relations
8
Ensembles et Relations
Fonction Partielle Fonction totale
9
Ensembles et Relations
Fonction injective Partielle Fonction injective totale
10
Ensembles et Relations
Fonction surjective Partielle Fonction surjective totale
11
Ensembles et Relations
12
Ensembles et Relations
Exemple :
13
Ensembles et Relations
14
Langage pour la dynamique
15
Langage des Substitutions généralisées
16
Substitutions généralisées
Non déterminisme ANY
17
Substitutions généralisées
18
19
Exemple : Réservation
20
Exemple : Réservation
21
Preuve de cohérence
22
Preuve de cohérence
23
Illustration sur reserver
MACHINE I P [S]I
reservation
VARIABLES
nbPlacesLibres, capacite
INVARIANT
nbPlacesLibres NAT
capacite NAT
nbPlacesLibres ≤ capacite
I
OPERATIONS
reserver(nbPlaces)=
PRE
nbPlaces NAT1
nbPlaces ≤ nbPlacesLibres P
THEN
nbPlacesLibres := nbPlacesLibres-nbPlaces
END
S
END
24
Sémantique WP
25
B événementiel
Déclenchement d’événements
Condition de déclenchement par une garde
Décomposition en sous-systèmes
26
B événementiel
event = garde =⇒
action
Modèle d’exécution :
29
Conclusion
30
31
32
33