La spécification du système Spécification du système, ingénierie des exigences

La spécification du système Spécification du système, ingénierie des exigences Yann Pollet Conservatoire National des Arts et Métiers Chaire d ’intégration des systèmes La spécification du système • Exigences utilisateurs et exigences systèmes • Le processus de base • Types d’exigence • Modélisation du système • Ingénierie des Exigences Maître d’œuvre Maître d ’ouvrage Place dans la cycle de vie du système Installation Opération Retrait Définition Réalisation Études préalables Opportunité Faisabilité Expression de besoins Spécification Intégration Réalisation constituants Conception Validation Exploitation Administration Maintenance Soutien Évolutions Ré- ingénierie Survie des données Étude d’impact Basculement Réutilisation Reprise Basculement Déploiement Lancement Cycle de développement Une première vision de l’I.S.… Domaine du besoin Finalité nouveau besoin à satisfaire Problème Analyse du besoin Besoins multiples, contraintes d ’exploitation Cahier des charges Domaine de la solution Conception du système Spécification Système Possibilités technologiques, limitation, potentialités Le Système réalisé ou modifié une solution au problème Domaine du MOA Exigences initiales Exigences système Exigences liées à la réalisation Intégration du système Réalisation ou acquisition des constituants Architecture système Domaine du MOE Modèles du système IS = Démarche méthodologique pour spécifier, concevoir, faire évoluer, faire développer, intégrer, valider un système De la finalité à la spécification Transformer la finalité en un problème bien posé: – Spécifier ce que doit faire le système – Avec quels niveaux d’exigences – quelles contraintes il doit respecter Définition des besoins Spécification de la solution technique Finalité Compromis (optimisation) Parties prenantes intéressées, environnement Parties prenantes concernées par la réalisation, contraintes technologiques CdCF Spec. Système Exigences initiales Exigences système Besoins perçus Possibilités technologiques Contraintes économiques La spécification système But: Définir ce que le système doit faire (et non pas comment il doit le faire) – Produire une « définition abstraite » du système – Compromis avant engagement de réalisation – Montrer au MOA comment les besoins seront pris en compte – Produire un référentiel pour le développement – Produire la base nécessaire aux tests Liens exigences utilisateur et exigences système Spécification système Exigence utilisateur Cahier des charges Spécification Système Exigence utilisateur Exigence utilisateur Exigence utilisateur Exigence utilisateur Exigence utilisateur Exigence système Référentiel des exigences initiales Référentiel des exigences système Exigence système Exigence système Exigence système Exigence système Exigence système Exigence système Liens de traçabilité Réalisation Exigences des parties prenantes réalisatrices Exigence non retenues Représentation des exigences Spécification système 1 - Introduction 2 - Fonctions de service 2.1 Fonction A 2.2. Fonction B 2.3. Fonction C …. Document Arborescence Diagrammes texte texte texte Modèles de différentes parties et/ou différents aspects du système Classement des exigences •catégories, •fonctionnalités du système •niveaux d’abstraction) Liens horizontaux Document délivrable Le processus de spécification Recueil des exigences liées à la réalisation Analyse, modélisation Définition des exigences non fonctionnelles Validation, Vérification Cahier des charges Spécification Système Exigences Ex Sources d’exigences Référentiel des exigences système Modèles Production (ou mise à jour) du document Coût, délai Contraintes technologiques Standards Systèmes existants Concept de système (MOE) Document …. Sources d’exigences côté MOE Contraintes techniques Etat de l’art Normes et standards Sous-traiants Contraintes de projet. Coûts et délais Méthodes de développement, d’intégration, de test, d’exploitation Contraintes de production Contraintes industrielles Composants existants à réutiliser produits du marché (COTS) Attentes et contraintes Sources côté MOE Sources des exigences Autres parties prenantes Cycle de vie, exploitation, retrait Cahier des charges Fonctions de service Fonction de service  caractéristiques: – Événement déclenchant la fonction (action humaine, modification de l’environnement, …) – Acteur bénéficiaire de la fonction (à qui cela rend-t-il service? Dans quel but?) – Flux d’entrée (M, E, I) – Flux de sortie (M, E, I), action sur l’environnement (sur quoi la fonction agit-elle?) – Ce que fait la fonction (algorithme, sous-fonctions) – Conditions dans lesquelles la fonction est activable Fonction de Service Bénéficiaire Flux d’entrée Flux de sortie Environnement Environnement condition Quelques types de fonctions de services • Transformer • Orchestrer • Informer • Réguler Événement requête flux flux F.T. réponse Condition, événement réaction S R Autres types d’exigences • Exigences de performance • Structure de l’information manipulée et/ou mémorisée par le système • Comportement (dynamique), aspects temporels • flux de contrôle, parallélisme ou concurrence • Interactions avec les systèmes externes • Contraintes et exigences non fonctionnelles • Scénarios globaux de fonctionnement Exigences Système Contraintes Fonctionnalités Arborescence fonctionnelle Informations Flux de données Dynamique et contrôle Parallélisme, topologie Sémantique Contrôle Fonctions Structure Modes, états de fonctionnement, … Relations avec l’environnement Contexte Système S1 S2 Différents points de vue Modèle de contexte Modèle fonctionnel Modèle dynamique Modèle sémantique Ébauche d’Architecture S Ce que fait le système (les transformations qu’il opère) Les concepts du domaine Comment le système évolue (comportement, état, modes, phases) Systèmes à logiciel prépondérant  Élaboration de modèles Carte sémantique de domaine • Capturer la sémantique du domaine: acteurs, systèmes, actions, entités physique, …  les objets du problème • Formalisme Entités Relations Attributs (ERA) Exemple du système de gestion des Urgences (extrait) Patient Identité Age, sexe Accident Lieu Date-heure Personnel médical Membre équipe médicale Affectation Opérateur du système IsA < implique 0..* 0..* Ambulance IsA Équipe médicale < se compose < a pour personnel 0..1 1..1 1..1 1..1 1..1 1..1 1..* 1..1 Carte sémantique de domaine Ex: domaine d’un Guichet Automatique Bancaire (ATM) Carte sémantique Ex : Un projet d’Intégration de Système Analyse fonctionnelle interne Décomposition hiérarchique des fonctions: – but à atteindre – fonction de service – sous-fonction –  arborescence fonctionnelle But Fonction 1 SF Fonction 2 Fonction 3 Architecture fonctionnelle • Modèle fonctionnel du système (DFD : Digramme de Flux de Données, Data Flow Diagram) – Fonction – Flux d’information – Point de mémoire (Data Store): besoin en mémorisation F1 F2 F3 Information Data store Modélisation fonctionnelle Différents formalismes: – Diagramme de Flux (actigramme SADT) – Modules fonctionnels (Diagramme de blocs sysML) – Analyse par des Cas d’utilisation code confidentiel carte méthode authentification authentifier l ’usager traiter la transaction fournir les espèces ancien solde montant nouveau solde code bon Requête de débit compte retraits effectués depuis n jours montant à servir espèces espèces en stock A 3 Ex: actigramme SADT Modélisation fonctionnelle • Décomposition des services en fonctions de service • Analyse des différents services au niveau des interactions avec l’environnement, des transformations opérées, des flux d’entrée et de sortie • Analyse fonctionnelle externe • Pour chaque fonction de service: – Conditions de déclenchement et de déclenchabilité (état, mode) – Éléments de l’environnement mis en relation – Flux échangés (information, matière, énergie) – Scénarios – Transformations réalisées – Niveau de service attendu (temps de réponse, capacités, disponibilité) avec marges de flexibilité Autre système F.S. F.S. Autre système Les Cas d ’Utilisation Formalisme des Cas d’utilisation: outil pour identifier les besoins en interactions environnement – système Cas d’utilisation (Use case)= – Unité d’interaction usager – système – Fournissant un bénéfice à un usager, concourant à la finalité – Premier niveau de structuration des besoins en services • Centrés sur les utilisateurs • Formalisme très simple • Utiles pour la conception des tests de validation • Formalisés par Ivar Jacobson Concepts de base Acteur • Rôle d’une personne ou d’une entité qui interagit avec le système •Nom exprimant ce rôle • Personne physique →un ou plusieurs acteurs •Acteur → une ou plusieurs personnes physiques Cas d’utilisation • Unité fonctionnelle de service (basée sur un bénéfice fourni) • Détermine un contexte particulier d’interaction avec le système •Use case = classe dont les instances sont des scénarios G.A.B. Consulter solde Retirer de l’argent <<actor>> S.I. groupe bancaire Cas: Retirer de l’argent Scénario 1: retrait ok Scénario 2: solde insuffisant Scénario 3: trop de retraits Scénario 4: carte volée Usager Client Ex: Exemple: le GAB Consulter solde compte Client Technicien G.A.G. Retirer de l ’agent Mettre en marche / arrêter Ravitailler le coffre visualise débite Cas d ’utilisation objectif du système motivé par un besoin Acteur personne ou système externe à l ’origine d ’une interaction avec le systèmes Nature de l ’interaction Le technicien éteint le distributeur avant de ravitailler le coffre On ne peut retirer de l ’argent que dans la limite du stock <<actor>> SI Banque Acteur secondaire Pré conditions ou règles Liens entre cas d ’utilisation • Cas inclus ou utilisé: Relation A Includes B  le comportement spécifié par le cas A intègre le comportement spécifié par le cas B • Cas étendus: Relation B Extends A. le comportement spécifié par le cas B se substitue à celui de A dans des contextes plus spécifiques ou exceptionnels Retirer de l ’agent S’identifier <<uses>> Usager Retirer de l ’agent <<extends>> Lancer alerte carte volée <<actor>> SI Banque Exemple : le GAB Exigences: 1. Distribuer de l ’argent à tout porteur de carte de crédit (carte Visa, ou carte de la banque) via un lecteur de carte et un distributeur de billets 2. Consulter un solde de compte pour les clients porteurs d ’une carte de la banque 3. Déposer du liquide pour les clients… 4. Déposer des chèques pour les clients ….. 5. Il est nécessaire de recharger de temps à autre le distributeur Exemple : diagramme de contexte du GAB GAB <<actor>> SA uploads/Philosophie/ 4-specification-du-systeme.pdf

  • 162
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager