Basé en partie sur du matériel de K. E. Wiegers, D. Leffingwell & D

Slides:



Advertisements
Présentations similaires
Analyse et définition des besoins
Advertisements

Langage de modélisation objet unifié
Spécification et qualité du logiciel
Introduction Pour concrétiser l’enseignement assisté par ordinateur
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
UML - Présentation.
Les méthodes formelles en ingénierie des connaissances Damien Lhomme-Desages Jérémie Barlet.
UML (Unified Modeling Langage)
Initiation à la conception des systèmes d'informations
Introduction au Génie Logiciel
le profil UML en temps réel MARTE
Analyse et Conception orientée objet
Initiation à la conception de systèmes d'information
Cours #8 Flot de conception d’un circuit numérique
Etude globale de système.
Techniques de test Boulanger Jean-Louis.
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
Unified Modeling Langage
TESTING BUSINESS PROCESSES
Cours de Base de Données & Langage SQL
Méthodes formelles pour la conception de systèmes répartis par Luigi Logrippo et tous ses collaborateurs et étudiants École d`ingénierie et technologie.
Hiver 2011SEG Chapître 11 Chapître 1 (partie 1) Revision de cours précédants Sujet 1: Le processus de développement de logiciel.
Les étapes du cycle de développement du génie logiciel
Programmation non procédurale Le projet ECOLE 2000
Sensibilisation a la modelisation
UML Séquence 3 : (Diagramme d’activités)
Langage de modélisation graphique de systèmes
ANALYSE METHODE & OUTILS
«SEG 3501» D. Amyot uOttawa SEG Module 2 Création, Vision, Portée Objectifs: ―Maîtriser les concepts de base: ―Analyse des causes premières ―Vision.
Paradigmes des Langages de Programmation
Cycle de vie: « Waterfall » GEF492A Automne 2014 [HvV § 3.1]
Paradigmes des Langages de Programmation
UML.
UML - Présentation.
Chapitre 2: COMMUNICATION TECHNIQUE
Rencontre des écoles ciblées du secondaire 22 mars 2004
Etude des systèmes Notion de système.
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Approches Formelles en Systèmes d'information
Algorithmique et programmation (1)‏
GENIE LOGICIEL Détermination du périmètre cible d’une application
Algorithmes et Programmation
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
UML : un peu d’histoire H. Lounis.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
Introduction au Génie Logiciel
Intro en dessin.
Initiation à la conception des systèmes d'informations
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Introduction et Généralités sur l’Algorithmique
2003, revisé 2006, 07 et 08SEG Chapitre 21 Chapître 2 Principes de base concernant les exigences.
Problèmes du génie logiciel. H. Lounis Les problèmes zTaille et complexité des logiciels ; zTaille croissante des équipes ; zSpécifications peu précises.
Unified Modeling Language
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
2 Tracks Unified Process
Copyright, 1996 © Dale Carnegie & Associates, Inc. Com7114 Technologies de la communication Objectifs de ce cours ? Sa place dans le programme ? La communication.
D’après une présentation de A. Conti
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
Conférence 2TUP Stéphane Barthon 03/12/
Document de spécification d’exigences Normes IEEE et 29148:2011
Du Cahier des Charges à la Spécification Formelle ?
1 Spécifications de Problèmes. 2 Plan Définition Motivation Qualités attendues Types de formalismes Rappels du cours de programmation Spécifications structurées.
Transcription de la présentation:

SEG 3601- Module 3 Analyse, modélisation et spécification des exigences (introduction) Basé en partie sur du matériel de K.E. Wiegers, D. Leffingwell & D. Widrig, P. Heymans, M. Jackson, I.K. Bray, D. Berry, J. Atlee, B. Selic, G. Mussbacher

Module 3 : Analyse et spécification des exigences Analyse des exigences Le processus qui consiste à étudier et à analyser les besoins des parties prenantes pour en arriver à une définition des du domaine du problème et des exigences du système (ou logicielles) L’analyse va souvent de pair avec la modélisation Module 3 : Analyse et spécification des exigences

Objectifs de l’analyse Découvrir les frontières du système/logiciel et comment il doit interagir avec son environnement Détecter et résoudre les conflits entre exigences (des utilisateurs) Négocier les priorités des intervenants Élaborer les exigences du système pour en dériver les exigences logicielles utiles pour les gestionnaires (estimés réalistes) et les développeurs (implémentation et test) Classifier les exigences Évaluer les exigences par rapport aux qualités désirables S’assurer que rien n’est oublié Module 3 : Analyse et spécification des exigences

Analyse des exigences Élicitation Analyse Notes d’élicitation Questions et points à considérer Analyse Documents d’exigences Module 3 : Analyse et spécification des exigences

Modélisation des exigences Aussi une tâche essentielle de la spécification des exigences Mène à une forme plus précise des éléments recueillis lors de l’élicitation Aide à mieux comprendre le problème Aide à trouver ce qui reste à discuter Différents langages de modélisation Informels (langage naturel) Orientés-buts (GRL) Modélisation fonctionnelle UML (Unified Modeling Notation) SDL (Specification and Description Language) Logique (Z, CTL et autres logiques temporelles…) UCM (Use Case Map) … Module 3 : Analyse et spécification des exigences

Validation et vérification des exigences Doivent être faites à toutes les étapes du processus d’ingénierie des exigences Élicitation Vérifier auprès des sources d’élicitation « Donc, vous dites que… ? » Analyse Vérifier que la description du domaine et que celle des exigences sont correctes Spécification Vérifier que les exigences définies pour le système vont satisfaire les exigences des intervenant lorsque les hypothèses sur le domaine et l’environnement sont vraies Vérifier que les exigences et les documents soient bien formés (règles, gabarits…) Module 3 : Analyse et spécification des exigences

L’utilisation des modèles Module 3 : Analyse et spécification des exigences

Module 3 : Analyse et spécification des exigences Modèles Selon Bran Selic, un modèle est une représentation réduite (simplifiée, abstraite) d'un (aspect d'un) système qui sert à: aider à comprendre un problème et/ou une solution complexe(s) communiquer des informations sur le problème/la solution diriger l'implémentation Qualités d’un bon modèle Abstrait, compréhensible, précis, prédictif, peu coûteux… Module 3 : Analyse et spécification des exigences

Représentations de modèles Langue naturelle (français) + Pas d’apprentissage spécial nécessaire - Ambigüe, verbeuse, imprécise, obscure… - Pas d’automatisation Notation ad hoc (bubbles and arrows) - Pas de syntaxe formellement définie, ambigüe Notation semi-formelles (URN, UML…) + Syntaxe (graphique) bien définie + Interprétation commune partielle, raisonnablement simple à apprendre + Automatisation partielle - Sémantique incomplète, toujours un risque d’ambigüités Notation formelle (SDL, Réseaux de Pétri, LOTOS, …) + Syntaxe et sémantique bien définies + Grande automatisation (analyse et transformations) - Difficile à apprendre et à comprendre Module 3 : Analyse et spécification des exigences

Représentations de modèles (2) Les langages informels sont mieux compris par un vaste éventail d’intervenants Bons pour les exigences utilisateurs, les contrats Mais: manque de précision Possibilité d’ambigüités Manque d’outils d’analyse Les langages formels sont plus précis Moins de problèmes d’ambigüités Outils (p.ex., vérification et transformations) Pour les spécialistes (développeurs, testeurs…) Mais à portée limitée Module 3 : Analyse et spécification des exigences

Modélisation de la structure Concepts d’entités et de relations. Utilisez l’une des notations suivantes: Diagrammes entités-relations (ERD) Diagrammes de classe UML Peuvent être utilisés pour modéliser: le domaine du problème (aussi appelé le « modèle du domaine ») Même les systèmes présents et futurs Les structures de données Les données emmagasinées (bases de données) La conception architecturales du système futur Module 3 : Analyse et spécification des exigences

Modélisation des entrées et sorties Nature des entrées et sorties (E/S): E/S reliées au problème (données du problème) Données additionnelles reliées à la solution P.ex., options des utilisateurs, messages d’erreurs… Regroupées dans un dictionnaire de données Texte simple (langage naturel) EBNF Pseudo-code Logique (p.ex., Z, CTL…) … Sorties graphiques (écrans, formulaires) Dessins iconiques, écrans/formulaires prototypes, affichages produits par prototype opérationnel… Module 3 : Analyse et spécification des exigences

Modélisation du comportement dynamique Représentations Texte (simple, description des fonctions, cas d’utilisation) Tables de décision Diagrammes d’activités UML / Use Case Maps Machines à états finis Machines à états simples (FSM) : diagrammes d’états ou tableau de transitions Machines à états étendus (EFSM): diagrammes d’états UML, SDL State Charts de Harel (intégrés dans UML) Réseaux de Pétri Logique (p.ex. Z, B, CTL) , pour décrire des assertions due les entrées et sorties, et possiblement sur les états internes des objets modifiés par les opérations Il est important de choisir ce qui est le plus approprié pour le système Pas de « one size fits all »! Module 3 : Analyse et spécification des exigences

Module 3 : Analyse et spécification des exigences Analyse de modèles Par construction On apprend le système en s’interrogeant et en le décrivant Par inspection Exécution mentale Fiable? Par analyse formelle Nécessite une sémantique formelle (mathématique) Fiable (en théorie), mais coûteux pour certaines approches et certains problèmes Par expérimentation Exécution, simulation, animation, test… Requiert une sémantique définie er des outils de simulation Plus fiable que l'inspection pour certains aspects Contact "direct", possible d’interagir (prototype) Module 3 : Analyse et spécification des exigences

Analyse: Quelques approches typiques Analyse structurée (1970) Analyse orientée-objet (1990) Cadres de problèmes (Problem Frames, 1995) Analyse basée sur les machines à états Analyse de conflits Avec cas de mésusage Avec modèles GRL/UCM (en laboratoire) Il est important de distinguer: La notation utiliser pour définir le modèle Le processus par lequel le modèle est créé Module 3 : Analyse et spécification des exigences

Tous les modèles sont faux, mais quelques modèles sont utiles... George Edward Pelham Box (1919-) Module 3 : Analyse et spécification des exigences