Introduction. Fondements de l ingénierie des exigences. Objectifs :

Documents pareils
Introduction. Fondements de l ingénierie des exigences

Séance 1 Méthodologies du génie logiciel

Forum AMOA ADN Ouest. Présentation du BABOK. 31 Mars 2013 Nadia Nadah

Processus d Informatisation

Introduction aux systèmes temps réel. Iulian Ober IRIT

Bertrand Cornanguer Sogeti

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

ITIL V3. Objectifs et principes-clés de la conception des services

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

RAPPORT EXÉCUTIF DE LA FIRME DE CONSULTANTS GARTNER

Conférence sur les marchés publics informatiques

Eclipse Process Framework et Telelogic Harmony/ITSW

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

P s a sep e o p r o t S e S r e vi v ce c s Fabrice Dubost

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Module 197 Développer et implanter un concept de gestion des versions et des configurations

Chapitre 7 Ministère du Développement des ressources humaines / Andersen Consulting

IFT2255 : Génie logiciel

Macroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope

Jean-François McNeil. Consultant en Analyse d Affaires Certification de l IIBA (CCBA) jf@solutionsmcn.com

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Questions concernant le processus de planification du programme

Résolvez vos problèmes d énergie dédiée à l informatique

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

Les systèmes de gestion des actifs immobiliers par Gilles Marchand, Ministère de l'éducation du Québec & Dino Gerbasi, GES Technologies

L Analyse d Affaires, une discipline pour tous BABOK 2.0

OSIATISBIZ UN SERVICE DESK HORS DU COMMUN EQUANT SOLUTIONBIZ PARTAGEONS NOS SAVOIRS EXTRAIT DU Nº9

RECONSTRUCTION D'UN MODÈLE 3D D'OBJET AVEC LA KINECT

Synergies entre Artisan Studio et outils PLM

Le Product Backlog, qu est ce c est?

1. Étude réalisée par l AFOPE en Hellriegel D., Slocum J. W., Woodman R. W., Management des organisations, Bruxelles, De Boeck, 1992.

Gérez vos coûts de projet intelligemment

Rendez-vous la liberté avec Rational Quality Manager

LOG2420 Analyse et conception d interfaces utilisateur

Méthodes Agiles et gestion de projets

Le génie logiciel. maintenance de logiciels.

SYNERGIE Associés Confidentiel Reproduction interdite sans autorisation préalable Page 1 de 44

Assises Métallerie ERP GPAO en métallerie: quelle offres, comment bien choisir son outil de gestion?

Identification du module

Livre Blanc Oracle Mars Rationaliser, Automatiser et Accélérer vos Projets Industriels

LE SUPPLY CHAIN MANAGEMENT

GL Le Génie Logiciel

Gestion de Projet 11 - PMI. Contact: Yossi Gal, yossi.gal@galyotis.fr, Téléphone: Gestion de Projet Cours PMI

Gestion de la relation Client (CRM)

Analyse,, Conception des Systèmes Informatiques

CRM et GRC, la gestion de la relation client R A LLER PL US L OI

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

DEMANDE D INFORMATION RFI (Request for information)

Gestion des Incidents (Incident Management)

Analyse structurée de solutions pour BMC Remedy IT Service Management v 7

Kym Salameh, M.Sc. Février 2012

Rapport de certification

Introduction au génie logiciel

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Service des stages et du placement - secteur placement ANNEE 2013 TITRES DE POSTES OFFERTS AUX DIPLOMES DE GENIE INFORMATIQUE

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

ANALYSE DE LA CONVERSION DES EXIGENCES À LA PLANIFICATION DE PROJETS TECHNOLOGIQUES: ÉTUDES DE CAS

ITIL V2. La gestion des incidents

11 Février 2014 Paris nidays.fr. ni.com

ITIL V2. La gestion des mises en production

«Vous accompagner de l idée à la réalisation»

Séminaire Lean Enterprise Mardi 20 Juin 2006

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

AXIAD Conseil pour décider en toute intelligence

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Mesurer le succès Service Desk Guide d évaluation pour les moyennes entreprises :

Les bonnes pratiques d un PMO

La gouvernance des grands projets d infrastructure publique

Liste des Formations

Faire simplement mieux

Contact: Yossi Gal, Téléphone:

LEXIQUE. Extraits du document AFNOR (Association Française de Normalisation) NF EN ISO 9000 octobre 2005

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Le Processus Unifié. Une Démarche Orientée Modèle. IUP NTIE - Master 1 - Jérémie Guiochet - 4/11/09

S engager pour gagner la confiance

Manufacturing Intelligence Séminaire Connected Entreprise ( 12 mars 2015)

Sujet de thèse CIFRE RESULIS / LGI2P

Rapport de certification

Améliorer la Performance des Fournisseurs

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet

CEG4566/CSI4541 Conception de systèmes temps réel

La Tierce Maintenance Applicative ERP De quoi s agit-il? Est-ce le bon choix pour vous?

Méthodologie d amélioration du développement logiciel chez ABB

Tout sur le processus CPQ Configure Price Quote

Logiciel Libre & qualité. Présentation

INDICATIONS DE CORRECTION

25/12/2012

Génie logiciel. Systèmes et sous-systèmes. Modèliser des grands systèmes. Problématique. SS S-Syst1 SS S-Syst2 SS S-Syst3. Système.

Manuel d assurance qualité ISO 9001:2000. Copie originale

Génie logiciel (Un aperçu)

GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE

Jean-Pierre Vickoff J-P Vickoff

Un élément de la gouvernance du système d information «La gestion des logiciels, transparence et maîtrise du budget»

Méthode Agile de 3 ème génération J-P Vickoff

LOGICIEL DE GESTION DE LABORATOIRE ALPHA LABO

GL Processus de développement Cycles de vie

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

CONSULTANTE EN GESTION DE PROJETS ET ARCHITECTURE D INFORMATION PIGISTE

Transcription:

Introduction Fondements de l ingénierie des exigences Objectifs : Présentation du programme du cours Quelques définitions L importance de spécifier les exigences Positionnement dans un processus de développement Les trois catégories d'exigences Quelques chiffres qui démontrent l importance des exigences Tester les exigences, ne pas tester le code 1

Agenda 1 Présentation Enseignante Présentation des participants et de leurs attentes Évaluation Programme du cours Documentation 2 3 4 5 Importance de l ingénierie du logiciel Positionnement de l ingénierie des exigences dans le processus de dev Rappel sur les processus de développement Positionnement de la phase des exigences Exigences différentes pour des systèmes différents Quelques chiffres qui démontrent l importance des exigences 2

Chargée du cours Latifa Guerrouj ( latifa.guerrouj@polymtl.ca) Ingénieure en génie informatique, option: qualité logiciel, lauréate de l École Nationale des Sciences Appliquées - Maroc. Doctorante à l École Polytechnique de Montréal, Département de génie informatique et génie logiciel (DGIGL). http://www.latifaguerrouj.ca/ 3

Chargé des laboratoires Mehdi Mahjoub (mehdi.mahjoub@polymtl.ca) Ingénieur en génie informatique de l École Polytechnique de Montréal, Département DGIGL. Maîtrisard en génie énergétique de l École Polytechnique de Montréal, Département DGIGL. 4

Documentation Notes de cours: Disponibles sur le site Ptidej sous l adresse suivante: http://www.ptidej.net/teaching/log3410/. Manuel suggéré: The Software Requirements Memory Jogger, Ellen Gottesdiener, Goal-QPC, 2005 (disponible à la Coop). Articles suggérés: Tous les articles suggérés sont disponibles sur le site de Ptidej. 5

Évaluation Travaux Pondération 1 2 3 Travaux pratiques 30 % Examen de mi-session 30 % Présentation orale 5 % 4 Examen final 35 %. 6 laboratoires avec trois grands livrables: (3 * 10%) = 30 % 6

Que couvrira ce cours Ingénierie des exigences Techniques d élicitation Techniques de documentation des exigences Test des exigences Priorisation et raffinement des exigences Modélisation des buts (Goal Requirement Language) Représentation des exigences non fonctionnelles Spécification des interfaces utilisateurs La traçabilité des exigences et gestion du changement 7

Introduction Qu'est-ce qu une exigence? Qu'est-ce que l ingénierie des exigences? Différence entre exigence et spécification? Parties prenantes (Stakeholders)? Gestion des exigences? Types d exigences? Types de système à développer? 8

Définition du terme «exigence» (requis)? Les exigences (requis) décrivent la raison d être d un système. Les exigences expriment les idées qui doivent être incarnées dans un système ou une application en développement. La définition varie, mais reste généralement 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

Selon la norme IEEE 830-1993 Une exigence est définie comme étant : (1) une condition ou capacité dont un utilisateur a besoin pour résoudre un problème ou atteindre un objectif; (2) une condition ou capacité qui doit être satisfaite ou possédée par un système * + pour satisfaire un contrat, une norme, une spécification, ou tout autre document formellement imposé * +. 10

Ingénierie des exigences (I.E.) Processus qui a pour objet d'établir et de maintenir un accord avec les parties prenantes sur les exigences du système à construire. Bonnes pratiques permettant de définir le contexte de travail au sein d'un projet, à la fois d'un point de vue contractuel et technique. But: Réaliser un système conforme au juste besoin 11

Qu est ce qu une partie prenante (Stakeholder) Clients / investisseur Acheteurs Utilisateur final Experts du domaine Les fournisseurs de contenu Développeurs, Ingénieurs logiciel, gestionnaires de projets, Inspecteurs (reviewer) Experts d un autre système en liaison avec le projet Tout autre personne qui apporte une valeur ajoutée au futur système 12

Exigence vs Design (Quelle est la différence entre exigence et design?) The requirements are the WHAT of the system! (Les exigences sont le Quoi du système). The design of a system is the middle layer of HOW! (La conception est la couche du milieu du comment (la première couche est l architecture, la troisième couche est l implémentation). Exemple: Exigence ou Design? Si le système d alarme sonne alors l ascenseur doit descendre au 1 er étage, ouvre les portes et suspend toutes autres opérations. Le projet doit être implémenté en C#. Le système doit utiliser des listes chaînées. 13

Le processus de gestion des exigences entrées / Sorties Le système existant & processus d affaires Besoins des Stackholders Convention sur les exigences Organisation Règles de gestion et lois Processus de gestion des exigences Spécifications du système Modèles 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

Ingénierie des exigences Création Élicitation Ingénierie des exigences Développement des exigences Analyse Spécification Vérification Gestion des exigences Priorisation Traçabilité 15

Plus de détails sur le processus des exigences Phase de création Débute le processus (vision, besoin ou opportunité d affaire, bonne idée ). Dossier commercial, étude de faisabilité, étendue du système, risques, etc. Élicitation des exigences Les exigences sont découvertes en consultant (et parfois même en provoquant) les diverses parties prenantes. Analyse des exigences et négociation Les exigences sont analysées et les conflits résolus, souvent par négociation. Spécification des exigences Un document précis décrivant les exigences est produit. Validation des exigences La spécification des exigences est vérifiée en termes de cohérence et de complétude. Gestion des exigences Les besoins évoluent, les exigences aussi!!! 16

Gestion des exigences Problème Besoins Domaine du problème Fonctionnalités Exigences du système Domaine de la solution 17

Catégories des exigences (classification générale des exigences) Type des exigences Exigences fonctionnelles Exigences non-fonctionnelles Contraintes 18

Catégories d exigences Une exigence fonctionnelle est une exigence définissant une fonction du système à développer. Décrit le quoi, c.-à-d. ce que le système doit faire. Une exigence non fonctionnelle est une exigence qui caractérise une propriété ou une qualité désirée du système telle que sa performance, sa robustesse, sa convivialité, sa maintenabilité, etc. Une contrainte qui doit être prise en compte lors du développement. Une contrainte est une restriction sur une ou plusieurs valeurs d une partie du système ou de tout le système. Un but est un objectif ou une préoccupation utilisée pour découvrir et évaluer des exigences fonctionnelles et non fonctionnelles. Un but n est pas encore une exigence (séance du GRL). 19

Exemples d exigences fonctionnelles L utilisateur doit être capable de chercher dans l ensemble des bases de données. Le système doit enregistrer la commande du client. Chaque commande doit avoir un identifiant unique (ORDER_ID). 20

Buts Les exigences non-fonctionnelles peuvent être difficiles à spécifier de manière précise, et ces exigences ambigües deviennent difficiles à vérifier. Un but offre une intention ou un objectif général tel que la convivialité de l application. Les buts peuvent guider la découverte d exigences non-fonctionnelles vérifiables, qui peuvent être testées objectivement. 21

Exigences: système vs logiciel Système? Ensemble de composants inter-reliés qui collaborent pour un objectif commun. Peut inclure des composants mécaniques, électriques, électroniques, logiciels, etc. Ingénierie des systèmes Approche multidisciplinaire pour le développement des systèmes. Le logiciel n est souvent qu une partie du système. Nous pouvons donc distinguer les exigences du système des exigences des composants logiciels. 22

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 23

Exemple de but Un but du système Ex. le système doit être facile à utiliser et devrait être organisé de façon à minimiser les erreurs d utilisation. Exigences non-fonctionnelles vérifiables, inférées de ce but (un utilisateur expérimenté a au moins 2 années d expérience sur le vieux système). Les utilisateurs expérimentés doivent être capables d utiliser les fonctions du système après une formation de 3 heures. Le nombre moyen d erreurs faites par les utilisateurs expérimentés ne doit pas excéder 2 par jour. 24

Exigences différentes pour des systèmes différents Systèmes interactifs Systèmes transformationnels Systèmes d information Systèmes temps réel Systèmes embarqués 25

Systèmes interactifs Caractéristiques: Système guidé par les événements qui permettent l interaction avec l environnement. Les processus et l environnement sont synchronisés. Exemples: Système d exploitation Applications Web Exigences: Accent mis sur les tâches de l utilisateur et sur la performance. L interface utilisateur joue un rôle important. 26

Systèmes transformationnels Principales caractéristiques: Transforme les entrées de début vers les sorties à la fin. Exemples: Compilateurs Exigences: Ensemble des règles de transformation qui décrivent les différentes parties d entées et de sorties. 27

Systèmes d information Caractéristiques: Systèmes pour l acquisition, l accès et la manipulation des données. Exemples: Gestion des systèmes de base de données Exigences: Fournissent une description des caractéristiques des données et l ensemble des relations avec la BD. Plus orientées vers l efficacité et l efficience du stockage et l accès aux données. 28

Systèmes temps réel Caractéristiques: Le fonctionnement correcte du système dépend des résultats produits et du temps consommé pendant le traitement. Exemples: Contrôle des senseurs Exigences: Plus orientées vers la planification et la performance. Les exigences du temps décrivent le délai maximum pour répondre à un événement ou pour traiter une entrée. 29

Systèmes réactifs Caractéristiques: Systèmes temps réel composés de processus qui réagissent aux événements; Systèmes qui dépendent de leurs propres réaction au différents stimulus de l environnement. Exemples: Contrôleurs de pilotage (avionique) Exigences: Synchronisation avec l environnement. Synchronisation des réponses. 30

Systèmes embarqués Caractéristiques: Composants spécialisés qui font partie d un système plus large. Exemples: Tout ce qui possède une interface numérique; Électroménagers, voitures, etc. Exigences: Plus orientées vers les contraintes matériels. 31

Plus d exigences pour les systèmes critiques Caractéristiques principales: Les conséquences des erreurs sont catastrophiques pour la vie humaine. Exemples: Systèmes avioniques Système pour les sites nucléaires Exigences: Utilisation des techniques formelles plus rigoureuses. Leur vérification doit être formelle. 32

Le début est la partie la plus importante du travail Platon, 4 siècles avant J.C. 33

Pourquoi spécifier les exigences Ratés Défis Réussis 2000 23% 49% 28% 1998 28% 46% 26% 1995 40% 33% 27% 1994 31% 53% 16% Ces données ont été compilées à partir de 30 000 projets industriels (Grands, Moyens et Petits). Source: Extreme Chaos, the Standish Group International, Inc., 2000 34

Symptômes des projets réalisés avec des défis Ca ne marche pas dans notre environnement Ca ne correspond pas à nos attentes Nous sommes mécontents Le projet fut en retard et hors budget C est trop difficile à utiliser Au final, ce n est pas ce dont nous avions besoin Ce truc est imprévisible On découvre chaque jour de nouveaux problèmes Nous ne pouvions obtenir les informations nécessaires au projet Nous n avons pas vraiment compris ce que nous devions faire. Nous ne savions pas si le travail des autres équipes impacteraient notre travail 35

Observations Les facteurs qui font que le projet soit en retard ou ne répond jamais aux exigences des Stakeholders (selon Standish Groupe 2006). Une mauvaise gestion des exigences est à l origine de la plus part des échecs!!! 36

Source : Forrester 2006 Source: Standish Group 2004 Des chiffres empiriques Causes d échec Spécifications incomplètes Faible communication entre les parties prenantes Mauvaise gestion des changements 70 % des défectuosités sont introduites lors de la phase de spécification, et 30% plus tard lors de la solution technique Seulement 5% des problèmes de spécification sont corrigés dans la phase de spécification. 95% sont détectés plus tard dans le projet alors que le coût pour les résoudre est en moyenne 22 fois supérieur. 37

Problèmes généraux de l ingénierie des exigences Manque d expertise (ingénieurs logiciels, experts de domaines, etc.). Idées initiales trop souvent incomplètes, trop optimistes Difficultés à utiliser les outils et méthodes complexes et variées associées à la cueillette d exigences peuvent effacer les bénéfices escomptés d une approche complète et détaillée. 38

Airbus A380 Trop d ordinateurs et trop de logiciels 39

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 idée de la taille du défis auquel font face les ingénieurs logiciel!!! 40

La sonde sur Mars En 1999 le «Mars Climate Orbiter» disparait alors qu il débute son orbite autour de Mars. Coût: environ 125 millions de dollars US. Problème causé par une erreur de transfert d information entre une équipe au Colorado et une en Californie. Une équipe utilisait le système de mesure anglais (pouces, pieds, livres ) alors que l autre utilisait le système métrique pour une fonction clé de l appareil 41

GIRES, le plus grand projet du Québec Projet du gouvernement du Québec qui a commencé en 1998. GIRES ( Gestion Intégrée des Ressources) consiste à implanter dans l'administration publique les pratiques les plus efficaces de gestion en ressources humaines, matérielles et financières. Ces pratiques seront appuyées par le progiciel de gestion intégré (PGI) de la firme Oracle. Budget: 80 millions de dollars. 42

Impact prévu de GIRES GIRES touchera : plus de 68 000 employés de l État près de 140 ministères et organismes GIRES remplacera : les systèmes SAGIP et SYGBEC plus de 1000 systèmes ministériels GIRES sera installé dans toutes les régions du Québec GIRES sera «le plus important chantier informatique jamais entrepris au Québec» 43

Suite GIRS, le gouffre Ce qui devait être une opération peu coûteuse et efficace est devenu un véritable fiasco financier. Projet d une durée de 8 ans: Défi de maintenir le rythme et de gérer le changement. Après 5 ans, les coûts avoisinaient les 400 millions de dollars et les retards s'accumulaient.. Le projet a été abandonné en 2003, le gouvernement préférant 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/012- GIRES.shtml 44

Progression des dépenses Mais en 1995, les dépenses se chiffraient à 85 millions de dollars. En 2000 : 327 millions de dollars. En 2002 : 688 millions de dollars. Plusieurs imprévus non informatique: Frais de bataille juridique Scandales au niveau des achats de matériel Autres frais obscurs... 45

Facteurs de succès Standish Group Inc., 2000 46

Causes des problèmes 47

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

Outils commerciaux Produits pour la gestion des exigences: Libellé outil Vendeur URL vendeur DOORS Telelogic http://www.telelogic.com/ RequisitePro Rational Software http://www.rational.com/ RTM Integrated Chipware http://www.chipware.com Caliber-RM Starbase Corporation http://www.starbase.com/ CRADLE 3SL http://www.3sl.co.uk/ CORE Vitech Corporation http://www.vtcorp.com/ RDD Ascent Logic Corporation http://www.alc.com/ RDT Igatech http://www.igatech.com/ XTie-RT Teledyne Brown Engineering http://www.tbe.com/ SLATE EDS http://www.tdtech.com/ TOFS Tool for Systems http://www.toolforsystems.com Vital Link Compliance Automation Inc. http://www.complianceautomation.com/ 49

... Outils commerciaux Integrated Chipware (RTM) 20% Startbase (Caliber-RM ) 7% Autres 17% Rational (RequisitePro) 26% Telelogic (DOORS) 30% Source: Standish Group 1999 50

Annexe: Spécification des exigences système SRS Besoins du client Spécification des exigences du système Ingénieur système Formaliser les besoins Spécification des exigences non-fonctionnels SRS révisé Glossaire Liste de risques Réf: UPEDU Réviser Spécifications des exigences du système 51

Exigences (modélisation des besoins) Besoins du client Analyste Définir les cas d utilisation et les maquettes d interfaces CUI Modèles des cas d utilisation CUI révisé Modèles des Interfaces utilisateurs Cas d utilisation et interfaces Réf: UPEDU Réviser 52