Définitions des besoins fonctionnels

Transcription

Définitions des besoins fonctionnels
PLAN
•
•
•
•
•
•
•
•
CYCLE DE VIE D'UN LOGICIEL
EXPRESSION DES BESOINS
SPÉCIFICATIONS DU LOGICIEL
CONCEPTION DU LOGICIEL
LA PROGRAMMATION
TESTS ET MISE AU POINT
DOCUMENTATION
CONCLUSION
C.Crochepeyre
Génie Logiciel
Diapason
18
2. EXPRESSION DES BESOINS
• Analyse et définition des besoins du système
– étude préalable et étude de faisabilité
– l’utilisateur : le demandeur
• exprime ses besoins dans un cahier des charges qu’il
rédige seul avant de faire un appel d’offres ou fait appel à
un développeur informaticien pour l’aider à formuler sa
demande
– le développeur : analyste ou ingénieur informaticien
• prend connaissance des besoins de l’utilisateur
C.Crochepeyre
Génie Logiciel
Diapason
19
– définitions des fonctionnalités du système
• recensement des données
• recensement des règles de gestion
– Pas de solution technique à ce niveau
C.Crochepeyre
Génie Logiciel
Diapason
20
• Les éléments de cette étape:
–
–
–
–
–
–
–
C.Crochepeyre
Document: cahier des charges
Définition des besoins
Modèle conceptuel
Définition des besoins fonctionnels
Organisation et stockage des données
Définition des besoins non fonctionnels
Validation
Génie Logiciel
Diapason
21
• Le cahier des charges
Selon Henninger (1980)
– spécification du comportement externe du système
– contraintes de réalisation
– outil de référence aux programmeurs
– éléments pour les étapes ultérieures
– réponses aux événements désirables ou non
– facile à mettre à jour
C.Crochepeyre
Génie Logiciel
Diapason
22
Sommerville propose le plan suivant:
– Introduction générale
– Description du matériel
– Présentation du modèle conceptuel
– Besoins fonctionnels
– Besoins B.D.
– Besoins non fonctionnels
– Informations sur la maintenance
– Glossaire
– Index
C.Crochepeyre
Génie Logiciel
Diapason
23
Définition des besoins
Norme IEEE std 830
I- Intoduction
II- Contexte de la réalisation
1. Objectifs
2. Hypothèses
3. Bases méthodologiques
III- Description générale
1. Environnement du projet
2. Fonctions générales du système
3. Caractéristiques des utilisateurs
4. Configuration du système
C.Crochepeyre
Génie Logiciel
Diapason
24
5. Contraintes générales du développement, d’exploitation
et de maintenance
– Contraintes de développement
– Contraintes d’exploitation
– Maintenance et évolution du système
IV- Description des interfaces externes du logiciel
1. Interface matériel / logiciel
2. Interface homme / machine
3. Interface logiciel / logiciel
V- Description des objets
1. Définition des objets
i. Identification de l’objet -i
i. Contraintes sur l’objet i
C.Crochepeyre
Génie Logiciel
Diapason
25
VI- Description des fonctions
1. Définitions des fonctions
i. Identification de la fonction i
Description de la fonction i
Contraintes opérationnelles sur la fonction i
2. Conditions particulières de fonctionnement
2.1. Performances
2.2. Capacités
2.3. Modes de fonctionnement
2.4. Controlabilité
2.5. Sureté
2.6. Intégrité
2.7. Conformité aux standards
2.8. Facteurs de qualité
C.Crochepeyre
Génie Logiciel
Diapason
26
VII- Justification des choix effectués
VIII- Glossaires
IX- Références
1. Annexes
2. Index
C.Crochepeyre
Génie Logiciel
Diapason
27
• Le modèle conceptuel du système
– exemple des automates finis: commande,
fonctions et données
– facilité d'une représentation graphique
comptabilité
BD
comptable
paie
impression
C.Crochepeyre
Génie Logiciel
Diapason
28
Pour chaque fonction
– un modèle conceptuel
saisie
Paie
bulletins
maj compta
C.Crochepeyre
Génie Logiciel
BD
employés
impression
BD
compta
Diapason
29
• Définitions des besoins fonctionnels
– définition des services
– complétude et cohérence
– modifications lors des étapes ultérieures
trois méthodes
– langage naturel
– langage structuré ou formaté
– langage de spécification formelle
C.Crochepeyre
Génie Logiciel
Diapason
30
Langage naturel
– très usité (compréhensible par tous)
– présentation par paragraphes numérotés
2.1. Paie
Cette fonction comporte trois fonctions:
. la saisie des éléments de paie par employé
. l'édition des bulletins
. la mise à jour de la comptabilité
2.1.1. La saisie
Pour chaque employé, un certain nombre de paramètres
sont saisis...
C.Crochepeyre
Génie Logiciel
Diapason
31
Contre:
– ambiguïté linguistique
– manque de concision: schéma fonctionnel
– difficulté de distinction entre besoins fonctionnels,
non fonctionnels et buts
– difficulté de vérification : complétude et cohérence
Pour:
– compréhensible par l'utilisateur et l'analyste
– facilité de rédaction
C.Crochepeyre
Génie Logiciel
Diapason
32
Exemples:
3.1 Les écrans de saisie:
Les saisies doivent être contrôlées et la présentation doit respecter
les règles de base de l'ergonomie des interfaces
Ceci n'est pas un besoin!
4.5 La fonction de saisie regroupe plusieurs sous-fonctions:
La sous-fonction de saisie des éléments de paie qui devra se
limiter à fournir les éléments de calcul: généraux et
spécifiques pour chaque employé...
La sous-fonction de demande d'édition des bulletins de paie...
Mélange de besoins fonctionnels, non fonctionnels et buts
C.Crochepeyre
Génie Logiciel
Diapason
33
Recommandations:
–
–
–
–
faire relire et corriger le document
rédaction séparée par besoin
1 paragraphe = 1 idée
polices de caractères différentes
– utilisation pour la présentation de haut niveau
• facilité d'expression des besoins fonctionnels
• difficulté d'expression des besoins logiciels
C.Crochepeyre
Génie Logiciel
Diapason
34
Langage structuré
– utilisation limitée du langage naturel
– utilisation de notations graphiques
– exemples:
• SADT (Schoman et Ross 1977) -> S.Informations
• RSL (Bell et al. 1977) -> S. Temps Réél
• PSL/PSA (Teichrow et Hershey 1977)-> S. informations
C.Crochepeyre
Génie Logiciel
Diapason
35
SADT
–
–
–
–
Technique d'analyse structurée
Graphique: structure et relations entre entités
Symboles spéciaux faciles de compréhension
Pas de traitement automatique des diagrammes
v1
Valeurs entrées
A SA1
v2
B
C.Crochepeyre
SB1
Génie Logiciel
Résultats
C
Diapason
36
RSL
– Traitement automatique des instructions RSL
– Base de données associée: MSAS*
– Outils de génération automatique de simulateurs,
rapports, vérification
– langage simple: 4 primitives
•
•
•
•
éléments -> noms en français
relations -> verbes
attributs -> adjectifs
structures -> modélisation des flots d'informations
* Modèle Sémantique Abstrait du Système
C.Crochepeyre
Génie Logiciel
Diapason
37
Langage spécification formelle
– exemple ADA avec de nouvelles règles
– usage des commentaires
package PAIE is
procedure SAISIE_PAIE
procedure EDITION_PAIE
procedure COMPTA_PAIE
end PAIE
package PAIE_CTES
PLAFOND_A: constant:= 8000
PLAFOND_B: constant:= 12000
....
C.Crochepeyre
Génie Logiciel
Diapason
38
• Organisation des données
– modèle Entité-Relation (E-R ou E-A)
– aspect conceptuel des données
– les entités, associations, attributs et identifiants
• entité: existe d'elle même
• association: existe entre entités
• attribut: propriété individuelle d'une entité ou
association
• identifiant: attribut particulier identifiant l'entité
• cardinalité: nb d'association pour une entité (0,1,n)
C.Crochepeyre
Génie Logiciel
Diapason
39
Représentation graphique E-A
.
= entité partagée
.
Entité_1
ASSOCIATION B
1-n
0-1
Entité_2
ASSOCIATION A
0-n
1-1
Entité_3
C.Crochepeyre
Génie Logiciel
Diapason
40
• Définitions des besoins non fonctionnels
–
–
–
–
contraintes sur les fonctions du système
soumis aux évolutions technologiques
intéraction entre fonctions: conflits -> solutions
langage naturel ou structuré:
• matrice de Boehm (Di: définition Di du cas)
besoins
propriétés
vitesse
> 4MO
réponse < 3s
C.Crochepeyre
mémoire
D17
D84,D95
Génie Logiciel
Diapason
41
• Validation des besoins
par les utilisateurs et développeurs
– cohérence
• pas de conflit entre les besoins
– complétude:
• tous les besoins et contraintes
– réalisme:
• réalisables avec la technologie matériels et logiciels
– validité:
• des fonctionnalités supplémentaires si nécessaire
C.Crochepeyre
Génie Logiciel
Diapason
42
outils ou méthodes de validation
– outils d'analyse et recherche d'anomalies
– générateur de simulateurs
– prototypage
– changements des besoins => réécriture du code
– utilisation => erreurs dans définition des besoins
C.Crochepeyre
Génie Logiciel
Diapason
43
Le prototypage
– approche évolutive du développement
• prototype enrichi au fur et à mesure
• prototype jetable
– avantages:
•
•
•
•
•
C.Crochepeyre
cas concret de discussion
détection des fonctions manquantes
amélioration des fonctions complexes
démonstration de la faisabilité
utilisation comme spécification d'un système
Génie Logiciel
Diapason
44
inconvénients du prototypage:
– coût de développement
– incite les changements côté utilisateur
à ne pas faire:
– développement du prototype avec les outils du
produit final
– développement avec le même degré de finesse
mais:
– utiliser des outils qui permettent de
– mettre l'accent sur l'essentiel
C.Crochepeyre
Génie Logiciel
Diapason
45
• Conclusion: expression des besoins
–
–
–
–
–
Définition des services attendus par l'utilisateur
Analyse des fonctions et de leurs contraintes
Pas encore de solutions techniques
Collaboration de l'utilisateur importante
Utilisation de modèles, méthodes ou de techniques:
statiques ou dynamiques
– Validation correcte avant la phase suivante
– Définir les limites
– Envisager les évolutions
C.Crochepeyre
Génie Logiciel
Diapason
46