Génie logiciel avancé



Documents pareils
Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

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

Guichet automatique de banque

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

Le Guide Pratique des Processus Métiers

Formation. Module WEB 4.1. Support de cours

Nom de l application

Programme de formation

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

Université de Bangui. Modélisons en UML

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

Site Web de paris sportifs

Gestionnaire d emploi du temps

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Documentation de produit SAP Cloud for Customer (novembre 2013) Nouveautés de SAP Cloud for Customer pour les administrateurs

Premiers pas sur e-lyco

MANUEL D UTILISATION LIVRET DE L ENSEIGNANT

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

Bases de données et interfaces Génie logiciel

Service On Line : Gestion des Incidents

Cours de Génie Logiciel

inviu routes Installation et création d'un ENAiKOON ID

GUIDE D UTILISATION ADMINISTRATEUR

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

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

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

Crédit Agricole en ligne

Petit guide d'installation de l'option de connexion réseau

Mode d'emploi de la newsletter

Les diagrammes de modélisation

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

Manuel d installation et d utilisation du logiciel GigaRunner

Refonte front-office / back-office - Expression des besoins -

Manuel d utilisation du site web de l ONRN

Qu'est-ce que le BPM?

GUIDE DE DEMARRAGE RAPIDE:

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

e)services - Guide de l utilisateur e)carpa

Assistance à distance sous Windows

Guide d utilisation des services My Office

Utilisation de l ordinateur portable Bluetooth avec le hub Logitech sans fil

FileSender par RENATER - Guide utilisateur

LOGICIEL CYNEF SAISIE EN LIGNE MANUEL DETENTEUR DE DROIT DE CHASSE

GUIDE UTILISATEUR SOGE-NET

Vérification et Validation

Ingénérie logicielle dirigée par les modèles

Guide utilisateur pour le déblocage de cartes et/ou la modification d un code PIN

Cas d'utilisation, une introduction

7 S'abonner aux notifications des nouveaux appels

AdjumedCollect. manuel pour l utilisateur. Version: AdjumedCollect est l instrument servant à la saisie des données.

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

VOUS PRÉSENTE. 69, rue Gorge de Loup LYON // Tél. : // contact@o2sources.com

Veuillez noter que vous devez changer de Code d Accès Internet tous les 60 jours pour des raisons de sécurité.

Manuel d'utilisation

OMGL 6 Cahier des charges

Java 7 Les fondamentaux du langage Java

Personnalisation Fiche Annuaire

Gérer une comptabilité dans Tiny

PROJET DE PORTAIL INTRANET YNNA

Internet Explorer. Microsoft. Sommaire :

Capture Pro Software. Démarrage. A-61640_fr

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Guide d'utilisation du logiciel de NEWSLETTERS

P3PC FRZ0. ScanSnap N1800 Scanner pour réseau Guide d utilisation de l'addiciel pour Google Documents

Manuel utilisateur Portail SAP

Aide pour les abonnés aux listes sympa du LAAS

Hermes.Net Workspace Agent

Diagramme de déploiement

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

SIMULER ET CONCEVOIR LE TRAVAIL FUTUR

EnterpriseOne 8.9 PeopleBook Solution Modeler

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

Fonctions pour la France

Guide de l'utilisateur

CYCLE DE VIE DES TRANSACTIONS

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

Manuel utilisateur. Version 1.6b

Sage CRM. 7.2 Guide de Portail Client

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com

Logiciel SuiviProspect Version Utilisateur

JIRA gestion de demandes HELPDESK Manuel technicien

MEGA ITSM Accelerator. Guide de Démarrage

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)

OFFRE SMS+/MMS+ & SMS+ PUSH PREMIUM ANNEXE 4 : CONDITIONS SPECIFIQUES AUX APPLICATIONS DE CATEGORIE 4. V8.1 (février 2012)

4D Server et les licences : fonctionnement et environnement

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Gestionnaire de procédure Guide rapide

Analyse des Besoins (Spécifications)

Chapitre I : le langage UML et le processus unifié

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

Guide sommaire de TecLocal

MANUEL. de l application «CdC Online» pour Windows. Table des matières

Installation FollowMe Q server

Transcription:

Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Analyse des besoins et spécification Delphine Longuet delphine.longuet@lri.fr

Analyse des besoins et spécification Objectif Fournir une vue claire de ce que doit faire le logiciel : le cahier des charges fonctionnel Définir les fonctionnalités du produit Déterminer les contraintes de conception du logiciel Clarifier le cahier des charges (ambiguïtés, contradictions) Enjeu Contrat entre le client et le fournisseur : Pour le client : tous les besoins sont exprimés Pour le fournisseur : tous les besoins exprimés sont réalisables Méthode Raffinement du cahier des charges initial validé par des allers-retours avec le client D. Longuet - Génie logiciel 2

Spécification vs. conception Spécifier = Décrire le problème «Que doit faire le logiciel?» Concevoir = Élaborer une solution «Comment le réaliser?» D. Longuet - Génie logiciel 3

Contenu du cahier des charges fonctionnel Description générale Contexte d'utilisation (utilisateurs, environnement) Fonctionnalités Interface utilisateur Contraintes matérielles, de performance, de sécurité... Spécification des exigences Exigences fonctionnelles : spécification des cas d'utilisation, scénarios d'utilisation Interface : prototype, storyboard, lien avec les fonctionnalités Exigences non fonctionnelles : utilisabilité, performance, sécurité... D. Longuet - Génie logiciel 4

Contexte d'utilisation Contexte d'utilisation Utilisateurs : expérience, compétences, connaissance du système Utilisation : fréquence, durée d'utilisation Environnement technique : matériel, ressources, réseau Permet de spécifier les contraintes de qualité en termes de facilité d'utilisation efficacité, performance fiabilité, portabilité D. Longuet - Génie logiciel 5

Description des cas d'utilisation Objectif : Comprendre les besoins du client pour rédiger le cahier des charges Principe : Définir les limites du système Définir l'environnement du système : les utilisateurs ou éléments qui interagissent avec le système Définir les utilisations principales du système : à quoi sert-il? Éléments constitutifs : Diagrammes des cas d'utilisation Description textuelle des cas d'utilisation Diagrammes de séquence des scénarios d'utilisation D. Longuet - Génie logiciel 6

Cas d'utilisation Fonctionnalités principales du système du point de vue extérieur Acteur : Entité qui interagit avec le système Personne, chose, logiciel, extérieur au système décrit Représente un rôle (plusieurs rôles possibles pour une même entité) Identifié par le nom du rôle Cas d'utilisation : Fonctionnalité visible de l'extérieur Action déclenchée par un acteur Identifié par une action (verbe à l'infinitif) Vision du système centrée sur l'utilisateur D. Longuet - Génie logiciel 7

Spécification des cas d'utilisation Diagrammes des cas d'utilisation + Description textuelle Rôle 1 Rôle 2 Système Cas 1 Acteur : Acteur A Cas 1 Cas 3 Cas 4 Cas 5 «extends» Cas 2 Contexte : Entrées : Sorties : Scénario principal : 1. 2. 3. Variantes : 1a. 1b. 3a. + A:Rôle :Système A:Rôle :Système B:Rôle Scénarios d'utilisation D. Longuet - Génie logiciel 8

Diagramme des cas d'utilisation S'identifier cas d'utilisation acteur Client Commander Souscrire une assurance action déclenchant le cas d'utilisation Modifier son adresse Désactiver son compte Site de vente en ligne limites du système nom du système D. Longuet - Génie logiciel 9

Relations entre cas d'utilisation Inclusion : S'identifier est nécessaire pour Commander «includes» Commander S'identifier Utiliser seulement si cas nécessaire à plusieurs cas Extension : Souscrire une assurance est une option possible pendant le scénario de Commander Commander «extends» Souscrire une assurance Généralisation : Modifier son adresse est un cas particulier de Gérer son compte Modifier Gérer son compte son adresse D. Longuet - Génie logiciel 10

Relation entre acteurs Généralisation : Un Client adhérent peut faire tout ce que fait un Client, et peut également utiliser ses points de fidélité Site de vente en ligne Client Commander cas particulier Client adhérent Utiliser points fidélité D. Longuet - Génie logiciel 11

Diagramme des cas d'utilisation optionnel Client Commander «extends» «includes» Souscrire une assurance Gérer son compte «includes» S'identifier cas particulier de Client Modifier son adresse Désactiver son compte cas particuliers nécessaire Utiliser points fidélité Client adhérent Site de vente en ligne D. Longuet - Génie logiciel 12

Rester lisible Recommandations Pas plus d'une dizaine de cas dans un diagramme Au besoin, faire plusieurs diagrammes (si cas disjoints entre acteurs, pour détailler un cas...) Relations entre cas seulement si nécessaires et pas trop lourdes Accompagner le diagramme d'un glossaire expliquant le vocabulaire Pour chaque acteur et chaque cas d'utilisation, une phrase expliquant le rôle de l'acteur et le scénario représenté par le cas Expliquer les relations entre acteurs et entre cas (hiérarchie, extends, includes...) Pour les détails, privilégier la description textuelle des cas d'utilisation D. Longuet - Génie logiciel 13

Extrait d'un glossaire Client : Un client est un internaute inscrit sur le site. Client adhérent : Un client adhérent est un client particulier inscrit au programme de fidélité du site. Commander : Commander un ensemble de produits proposés sur le site. Il faut posséder un compte et être identifié en tant que client pour pouvoir passer une commande. Gérer son compte : Regroupe les opérations de modifications de ses coordonnées et la possibilité de désactiver son compte. Il faut être identifié en tant que client pour gérer son compte. Utiliser points fidélité : Possibilité d'utiliser tout ou partie des points de fidélité acquis pendant une commande, de manière à bénéficier de réductions. D. Longuet - Génie logiciel 14

Description textuelle des cas d'utilisation Diagrammes de cas d'utilisation Utiles pour discussion avec le client car intuitifs et concis Pas suffisants pour l'équipe de développement Nécessité d'une description détaillée des scénarios représentés par chacun des cas : Description textuelle en langue naturelle structurée Vocabulaire précis correspondant aux diagrammes D. Longuet - Génie logiciel 15

Cas d'utilisation détaillé Description textuelle d'un cas d'utilisation Nom du cas d'utilisation Brève description Acteurs Contexte Données en entrée et pré-conditions Données en sortie et post-conditions Scénario principal pour ce cas d'utilisation Étapes à suivre pour réaliser ce cas Variantes, cas d'erreur Déviations des étapes du scénario principal, scénarios alternatifs, scénarios d'erreur D. Longuet - Génie logiciel 16

Cas d'utilisation détaillé Nom : Commander Acteur : Client Données d'entrée : Produits sélectionnés par le client Le cas d'utilisation commence lorsque le client clique sur le bouton «Commander» Scénario principal : 1. Le système demande au client de saisir son identifiant et son mot de passe. 2. Le client saisit son identifiant et son mot de passe et valide. 3. Le système demande au client de choisir son adresse de livraison parmi sa liste d'adresses ou d'en saisir une nouvelle. 4. Le client choisit une adresse de livraison et valide. 5. Le système demande au client de choisir un mode d'expédition parmi une liste prédéfinie (à préciser). 6. Le client choisit un mode d'expédition et valide. D. Longuet - Génie logiciel 17

Cas d'utilisation détaillé 7. Le système affiche un récapitulatif de la commande, indique le montant total de la livraison et demande au client de choisir un mode de paiement parmi une liste prédéfinie (à préciser). 8. Le client choisit un mode de paiement et valide. 9. Le système demande au client de saisir ses informations de paiement. 10. Le client saisit ses informations de paiement et valide. 11. Le système informe le client que la transaction s'est effectuée correctement et un e-mail récapitulatif de la commande est envoyé au client. D. Longuet - Génie logiciel 18

Cas d'utilisation détaillé Scénario d'erreur : Client inconnu 3a. Le client n'est pas connu du système. Le système affiche un message d'erreur. Retour à l'étape 1. Scénario alternatif : Nouvelle adresse de livraison 4a. Le client saisit une nouvelle adresse de livraison et valide. Le scénario reprend à l'étape 5 Scénario alternatif : Modifications des choix de livraison 8a. Le client demande à modifier son adresse de livraison. Retour à l'étape 3. 8b. Le client demande à modifier le mode de livraison. Retour à l'étape 5. Scénario d'erreur : Transaction impossible 11a. Le système informe le client que ses informations de paiement sont incorrectes. Retour à l'étape 9. D. Longuet - Génie logiciel 19

Exemple de liens entre diagramme et texte Client cas nécessaire S'identifier «includes» Commander Commander un produit «extends» cas particuliers Souscrire Commander une assurance un service cas optionnel Commander Acteur : Client Pré-condition : Le client doit être identifié Scénario principal 1.... 2.... 3.1 L'objet de la commande est un produit. Déclenchement du cas Commander un produit. 3.2 L'objet de la commande est un service. Déclenchement du cas Commander un service. Scénario alternatif 2a. Le client choisit de prendre une assurance. D. Longuet - Génie logiciel 20

Diagramme de séquence niveau analyse Niveau analyse Objectifs Système vu comme une boîte noire : pas d'échanges de messages internes au système (conception) Représentation de scénarios d'utilisation particuliers, séquentiels : pas de boucles ou de branchements Illustrer chaque cas isolément (scénario principal et alternatives) Illustrer les interactions entre cas (scénarios d'utilisation) Mise en forme Messages informels (pas des appels de méthodes) Noms des messages liés aux cas d'utilisation Mise en avant des données utiles au scénario (arguments) D. Longuet - Génie logiciel 21

Illustration d'un cas d'utilisation Scénario principal Client Commander(identifiant, produits) TransactionConfirmee EmailConfirmation Site Cas d'erreur : client inconnu Client Commander(identifiant, produits) ErreurClientInconnu Site identifiant inconnu Cas d'erreur : transaction impossible Client Commander(identifiant, produits) ErreurTransactionImpossible Site informations de paiement incorrectes D. Longuet - Génie logiciel 22

Illustration d'un scénario d'utilisation Principe : Mettre en évidence les relations entre les différents cas Client Site de vente en ligne Commander(identifiant, produits) ErreurClientInconnu Sinscrire(identifiant,motdepasse) InscriptionConfirmee Commander(identifiant, produits) CommandeOk id inconnu authentification ok suite inscription Mise en évidence de la nécessité d'être inscrit pour pouvoir commander D. Longuet - Génie logiciel 23

Scénario d'utilisation concret Principe : Variables remplacées par des valeurs concrètes. Permet de construire des scénarios d'utilisation complexes pour le test Sam:Client :Site de vente en ligne choix de valeurs déclenchant le scénario d'erreur Commander("Sam", ["Paradise Lost"]) ErreurClientInconnu Sinscrire("Sam",11111) InscriptionConfirmee Commander("Sam", ["Paradise Lost"]) CommandeOk id inconnu authentification ok suite inscription Mise en évidence de la nécessité d'être inscrit pour pouvoir commander D. Longuet - Génie logiciel 24

Scénario avec plusieurs acteurs Scénario d'utilisation = interactions entre les acteurs et le système Pas de messages entre acteurs Jules:Abonné :ForumFruitsLikers Marie:Abonné Publier("Mangez des pêches") Publication(125) NotificationRéponse(125,1) Répondre(125,"En conserve!") RéponseOk(125,2) Répondre(125,"Pas la saison...") RéponseOk(125,1) NotificationRéponse(125,2) D. Longuet - Génie logiciel 25

Prototype d'interface utilisateur Écrans, boutons, menus Interface utilisateur Transitions entre écrans, pop-ups, messages d'erreur Storyboards Cohérence avec les cas et scénarios d'utilisation Scénarios d'utilisation = suite d'actions dans l'interface qui permet de réaliser un cas d'utilisation D. Longuet - Génie logiciel 26

Prototype d'interface utilisateur 1 3 4 Choix 1 Choix 2 Choix 3 LOGO LOGO Choix 1 login pwd Choix 2 OK Choix 3 Quitter Quitter Choix 1 Choix 2 Choix 3 Choix 1 Choix 2 Choix 3 LOGO login inconnu ou pwd erroné Retour 2 6 5 Quitter Quitter D. Longuet - Génie logiciel 27

Mise en garde Besoins Cahier des charges fonctionnel Document de conception Validation Tous les besoins sont exprimés Précisions ajoutées acceptées par le client Réalisabilité Tous les besoins exprimés sont réalisables sous les contraintes du projet D. Longuet - Génie logiciel 28