• 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!
71
0
0

Texto completo

(1)

Introducció a l’Enginyeria del Programari

Pas de la barrera: peatge central

(2)

Què hi ha en aquest material

2

Segona variant de l’exercici Pas de la barrera

Suposicions semàntiques analítiques

Suposicions semàntiques que les condicions del problema converteixen en requeriments

Presa de decisions

Anàlisi iterativa

Valor vs concepte

Restriccions semàntiques

(3)

Enunciat

3

Volem capturar les dades dels cotxes que passen per

un peatge

(4)

4

Anàlisi prèvia

(5)

Delimitació del problema

5

Cal un detector/capturador

No n’hi ha prou en saber que passa un vehicle; cal saber-ne les seves dades per tal de poder fer la imputació bancària

Codi del ViaT

Lector de matrícules

Lector de targetes

Aquest capturador queda fora de l’abast del nostre problema

Detector/capturador

nouVehicle(vehicle)

Anotador

(6)

Alguns comentaris

6

L’argument vehicle no és un vehicle, ans el model d’aquest en el missatge nouVehicle()

L’únic que cal és conèixer quin vehicle és

Exemples

Número viaT

Número matrícula

Número targeta de crèdit o dèbit

Anotació és la informació rellevant del problema

Indica quin vehicle ha passat, quin dia, i a quina hora

Anotador o Enregistrador

Crea una anotació per cada detecció, i la manté

(7)

Suposicions semàntiques

7

Assumim que cada cop que passa un vehicle,

l’apuntem. Però no fusionem diverses anotacions d’un mateix vehicle

Cada anotació és un parell <vehicle, moment de pas>

Podem tenir anotacions diferents amb el mateix vehicle

En aquest sentit, el vehicle no és un element

substancial del problema. Com a molt és una dada associada a l’anotació

Hi tornarem més endavant

(8)

8

Uns moments de reflexió

(9)

Una restricció obligada

9

Podem tenir anotacions distintes però en el mateix moment?

Si assumim que tenim un únic peatge o barrera, això no és possible

A no ser que per moment entenguem un espai de temps ampli com el dia o l’hora

Exigir que no hi hagi dues anotacions per la barrera en el mateix instant no és cap supòsit afegit

El context del problema ja obliga a què les coses siguin així: la cua del peatge és seqüencial

(10)

Ei, que torno a passar

10

Podem tenir dues anotacions pel mateix vehicle però en instants molt propers?

Podem suposar que ningú es dedica a donar voltes com si el peatge fos una rotonda

Potser algú s’equivoca, surt a la primera sortida i torna a passar el peatge en sentit contrari

Si no tenim en compte el sentit, les dues anotacions, la d’anada i la de tornada, només es distingeixen per l’hora

O potser algú surt, torna enrere a fer un encàrrec, torna a entrar a l’autopista, i repeteix el peatge

En tots els casos suposats com a factibles hi ha un

cert temps, afitable, entre una anotació i una altra

(11)

Una possible SS

11

Té sentit la següent SS?

Donades dues anotacions qualssevol del mateix vehicle, la diferència de temps entre una i l’altra ha de ser superior a un cert valor

Caldria fer una anàlisi per determinar quin és aquest valor

Semànticament té sentit

Evitem que algú circuli amb matrícula falsa, per exemple

Els casos que captura són ínfims

La majoria d’anotacions necessàriament estan a una distància força més gran que el valor llindar definit

Paga la pena?

Per assegurar que es compleix la SS, cada cop que arriba un vehicle caldria cercar la darrera anotació del mateix vehicle

Si les anotacions estan agrupades per vehicle això és simple. Però hem suposat que no volem aquesta agrupació

També podríem fer un recorregut seqüencial en totes les anotacions a la

(12)

Decisió sobre la RS

12

RS

Donades dues anotacions qualssevol del mateix vehicle, la diferència de temps entre una i l’altra ha de ser superior a un cert valor

Podem exigir-la

Però llavors cal assumir el cost de mantenir-la

Podem obviar-la

Els errors que es produeixen són minsos i segurament assumibles

Si algú ha duplicat una matrícula, llavors si el propietari es queixa li tornem els diners i aquí no ha passat res

Simplicitat

Per simplicitat, de moment, ens decantem per no considerar la RS i assumir els errors que se’n puguin derivar

(13)

Un petit resum

13

Tot seguit resumim totes les suposicions que hem fet durant l’anàlisi del problema

A cada suposició li hem donat un nom per tal de

facilitar-ne la referència futura

(14)

Suposicions semàntiques

14

Límit. Assumim que ens donen el capturador

Hem d’anotar les captures

El capturador detecta el vehicle i en captura les seves dades

També assumim l’existència d’algú que gestiona la barrera i el semàfor

Sense sentit. En les captures no distingim el sentit de pas

Totes les captures les anotem d’una mateixa manera

A efectes d’implementació, tenim un únic registre on acumular la informació de cada vehicle que passa la barrera. Aquesta informació no incorpora el sentit

Sense simultaneïtat. Les condicions del context

impossibiliten dues anotacions amb la mateixa marca de temps

SS obligada pel context, i per tant és més un requeriment que una SS

Com que és un requeriment que no ens han donat, l’expressem com a suposició obligada

Sense agrupació. Les anotacions no s’agrupen per vehicle

(15)

Canvis respecte el problema de la Carretera

15

Problema de la carretera

Pas de la barrera on l’objectiu és comptar els cotxes que passen

Suposicions semàntiques

Les suposicions que defineixen el Límit del problema, i les

que ens diuen que aquest és Sense sentit, són les mateixes en el problema de la Carretera i en el del Peatge

Canvia el context: enlloc de detector (hi ha o no hi ha vehicle) ara tenim un detector/capturador (el vehicle que hi ha és el 123)

Com a novetat tenim les suposicions Sense simultaneïtat i Sense agrupació

(16)

16

Glossari

(17)

Entenem el que portem entre mans?

17

Vehicle

Element del context del problema que pot passar múltiples cops

Anotació

Element del problema que indica que un determinat vehicle ha passat a determinada hora

No és el model del vehicle, ja que un mateix vehicle pot tenir moltes anotacions

Un mateix vehicle pot passar múltiples cops pel mateix peatge

El model del vehicle pròpiament és el codi ViaT o similar

Aquesta informació és part de la informació associada a una captura

(18)

Model de vehicle: un incís

18

La suposició Sense agrupació diu que el model del vehicle és un valor

Codi ViaT, número targeta, ...

Aquest valor no és un element rellevant de problema

Donat un codi de ViaT no ens interessa saber quants cops el vehicle en qüestió ha passat pel peatge, o en quins dies i hores

El fet que dues anotacions diferents tinguin el mateix valor de vehicle no és una informació que ens sigui útil per a res

No passa res si no ho acabeu d’entendre. Hi tornarem més extensament

(19)

Acció vs informació

19

La captura és el resultat d’una acció

Un vehicle (en el sentit del context del problema) travessa la barrera

L’anotació és la informació generada per aquesta acció

Qui ha passat i quan

En el problema de la Carretera, l’acció és

la detecció; i la informació associada és el

sol fet que s’ha produït la detecció

(20)

Nou enunciat

20

Enregistrem, per cada cop que un vehicle passa pel peatge, una anotació

Enregistrem anotacions

Glossari

Vehicle

Informació que permet associar cadascuna de les captures (acció) ofertes pel sistema detector/capturador a un compte de pagament

Codi ViaT, número targeta bancària, ....

Anotació

Informació associada a cadascuna de les captures

És el parell <vehicle, temps>

(21)

21

Especificació

(22)

Conceptes

22

Anotació

N’hi ha diverses. Totes elles amb les mateixes propietats.

És rellevant pel problema

El problema és enregistrar anotacions

Vehicle

La suposició Sense agrupació ens diu que només l’hem de considerar com un valor

(23)

Model conceptual

23

(24)

Casos d’ús

24

CU arribadaVehicle

Responsable d’indicar que s’ha detectat un altre vehicle, que cal anotar

DS

nouVehicle(vehicle)

CU inicialitza

Responsable de deixar el sistema en les condicions necessàries per al seu funcionament

DS

ini()

(25)

Contractes ES

25

ES nouVehicle(vehicle)

Arguments

vehicle: Informació (ViaT, ...) del vehicle capturat

PRE: ∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors a == <vehicle, h>

ES ini()

PRE: ∅

POST: No tenim cap anotació

(26)

26

Múltiples barreres: anàlisi

(27)

Múltiples barreres: enunciat

27

Un peatge té moltes barreres

Volem anotar tots els passos de vehicles per totes les

barreres d’un mateix peatge

(28)

Anàlisi prèvia

28

Per tal d’entendre què ens estan demanant ens hem de fer algunes preguntes:

1. Distinció de la barrera

Cal distingir, quan capturem un vehicle, per quina barrera del peatge ha passat?

2. Importància de la barrera

Donada una barrera del peatge, ens interessa saber quines són les anotacions que li corresponen?

(29)

Dues preguntes dependents

29

Evidentment la segona pregunta (la importància de la barrera) només té sentit si responem

afirmativament a la primera

Només si distingim quina és la barrera que ha traspassat el vehicle podem plantejar-nos si ens interessa saber quins vehicles han passat per una barrera determinada

(30)

Supòsit: La barrera ens és indiferent

30

Tenim múltiples sistemes detectors/capturadors que treballen en paral·lel

Però tots ells envien el missatge de captura al nostre sistema nouVehicle(vehicle)

És possible dues anotacions en el mateix instant?

Depèn de qui capturi l’instant

Si ho fa el detector és possible, però llavors l’ES ha de ser nouVehicle(vehicle,instant)

Si ho fa l’enregistrador no és possible: els ES rebuts dels diferents capturadors s’han d’encuar per tal de poder-los processar

(31)

Decisió sobre la barrera indiferent

31

Si la barrera ens és indiferent, el més simple és que sigui l’enregistrador qui capturi l’instant

No cal modificar el contracte dels capturadors

No cal modificar el contracte de l’enregistrador

N’hi ha prou en assegurar, amb una cua, que l’enregistrador no perd cap dels missatges dels capturadors

(32)

Supòsit: Volem distingir la barrera

32

Suposem que volem distingir la barrera que ha generat una anotació

Necessàriament el capturador ens n’ha de donar la informació

nouVehicle(vehicle, barrera)

(33)

Per a què volem conèixer la barrera?

33

Exemples:

Donada una anotació, volem saber quina barrera l’ha generada

Donada una barrera volem saber quines anotacions ha generat

Donada una barrera volem saber quins vehicles l’han traspassada

(34)

Barrera on s’ha fet l’anotació

34

Suposem que donada una anotació volem saber quina és la barrera que l’ha generada

Possible solució:

Un dels valors d’una anotació és la barrera que l’ha generada

Anotació = <vehicle, instant, barrera>

A tots els efectes la barrera és un valor

Que dues anotacions tinguin o no el mateix valor per la barrera ens és del tot indiferent

No hi ha abstracció possible

Barrera no és un concepte

(35)

Anotacions d’una barrera

35

Suposem que donada una barrera volem conèixer les anotacions que ha generat

La barrera és significativa pel problema

En concret, per cadascuna d’elles volem saber quines són les seves anotacions

La barrera ha de ser un concepte

N’hi ha moltes; amb les mateixes propietats; són rellevants

(36)

Vehicles d’una barrera

36

Suposem que donada una barrera volem conèixer els vehicles de les anotacions que ha generat

La barrera és significativa pel problema

En concret, per cadascuna d’elles volem saber quines són les seves anotacions, i a partir d’aquestes extreure’n els vehicles

La barrera ha de ser un concepte

N’hi ha moltes; amb les mateixes propietats; són rellevants

Això és independent de la naturalesa del vehicle:

valor o concepte

(37)

37

Múltiples barreres:

especificació

(38)

Casos considerats

38

1.

Sense distinció de la barrera

El nombre de capturadors (barreres) és indeterminat

Per cada captura d’un nou vehicle s’envia un missatge a l’enregistrador

Tant li fa quina és la barrera que l’ha enviat 2.

Barrera com a valor

En les captures, l’enregistrador rep informació de la barrera que ha fet la detecció/captura

La barrera és una propietat de l’anotació, però no és rellevant de cara al problema

3.

Barrera com a concepte

En les captures, l’enregistrador rep informació de la barrera que ha fet la detecció/captura

La barrera és rellevant pel problema

(39)

Elements comuns

39

Suposicions semàntiques

Tenim les mateixes suposicions que el cas de barrera simple

Cal afegir la suposició de qui determina el temps de l’anotació

CU

arribadaVehicle

Responsable d’introduir una nova anotació

inici

Prepara les condicions per a l’emmagatzematge de les anotacions

Per simplificar no el presentem

(40)

Suposicions semàntiques comunes

40

Límit. Assumim que ens donen el capturador

Hem d’anotar les captures

El capturador detecta el vehicle i en captura les seves dades

També assumim l’existència d’algú que gestiona la barrera i el semàfor

Sense sentit. En les captures no distingim el sentit de pas

Totes les captures les anotem d’una mateixa manera

A efectes d’implementació, tenim un únic registre on acumular la informació de cada vehicle que passa la barrera. Aquesta informació no incorpora el sentit

Sense simultaneïtat. Les condicions del context impossibiliten que dues anotacions amb el mateix temps

RS obligada pel context, i per tant és més un requeriment que una RS

Com que és un requeriment que no ens han donat, l’expressem com a suposició

Sense agrupació. Les anotacions no s’agrupen per vehicle

Captura sense temps. Les captures no indiquen l’instant de la captura. És l’enregistrador qui plasma l’instant en el moment de fer l’anotació

(41)

Sense distinció de la barrera

41

CU arribadaVehicle

Responsable d’indicar que s’ha detectat un altre vehicle, que cal anotar

DS

nouVehicle(vehicle)

ES nouVehicle(vehicle)

Arguments

vehicle: Informació (ViaT, ...) del vehicle capturat

PRE: ∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors

a == <vehicle, h>

(42)

Barrera com a valor

42

CU arribadaVehicle

Responsable d’indicar que s’ha detectat un altre

vehicle, que cal anotar

DS

nouVehicle(vehicle, barrera)

ES nouVehicle(vehicle, barrera)

Arguments

vehicle: Informació (ViaT, ...) del vehicle capturat

barrera: Barrera on s’ha detectat el vehicle

PRE: ∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors

a == <vehicle, h, barrera>

(43)

Barrera com a concepte

43

CU arribadaVehicle

Responsable d’indicar que s’ha detectat un altre

vehicle, que cal anotar

DS

nouVehicle(vehicle, barrera)

ES nouVehicle(vehicle, barrera)

Arguments

vehicle: Informació (ViaT, ...) del vehicle capturat

barrera: Barrera on s’ha detectat el vehicle

PRE: ∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors

a == <vehicle, h>

3. pas(barrera, a)

(44)

44

Múltiples peatges: anàlisi

(45)

Múltiples peatges: enunciat

45

Admetem que hi ha múltiples punts de peatge

Cada punt pot tenir més d’una barrera

(46)

Anàlisi prèvia

46

En el cas de múltiples barreres tenia sentit plantejar la situació on la barrera era indiferent

En el cas de múltiples peatges no

Per exemple, cada peatge té un preu diferent

El preu depèn del peatge, no pas de la barrera

El peatge és un concepte

N’hi ha molts; tots tenen les mateixes propietats

És rellevant

(47)

Canvis en l’ES

47

En indicar la captura cal indicar el peatge

Així, segons com considerem el fet que un peatge tingui múltiples barreres, tindrem:

nouVehicle(vehicle, peatge)

nouVehicle(vehicle, barrera, peatge)

Si el peatge es pot obtenir de la barrera, llavors tenim:

nouVehicle(vehicle,barrera)

Això només és possible si la barrera és un concepte, no pas un valor

Per simplicitat de cara a l’usuari, sempre que el peatge es pugui obtenir de la barrera, no el demanem pas

(48)

Supòsit: Barrera com a valor

48

(49)

Supòsit: Barrera com a concepte

49

Quan no consideràvem el peatge, les anotacions les lligàvem a la barrera

Ara però, les anotacions de qui són, de la barrera o del peatge?

En la següent projecció presentem els dos possibles DMC

Quin considerem com a correcte?

(50)

Dos possibles DMC

50

Anotacions de la barrera

Anotacions del peatge

(51)

Anàlisi de les alternatives

51

Si les anotacions són de la barrera, no podem saber quines anotacions són d’un mateix peatge

En l’especificació diem allò que és rellevant. El que no diem, és perquè no ens interessa

Així, com que no lliguem les anotacions al peatge estem dient que aquesta informació no és rellevant, no ens interessa

Si les anotacions són del peatge, no podem saber quines anotacions són d’una mateixa barrera

Segurament el que ens interessa són ambdues coses

Tot seguit presentem el DMC resultant

(52)

DMC del peatge amb barreres

52

(53)

El DMC és correcte com a MC?

53

El diagrama diu tot el que ha de dir? O permet coses que no ens interessen?

Observeu que d’anotació a peatge hi ha dos camins

Donat un peatge qualsevol, obtenim les mateixes anotacions tant si anem per un camí com si anem per l’altre camí?

El DMC no en diu res

Quina interrelació volem que hi hagi entre els dos camins?

En aquest cas volem que siguin equivalents

Com que el DMC no en diu res, ho hem de dir nosaltres

(54)

MC del peatge amb barreres

54

Restricció semàntica

enregistrament = ubicació ∘ pas

(55)

55

Múltiples peatges: especificació

(56)

Suposicions semàntiques comunes

56

Límit. Assumim que ens donen el capturador

Hem d’anotar les captures

El capturador detecta el vehicle i en captura les seves dades

També assumim l’existència d’algú que gestiona la barrera i el semàfor

Sense sentit. En les captures no distingim el sentit de pas

Totes les captures les anotem d’una mateixa manera

A efectes d’implementació, tenim un únic registre on acumular la informació de cada vehicle que passa la barrera. Aquesta informació no incorpora el sentit

Sense simultaneïtat. Les condicions del context impossibiliten que dues anotacions amb el mateix temps

RS obligada pel context, i per tant és més un requeriment que una RS

Com que és un requeriment que no ens han donat, l’expressem com a suposició

Sense agrupació. Les anotacions no s’agrupen per vehicle

Captura sense temps. Les captures no indiquen l’instant de la captura. És l’enregistrador qui plasma l’instant en el moment de fer l’anotació

(57)

Barrera com a valor, amb peatge

57

CU arribadaVehicle

Responsable d’indicar que s’ha detectat un altre

vehicle, que cal anotar

DS

nouVehicle(vehicle, barrera, peatge)

ES nouVehicle(vehicle,barrera,peatge)

Arguments

vehicle: Informació (ViaT, ...) del vehicle capturat

barrera: Barrera on s’ha detectat el vehicle

peatge: Peatge al qual pertany la barrera

PRE: ∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors

a == <vehicle, h, barrera>

3. enregistrament(peatge, a)

1

(58)

Barrera com a concepte, amb peatge (1)

58

CU arribadaVehicle

Responsable d’indicar que s’ha detectat un altre

vehicle, que cal anotar

DS

nouVehicle(vehicle, barrera, peatge)

ES nouVehicle(vehicle,barrera,peatge)

Arguments

vehicle: Informació (ViaT, ...) del vehicle capturat

barrera: Barrera on s’ha detectat el vehicle

peatge: Peatge al qual pertany la barrera

PRE: ubicació(barrera,p)

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors

a == <vehicle, h>

3. pas(barrera, a)

4. enregistrament(a, p)

Restricció semàntica enregistrament =

pas ∘ ubicació

2

(59)

Barrera com a concepte, amb peatge (2)

59

CU arribadaVehicle

Responsable d’indicar que s’ha detectat un altre

vehicle, que cal anotar

DS

nouVehicle(vehicle, barrera)

ES nouVehicle(vehicle,barrera)

Arguments

vehicle: Informació (ViaT, ...) del vehicle capturat

barrera: Barrera on s’ha detectat el vehicle

peatge: Peatge al qual pertany la barrera

PRE: ASS. ∃ un Peatge, de nom p, tal que:

ubicació(barrera,p)

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors

a == <vehicle, h>

3. pas(barrera, a)

4. enregistrament(a, p)

Restricció semàntica enregistrament =

Suposem que es pot obtenir el peatge a partir de la barrera

3

(60)

D’on surt el peatge

60

Si la barrera és un valor, d’ella no podem obtenir cap informació

En concret, no en podem obtenir el peatge

És el model 1

Les coses canvien si la barrera és un concepte

La obligatorietat de la ubicació permet obtenir el peatge a partir de la barrera

Això però només és possible si tenim l’entitat barrera

I si només tenim l’identificador de barrera?

Identificació local. Admetem que tant el peatge A3 com el B14, per exemple, tinguin una barrera 3

L’identificador de la barrera no és suficient per saber de quina barrera es tracta

Necessitem també el peatge (sigui en forma d’entitat, sigui en forma d’identificador)

És el model 2

Identificació global. Només hi ha una barrera 3

A partir de l’identificador podem trobar la barrera. I a partir d’ella, el peatge

És el model 3

(61)

Lectura dels contractes

61

Model 2

Passem dues entitats: barrera i peatge

Aquestes dues entitats no poden ser independents

Cal que la barrera sigui del peatge

D’aquí la necessitat de la PRE

Cal observar que la PRE es comporta com un filtre

Si l’usuari envia una barrera que no es correspon al petge indicat, no es compleix la PRE

Model 3

Només passem la barrera. Però sabem (per l’obligatorietat d’ubicació) que segur que és d’un peatge

Necessitem la PRE per batejar aquest peatge que sabem que existeix

A diferència del Model 2, aquesta PRE no és un filtre

Sempre es complirà!! L’usuari no té manera d’enviar uns valors dels arguments que falsegin la PRE

Es tracta d’una asserció assegurada. La necessitem només per batejar entitats; no pas per imposar unes condicions

(62)

62

El vehicle com a concepte

(63)

Supressió d’una suposició

63

Fins ara hem treballat amb la següent suposició semàntica:

Sense agrupació. Les anotacions no s’agrupen per vehicle

Què passa si volem agrupar les anotacions per vehicle?

El vehicle es converteix en important pel problema

Esdevé un concepte

Fins ara era un valor que era mantingut per l’anotació

(64)

Vehicle com a concepte

Refeu tota l’anàlisi, considerant el vehicle un concepte

Heu de considerar els casos:

Barrera única

Múltiples barreres

Barrera com a valor i com a concepte

Múltiples peatges

64

(65)

Barrera única

CU arribadaVehicle

DS

nouVehicle(vehicle)

Contractes

ES nouVehicle(vehicle)

PRE:∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors a.instant == h

3. imputació(vehicle, a)

65

(66)

Múltiples valors barrera

CU arribadaVehicle

DS

nouVehicle(vehicle,barrera)

Contractes

ES nouVehicle (vehicle,barrera)

PRE:∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors a.instant == h

a.Barrera == barrera 3. imputació(vehicle, a)

66

(67)

Múltiples barrera concepte

CU arribadaVehicle

DS

nouVehicle(vehicle,barrera)

Contractes

ES nouVehicle(vehicle,barrera)

PRE:

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors a.instant == h

3. imputació(vehicle, a) 4. pas(a,barrera)

67

(68)

Múltiples valors barrera amb peatges

CU arribadaVehicle

DS

nouVehicle(vehicle,barrera,peatge)

Contractes

ES nouVehicle (vehicle,barrera,peatge)

PRE: ∅

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors a.instant == h

a.barrera == barrera 3. imputació(vehicle, a)

4. enregistrament(a,peatge) 68

(69)

Múltiples barrera concepte amb peatges

CU arribadaVehicle

DS

nouVehicle(vehicle, barrera)

Contractes

ES nouVehicle (vehicle, barrera)

PRE: ∃ un Peatge, de nom p, tal que:

ubicació(barrera,p)

POST:

1. Existeix una nova anotació de nom a

2. Si h és l’hora en què s’ha rebut l’ES nouVehicle(...) llavors a.instant == h

3. imputació(vehicle, a) 4. pas(a,barrera)

5. enregistrament(a,p)

69

La RS es manté en el contracte perquè sempre que afegim un enllaç per un camí també l’afegim per l’altre

(70)

Comptador de vehicles

Especifiqueu el següent problema:

Volem comptar el nombre de cops que cada vehicle passa per un determinat punt

Pista

Anàlisi similar a Pas de la Barrera: Carretera

Ara però tenim tants comptadors com vehicles

És el vehicle un concepte?

70

(71)

Comptador de vehicles

CU arribadaVehicle

DS

nouVehicle(vehicle)

Contractes

ES nouVehicle(vehicle)

PRE:∅

POST:

vehicle.#copsQueHaPassat++

71

Referencias

Documento similar

• Atès que els dipòsits són anotacions comptables en un ordinador, el banc crea diner anotant com a crèdit en el compte del client l’import del préstec i equilibra aquest dèbit

Una vegada realitzada la quantificació de l’absència avaluativa de tots els cursos del període estudiat i conéixer, així, quines són les dimensions de l’absència en

a) Descriure quines són les TIC més usades en la comunicació dels actors vinculats amb l’esport: organitzacions esportives, organitzacions comercials esportives, mitjans

2.&#34; Que 'havent en el' reine valetl' cià població de parla valenciana que no s'expressa en altre idioma a l' en.trar en l'escola, se li done al xic tota l'ensenyança en

delna- nar .per tot arreu ¡que s'entronitze '1 .'idio'n1a valencià a les nostres escoles, :ham de de.mostrar ,que el nostre po- bl¡e té r àni'ma :visible i tangible; que.. pa:rla

Però susto, asustar i asustat són barbarismes que han entrat al corrent del nostre llenguatge arre- con ant els mots valencians corres- ponents.. Diem que aquella

í El diccionari de les dades, la informació que identifica cada variable, a més de poder consultar-la a la pestanya de vista de variables, es pot consultar en qualsevol moment

Tot i les limitacions, en l’estudi 1 podem concloure que les característiques sociodemogràfiques dels agressors són: a) no hi ha diferències en quant a sexe de