CHAPITRE III
TECHNIQUES
DE
SPECIFICATION
PLAN
1. Techniques de Spécification, Généralité
2. La spécification formelle
3. Les diagrammes de cas d'utilisation
4. Les modèles de données
5. Les prototypages
6. Les scénarios
Les Techniques de Spécification-Généralité
Les techniques de spécification en génie logiciel sont des
méthodes et des outils utilisés pour décrire et documenter les
exigences d'un logiciel. Elles sont essentielles pour aider les
développeurs à comprendre les besoins des utilisateurs et à
concevoir des logiciels qui répondent à ces besoins de manière
efficace et précise.
Parmi les techniques les plus utilisées on trouve :
La spécification formelle
Les diagrammes de cas d'utilisation
Les modèles de données
Les prototypages
Les scénarios
La Spécification Formelle
La spécification formelle est une technique qui utilise des
langages formels pour décrire les exigences du logiciel de
manière rigoureuse et sans ambiguïté.
La spécification formelle est très précise et permet de vérifier la
conformité du logiciel par rapport aux spécifications.
La Spécification Formelle - Etude de Cas
Cas d’une entreprise qui souhaite développer un logiciel pour la
gestion des stocks d'un magasin.
Le logiciel doit être capable de :
- Suivre les mouvements des produits dans le magasin,
- Calculer les niveaux de stock,
- Générer des rapports sur les ventes et les achats,
- Permettre la saisie manuelle des entrées et sorties de
produits.
La Spécification Formelle - Etude de Cas
La spécification formelle de ce logiciel peut être réalisée à l'aide
d'un langage formel comme Z, qui permet de décrire les
propriétés fonctionnelles et les contraintes du système de
manière précise et non ambigüe.
Dans cette étude de cas, nous allons nous concentrer sur la
spécification formelle des contraintes de stockage.
Tout d'abord, nous pouvons spécifier que chaque produit doit
être identifié par un code unique. Nous pouvons utiliser une
expression formelle telle que :
Produit : TYPE = CHAMP code : CHAINE
qui définit le type de données "Produit" comme étant constitué
d'un champ "code" contenant une chaîne de caractères.
La Spécification Formelle - Etude de Cas
Ensuite, nous pouvons spécifier que chaque produit doit avoir
une quantité de stock associée. Nous pouvons utiliser une
expression formelle telle que :
Stock : TYPE = CHAMP produit : Produit ; quantite : ENTIER
qui définit le type de données "Stock" comme étant constitué de
deux champs : "produit" de type "Produit" et "quantite" de type
"ENTIER".
Enfin, nous pouvons spécifier que le stock d'un produit ne peut
pas être négatif. Nous pouvons utiliser une expression formelle
telle que :
StockNonNegatif : PREDICAT = POUR_TOUT s : Stock |
s.quantite >= 0
qui définit le prédicat "StockNonNegatif" comme étant vrai pour
tout stock "s" dont la quantité est supérieure ou égale à zéro.
Diagrammes de cas d’utilisation
Les diagrammes de cas d'utilisation est une technique qui
utilise des diagrammes pour modéliser les interactions entre les
utilisateurs et le logiciel.
Les cas d'utilisation permettent de décrire les fonctions du
logiciel de manière claire et facilement compréhensible.
Etude de cas:
Cas d’un système de gestion de bibliothèque en ligne.
Le système doit permettre aux utilisateurs de :
- Rechercher des livres;
- Emprunter des livres;
- Rendre des livres.
Diagrammes de cas d’utilisation – Etude de Cas
Cas d'utilisation : Rechercher des livres
Acteurs : Utilisateur
Description : L'utilisateur peut rechercher des livres en utilisant
différents critères tels que le titre, l'auteur ou le sujet.
Scénario principal :
L'utilisateur accède à l'interface de recherche.
L'utilisateur saisit les critères de recherche.
Le système affiche les résultats de la recherche.
Extensions :
Si aucun résultat n'est trouvé, le système affiche un message
d'erreur.
Diagrammes de cas d’utilisation – Etude de Cas
Cas d'utilisation : Emprunter un livre
Acteurs : Utilisateur, Bibliothécaire
Description : L'utilisateur peut emprunter un livre s'il est disponible. Le
bibliothécaire peut vérifier et enregistrer l'emprunt.
Scénario principal :
L'utilisateur recherche le livre qu'il souhaite emprunter.
Le système affiche les informations sur le livre.
L'utilisateur sélectionne le livre et demande à l'emprunter.
Le système vérifie si le livre est disponible.
Si le livre est disponible, le système enregistre l'emprunt et met à jour
la disponibilité du livre.
Le système affiche un message de confirmation.
Extensions :
Si le livre n'est pas disponible, le système affiche un message d'erreur.
Si l'utilisateur a des amendes impayées, le système refuse l'emprunt.
Diagrammes de cas d’utilisation – Etude de Cas
Cas d'utilisation : Rendre un livre
Acteurs : Utilisateur, Bibliothécaire
Description : L'utilisateur peut rendre un livre emprunté. Le
bibliothécaire peut vérifier et enregistrer le retour.
Scénario principal :
L'utilisateur accède à son compte et sélectionne le livre à rendre.
Le système affiche les informations sur le livre et la date limite de
retour.
L'utilisateur confirme qu'il souhaite rendre le livre.
Le système enregistre le retour et met à jour la disponibilité du livre.
Le système affiche un message de confirmation.
Extensions :
Si le livre est rendu en retard, le système calcule les amendes et les
ajoute au compte de l'utilisateur.
Si l'utilisateur a des amendes impayées, le système refuse le retour.
Les Modèles de Données
Les modèles de données est une technique qui consiste à
modéliser les données du logiciel sous forme de diagrammes
entité-association (ER) ou de modèles relationnels.
Les modèles de données permettent de comprendre les besoins
des utilisateurs en matière de stockage et de manipulation des
données.
Etude de cas:
Cas d’une application de gestion de stock pour une entreprise.
Cette application doit stocker des informations sur :
- Les produits,
- Les fournisseurs,
- Les commandes ,
- Les clients.
Les Modèles de Données – Etude de Cas
Modèle de données : Produit
Attributs :
id : identifiant unique du produit
nom : nom du produit
description : description du produit
prix_unitaire : prix unitaire du produit
quantite_stock : quantité en stock du produit
fournisseur_id : identifiant unique du fournisseur qui fournit
le produit
Les Modèles de Données – Etude de Cas
Modèle de données : Fournisseur
Attributs :
id : identifiant unique du fournisseur
nom : nom du fournisseur
adresse : adresse du fournisseur
telephone : numéro de téléphone du fournisseur
email : adresse e-mail du fournisseur
Les Modèles de Données – Etude de Cas
Modèle de données : Commande
Attributs :
id : identifiant unique de la commande
date_commande : date de la commande
date_livraison : date de livraison prévue de la commande
total : montant total de la commande
client_id : identifiant unique du client qui a passé la
commande
Les Modèles de Données – Etude de Cas
Modèle de données : Ligne de commande
Attributs :
id : identifiant unique de la ligne de commande
quantite : quantité commandée
prix_unitaire : prix unitaire du produit commandé
commande_id : identifiant unique de la commande
produit_id : identifiant unique du produit commandé
Les Modèles de Données – Etude de Cas
Modèle de données : Client
Attributs :
id : identifiant unique du client
nom : nom du client
adresse : adresse du client
telephone : numéro de téléphone du client
email : adresse e-mail du client
Prototypage
Le prototypage est une technique qui consiste à créer des
prototypes du logiciel pour permettre aux utilisateurs de
visualiser et de tester les fonctionnalités.
Les prototypes permettent également aux développeurs de
comprendre les besoins des utilisateurs et d'affiner les
spécifications en conséquence.
Etude de Cas :
Cas d’une application de messagerie instantanée pour une
entreprise.
L'application doit permettre aux utilisateurs de :
- Discuter en temps réel,
- Partager des fichiers
- Créer des groupes de discussion.
Prototypage – Etude de Cas
Étape 1 : Élaboration d'un premier prototype
Dans cette étape, nous créons un prototype très simple qui permet
aux utilisateurs de se connecter, de voir la liste de leurs contacts et
d'envoyer des messages texte.
Le prototype doit être assez simple pour permettre aux utilisateurs
de comprendre rapidement son fonctionnement et de fournir des
commentaires sur l'expérience utilisateur.
Les Techniques de Spécification-Prototypage
Étape 2 : Ajout de fonctionnalités
En utilisant les commentaires des utilisateurs sur le premier
prototype, nous commençons à ajouter des fonctionnalités telles
que l'ajout de contacts, la création de groupes de discussion et la
possibilité de partager des fichiers.
À chaque étape, nous testons le prototype avec des utilisateurs
pour nous assurer que les fonctionnalités ajoutées sont utiles et
faciles à utiliser.
Les Techniques de Spécification-Prototypage
Étape 3 : Finalisation du prototype
Dans cette étape, nous finalisons le prototype en ajoutant toutes
les fonctionnalités nécessaires pour répondre aux besoins de
l'entreprise.
Nous testons le prototype avec un plus grand nombre
d'utilisateurs pour nous assurer qu'il répond aux besoins de
l'entreprise et que l'expérience utilisateur est optimale.
Étape 4 : Spécification technique
En utilisant le prototype final, nous pouvons spécifier les
exigences techniques nécessaires pour le développement de
l'application.
Les Scenarios
Les scénarios représente une technique qui consiste à décrire des
situations d'utilisation du logiciel sous forme de scénarios. Les
scénarios permettent de comprendre les besoins des utilisateurs
et de décrire les interactions entre le logiciel et l'utilisateur.
Etude de cas :
Cas d’une application de réservation de vols pour une compagnie
aérienne.
Cette application doit permettre aux utilisateurs de :
Rechercher des vols,
Comparer les prix,
Réserver des vols
Gérer leurs réservations.
Les Scenarios – Etude de Cas
Scénario 1 : Recherche de vols
L'utilisateur entre la ville de départ et la ville d'arrivée, ainsi que
la date de départ et la date de retour.
L'application affiche une liste de vols disponibles, triés par prix
croissant.
L'utilisateur peut sélectionner un vol en particulier pour voir les
détails du vol.
Scénario 2 : Comparaison des prix
L'utilisateur peut comparer les prix des différents vols en
utilisant un tableau comparatif.
Le tableau compare les prix des différents vols en fonction des
dates de départ et d'arrivée, de la durée du vol et des commodités
proposées.
Les Scenarios – Etude de Cas
Scénario 3 : Réservation de vols
L'utilisateur sélectionne un vol et entre les informations de son
voyage, y compris le nom du passager, le numéro de passeport,
l'adresse e-mail et le numéro de téléphone.
L'application calcule le prix total de la réservation en fonction du
nombre de passagers et des commodités sélectionnées.
L'utilisateur peut confirmer la réservation en effectuant un
paiement en ligne.
Les Scenarios – Etude de Cas
Scénario 4 : Gestion des réservations
L'utilisateur peut gérer ses réservations en se connectant à
son compte utilisateur.
L'application affiche une liste des réservations passées et à
venir de l'utilisateur, ainsi que les détails de chaque
réservation.
L'utilisateur peut annuler ou modifier une réservation
existante en suivant les étapes appropriées.