Vous êtes sur la page 1sur 52

Introduction Fondements de lingnierie des exigences

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

Charg des laboratoires

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.

2010 Exigences et spcifications du logiciel, N.Kerzazi

Documentation Notes de cours:


Disponibles sur le site Ptidej sous ladresse suivante: http://www.ptidej.net/teaching/log3410/.

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

Travaux pratiques Examen de mi-session Prsentation orale Examen final

30 % 30 % 5% 35 %

4
.

6 laboratoires avec trois grands livrables: (3 * 10%) = 30 %

6
2010 Exigences et spcifications du logiciel, N.Kerzazi

Que couvrira ce cours

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

Dfinition du terme exigence (requis)?

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

Selon la norme IEEE 830-1993

Une exigence est dfinie comme tant :

(1) une condition ou capacit dont un utilisateur a besoin pour rsoudre un


problme ou atteindre un objectif;

(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

Ingnierie des exigences (I.E.)

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.

But: Raliser un systme conforme au juste besoin

2010 Exigences et spcifications du logiciel, N.Kerzazi

11

Quest ce qu une partie prenante (Stakeholder)

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

(Quelle est la diffrence entre exigence et 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

2010 Exigences et spcifications du logiciel, N.Kerzazi

Le processus de gestion des exigences entres / Sorties

Le systme existant & processus daffaires

Besoins des Stackholders

Convention sur les exigences

Organisation

Processus de gestion des exigences

Spcifications du systme

Rgles de gestion et lois

Modles

Informations sur le domaine

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

2010 Exigences et spcifications du logiciel, N.Kerzazi

Ingnierie des exigences

Cration

licitation

Analyse

Ingnierie des exigences

Dveloppement des exigences

Spcification

Vrification

Gestion des exigences

Priorisation
Traabilit

15
2010 Exigences et spcifications du logiciel, N.Kerzazi

Plus de dtails sur le processus des exigences

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

2010 Exigences et spcifications du logiciel, N.Kerzazi

Gestion des exigences

Problme
Besoins
Domaine du problme

Fonctionnalits

Exigences du systme
Domaine de la solution

17
2010 Exigences et spcifications du logiciel, N.Kerzazi

Catgories des exigences (classification gnrale des exigences)

Type des exigences

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

Exemples dexigences fonctionnelles

Lutilisateur doit tre capable de chercher dans lensemble des bases de donnes.

Le systme doit enregistrer la commande du client.

Chaque commande doit avoir un identifiant unique (ORDER_ID).

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.

Les buts peuvent guider la dcouverte dexigences non-fonctionnelles


vrifiables, qui peuvent tre testes objectivement.

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.

Ingnierie des systmes


Approche multidisciplinaire pour le dveloppement des systmes. Le logiciel nest souvent quune partie du systme.

Nous pouvons donc distinguer les exigences du systme des exigences des
composants logiciels.
22
2010 Exigences et spcifications du logiciel, N.Kerzazi

Test des exigences

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

2010 Exigences et spcifications du logiciel, N.Kerzazi

23

Exemple de but

Un but du systme

Ex. le systme doit tre facile utiliser et devrait tre organis de


faon minimiser les erreurs dutilisation.

Exigences non-fonctionnelles vrifiables, infres de ce but

(un utilisateur expriment a au moins 2 annes dexprience sur le


vieux systme).

Les utilisateurs expriments doivent tre capables dutiliser les

fonctions du systme aprs une formation de 3 heures.


Le nombre moyen derreurs faites par les utilisateurs expriments ne doit pas excder 2 par jour.
24
2010 Exigences et spcifications du logiciel, N.Kerzazi

Exigences diffrentes pour des systmes diffrents

Systmes interactifs Systmes transformationnels Systmes dinformation Systmes temps rel Systmes embarqus
25
2010 Exigences et spcifications du logiciel, N.Kerzazi

Systmes interactifs Caractristiques:

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

Exigences: Ensemble des rgles de transformation qui dcrivent les diffrentes

parties dentes et de sorties.


27
2010 Exigences et spcifications du logiciel, N.Kerzazi

Systmes dinformation

Caractristiques:

Systmes pour lacquisition, laccs et la manipulation des donnes.


Exemples: Gestion des systmes de base de donnes Exigences: Fournissent une description des caractristiques des donnes et lensemble des relations avec la BD. Plus orientes vers lefficacit et lefficience du stockage et laccs aux donnes.
28
2010 Exigences et spcifications du logiciel, N.Kerzazi

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:

Composants spcialiss qui font partie dun systme plus large.


Exemples:

Tout ce qui possde une interface numrique; lectromnagers, voitures, etc.


Exigences: Plus orientes vers les contraintes matriels.
31
2010 Exigences et spcifications du logiciel, N.Kerzazi

Plus dexigences pour les systmes critiques

Caractristiques principales: Les consquences des erreurs sont catastrophiques pour la vie humaine.

Exemples: Systmes avioniques Systme pour les sites nuclaires


Exigences: Utilisation des techniques formelles plus rigoureuses. Leur vrification doit tre formelle.
32
2010 Exigences et spcifications du logiciel, N.Kerzazi

Le dbut est la partie la plus importante du travail


Platon, 4 sicles avant J.C.

33
2010 Exigences et spcifications du logiciel, N.Kerzazi

Pourquoi spcifier les exigences

Rats 2000 1998


23%

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

Symptmes des projets raliss avec des dfis


Au final, ce nest pas ce dont nous avions besoin Ce truc est imprvisible On dcouvre chaque jour de nouveaux problmes

Ca ne marche pas dans notre environnement Ca ne correspond pas nos attentes Nous sommes mcontents

Le projet fut en retard et hors budget

Cest trop difficile utiliser

Nous ne pouvions obtenir les informations ncessaires au projet

Nous navons pas vraiment compris ce que nous devions faire.

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

Des chiffres empiriques

Causes dchec Spcifications incompltes Faible communication entre les parties prenantes Mauvaise gestion des changements
Source: Standish Group 2004 Source : Forrester 2006

70 % des dfectuosits sont introduites lors de la phase de spcification, et 30%

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

Problmes gnraux de lingnierie des exigences

Manque dexpertise (ingnieurs logiciels, experts de domaines, etc.).

Ides initiales trop souvent incompltes, trop optimistes

Difficults utiliser les outils et mthodes complexes et varies


associes la cueillette dexigences peuvent effacer les bnfices escompts dune approche complte et dtaille.

38
2010 Exigences et spcifications du logiciel, N.Kerzazi

Airbus A380 Trop dordinateurs et trop de logiciels

39
2010 Exigences et spcifications du logiciel, N.Kerzazi

La taille des logiciels

Airbus 380: Environ 1 billion (1.000.000.000) de lignes de code.

Windows XP: ~40 million de lignes de code.

Ceci donne une ide de la taille du dfis auquel font face les ingnieurs logiciel !!!

40
2010 Exigences et spcifications du logiciel, N.Kerzazi

La sonde sur Mars

En 1999 le Mars Climate Orbiter disparait alors quil dbute son orbite autour de Mars.

Cot: environ 125 millions de dollars US.


Problme caus par une erreur de transfert dinformation entre une quipe au Colorado et une en Californie.

Une quipe utilisait le systme de mesure anglais (pouces, pieds, livres)


alors que lautre utilisait le systme mtrique pour une fonction cl de lappareil

41
2010 Exigences et spcifications du logiciel, N.Kerzazi

GIRES, le plus grand projet du Qubec

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

Impact prvu de GIRES

GIRES touchera : plus de 68 000 employs de ltat

prs de 140 ministres et organismes

GIRES remplacera : les systmes SAGIP et SYGBEC

plus de 1000 systmes ministriels

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

Suite GIRS, le gouffre

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

2010 Exigences et spcifications du logiciel, N.Kerzazi

Progression des dpenses

Mais en 1995, les dpenses se chiffraient 85 millions de dollars. En 2000 : 327 millions de dollars. En 2002 : 688 millions de dollars.

Plusieurs imprvus non informatique:


Frais de bataille juridique Scandales au niveau des achats de matriel Autres frais obscurs...
45
2010 Exigences et spcifications du logiciel, N.Kerzazi

Facteurs de succs

Standish Group Inc., 2000

46
2010 Exigences et spcifications du logiciel, N.Kerzazi

Causes des problmes

47
2010 Exigences et spcifications du logiciel, N.Kerzazi

Gestion des exigences en volution

Changing requirements is as certain as death and taxes

Source: http://standishgroup.com/sample_research/PDFpages/extreme_chaos.pdf, 1999


48
2010 Exigences et spcifications du logiciel, N.Kerzazi

Outils commerciaux Produits pour la gestion des exigences:


Libell outil DOORS RequisitePro RTM Telelogic Rational Software Integrated Chipware Vendeur URL vendeur http://www.telelogic.com/ http://www.rational.com/ http://www.chipware.com

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

Compliance Automation Inc.

http://www.complianceautomation.com/

49
2010 Exigences et spcifications du logiciel, N.Kerzazi

... Outils commerciaux

Startbase (Caliber-RM ) 7% Integrated Chipware (RTM) 20% Autres 17%

Rational (RequisitePro)
26%

Telelogic (DOORS) 30%


Source: Standish Group 1999

50
2010 Exigences et spcifications du logiciel, N.Kerzazi

Annexe: Spcification des exigences systme

SRS Besoins du client

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

Exigences (modlisation des besoins)

Besoins du client

CUI
Analyste Dfinir les cas dutilisation et les maquettes dinterfaces Modles des cas dutilisation

Modles des Interfaces utilisateurs

CUI rvis

Rviser

Cas dutilisation et interfaces

Rf: UPEDU

52
2010 Exigences et spcifications du logiciel, N.Kerzazi

Vous aimerez peut-être aussi