SEG 3501 - Module 1 Spécification des exigences à l’aide des normes IEEE 830 et 29148 Document de spécification d’exigences Normes IEEE 830-1998 et 29148:2011 Relation entre IEEE 830 et ISO/IEC 12207
Document de spécification (1) Décrit clairement et précisément les exigences essentielles (fonctions, performance, contraintes de conception, attributs de qualité) du système/logiciel et de ses interfaces externes. Et ainsi les limites du système/logiciel Chaque exigence ainsi décrite doit être réalisable et vérifiable objectivement (par inspection, démonstration, analyse, ou test) Base pour entente contractuelle entre fournisseurs et clients. Élaborée à partir des notes d’élicitation Module 1 : Spécification des exigences
Document de spécification (2) Les spécifications visent des auditoires variés: Clients et utilisateurs pour contrats, négociation, validation… Analystes en systèmes/exigences Développeurs et programmeurs pour l’implantation Testeurs pour s’assurer de la qualité Gestionnaires de projets pour mesurer et contrôler le projet Divers niveaux de détail et de formalité sont requis pour chaque auditoire Différents gabarits de spécification d’exigences existent P.ex.: IEEE 830 Module 1 : Spécification des exigences
Module 1 : Spécification des exigences Norme IEEE 830-1998 830: « IEEE Recommended Practice for Software Requirements Specifications » Approches recommandées pour la spécification d’exigences pour logiciels SEL, ou SRS en anglais Plusieurs exemples de gabarits pour SEL Module 1 : Spécification des exigences
Norme IEEE 830-1998: Objectifs Aider à définir ce que les clients du logiciel cherchent à obtenir. Aider les fournisseurs du logiciel à comprendre exactement ce que les clients demandent. Aider les participants à: Développer un gabarit (format et le contenu) pour la spécification des exigences logicielles (SRS) dans leurs propres organisations. Développer des documents additionnels tels que liste de vérification et manuels de rédaction. Module 1 : Spécification des exigences
Norme IEEE 830: Bénéfices attendus Établir une base pour entente entre clients et fournisseurs sur ce que le logiciel doit accomplir Réduire le temps de développement En forçant à considérer rigoureusement les exigences tôt dans le processus (moins de recodage/retestage) Donner une base pour estimés des coûts et du temps requis Donner une base pour la validation et la vérification Faciliter le transfert du logiciel Vers de nouveaux utilisateurs ou de nouvelles machines Servir de base aux demandes d’améliorations Module 1 : Spécification des exigences
Module 1 : Spécification des exigences Considérations pour produire de bons documents d’exigences (SRS), section 4 de IEEE 830 Nature (buts) du SRS Fonctionnalités, interfaces, performance, qualités, contraintes Environnement du SRS Caractéristiques d’un bon SRS Généralisation des bonnes caractéristiques individuelles des exigences déjà vues à un niveau du document d’exigences Évolution du SRS Implique un processus de gestion du changement Prototypage Inclusion d’aspects de design dans un SRS À éviter, se concentrer sur le comportement externe Inclusion d’aspects de gestion de projet dans un SRS À éviter, se concentrer sur le produit et non le processus de production (un autre document sur le projet doit traiter de ce dernier aspect) Module 1 : Spécification des exigences
Structure d’un document d’exigences (SRS), section 5 de IEEE 830 Introduction Description générale du produit logiciel Exigences spécifiques (description détaillée) Informations additionnelles, au besoin Version française d’un gabarit IEEE 830: http://www.site.uottawa.ca/~mgarz042/SEG3501/notes/IEEE830.html L’annexe A de IEEE 830 présente différentes façons de structurer les exigences spécifiques: Par modes, classes d’utilisateurs, concepts, services, stimuli et organisations. Module 1 : Spécification des exigences
Relation entre IEEE 830 et ISO/IEC 12207 12207: « Software life cycle processes » Aussi identifié IEEE/EIA 12207 Définit un cadre commun pour les processus de cycle de vie du logiciel IEEE 830-1998 et IEEE/EIA 12207.1-1997 placent tous deux des exigences sur les documents décrivant les exigences logicielles L’annexe B de IEEE 830 explique la relation entre les deux ensembles d’exigences afin que ceux qui le désirent puissent produire des documents qui se conforment aux deux normes en même temps. Ce type de conformité peut être requis par le client lors d’un appel d’offres. Module 1 : Spécification des exigences
Correspondance au niveau générique Note: Le tableau B.3, plus détaillé, montre la correspondance au niveau des types d’exigences Module 1 : Spécification des exigences
Module 1 : Spécification des exigences ISO/IEC/IEEE 29148:2011 ISO/IEC/IEEE 29148:2011: Ingénierie des systèmes et du logiciel — Processus du cycle de vie — Ingénierie des exigences http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6146379 Cette norme internationale fournit un traitement unifié des processus et produits concernés par l’ingénierie des exigences tout au long du cycle de vie des systèmes et des logiciels. Harmonise IEEE 830, SWEBOK, et 7 autres normes. Met avantage l'accent sur les caractéristiques des bonnes exigences, les activités et les processus d’I.E., les opérations (et les contextes de fonctionnement), et les éléments d'information (y compris leurs structures) tels que la spécification des exigences pour les parties prenantes, les systèmes et les logiciels. Se conforme à ISO/IEC 15288 et ISO/IEC 12207 Module 1 : Spécification des exigences
Stakeholder Requirements Specification Module 1 : Spécification des exigences
System Requirements Specification Module 1 : Spécification des exigences
Software Requirements Specification Verification: Cette section présente les approches de vérification et les méthodes prévues pour qualifier le logiciel. Les éléments d'information pour la vérification sont en général fournis de manière parallèle aux éléments d'information de la section 3. Module 1 : Spécification des exigences