• No se han encontrado resultados

Introducció a l Enginyeria del. Programari

N/A
N/A
Protected

Academic year: 2022

Share "Introducció a l Enginyeria del. Programari"

Copied!
32
0
0

Texto completo

(1)

Introducció a l’Enginyeria del Programari

Transformació de models

Model conceptual

(2)

Què hi ha en aquest material

2

Models quasi-equivalents

Models que són equivalents si els hi afegim determinades restriccions semàntiques

En el modelat sovint hem d’escollir entre alternatives quasi- equivalents

Transformació de models

Motiu del seu estudi

Ens permet entendre el lligam entre uns models quasi-equivalents força recurrents

Supressió de les associacions M-N

Supressió dels conceptes associatius

Recomanacions per a la modelització

Cal considerar models alternatius i analitzar-ne la seva equivalència

(3)

3

Models quasi-equivalents

(4)

Transformació de models

4

Sovint es parla de mecanismes de transformació de models

Són transformacions gràfiques

Generen un nou model amb algun valor afegit respecte l'original:

simetria, simplicitat, claredat,...

Per tal que el model original i el transformat siguin semàntica- ment equivalents cal afegir restriccions als models

(5)

Models equivalents

5

Dos models són semànticament equivalents si

Contenen la mateixa informació

Formalment molt difícil d'expressar

Permeten exactament els mateixos enllaços, i cap més

(6)

Models quasi-equivalents

6

Ex. Models obtinguts per transformació

Models que poden esdevenir equivalents sota

certes restriccions

(7)

La importància de les transformacions

7

 En el modelat sovint apareixen alternatives que es corresponen a models quasi-equivalents

El coneixement de les subtils diferències entre models quasi- equivalents ens pot ajudar en les decisions de modelat

L'estudi de les transformacions de models és pertinent

(8)

8

Supressió de les associacions

M-N

(9)

Supressió de les associacions M-N

9

A m assoc n B

TrForaMN

id

A 1 assoc1 n Assoc

1 B m assoc2

L’associació suprimida es converteix en

un concepte

El nou concepte fa de pont entre els conceptes que estaven associats.

Per tant calen dues noves associacions 1

2

Observem la inversió en les multiplicitats

3

(10)

Una transformació no vàlida

L'associació estada de M1 i el concepte Estada de M2 són coses totalment diferents.

Tenen en comú que volen modelar la mateixa informació

M2 viola el principi de l'existència de l'identificador

Cada :Estada queda identificada amb el parell <:Castell, :Hoste>

M2 és una transformació vàlida en el diagrama de components (disseny), o en el diagrama de classes (implementació); però no és vàlida en el model conceptual (especificació)

10

Castell Hoste Castell * Estada * Hoste

M1 M2

* estada * 1 1

Una altra cosa és que assumim l’existència d’un

idEstada

on qui

(11)

La transformació correcta

M3 és un model conceptual vàlid

M3 conté un atribut (el codi identificador) no present a M1

Pregunta del milió:

Aquest atribut (present a M3 però no a M1) conté informació que a M1 és inexistent??

Ni a M1 ni a M3 hi ha restriccions sobre els enllaços

11

M1 M3

Castell * estada * Hoste

Castell * Estada * Hoste

Id codi

1 1

qui on

Recordem que la l’equivalènciaexigeix mantenir la mateixa informació

(12)

Obligatorietat de l’estada

Què passaria si només tenim informació dels hostes que han fet alguna estada???

N’hi ha prou en exigir l’obligatorietat escaient en ambdós models

A M1 obligar l’estada és obligar un dels extrems de l’associació estada

A M3 obligar l’estada és fer que aquesta sigui obligada en l’associació que participa juntament amb l’hoste

12

M1 M3

Castell * estada * Hoste

Castell * Estada * Hoste

Id codi

1 1

qui on

(13)

Optativitat de l’hoste

Què passaria si a M3 fem que el rol d'hoste sigui optatiu???

El model M3 permet enllaços no permesos a M1

Com indiquem a M1 que un :Castell té una estada sense cap :Hoste?

13

M1 M3

Castell * Estada * Hoste

Id codi

1 1

qui

Castell * estada * Hoste on

(14)

Optativitat del castell

 Què passa si a M3 admetem que en una estada el rol on del castell sigui optatiu?

Analitzeu si M1 i M3 permeten els mateixos enllaços

14

(15)

Anàlisi de la transformació TrForaMN

15

 Sigui Mb el model resultant de suprimir una

associació M-N de Mb (segons la transformació TrForaMN)

Mb conté un atribut inexistent a Ma

És l’identificador del concepte introduït per a modelitzar l’associació suprimida

Segons les restriccions d’optativitat/obligatorietat explicitades, Mb pot contenir enllaços no permesos a Ma

id

A 1 assoc1 * Assoc 1 B

* assoc2 A m assoc n B

Pregunta del milió.

Aquest nou atribut conté informació que a

Ma és inexistent??

Ma Mb

(16)

Quasi equivalència en la TrForaMN (1)

16

 Per tal que Ma i el seu transformat Mb siguin equivalents cal exigir (com a mínim):

L’atribut identificador del nou concepte de Mb no sigui semànticament significatiu

L’id apareix per necessitat del model, però no té cap significat per a l’usuari

L’obligatorietat de l’extrem monoavaluat de les dues noves associacions de Mb

A 1 assoc1 * Assoc 1 B

* assoc2 A m assoc n B

Ma Mb

(17)

Quasi equivalència en la TrForaMN (2)

17

 Per tal que Ma i el seu transformat Mb siguin equivalents també cal assegurar la unicitat

A M1, donat un :A i un :B hi ha un únic enllaç assoc

En el transformat M2 hi poden haver :Assoc distints pel mateix parell <:A,:B>

 Cal afegir al transformat Mb una restricció semàntica

 Ma i TrForaMN(Ma) són quasi-equivalents

id

A 1 assoc1 * Assoc 1 B

* assoc2 A m assoc n B

Ma Mb

Amb una RS, i assumint que l’id d’Assoc no és significatiu, els models són equivalents

(18)

Quasi equivalència en la TrForaMN (3)

18

 Donat un model Ma i el seu transformat Mb segons TrNoMN cal tenir present que:

Els models no són equivalents, per mor de l'aparició d'un nou atribut identificador

Si la diferència ocasionada per aquest identificador la consideréssim irrellevant, els dos models són quasi- equivalents

Cal afegir restriccions per assegurar la possible existència dels mateixos enllaços

Cal afegir restriccions per assegurar la unicitat d’assoc

A 1 assoc1 * Assoc

1 B

* assoc2 A m assoc n B

(19)

19

Supressió dels conceptes

associatius

(20)

Supressió dels conceptes associatius

20

TrForaCA

id

A 1 assoc1 n C

1 B m assoc2

El concepte suprimit romà, però transformat en un concepte no

associatiu

El nou concepte fa de pont entre els conceptes que estaven associats.

Per tant calen dues noves associacions 1

2

A m n B

C

3

(21)

Dues transformacions o una?

21

 Les transformacions TrNForaMN i TrForaCA proporcionen exactament el mateix model

Això és normal si considerem que un concepte associatiu és l’espai d’atributs d’una associació

En reconvertir l’associació en un concepte, ja tenim un lloc on guardar-ne els atributs

(22)

Supressió d’un concepte associatiu

22

cap de setmana

nom

#habitacions nom

adreça telèfon

Hoste m n Castell

Estada *

Serveis

ús *

nom adreça telèfon

Hoste

nom

#habitacions

Castell

cap de setmana

Estada m

1 n 1

Serveis

*

ús *

qui on

M4

M5

(23)

El preu de les begudes

El preu d’una beguda del servei

d’habitacions depèn del seu format:

ampolla, got petit, got gran, etc.

23

Preu

Codi id Moneda pvp

Beguda * * Format

format

Beguda Format

Preu Moneda pvp

* *

M6 M7

Models no equivalents

1

Models no equivalents

1

(24)

Diferents enllaços possibles (1)

A M6 cada :Preu s'enllaça amb un sol parell

<:Beguda,:Format>

No és possible que un mateix parell

<:Beguda,:Format> tingui dos :Preus diferents

A M7 res no impedeix que un mateix parell

<:Beguda,:Format> tingui dos :Preus diferents

24

Preu Codi id Moneda pvp

Beguda * * Format

format

Beguda Format

Preu Moneda pvp

* *

M6 M7

1

(25)

Diferents enllaços possibles (2)

25

Begudes Preus Formats

Preu Codi id Moneda pvp

Beguda * * Format

format

Una <:Beguda, :Format>

amb dos :Preus

1:N M:1

1

Una <:Beguda> amb dos :Preus, corresponents a dos :Formats diferents

Un <:Format> amb dos :Preus corresponents a dues :Begudes diferents

(26)

Anàlisi de la transformació TrForaCA

26

Sigui Mb el model resultant de suprimir una associació M-N de Ma (segons la transformació TrForaCA)

Mb conté un atribut inexistent a Ma

És l’identificador del concepte introduït per a modelitzar el concepte associatiu suprimit

A Ma el concepte associatiu no té cap atribut identificador. A Mb el nou concepte sí té un atribut identificador

Segons les restriccions d’optativitat/obligatorietat explicitades, Mb pot contenir enllaços no permesos a Ma

Els enllaços

d'associacions M:N s'identifiquen amb la identificació de les realitzacions dels seus extrems

A 1 assoc1 n C

1 B m assoc2

A m n B

TrForaCA

Pregunta del milió. Aquest nou atribut conté informació

que a Ma és inexistent??

(27)

Quasi equivalència en la TrForaCA (1)

27

Per tal que Ma i el seu transformat Mb siguin equivalents cal exigir:

L’atribut identificador del nou concepte de Mb no sigui semànticament significatiu

L’id apareix per necessitat del model, però no té cap significat per a l’usuari

L’obligatorietat de l’extrem multiavaluat de les dues noves associacions de Mb

La unicitat de C per cada parell <:A,:B>

Ma i TrForaCA(Ma) són quasi-equivalents

id A 1 assoc1 n C

1 B m assoc2

A m n B

Ma

C

Mb

Amb una RS, i assumint que l’id d’Assoc no és significatiu, els models són equivalents

(28)

Quasi equivalència en la TrForaCA (2)

28

Donat un model Ma i el seu transformat Mb segons TrForaCA cal tenir present que:

Els models no són equivalents. per mor de l'aparició d'un nou atribut identificador

Si la diferència ocasionada per aquest identificador la consideréssim irrellevant, els dos models són quasi-equivalents

Cal afegir restriccions per assegurar la possible existència dels mateixos enllaços

Cal afegir restriccions per assegurar la unicitat d’assoc

A 1 assoc1 n C

1 B m assoc2

A m n B

(29)

29

Models alternatius

(30)

Entitat vs enllaç

30

En el modelat pot aparèixer una idea (estada, per exemple) que no tenim clar si modelar-la com a concepte o com associació entre conceptes

Si ens decidim per modelar amb un concepte, cal tenir present:

No podem usar com a atributs les claus foranes dels conceptes interrelacionats

Les claus foranes formen part d'una decissió de disseny o d'implementació

Cal afegir un atribut identificador

Les dues alternatives de modelat són models no equivalents, però possiblement igualment vàlids

Apareixen com a alternativa de modelat, no pas com a transformació de models

Castell * Estada * Hoste

Castell * estada * Hoste

(31)

Associatiu vs no associatiu

31

Davant l'alternativa d'un concepte com a associatiu o no, cal tenir present que:

En la supressió de les associacions M:N els models no són equivalents, per mor de l'aparició d'un nou atribut

identificador

Si la diferència ocasionada per aquest identificador la consideréssim irrellevant, els dos models són quasi- equivalents

Cal afegir restriccions per assegurar la possible existència dels mateixos enllaços

Preu *

Codi id Moneda pvp

Beguda * * Format

format

Beguda Format

Preu Moneda

* *

M6 M7

(32)

Recomanacions

32

 Expressem el nostre model de la manera que ens sembli més natural

 Expressem en llenguatge natural les restriccions d’unicitat

 Analitzem quins són els canvis que cal fer en el model per tal que contempli aquestes restriccions

 Tinguem present la repetició de valors i/o entitats

 Tinguem present els identificadors

Referencias

Documento similar

 La transformació introdueix una nova interrelació, però deixa inespecificada la multiplicitat d’un dels seus extrems..  Cal doncs analitzar el problema i el model per

 Dues entitats són iguals si tenen els mateixos valors dels seus atributs.  Per tant han de ser realitzacions del

La llengua d'inici del tractament sistemàtic de la lectura i de l'escriptura ha d'estar relacionada amb la proporció d'ús de les llengües cooficials , així com amb la presència

 En aquesta fase, corresponen a les unitats de gestió la custòdia i el control de la documentació, així com l'accés, fins que és transferida a l'arxiu central.. Per

Per a Plumier, el guardó va significar un reconeixement no sols del client, sinó tam- bé de les institucions a la seua tasca, encara que, segons Casado: «És un premi no només a

Terminada la canción se ilumina la cueva con luz misteriosa, y aparece el espectro (en clásico traje gitano) de un antiguo amante de la heroína, acompañado por un motivo que se oye

Tra questi, Bellina ha delineato con estrema chiarezza i rapporti intertestuali intercorrenti fra i tre libretti, la commedia e due intermezzi posteriori —Don Chisciotte della Mancia

Categoría C: normativa correspondiente a los sistemas de negociación electrónicos de instrumentos de renta fija (IRF) e intermediación financiera (IIF) de la