Specifications de systemes logiciels software specifications
Download
1 / 38

Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

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;

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications' - amelia-shelton


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Specifications de systemes logiciels software specifications

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

Chapitre 7


Proprietes des specifications
Proprietes des Specifications

Proprietes du produit

  • Precision

  • Simplicite

  • Abstraction

    Proprietes du processus

  • Completude

  • Minimalite.


Mathematiques discretes
Mathematiques Discretes

  • Espace, S

    x, y, z: int;

    s dans S: <x, y, z>

    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
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
Interpretations, 1

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


Interpretations 11
Interpretations, 1

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


Interpretations 2
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 21
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
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 31
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
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 41
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
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 51
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
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 61
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
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 71
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
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
Interpretation 1

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


Interpretation 11
Interpretation 1

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


Interpretation 2
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 21
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
Interpretation 3

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


Interpretation 31
Interpretation 3

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


Interpretation 4
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
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.



Deux methodes orthogonales
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.




Exemple
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
Validation de Specifications

  • Completude

  • Minimalite



Raffinement
Raffinement croitre x en preservant la somme

  • 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.


Raffinement1
Raffinement croitre x en preservant la somme


Raffinement definition
Raffinement: Definition croitre x en preservant la somme

  • R raffine R’ ssi:


Raffinement et validation
Raffinement et Validation croitre x en preservant la somme

  • V: Propriete de completude.

    • R complet par rapport a V: R raffine V.

  • W: Propriete de Minimalite

    • R minimal par rapport a W:


ad