Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications Chapitre 7.

Slides:



Advertisements
Présentations similaires
Les matrices.
Advertisements

Tests et Validation du logiciel
Regroupement (clustering)
Calcul géométrique avec des données incertaines
Spécification et qualité du logiciel
Sensibilisation à l’Algorithmique et structure de données
COURS DE MATHEMATIQUES DISCRETES SM
SuivantPrécédent ESSI 1 - Auto TS © Jean-Paul Stromboni (Mai 2000) Consolidation: tester les connaissances acquises 1 Etude de la commande du système.
Fonctions Booléennes.
1 Révisions. 2 Tableaux non contraints Déclaration du type : type Tvecteur = tableau ( intervalle dentiers) de entiers type Tvecteur is array (integer.
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
1°) consolider une connaissance des nombres
Les nouveaux programmes de seconde
8. Les tableaux P. Costamagna – ISEN N1.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Les structures de contrôles itératives complètes
Les attributs, leurs types, leurs valeurs Christelle Scharff IFI Juin 2004.
Continuité Introduction Continuité Théorème des valeurs intermédiaires
Apprendre à partir des observations
Introduction à l’algorithmique
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Algorithmique et Programmation
Graphes Conceptuels J.F. Baget Inria.
Programmation logique Logique des prédicats du premier ordre
Chapitre 2: Les régularités et les relations
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Limite dune fonction dans les « cas finis » Travail de toussaint.
Programmation logique Démonstrateur automatique
FRACTIONS PARTIELLES cours 13.
1.3 COORDONNÉES DES POINTS
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Manipulation de formulaires en Javascript
IFT Complexité et NP-complétude
CSI3525: Concepts des Languages de Programmation
Algorithmes d ’approximation
Les propriétés des fonctions
Algorithmes probabilistes
RECONNAISSANCE DE FORMES
Programmation linéaire en nombres entiers : les méthodes de troncature
Des Expressions Radicaux
Réseaux bayésiens: Inférence
L’essentiel du langage C
Animateur : Med HAIJOUBI
Paradigmes des Langages de Programmation
Spécification de programmes et de systèmes
Cours de mathématiques économiques
Les principes de la modélisation de systèmes
D.E ZEGOUR Ecole Supérieure d’Informatique
JavaScript.
Chapitre I Modélisation optimisation I- Optimisation de fonctions d’une seule variable 1 Introduction En gestion, on est souvent confronté à des situations.
Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications Chapitre 7.
STATISTIQUES – PROBABILITÉS
1 Quatrième journée Les flots de données Les entrées/sorties Les flots de données Les entrées/sorties.
. . Deux plans sont parallèles ssi
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Software Requirements المتطلبات البرمجية Cahier des Charges des Logiciels IF5, Automne 2008, Semaine 2.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Interprétation/Génération de code pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Cours LCS N°4 Présenté par Mr: LALLALI
Les fonctions de référence
PROGRAMMATION SCIENTIFIQUE EN C PRO Résolution de système d’équations non- linéaires (racines d’équations) u Méthode de la bissection u Analyse.
Fabienne BUSSAC RACINES CARREES 1. RACINE CARRÉE D’UN NOMBRE POSITIF
Chapitre 4 Variables aléatoires discrètes
Introduction à la programmation (420-PK2-SL) cours 18 Gestion des applications Technologie de l’information (LEA.BW)
LES TABLEAUX Définition: Création d’un tableau:
M. YAMANAKA – Cours de mathématiques. Classe de 4ème.
PROGRAMMATION SCIENTIFIQUE EN C
Multiplexeurs A.Lebrun.
1. Tri rapide ou Quicksort Principe : La méthode du Quicksort due au C.A. Hoare (1962) utilise les principes généraux de division et équilibrage. 2.
Calcul Mental de Evolue Consigne : calcule dans ta tête.. Prends ton temps.. Seule la réponse compte.
Transcription de la présentation:

Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications Chapitre 7

Proprietes des Specifications Proprietes du produit  Precision  Simplicite  Abstraction Proprietes du processus  Completude  Minimalite.

Mathematiques Discretes  Espace, S x, y, z: int; s dans S: x(s), y(s), z(s) R sur S: {(s,s’)| x(s’)=x(s)+y(s)} {(s,s’)| x’=x+y}

Exemple de specification Nous avons deux variables reelles x et y, nous voulons specifier un programme qui calcule la racine carree de x dans y. Ecrivez une relation R qui contient toutes les paires d’entrée sortie decrites dans cette specification.

Interpretations, 1  Nous supposons que x est initialement non negatif, et que y est une racine positive ou negative de x.

Interpretations, 1  Nous supposons que x est initialement non negatif, et que y est une racine positive ou negative de x.

Interpretations, 2  Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive ou negative de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 2  Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive ou negative de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 3  Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 3  Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 4  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que y soit une approximation de la racine positive de la valeur absolue de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 4  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que y soit une approximation de la racine positive de la valeur absolue de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 5  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulles alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6. Si x est negative, alors y prend la valeur -1.

Interpretations, 5  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulles alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6. Si x est negative, alors y prend la valeur -1.

Interpretations, 6  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 6  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 7  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors nous preservons x et mettons dans y une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.

Interpretations, 7  La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors nous preservons x et mettons dans y une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.

Un programme de Recherche Espace: a: array [indextype] of itemtype; x: itemtype; k: indextype U {0}; // indextype 1..N; Specification: specifier un programme de recherche de x dans a.

Interpretation 1  Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve.

Interpretation 1  Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve.

Interpretation 2  Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve tout en preservant a et x.

Interpretation 2  Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve tout en preservant a et x.

Interpretation 3  Le tableau a contient x qqe part; nous devons placer dans k le plus grand index ou x se trouve.

Interpretation 3  Le tableau a contient x qqe part; nous devons placer dans k le plus grand index ou x se trouve.

Interpretation 4  Le tableau ne contient pas necessairement x; nous voulons placer dans la variable booleenne found la valeur vraie ssi x se trouve dans a.

Interpretation 5  Le tableau ne contient pas necessairement x; nous voulons placer dans la variable entiere k l’indice 0 si x n’est pas dans a, un indice ou se trouve x sinon.

Generation de specifications complexes

Deux Methodes Orthogonales  Analyse de cas Partition du domaine  Conjonction de proprietes Intersection de relations Etant donne trois variables entieres a, b, c, rearranger les de maniere triee.

Analyse de Cas

Conjonction de Proprietes

Exemple  Etant donne un tableau reel a[N], un nbre reel x, et un indice k, mettre dans x l’element maximal de a et dans k l’indice maximal dans lequel se trouve x.

Validation de Specifications  Completude  Minimalite

Etant donnees les variables x et y de type int, faire croitre x en preservant la somme

Raffinement  Une specification R raffine une specification R’ ssi tout programme correct par rapport a R est correct par rapport a R’.  Raffiner: exprimer une exigence plus forte.

Raffinement

Raffinement: Definition  R raffine R’ ssi:

Raffinement et Validation  V: Propriete de completude. R complet par rapport a V: R raffine V.  W: Propriete de Minimalite R minimal par rapport a W: