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