IFT2251: Introduction au génie logiciel

Documents pareils
Nom de l application

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

IFT2255 : Génie logiciel

RTDS G3. Emmanuel Gaudin

Identification du module

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

BES WEBDEVELOPER ACTIVITÉ RÔLE

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

SECTION 5 BANQUE DE PROJETS

Mécanisme d examen de l application de la Convention des Nations Unies contre la corruption Documents de base

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

OFFICE DES NATIONS UNIES CONTRE LA DROGUE ET LE CRIME Vienne

Brique BDL Gestion de Projet Logiciel

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Générer du code à partir d une description de haut niveau

LOG2420 Analyse et conception d interfaces utilisateur

La Certification de la Sécurité des Automatismes de METEOR

Méthodes de développement. Analyse des exigences (spécification)

Les grandes familles du numérique

Modélisation des données

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Information utiles. webpage : Google+ : digiusto/

S3CP. Socle commun de connaissances et de compétences professionnelles

RAPPORT EXÉCUTIF DE LA FIRME DE CONSULTANTS GARTNER

Analyse,, Conception des Systèmes Informatiques

Devenez un véritable développeur web en 3 mois!

Rational Unified Process

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

Pratique recommandée par IEEE pour la préparation de spécifications d exigences de logiciel

Système de management H.A.C.C.P.

Dossier d'étude technique

Vérifier la qualité de vos applications logicielle de manière continue

MODIFICATIONS DES PRINCIPES DIRECTEURS CONCERNANT LA RÉDACTION DES DÉFINITIONS RELATIVES AU CLASSEMENT

Qu'est-ce que le BPM?

Guide du/de la candidat/e pour l élaboration du dossier ciblé

Votre Réseau est-il prêt?

Gé nié Logiciél Livré Blanc

LES INTERFACES HOMME-MACHINE

Politique de Certification Pour les Certificats de classe 0 et 4 émis par l autorité de certification Notaires PUBLIÉ

Learning Object Metadata

Conseils pour l évaluation et l attribution de la note

Université de Bangui. Modélisons en UML

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

Utilisation des tableaux sémantiques dans les logiques de description

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

IPMA 1. Le référentiel 2. Les processus de certification. Claude Marguerat, IPMA-B Congrès des 23 et 24 avril 2014

Support Administratif

Systèmes d information et bases de données (niveau 1)

POLITIQUE DE GESTION DES DOCUMENTS ADMINISTRATIFS

Développement d un interpréteur OCL pour une machine virtuelle UML.

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

UML (Diagramme de classes) Unified Modeling Language

Structure typique d un protocole de recherche. Préparé par Johanne Desrosiers dans le cadre d une formation au réseau FORMSAV

CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Département Génie Informatique

GL Le Génie Logiciel

ISD Consulting Pharmaceuticals. Présentation Générale

L A B U S I N E S S. d a t a g i n f o r m a t i o n g a c t i o n

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

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

Baccalauréat professionnel. Maintenance des Équipements Industriels

UML et les Bases de Données

Architecture d'entreprise : Guide Pratique de l'architecture Logique

2. Activités et Modèles de développement en Génie Logiciel

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Cours Composant 2. Qualité logicielle et spécications algébriques

Problématiques de recherche. Figure Research Agenda for service-oriented computing

M Études et développement informatique

OCL - Object Constraint Language

MEGA Application Portfolio Management. Guide d utilisation

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Génie logiciel (Un aperçu)

Annexe : La Programmation Informatique

Panorama général des normes et outils d audit. François VERGEZ AFAI

SITE I NTERNET. Conception d un site Web

Processus d Informatisation

Sujet de thèse CIFRE RESULIS / LGI2P

LEA.C5. Développement de sites Web transactionnels

Gestionnaire d emploi du temps

Bases de données Cours 1 : Généralités sur les bases de données

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

LISTES DE DISTRIBUTION GÉRÉ PAR SYMPA DOCUMENT EXPLICATIF DE ÉCOLE POLYTECHNIQUE

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Le Guide Pratique des Processus Métiers

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

«Identifier et définir le besoin en recrutement»

Transcription:

Julie Vachon, Hiver 2006 IFT2251: Introduction au génie logiciel Chapitre 3: Analyse et spécification Section 1 : Développement requis (cueillette et spécification) Sommaire Chapitre 3, section 1 «Analyse introduction aux techniques de cueillette d informations et de spécification» 1. Les besoins (exigences) 2. Processus d analyse besoins 3. Expression besoins Détermination besoins Négociation et validation besoins 4. Spécification et modèles Les modèles : utilité, types, etc. J. Vachon - Chap.3, sect.1, p.2 Copyrights Julie Vachon, 2006 Références Satzinger et al. Chapitres 4 et 5 Ghezzi et al. Chapitre 5, sections 1 à 4 Pfleeger Chapitre 4 Un problème de communication Schémas Langages formels Spécifications souvent incompréhensibles pour les non initiés. Expertise, jargon du domaine Indécis, opinion changeant selon l offre Besoins ambigus, éléments manquants Analyse besoins: souvent Incomplète, imprécise, invalide J. Vachon - Chap.3, sect.1, p.3 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.4 Copyrights Julie Vachon, 2006

L analyste L analyste doit devenir aussi informé du fonctionnement de l entreprise que les utilisateurs. Il doit être devenir l expert. Avantages: Meilleure crédibilité. Solution innovatrice. Prêt à comprendre tous les utilisateurs J. Vachon - Chap.3, sect.1, p.5 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.6 Copyrights Julie Vachon, 2006 3.1.1 Besoins Besoin («requirement») = exigence que le système devrait satisfaire. Synonymes: exigences, caractéristiques, requis. Exemples: Système de contrôle d un ascenseur B1. Le programme doit planifier les activités de l ascenseur de façon efficace et raisonnable. B2. Le programme doit illuminer l indicateur du panneau d arrivée correspondant à l étage où l ascenseur arrive. B3. Au dernier (resp. premier) étage, le panneau d appel ne contient qu un seul bouton, soit celui pour cendre (resp. monter). etc. Catégories de besoins Besoins fonctionnels (exigences fonctionnelles) cription services? (fonctions). cription données manipulées "Comment souhaite-on pouvoir utiliser le système". Besoins non fonctionnels (spécifications techniques) cription contraintes? Pour chaque service et pour le système global, il est possible d exprimer différents types de contraintes: contraintes de performance contraintes de sécurité contrainte de convivialité et d'apparence Etc. J. Vachon - Chap.3, sect.1, p.7 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.8 Copyrights Julie Vachon, 2006

Types de besoins Les besoins peuvent traduire exigences concernant L environnement physique Les interfaces Les humains et utilisateurs Les fonctionnalités La documentation Les données Les ressources La sécurité L assurance de la qualité Caractéristiques besoins Corrects Clairs, sans ambiguïtés, intelligibles. Cohérents Complets complétude interne (cohérence) et externe Réalistes Pertinents pour le client Vérifiables «Traçables» J. Vachon - Chap.3, sect.1, p.9 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.10 Copyrights Julie Vachon, 2006 3.1.2 Processus d analyse besoins Processus d analyse besoins A. Expression besoins (requirements elicitation) Cueillette d informations validation & besoins Cueillette d informations validation & besoins B. Spécification et modélisation besoins Modélisation et spécification Validation A // B ou A;B Document d analyse & spécification J. Vachon - Chap.3, sect.1, p.11 Copyrights Julie Vachon, 2006 Modélisation et spécification Recueillir l information. Définir les caractéristiques du système. Bâtir prototype pour la découverte Validation Document d analyse & spécification Prioriser les caractéristiques. Produire et évaluer solutions de rechange. Examiner les recommandations avec la haute direction. J. Vachon - Chap.3, sect.1, p.12 Copyrights Julie Vachon, 2006

Processus d analyse besoins Expression besoins Participants: analyste, client et utilisateurs. Document: cahier Rédigé par: le client en collaboration avec l analyste. En langue naturelle. Découpage: en paragraphes exprimant clairement les buts, les besoins et les contraintes. Spécification et modélisation besoins Participants: analyste Document: dossier d analyse et de spécification Rédigé par: l analyste. Notation graphique ou textuelle rigoureuse. Découpage: modèles statique, fonctionnel et comportemental. 3.1.3 Expression besoins A. Expression besoins 1. Collecte informations Modélisation et spécification 2. Validation & 3. besoins B. Spécification et modélisation besoins Validation Document d analyse & spécification 4. J. Vachon - Chap.3, sect.1, p.13 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.14 Copyrights Julie Vachon, 2006 Collecte informations Thèmes Collecte informations validation & besoins Thèmes pour les questions de cueillette d informations Identification opérations et procédés administratifs Quoi? Réalisation opérations Comment? Identification informations requises pour réaliser les opérations Avec quels moyens? Questions Que faites-vous? Comment le faites-vous? Quelle démarche suivez-vous? Quelles informations utilisez-vous? Quels formulaires et quels rapports? J. Vachon - Chap.3, sect.1, p.15 Copyrights Julie Vachon, 2006 Collecte informations 1. Métho traditionnelles Entrevue avec clients, utilisateurs et experts du domaine. Questionnaires (accompagnent ou préparent l entrevue) Observation (passive ou active) Documenter l observation: diag. de flux travaux Étude documents et systèmes logiciels existants Étude solutions (déjà existantes) fournisseurs J. Vachon - Chap.3, sect.1, p.16 Copyrights Julie Vachon, 2006

Questionnaire Questions fermées objectives Diagramme d activités représentant le flux travaux. Questions fermées subjectives Satzinger et al Questions ouvertes subjectives (explicatives) J. Vachon - Chap.3, sect.1, p.17 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.18 Satzinger et al Copyrights Julie Vachon, 2006 Collecte informations Sources à consulter? Description de la situation actuelle Modèles du domaine Composants réutilisables et politiques de réutilisation Propositions types de besoins à définir Documentation existante Systèmes et organisations existants Besoins exprimés par les parties (clients, utilisateurs) 2. Métho actuelles Prototypage Maquette démonstrative, première étude de faisabilité. Identification besoins conflictuels, omis ou mal saisis Prototype jetable: Pour évaluer solutions, puis jeté. Attention portée sur les besoins les moins bien compris. Prototype évolutif: Raffiné pour produire versions intermédiaires jusqu au produit final. Attention portée sur les besoins les mieux compris. J. Vachon - Chap.3, sect.1, p.19 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.20 Copyrights Julie Vachon, 2006

Collecte informations Métho actuelles (suite) Développement conjoint d'application (Joint Application Development - JAD) Série d'ateliers/réunion de travail auxquelles participent clients et développeurs (workshop) Durée: quelques heures à une semaine. Souvent organisé par firme de consultants. Participants: chef modérateur, secrétaire, client/utilisateurs, développeurs. But: efficacité. Pour plus d info: (html ici) http://www.umsl.edu/~sauter/analysis/jad.html Collecte informations Métho actuelles (suite) Cas d utilisation Description scénarios d utilisation du logiciel 1. Identification services (cas? d utilisation) offerts par le système. 2. Identification acteurs? participant à chacun cas d utilisation. Un acteur représente un rôle joué par une entité (personne, machine, etc.) dans le système. N.B. Un acteur est un rôle possiblement joué par plusieurs entités. Une même entité peut tenir le rôle de plus d un acteur. 3. Description détaillée scénarios? d exécution de chaque cas d utilisation. J. Vachon - Chap.3, sect.1, p.21 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.22 Copyrights Julie Vachon, 2006 Collecte informations Métho actuelles (suite) Cas d utilisation Exercice: Décrire le scénario principal d un cas d utilisation «Retrait à un guichet bancaire» Collecte informations Négociation et validation validation & besoins J. Vachon - Chap.3, sect.1, p.23 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.24 Copyrights Julie Vachon, 2006

Validation & Les besoins répondent-ils aux exigences du client? Réviser la liste besoins en vérifiant s il sont complets, cohérents, réalistes, pertinents, vérifiables, traçables, Tout compromis doit être négocié avec le client. Classer les besoins selon leur priorité et évaluer le risque associé à chacun. Négociation et validation besoins 1. Élimination besoins non pertinents ou irréalistes Bien définir les frontières du système. Construire un diagramme de contexte pour identifier les entités externes, les entrées, les sorties. Identifier les besoins qui ne répondent pas aux objectifs du système, qui sont hors plan, etc. Faire la liste besoins exclus pour cause de trop grande difficulté de réalisation mise en oeuvre par matériel hardware inadéquation de la technologie existante etc. J. Vachon - Chap.3, sect.1, p.25 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.26 Copyrights Julie Vachon, 2006 Négociation et validation 2. Élimination besoins conflictuels et se recoupant Numéroter besoins et construire matrice: identification paires de besoins conflictuels: discussion/ avec le client se recoupant: reformulation. b1 b2 b3 b1 b2 ok b3 C R Négociation et validation 3. Evaluation du risque associé aux besoins et évaluation de leur priorité Quels sont les besoins susceptibles de causer problèmes pendant le développement??? risques techniques, risques de performance, de sécurité, d'intégrité de la b.d., risques politiques/légaux, risques de volatilité (besoins qui changent durant développement) Priorité: 1. Essentiel 2. Utile 3. Difficile 4. À décider J. Vachon - Chap.3, sect.1, p.27 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.28 Copyrights Julie Vachon, 2006

Collecte informations besoins validation & besoins besoins 1. Identification et classification besoins dans le cahier identificateur unique (manuel ou automatique par b.d) numérotation séquentielle numérotation séquentielle avec catégories 2. Hiérarchisation besoins Un besoin peut se composer d un ou plusieurs sousbesoins plus spécifiques, moins abstraits. On peut construire d'abord un modèle abstrait ne considérant pas les sous-besoins... J. Vachon - Chap.3, sect.1, p.29 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.30 Copyrights Julie Vachon, 2006 s besoins Exemple. B1. Le programme doit planifier les activités de l ascenseur de façon efficace et raisonnable. B1.1 Si l ascenseur ne contient pas de passager, il devrait demeurer au rez-de-chaussée en attendant la prochaine requête. B1.2 L ascenseur ne devrait pas modifier le sens de son déplacement s il contient passagers qui n ont pas encore atteint leur tination. Exemple d un cahier de charge (html ici). J. Vachon - Chap.3, sect.1, p.31 Copyrights Julie Vachon, 2006 besoins 3. modifications et traçabilité Lorsqu une exigence est changée, comment facilement retracer les documents, modèles et bout de code à modifier? Modifications facilitée par l utilisation d'un outil de gestion de configuration Permet de tracer: Les besoins? qui définissent ce que le système doit faire. Les modules? de conception générés à partir besoins Le code? qui implémente la conception Les tests? qui vérifient les fonctionnalités du système La documentation? qui décrit le système facilitée versions et meilleure traçabilité lors changements. Pour en savoir plus (html ici): http://linas.org/linux/cmvc.html J. Vachon - Chap.3, sect.1, p.32 Copyrights Julie Vachon, 2006

Collecte informations Validation & besoins Voici maintenant la structure standard d un cahier (Il existe plusieurs templates de cahier (IEEE, ANSI, etc.)) 1. Description générale du projet 1.1 Intention et portée du projet 1.2 Contexte d'entreprise (planification stratégique) 1.3 Parties prenantes 1.4 Idées de solution 1.5 Plan du document 2. Requis fonctionnels (services) 2.1 Portée du système (diagramme de contexte) 2.2 Besoins fonctionnels (entrées, sorties, calculs, synchronisations/contraintes temporelles, stokage de données, etc.) J. Vachon - Chap.3, sect.1, p.33 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.34 Copyrights Julie Vachon, 2006 3. Contraintes (requis relatifs à la qualité et la platefome) 3.1 Contraintes d'interface (convivialité) 3.2 Contraintes de performance (temps de réponse, etc.) 3.3 Contraintes de sécurité (protection données, confidentialité, etc.) 3.4 Contraintes de fiabilité (correction, robustesse, tolérance aux fautes & recouvrement) 3.5 Contraintes opérationnelles (débit opérations, disponibilité) 3.6 Facilité de maintenance (extensibilité, portabilité, réutilisabilité) 3.7 Plateforme et technologies 3.8 Contraintes politiques et légales 4. Eléments du projet (requis relatifs aux processus de développement) 4.1 Problèmes ouverts 4.2 Planning préliminaire 4.3 Budget préliminaire Appendices - Glossaire - Documents et formulaires d'entreprise - Références bibliographiques J. Vachon - Chap.3, sect.1, p.35 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.36 Copyrights Julie Vachon, 2006

Détermination besoins («elicitation») 3.1.4 Spécification et modélisation A. Expression besoins Modélisation et spécification Validation & besoins B. Spécification et modélisation besoins Validation Document d analyse & spécification J. Vachon - Chap.3, sect.1, p.37 Copyrights Julie Vachon, 2006 Spécification et modélisation Modèle Représentation abstraite d un aspect important quelconque du monde réel. Moyen de décrire avec rigueur les caractéristiques d un système. Un ensemble de modèles différents sont nécessaires pour représenter les différentes vues d un système Modèle Y Vue interactions Système Modèle X Vue de la structure Modèle Z Vue du comportement J. Vachon - Chap.3, sect.1, p.38 Copyrights Julie Vachon, 2006 Spécification et modélisation Utilité de la modélisation Styles de spécification Trois axes de classification Degré de formalisme Nature aspects décrits Approfondir la compréhension du problème. Réduire la complexité par l abstraction. Retenir tous les détails. Favoriser la communication avec les autres membres de l équipe de développement, les utilisateurs, etc. Documenter. Degré de formalisme Spécifications informelles: Style énoncés Ex. cription en langue naturelle, croquis, etc. Spécifications semi-formelles Notation graphique dont la sémantique n est pas formellement définie. Ex. UML Spécifications formelles. Ex.: Spéc. algébriques, spéc. logiques, réseaux de Petri, langages de programmation, etc. J. Vachon - Chap.3, sect.1, p.39 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.40 Copyrights Julie Vachon, 2006

Styles de spécification Style énoncés Spécifications opérationnelles Tout en décrivant le «quoi?», on suggère aussi le «comment». Ex. Réseaux de Petri, DFD, FSM, etc. Spécifications criptives. Description propriétés désirées Ex. Modèles E.-A., spéc. logiques, etc. Nature aspects décrits Spécifications statiques: On décrit ce qui ne change pas dans le système (format données, propriétés fonctions) Ex. Modèle E.-A. définitions axiomatiques, etc. Spécifications dynamiques On décrit ce qui change dans le système: les états, les réactions aux stimuli. Ex. FSM, réseaux de Petri, tables de décision, etc. Parmi les objectifs d apprentissage Expliquer la différence entre exigences fonctionnelles et non fonctionnelles Décrire les différentes étapes de l expression besoins. Décrire différentes métho, classiques et actuelles, de collecte d informations. Expliquer ce qu est un cahier et ce qu il contient. Expliquer les objectifs de la modélisation. J. Vachon - Chap.3, sect.1, p.41 Copyrights Julie Vachon, 2006 J. Vachon - Chap.3, sect.1, p.42 Copyrights Julie Vachon, 2006