Vous êtes sur la page 1sur 21

SPÉCIFICATION DES BESOINS D’UN SI

Définitions
Les BF et BNF
Cahier de charges

15/10/2023 1
Introduction

L ’une des étapes les plus importantes


déterminante pour la suite
sert à la définition des aspects conceptuels
L ’une des étapes les plus difficiles
intervenants multiples : client, utilisateurs,
développeurs…
le problème n’est pas encore formalisé
Règle d’or à respecter : Les informaticiens sont aux
services du client, pas l’inverse

15/10/2023 2
Rôle

Identifier les différents intervenants : client(s), utilisateurs,


maître d’œuvre, développeurs, ...
Identifier le rôle de chacun, éventuellement leur associer des
priorités
Identifie les services que le système devrait fournir et définit
les contraintes sur le système.
Réunit toute l'information du domaine disponible pour les
membres du projet.
Établit une base contractuelle sur laquelle le client et
l'organisation du projet s'appuient lors des négociations.
Permet l'estimation des coûts et des échéanciers
Procure les critères de validation et vérification
Facilite le transfert des connaissances et la gestion des
configurations
Sert de base aux améliorations futures.
15/10/2023 3
Exigences (Besoins)

Selon IEEE 610.12, une exigence est :


Une condition ou une capacité nécessaire à un
utilisateur pour résoudre un problème ou atteindre un
objectif
Une condition ou une capacité que doit posséder un
système afin de satisfaire aux termes d'un contrat,
d’une norme ou d’une spécification formellement
imposée.
La représentation documentée de cette condition ou
capacité.

15/10/2023 4
Exigences (Besoins)

Selon IEEE 830, une spécification d’exigences


comprend :
Les fonctionnalités : services et fonctions que le système
doit fournir.
Les interfaces externes : identification des interactions
avec les utilisateurs et les autres systèmes avec lesquels
le nouveau système doit s'intégrer.
La performance : contraintes d'opération du système en
disponibilité et en temps réponse.
Les attributs du système : caractéristiques intrinsèques
telles que la portabilité, l'exactitude, la maintenabilité, la
sécurité, etc.
Les contraintes de conception: contraintes sur la façon de
développer le système.
15/10/2023 5
Exigences (Besoins)

Exigences fonctionnelles (Besoins Fonctionnels


BF)
à quoi sert le système
ce que doit faire le système, les fonctions utiles
Exigences non fonctionnelles (Besoins
Non Fonctionnels BNF)
performance, sûreté, confidentialité,
portabilité, etc.
chercher des critères mesurables

15/10/2023 6
Exigences Non Fonctionnelles

Exigences qui ne concernent pas spécifiquement le


comportement du système.
Elles identifient des contraintes internes et externes du système.
Elles doivent avoir des valeurs quantitatives.
Types d’exigences non fonctionnelles
Utilisabilité : Capacité pour un utilisateur d’exécuter une tâche
dans un temps donné après une formation d’une durée
déterminée.
Réutilisabilié du code
Performance : Temps d’attente < 10s.
Fiabilité : Système critique
Disponibilité : 24/7
Sécurité : Accès personnalisés, connexions sécurisées
Maintenabilité : Modularité, commentaires, complexité, interfaces
Portabilité : Utilisable avec plusieurs systèmes d’exploitation
Accessibilité (interfaces)
15/10/2023 7
Etapes vue d’ensemble

Capture des besoins


collecte des informations : interviews, lecture de
documentation
chercher à comprendre : (1) le domaine (2) le problème
Définition des besoins
restitution dans un langage compréhensible par
le client
identification, structuration, définition d'un
dictionnaire
Spécification des besoins
spécification détaillée des besoins, plus formel
utile pour le client, mais aussi pour les
développeurs
15/10/2023 8
Captures des Besoins

Objectifs : comprendre le domaine, comprendre le


problème  Collecter le maximum d ’informations
Lecture des documents fournis, Consulter les documents
pertinents au système
Interviews du client, des utilisateurs, …discuter avec le
client ou l’utilisateur afin de bâtir une compréhension
commune des exigences du système.
Réunions de travail
Collecter des exemples pour valider
Étudier les systèmes existants le cas échéant,
observer l’exécution des tâches des utilisateurs que le
système doit soutenir
15/10/2023 9
Capture des Besoins

Réagir et être actif !


Établir la liste des documents consultés, les classer
Élaborer une liste de questions précises
les numéroter, les dater, …
faire référence aux documents concernés
Écrire un ou plusieurs documents et les
diffuser
Provoquer les réunions et les mener
établir l’ordre du jour
prendre des notes
Faire systématiquement des comptes rendus
écrits
15/10/2023 10
Définition des Besoins

Restituer les informations sous forme synthétique


Scénarios et cas d’utilisation :
Identifier une séquence d'actions effectuées par le système qui
résultent en un résultat observable,
Utiliser et simuler l'utilisation du système afin d’expliciter et de
clarifier Exigences
Ce qui n’est pas écrit n’existe pas !
Préciser les besoins, pas la solution
Préciser ce que doit faire le système
et aussi ce qu’il n’est pas sensé faire.
mais surtout pas comment il doit le faire.
Etablir des priorités
Arriver à un consensus avec le client
15/10/2023 11
Définition des Besoins

Les besoins doivent être compris par tous


utiliser la langue naturelle
Faire des phrases courtes,
Eviter le conditionnel, le futur, les termes ambigus ou subjectifs,
...
Parler en termes de rôles plutôt que de personnes
Numéroter les paragraphes si nécessaire, Utilisation de
références précises
Elaborer un dictionnaire
utiliser des schémas si nécessaire
tout schéma doit être commenté et comporter une
légende
Structurer le document de définition
suivre un plan standard si disponible
numéroter les sections, références, index, …
15/10/2023 12
Spécification des Besoins

Interface entre le client et les développeurs


doit être compris par les deux
définit dans le détail ce qui doit être réalisé
doit être précis car contractuel
Utilisation de techniques semi-formelles
e.g. diagrammes de cas d'utilisation UML
e.g. diagrammes de classes UML

15/10/2023 13
Exemple
Spécifiez lesquelles des déclarations suivantes sont des besoins
fonctionnels et lesquelles sont des besoins non fonctionnels.
1. Le distributeur de billets doit permettre à un voyageur d'acheter des
cartes de recharge téléphoniques.
2. Les utilisateurs peuvent chercher, télécharger et imprimer des
articles .
3. Le système doit réagir dans un délai inférieur à 4 secondes, quelque
soit l’action de l’utilisateur.
4. Si une coupure de courant ou une autre défaillance survient au cours
du cas d’utilisation, la transaction sera annulée, l’argent ne sera pas
distribué.
5. Il serait intéressant si le système assure un délai inférieur à 4
secondes, quelque soit l’action de l’utilisateur.
6. Le système doit pouvoir redémarrer automatiquement dans un état
cohérent et sans intervention humaine.
7. Le système doit pouvoir gérer plus de 1000 retraits d’argent par jour
8. Le distributeur de billets doit être facile à utiliser. 14
Le cahier des charges

Première étape de l’expression du besoin „


Description globale des fonctions d’un nouveau
produit ou des extensions à un produit existant „
Énoncé du problème à résoudre „
Liste des fonctions de base „
Caractéristiques techniques „
Priorités de réalisation „
Facteurs de qualité „
Il doit être validé par le client et/ou l’utilisateur „
Il est la base du contrat entre clients et
développeurs
15/10/2023 15
Difficultés à établir le cahier des charges

Expression de la faisabilité „
utiliser une maquette pour simuler „
Précision et non ambiguïté „
utiliser un formalisme différent du langage naturel ? „
Le cahier des charges est un document
technique, sans considération économique „
sauf si on lui adjoint un plan de projet „
Recherche de précision, cohérence,
complétude, testabilité, traçabilité,
maintenabilité, flexibilité...
15/10/2023 16
Contrer les problèmes du langage naturel

Imprécisions et ambiguïtés qui devront être


levées lors de la phase d’analyse )
Scinder le texte en paragraphes pour une meilleure
traçabilité )
Ne pas inclure plusieurs concepts dans un même
paragraphe )
Ne pas mélanger : „
Besoins : ce qui doit être fourni „
Buts : souhait, vœux pieux, mais impossible à tester „
Contraintes : qui doivent être décrites séparément

15/10/2023 17
Rédaction d’un cahier des charges

Comment rédiger un cahier des charges fonctionn


el pour votre projet informatique ?
Présenter le projet, son contexte et sa finalité
Préciser les contraintes.
Lister des prestations attendues.
Définir les besoins fonctionnels.
Déterminer les ressources allouées au projet
pour éviter les déconvenues.

15/10/2023 18
Couverture de cahier de charges

„ om du projet / du produit „
N
Date „
Numéro de version „
Auteur(s) „
Changements clés depuis la précédente version

15/10/2023 19
Exercice

Il s'agit de concevoir un système d'information utilisable


pour la gestion des inscriptions en ligne des étudiants de
l’ISG. Chaque étudiant n’est définitivement inscrit
qu’après la réception d’une confirmation de
l’administrateur et puis la validation du payement
électronique.
L'objectif d'un tel SI serait la création (complète si
possible) de la plateforme d’inscriptions en ligne, à
savoir remplir le formulaire de données, la vérification de
la validité de ces données et le payement en ligne.
Nb : la procédure d’orientation et d’admission des
étudiants est supposée être faite au moyen d’un autre
système et ne fait pas l’objet de notre application.
15/10/2023 20
Exercice

On demande :
Définir les différents intervenants du système
(les acteurs)
décrire le fonctionnement souhaité de toutes les
fonctionnalités du système
Ecrire le cahier de charges du système étudié

15/10/2023 21

Vous aimerez peut-être aussi