m.e.d.a.l. module denseignement à distance pour larchitecture logicielle alain vailly diapositive...

26
M.E.D.A.L M.E.D.A.L . . Module d’Enseignement à Module d’Enseignement à Distance pour Distance pour l’Architecture Logicielle l’Architecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème année Le paraphrasage des modèles

Upload: percevel-durant

Post on 03-Apr-2015

118 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

M.E.D.A.L.M.E.D.A.L.

Module d’Enseignement à Distance pour Module d’Enseignement à Distance pour l’Architecture Logiciellel’Architecture Logicielle

Alain VAILLYDiapositive n° 1 IUP MIAGE - Université de NANTES

IUP-MIAGE 3ème année

Le paraphrasage des modèles

Page 2: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 2

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

• La modélisation de logiciel est assurée par les informaticiens et, plus précisément, par la « caste » des architectes logiciels.

• Elle est plus rarement effectuée par les utilisateurs eux-même.

• Elle l’est aussi de temps en temps par les développeurs.

Programmation Programmation « agile »« agile »

« bidouille » ACCESS« bidouille » ACCESS

Page 3: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 3

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Le principal problème rencontré à ce niveau est celui du contrôle du modèle. Il y en a (au moins) deux sortes :

- vérification

- validation

Am I building the product right?

Am I building the right product?

assurée par l’informaticienassurée par l’informaticien

assurée par le client

Page 4: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 4

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Les modèles sont de plus en plus complexes. La validation par le client est de plus en plus difficile.

Comment faire pour assister le

client ? Une réponse peut être trouvée dans le paraphrasage

Page 5: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 5

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Cahier des chargesAnalyse par le

client expérimenté

Validation

Non validation(ou)

(et)

Reformulation

par l’expert

Spécification satisfaisante

Analyse

par l’expert

Spécification

Spécification non satisfaisante

(ou)(et)

Page 6: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 6

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Cahier des charges

Analyse par

le client novice

Validation Non validation

(ou)

(et)

Reformulation

par l’expert

Spécification satisfaisante

Analyse

par l’expert

Spécification

Spécification non satisfaisante

(ou)(et)

Reformulation

par l’outil

Texte

Page 7: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 7

2) Exemples de modèles

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

MCD (MERISE)MCD (MERISE)

TARIF

code-tarif

RUBRIQUE2

nom-rubrique2

PAYS

nom-pays

TIMBRE

[description]couleurs[image]

année-émission[valeur-faciale]

[dentelure]

numéro-stock

RUBRIQUE1

nom-rubrique1

CATALOGUE

nom-catalogueéditeur

EST-REFERENCE-DANS

EST-INCLUSE-DANS

EST-EMIS-PAR

COUTE

prix

numéro-timbre

1, n

1, n1, n

1, 1

1, n

1, n

1, n

1, 1 1, n

Page 8: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 8

2) Exemples de modèles

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

DET (UML)DET (UML)

Page 9: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 9

2) Exemples de modèles

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Machine (B)Machine (B)

MACHINE

Inscription

SETS ETUDIANT; NUMERO; NOM; MATIERE; NOMMATIERE

VARIABLES

étudiant, numéro, nom, matière, nomMatière, étudier

INVARIANT

étudiant ETUDIANT

matière MATIERE numéro étudiant NUMERO

nom étudiant NOM

nomMatière matière NOMMATIERE étudier étudiant matière

END

Page 10: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 10 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un timbre est décrit par un nom, une ou plusieurs couleurs, une dentelure, un, deux ou trois prix. Il est distingué des autres par un numéro. Il est toujours

émis par un et un seul pays.

modélisation traduction

Paraphraser quelque chose, c’est l’exprimer autrement. Appliquée à un MCD, cette technique va consister à remplacer le schéma par un texte supposé équivalent. Il est recommandé d’appliquer un algorithme pour

cette récriture, faute de quoi les éventuelles erreurs de conception perdureront.

modélisation X

Page 11: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 11 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un timbre est décrit par un nom, une ou plusieurs couleurs, une dentelure, un, deux ou trois prix. Il est distingué des autres par un numéro. Il est toujours

émis par un et un seul pays.

modélisation

(écriture)traduction

A défaut d’outil de paraphrasage, il peut être nécessaire de recourir à un traducteur « extérieur », pour mettre en place un fonctionnement de type lecteur-rédacteur de la

méthode SADT.

modélisation X

X

interprétation

(lecture)traduction

n° 2

n° 1

Page 12: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 12 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « NOM » est décrit par « Propriété 1 », « Propriété 2 »… et

« Propriété N ». Chaque « NOM » est distingué des

autres grâce à « identifiant ».

NOM

identifiantPropriété 1Propriété 2

…Propriété N

CLIENT

numéro-clientnom-client

adresse-règlementdate-entrée

Tout CLIENT est décrit par un nom-client, une adresse-règlement et une

date-entrée. Chaque CLIENT est distingué des autres grâce au

numéro-client.

Page 13: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 13 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « A » « VERBE » un et seul « B ».

EST-PASSEE-PAR

-, n

1, 1CLIENT

numéro-clientnom-client

adresse-règlementdate-entrée

COMMANDE

numéro-commandedate-commande

Toute COMMANDE EST-PASSEE-

PAR un et un seul CLIENT.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

1, 1

Page 14: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 14 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un « A » « VERBE » un et seul « B ». Il peut ne pas le faire.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

0, 1

EST-PASSEE-PAR

-, n

0, 1CLIENT

numéro-clientnom-client

adresse-règlementdate-entrée

COMMANDE

numéro-commandedate-commande

Une COMMANDE EST-PASSEE-

PAR un et un seul CLIENT. Elle

peut ne pas l’être.

Page 15: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 15 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un « A » « VERBE » un ou plusieurs « B ». Il peut ne pas le faire.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

0, n Un TIMBRE EST-COMPRIS dans une ou

plusieurs COMMANDES. Il peut

ne pas l’être.

COMPREND

qté-cd

0, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande

Page 16: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 16 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « A » « VERBE » un ou

plusieurs « B ».

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

1, n Tout TIMBRE EST-COMPRIS dans une ou

plusieurs COMMANDES.

COMPREND

qté-cd

1, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande

Page 17: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 17 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Une association, c’est aussi, quelque part, une entité.

Elle peut avoir des propriétés. Ceci doit donc

également être traduit.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

infoY

infoX

x, y

z, t

Une association correspond en fait à deux fonctions sémantiques (une dans

chaque sens). Il y a donc deux interprétations.

interprétation n° 1

interprétation n° 2

interprétation n° 3

Page 18: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 18 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Une association, c’est aussi, quelque part, une entité.

Elle peut avoir des propriétés. Ceci doit donc

également être traduit.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

infoY

infoX

x, y

z, t

Pour traduire, il faut transformer le verbe en un mot. Cette technique, bien

connue en politique, s’appelle la nominalisationnominalisation.

interprétation n° 1

interprétation n° 2

interprétation n° 3

langue de boislangue de bois

Page 19: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 19 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « nominalisation (VERBE) » est décrit par « infoX » et « InfoY ».

Chaque « nominalisation (VERBE) » est distingué

des autres grâce à (« identifiantA », « identifiantB »).

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

infoY

infoX

x, y

z, t

Pour traduire, il faut transformer le verbe en un mot. Cette technique, bien

connue en politique, s’appelle la nominalisationnominalisation.

interprétation n° 1

interprétation n° 2

interprétation n° 3

langue de boislangue de bois

Page 20: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 20 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout CONTENU est décrit par une qté-cd. Chaque

CONTENU est distingué des autres par (numéro-

commande, numéro-timbre).

COMPREND

qté-cd

0, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande 1, n

nominalisation (COMPREND) = CONTENUnominalisation (COMPREND) = CONTENU

Toute COMMANDE COMPREND un ou plusieurs

TIMBRES.

Un TIMBRE EST-COMPRIS dans une ou plusieurs

COMMANDEs. Il peut ne pas l’être.

Page 21: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 21 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

COMPREND

qté-cd

0, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande 1, n

Tout timbre est décrit par une description et une quantité. Chaque

timbre est distingué des autres par un numéro de timbre. Un timbre est compris dans une ou plusieurs

commandes. Il peut ne pas l’être. Toute commande est décrite par une date de

commande. Chaque commande est distinguée des autres par un numéro de commande.Toute commande comprend un ou plusieurs timbres. Tout contenu est décrit par une quantité commandée. Chaque contenu est distingué des autres par le couple (numéro de commande,

numéro de timbre).

Le texte rédigé, il faut le faire lire au client et lui demander s’il correspond à sa réalité.

Page 22: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 22 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasageTout timbre est décrit par une

description et une quantité. Chaque timbre est distingué des autres par un

numéro de timbre. Un timbre est compris dans une ou plusieurs

commandes. Il peut ne pas l’être. Toute commande est décrite par une date de

commande. Chaque commande est distinguée des autres par un numéro de commande.Toute commande comprend un ou plusieurs timbres. Tout contenu est décrit par une quantité commandée. Chaque contenu est distingué des autres par le couple (numéro de commande,

numéro de timbre).

Le texte rédigé, il faut le faire lire au client et lui demander s’il correspond à sa réalité.

Le MCD est OK.

Le MCD doit être modifié.

[OUI]

[NON]

Page 23: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 23 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

• La traduction est encore sensible à la qualité du nommage des variables (noms des entités, des associations …).

• Les expressions complexes (comme, par exemple, le code OCL) sont pour l’instant encore hors d’atteinte des traducteurs.

• Il reste un gros travail à effectuer pour paraphraser les opérations (et, plus généralement, un algorithme).

Page 24: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 24 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

Exemple 1/3

enseigner : enseignant matière

phrase (enseignant, enseigner, matière)

Exemple 2/3

xens : enseignant matière

phrase (enseignant, xens, matière)

Exemple 3/3

emprunteur : exemplaire abonné

phrase (exemplaire, emprunteur, abonné)

Page 25: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 25 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

context Membre-- toutes les fonctions d'un membre-- sont consécutivesinv nonCumul :

self . FonctionCA ->forAll (f1, f2 ⎯ 1 f < > 2 f implies

( 2 f . fin . infeT ( 1 f . ) début or( 1 f . fin . infeT ( 2 f . )))début

Page 26: M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème

Alain VAILLYDiapositive n° 26 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

l : line

status (article (l)) = available

total (i) + (q unit_cost (l) percentage (i) / 100) <= allowed (i)

increment_line (l,q) =

PRE l : line &

q : NAT &

status (article (l)) = available &

quantity (l) + q : NAT &

total (i) + (q unit_cost (l) percentage (i) / 100) <= allowed (i)

THEN total (i) := total (i) + q unit_cost (l) percentage (i) / 100) ...