Académique Documents
Professionnel Documents
Culture Documents
Objectifs :
Prsentation du programme du cours Quelques dfinitions Limportance de spcifier les exigences Positionnement dans un processus de dveloppement Les trois catgories d'exigences Quelques chiffres qui dmontrent limportance des exigences Tester les exigences, ne pas tester le code
1
2010 Exigences et spcifications du logiciel, N.Kerzazi
Agenda
1
Prsentation Enseignante Prsentation des participants et de leurs attentes valuation Programme du cours Documentation
2 3
4 5
Importance de lingnierie du logiciel Positionnement de lingnierie des exigences dans le processus de dev Rappel sur les processus de dveloppement Positionnement de la phase des exigences Exigences diffrentes pour des systmes diffrents Quelques chiffres qui dmontrent limportance des exigences
2
2010 Exigences et spcifications du logiciel, N.Kerzazi
Charge du cours
Latifa Guerrouj ( latifa.guerrouj@polymtl.ca) Ingnieure en gnie informatique, option: qualit logiciel, laurate de lcole Nationale des Sciences Appliques - Maroc. Doctorante lcole Polytechnique de Montral, Dpartement de gnie informatique et gnie logiciel (DGIGL). http://www.latifaguerrouj.ca/
2010 Exigences et spcifications du logiciel, N.Kerzazi
Mehdi Mahjoub (mehdi.mahjoub@polymtl.ca) Ingnieur en gnie informatique de lcole Polytechnique de Montral, Dpartement DGIGL. Matrisard en gnie nergtique de lcole Polytechnique de Montral, Dpartement DGIGL.
Manuel suggr:
The Software Requirements Memory Jogger, Ellen Gottesdiener, Goal-QPC, 2005 (disponible la Coop).
Articles suggrs:
Tous les articles suggrs sont disponibles sur le site de Ptidej.
5
2010 Exigences et spcifications du logiciel, N.Kerzazi
valuation
Travaux
1 2 3
Pondration
30 % 30 % 5% 35 %
4
.
6
2010 Exigences et spcifications du logiciel, N.Kerzazi
Ingnierie des exigences Techniques dlicitation Techniques de documentation des exigences Test des exigences Priorisation et raffinement des exigences Modlisation des buts (Goal Requirement Language) Reprsentation des exigences non fonctionnelles Spcification des interfaces utilisateurs La traabilit des exigences et gestion du changement
7
2010 Exigences et spcifications du logiciel, N.Kerzazi
Introduction Qu'est-ce quune exigence? Qu'est-ce que lingnierie des exigences? Diffrence entre exigence et spcification? Parties prenantes (Stakeholders) ? Gestion des exigences? Types dexigences? Types de systme dvelopper?
8
2010 Exigences et spcifications du logiciel, N.Kerzazi
Les exigences (requis) dcrivent la raison dtre dun systme. Les exigences expriment les ides qui doivent tre incarnes dans un systme ou une application en dveloppement.
La dfinition varie, mais reste gnralement autour de ces lignes:
A capability that the system must deliver or a condition that it must be satisfied in order to address a need of a stakeholder.
[Larman, 2002]
9
2010 Exigences et spcifications du logiciel, N.Kerzazi
(2) une condition ou capacit qui doit tre satisfaite ou possde par un systme *+ pour satisfaire un contrat, une norme, une spcification, ou tout autre document formellement impos *+.
10
2010 Exigences et spcifications du logiciel, N.Kerzazi
Processus qui a pour objet d'tablir et de maintenir un accord avec les parties prenantes sur les exigences du systme construire.
Bonnes pratiques permettant de dfinir le contexte de travail au sein d'un projet, la fois d'un point de vue contractuel et technique.
11
Clients / investisseur Acheteurs Utilisateur final Experts du domaine Les fournisseurs de contenu Dveloppeurs, Ingnieurs logiciel, gestionnaires de projets, Inspecteurs (reviewer) Experts dun autre systme en liaison avec le projet Tout autre personne qui apporte une valeur ajoute au futur systme
12
2010 Exigences et spcifications du logiciel, N.Kerzazi
Exigence vs Design
The requirements are the WHAT of the system! (Les exigences sont le Quoi du systme).
The design of a system is the middle layer of HOW! (La conception est la couche du milieu du comment (la premire couche est larchitecture, la troisime couche est limplmentation). Exemple: Exigence ou Design?
Si le systme dalarme sonne alors lascenseur doit descendre au 1er tage, ouvre les portes et suspend toutes autres oprations. Le projet doit tre implment en C#. Le systme doit utiliser des listes chanes.
13
Organisation
Spcifications du systme
Modles
A systematic approach to eliciting, organizing, and documenting the requirements of the system, as well as a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system.
[Leffingwell and Widrig, 2003] 14
Cration
licitation
Analyse
Spcification
Vrification
Priorisation
Traabilit
15
2010 Exigences et spcifications du logiciel, N.Kerzazi
Phase de cration Dbute le processus (vision, besoin ou opportunit daffaire, bonne ide). Dossier commercial, tude de faisabilit, tendue du systme, risques, etc. licitation des exigences Les exigences sont dcouvertes en consultant (et parfois mme en provoquant) les diverses parties prenantes. Analyse des exigences et ngociation Les exigences sont analyses et les conflits rsolus, souvent par ngociation. Spcification des exigences Un document prcis dcrivant les exigences est produit. Validation des exigences La spcification des exigences est vrifie en termes de cohrence et de compltude. Gestion des exigences Les besoins voluent, les exigences aussi !!!
16
Problme
Besoins
Domaine du problme
Fonctionnalits
Exigences du systme
Domaine de la solution
17
2010 Exigences et spcifications du logiciel, N.Kerzazi
Exigences fonctionnelles
Exigences non-fonctionnelles
Contraintes
18
2010 Exigences et spcifications du logiciel, N.Kerzazi
Catgories dexigences Une exigence fonctionnelle est une exigence dfinissant une fonction du systme dvelopper. Dcrit le quoi, c.--d. ce que le systme doit faire.
Une exigence non fonctionnelle est une exigence qui caractrise une proprit ou une qualit dsire du systme telle que sa performance, sa robustesse, sa convivialit, sa maintenabilit, etc.
Une contrainte qui doit tre prise en compte lors du dveloppement. Une contrainte est une restriction sur une ou plusieurs valeurs dune partie du systme ou de tout le systme. Un but est un objectif ou une proccupation utilise pour dcouvrir et valuer des exigences fonctionnelles et non fonctionnelles. Un but nest pas encore une exigence (sance du GRL).
19
2010 Exigences et spcifications du logiciel, N.Kerzazi
Lutilisateur doit tre capable de chercher dans lensemble des bases de donnes.
20
2010 Exigences et spcifications du logiciel, N.Kerzazi
Buts
Les exigences non-fonctionnelles peuvent tre difficiles spcifier de manire prcise, et ces exigences ambiges deviennent difficiles vrifier. Un but offre une intention ou un objectif gnral tel que la convivialit de lapplication.
21
2010 Exigences et spcifications du logiciel, N.Kerzazi
Exigences: systme vs logiciel Systme? Ensemble de composants inter-relis qui collaborent pour un objectif commun. Peut inclure des composants mcaniques, lectriques, lectroniques, logiciels, etc.
Nous pouvons donc distinguer les exigences du systme des exigences des
composants logiciels.
22
2010 Exigences et spcifications du logiciel, N.Kerzazi
Les exigences doivent tre testables sinon elles ne sont que des buts Tester les exigences, ne pas tester le code
Test Requirements, Don't Test Code
23
Exemple de but
Un but du systme
Systmes interactifs Systmes transformationnels Systmes dinformation Systmes temps rel Systmes embarqus
25
2010 Exigences et spcifications du logiciel, N.Kerzazi
Systme guid par les vnements qui permettent linteraction avec lenvironnement. Les processus et lenvironnement sont synchroniss.
Exemples: Systme dexploitation Applications Web Exigences: Accent mis sur les tches de lutilisateur et sur la performance. Linterface utilisateur joue un rle important.
26
2010 Exigences et spcifications du logiciel, N.Kerzazi
Systmes transformationnels
Principales caractristiques: Transforme les entres de dbut vers les sorties la fin.
Exemples:
Compilateurs
Systmes dinformation
Caractristiques:
Systmes temps rel Caractristiques: Le fonctionnement correcte du systme dpend des rsultats produits et du temps consomm pendant le traitement. Exemples: Contrle des senseurs Exigences: Plus orientes vers la planification et la performance. Les exigences du temps dcrivent le dlai maximum pour rpondre un vnement ou pour traiter une entre.
29
2010 Exigences et spcifications du logiciel, N.Kerzazi
Systmes ractifs
Caractristiques: Systmes temps rel composs de processus qui ragissent aux vnements; Systmes qui dpendent de leurs propres raction au diffrents stimulus de lenvironnement. Exemples: Contrleurs de pilotage (avionique) Exigences: Synchronisation avec lenvironnement. Synchronisation des rponses.
30
2010 Exigences et spcifications du logiciel, N.Kerzazi
Systmes embarqus
Caractristiques:
Caractristiques principales: Les consquences des erreurs sont catastrophiques pour la vie humaine.
33
2010 Exigences et spcifications du logiciel, N.Kerzazi
Dfis
49%
Russis
28%
28%
46%
26%
1995
1994
31%
40%
33%
27%
53%
16%
Ces donnes ont t compiles partir de 30 000 projets industriels (Grands, Moyens et Petits). Source: Extreme Chaos, the Standish Group International, Inc., 2000
34
2010 Exigences et spcifications du logiciel, N.Kerzazi
Ca ne marche pas dans notre environnement Ca ne correspond pas nos attentes Nous sommes mcontents
Nous ne savions pas si le travail des autres quipes impacteraient notre travail
35
2010 Exigences et spcifications du logiciel, N.Kerzazi
Observations
Les facteurs qui font que le projet soit en retard ou ne rpond jamais aux exigences des Stakeholders (selon Standish Groupe 2006).
Une mauvaise gestion des exigences est lorigine de la plus part des checs !!!
36
2010 Exigences et spcifications du logiciel, N.Kerzazi
Causes dchec Spcifications incompltes Faible communication entre les parties prenantes Mauvaise gestion des changements
Source: Standish Group 2004 Source : Forrester 2006
plus tard lors de la solution technique Seulement 5% des problmes de spcification sont corrigs dans la phase de spcification. 95% sont dtects plus tard dans le projet alors que le cot pour les rsoudre est en moyenne 22 fois suprieur.
37
2010 Exigences et spcifications du logiciel, N.Kerzazi
38
2010 Exigences et spcifications du logiciel, N.Kerzazi
39
2010 Exigences et spcifications du logiciel, N.Kerzazi
Ceci donne une ide de la taille du dfis auquel font face les ingnieurs logiciel !!!
40
2010 Exigences et spcifications du logiciel, N.Kerzazi
En 1999 le Mars Climate Orbiter disparait alors quil dbute son orbite autour de Mars.
41
2010 Exigences et spcifications du logiciel, N.Kerzazi
Projet du gouvernement du Qubec qui a commenc en 1998. GIRES ( Gestion Intgre des Ressources) consiste implanter dans l'administration publique les pratiques les plus efficaces de gestion en ressources humaines, matrielles et financires. Ces pratiques seront appuyes par le progiciel de gestion intgr (PGI) de la firme Oracle. Budget: 80 millions de dollars.
42
2010 Exigences et spcifications du logiciel, N.Kerzazi
GIRES sera install dans toutes les rgions du Qubec GIRES sera le plus important chantier informatique jamais entrepris au
Qubec
43
2010 Exigences et spcifications du logiciel, N.Kerzazi
Ce qui devait tre une opration peu coteuse et efficace est devenu un vritable fiasco financier. Projet dune dure de 8 ans: Dfi de maintenir le rythme et de grer le changement. Aprs 5 ans, les cots avoisinaient les 400 millions de dollars et les retards s'accumulaient..
Le projet a t abandonn en 2003, le gouvernement prfrant investir dans les programmes sociaux.
Sources:
http://www.cric.ca/fr_html/focus/focus_archives/focus_v1n6.html http://radio-canada.ca/nouvelles/Index/nouvelles/200303/04/012GIRES.shtml
44
Mais en 1995, les dpenses se chiffraient 85 millions de dollars. En 2000 : 327 millions de dollars. En 2002 : 688 millions de dollars.
Facteurs de succs
46
2010 Exigences et spcifications du logiciel, N.Kerzazi
47
2010 Exigences et spcifications du logiciel, N.Kerzazi
Caliber-RM
CRADLE
Starbase Corporation
3SL
http://www.starbase.com/
http://www.3sl.co.uk/
CORE
RDD RDT XTie-RT SLATE TOFS
Vitech Corporation
Ascent Logic Corporation Igatech Teledyne Brown Engineering EDS Tool for Systems
http://www.vtcorp.com/
http://www.alc.com/ http://www.igatech.com/ http://www.tbe.com/ http://www.tdtech.com/ http://www.toolforsystems.com
Vital Link
http://www.complianceautomation.com/
49
2010 Exigences et spcifications du logiciel, N.Kerzazi
Rational (RequisitePro)
26%
50
2010 Exigences et spcifications du logiciel, N.Kerzazi
Spcification des exigences du systme Ingnieur systme Formaliser les besoins Spcification des exigences non-fonctionnels
SRS rvis
Glossaire
Liste de risques
Rviser Rf: UPEDU 2010 Exigences et spcifications du logiciel, N.Kerzazi Spcifications des exigences du systme
51
Besoins du client
CUI
Analyste Dfinir les cas dutilisation et les maquettes dinterfaces Modles des cas dutilisation
CUI rvis
Rviser
Rf: UPEDU
52
2010 Exigences et spcifications du logiciel, N.Kerzazi