Du Cahier des Charges à la Spécification Formelle ?

Slides:



Advertisements
Présentations similaires
MOT Éditeur de modèles de connaissances par objets typés
Advertisements

Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Eléments de Génie Logiciel
Spécification et qualité du logiciel
Enseigner la technologie
1 Lapproche fondée sur les droits de la personne dans lurgence et le développement Formation Tronc Commun Formation Tronc Commun mars 2007 Catherine Dixon.
TER Gestionnaires de contenu en ligne
Prototype de plate-forme de Tribus Instantanées :
Les cas d’utilisation (use cases)
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
Understanding, building and using ontologies. Understanding Ontologie : la définition des concepts utilisés dans un langage donné Première approche (Gruber)
1 B Système Enjeux et principes Cours DESS Nantes 04 Décembre 2002 Didier ESSAME.
B événementiel Source : Présentation de J.R. Abrial (Janvier 2000) Le contrôleur du pont de l'île Le principe : le saut en parachute. Plus on s'approche.
Introduction à la POO: Les classes vs les objets
Démarches : - d’investigation de résolution… de conception - de projet
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Validation de logiciel
XML-Family Web Services Description Language W.S.D.L.
le profil UML en temps réel MARTE
Questions/problèmes Contraintes de départ… ressources, plateforme… utilisation de matériel existant –Pas de temps du prof pour préparer des exemples… concrets…
Initiation à la conception de systèmes d'information
Focus : Le cahier de Charges Fonctionnel
Revue de Projet : Sondages en Lignes 15 mars 2010 Coach : Clément CROCHEMORE Tracker : Mélissa PETIT Client : Elie LESUEUR Testeurs : Paul TOUTAIN et Thierry.
Modèle, Méthode et Conception
MOT Éditeur de modèles de connaissances par objets typés
La plateforme Multicom
Modèles de décisions financières
Partie II Sémantique.
Les étapes du cycle de développement du génie logiciel
Portée, arrimages et intervenants Évolution des méthodes
Projet de Master première année 2007 / 2008
Sensibilisation a la modelisation
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
GESTION DE PROJET Ce que dit la norme ….
Démarche Qualité Logicielle
ANALYSE METHODE & OUTILS
Raffinement de modèles JML Julien Groslambert LIFC Besançon Réunion GECCOO - 25 Octobre 2005 FRE 2661.
Outil de gestion des cartes grises
EXIGE Un avenir dans le web....
Construire un exposé  Pourquoi ? - but et objectif ?  Pour qui ? - analyse des auditeurs  Quoi ? - essence du message  Dans quel ordre ?
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Le management de l'IVVQ Processus techniques IVVQ
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
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.
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
« Validation Formelle de Systèmes Interactifs »
Introduction au Génie Logiciel
Dans le cadre de ce module, nous examinons les principaux éléments du processus de planification financière. Nous évaluons les objectifs et les avantages.
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
Initiation à la conception des systèmes d'informations
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
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.
1 1.
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
L’enseignement de spécialité SLAM
2 Tracks Unified Process
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Subversion.
Le Bac Vert Un outil de recyclage des objets et des documents.
Document de spécification d’exigences Normes IEEE et 29148:2011
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.
Préparer une épreuve de français (2 e année secondaire) Ms Mary Josephine Zammit INSET 2012 Examen de la mi-février.
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
TECHNOLOGIE – Avril 2008 Projet de programme 4 e : Thème : Confort et domotique Equipement intérieur Equipement extérieur Electroménager Vidéo, photo Son.
LE PROJET EN TERMINALE.
Transcription de la présentation:

Du Cahier des Charges à la Spécification Formelle ? Jeanine SOUQUIÈRES Imen SAYAR DEdale, Loria Nancy

Plan Cadre général Cahier des charges Approche adoptée Conclusion 2

Cadre général

langage de programmation Cadre général Monde de l’informel Monde du formel Contexte Deux mondes différents (informel et formel) Des acteurs différents (clients, spécifieurs, programmeurs, testeurs, etc.) Des langues différentes Client Spécifieur Programmeur Testeur langue naturelle langage formel (logique, maths) langage de programmation (C, Ada, Java,..) Techniques de test 4

Cadre général Contexte Interactions entre l’informel et le formel Systèmes hybrides Vérification et Validation (V&V) Traçabilité des exigences dans les modèles formels Intégration de parties formelles dans un processus semi-formel Cadre du formel : langage Event-B Cadre de l’informel : Cahier des charges (langue naturelle) 5

Cadre général Outils Cadre informel : outil ProR http://formalmind.com/en/studio http://www.eclipse.org/rmf/pror/ Cadre formel : Vérification : Plateforme Rodin http://wiki.event-b.org/index.php/Main_Page) Validation ProB (http://stups.hhu.de/ProB/) JeB (http://dedale.loria.fr/tiki-index.php?page=Jeb) 6

Cahier des Charges

Cahier des Charges Point de départ du processus de développement de logiciels/systèmes Contrat : entre différents acteurs (clients, spécifieurs, testeurs, valideurs, etc.) CdC Référence : guide contenant tous les détails du futur système Paragraphes Figures CdC Mélange de plusieurs concepts Tableaux Parties de programmes 8

Cahier des Charges Problèmes liés au CdC Ambiguïté => incompréhensible Multi-sens : Plusieurs sens pour un même terme/phrase Sur-spécification / Absence de détails/ Répétitions Absence de trace des exigences dans les modèles développés Structure complexe => communication difficile entre acteurs Problèmes lors de la Vérification/Validation 9

Un logiciel/système non forcément valide Cahier des Charges CdC : Point de départ du processus formel Anomalies (dès le départ) Un logiciel/système non forcément valide Solution : Prendre soin du Cahier des Charges 10

Notre approche

Notre approche Réponses aux questions Comment préparer le CdC pour être compréhensible par tous les acteurs dans un processus formel ? - Objectif : faciliter communication des différents acteurs via le CdC Comment garder une trace du CdC le long du processus formel de développement de logiciels/systèmes ? Comment valider nos modèles formels si on est face à un document informel (illisible, ambigu, de grande taille) ? 12

Notre approche Problème d’ambiguïté Restructuration du CdC [Abrial 2011] + Outil ProR Ecart entre informel et formel (incompréhensible) Document restructuré de plus en plus formel (mathématique) Absence de trace du CdC Liens entre exigences-modèles formels + Itérations du document restructuré Vérification & Validation Itérations du document restructuré + Raffinement 13

Notre approche 14 Monde informel : CdC Monde du formel : Event-B . . . Cahier des charges initial informel (ABZ 2014) Client restructure Choix d’exigences à modéliser Document1 = CdC restructuré avec ProR à l’Abrial Client Modèle abstrait Injection de [Types] raffine fait évoluer Client Document2 = évolution du Document1 Modèle raffiné 1 Ensemble de modifications raffine Client Document3 = évolution du Document2 . . Client Documenti-1 Modèle raffiné i-1 Ensemble de modifications . . raffine Client Document version avant finale Raffinement ultime fait évoluer Dernière révision du document restructuré Document référentiel final, restructuré (semi-) formel 14

Notre approche L’outil ProR : Formalmind (M. Jastram): http://formalmind.com/ Plugin dans la plateforme Rodin Modèle WRSPM Structure hiérarchisée (exigence Parent et exigence Enfant) Introduction de la notion de lien Inter-exigences : Req1|> Req2 Lien dans ProR Entre exigence et éléments formels : Req1|> inv x 15

Notre approche Restructuration du CdC : quelques règles [Abrial 2011] Texte explicatif (le comment ?) Texte référentiel (le quoi ?) Règle 1 : phrases courtes, lisibles et non ambiguës avec un seul objet « Maneuvring doors consists on opening or closing them » => objet : doors Règle 2 : un seul objectif par phrase «  Maneuvring doors consists on opening or closing them » =>objectif : maneuvring doors 16

Notre approche Règle 3 : exigences classifiées selon leur centre d’intérêt : FUN, EQU, DEL, FAIL,… « EQU-2-1 (Pilot Interface) : Pilot interface contains green, orange and red lights and an Up/Down handle => équipements liés à l’interface pilote Règle 4 : exigences hiérarchisées selon niveau de description FUN-Light : Lights indicate doors and gears positions Exigence parent FUN-Light3: When gears are locked down, the green light is on Exigence enfant 17

Notre approche Modification du document restructuré formel : des modèles formels Event-B Injection des [Types] Ajout de liens exigences-éléments formels Modification document restructuré « Maneuvring [Doors] consists on [open_doors] or [close_doors]» Sets (au sens Event-B) Event (au sens Event-B) informel : document lui-même Ajout de liens inter-exigences Suppression d’exigences (contradictions,..) Ajout de contraintes implicites 18

Evolution du document restructuré dans le processus formel CdC init : ABZ 2014 Doc1 = CdC init restructuré (Abrial) Doc2 = Doc 1 + [Types] + quelques modifications 19

Conclusion

Conclusion Point de départ (document restructuré) facile à comprendre : forme mathématique simplifiée Document restructuré accessible par tous les acteurs Trace des exigences dans les modèles formels (liens exigences-éléments formels fournis par ProR) Validation simplifiée (exigences décrivant des scénarios de validation) L’existence des outils (ProR plugin de Rodin) facilite la restructuration et la traçabilité 21

Conclusion Interactions entre informel et formel Traçabilité des exigences Alternance entre le document informel et modèles formels Event-B Document informel se rapproche pas-à-pas du formel 22

Travaux en cours Validation des modèles formels en cours de développement Document référentiel restructuré - Hypothèses - Obligations Classification des exigences - Données - Comportements - Fonctionnalités Validation décomposée catégorie exigence concernée Obligation => invariants et axioms Fonctionnalités => events … Données => Constants, Sets, Variables 23

Merci