You are on page 1of 26

Prova de validació parcial INEP Tardor

del curs 20018/19


Empenteta final

Novembre de 2018
Josep M Merenciano
Prova de validació parcial INEP Tardor del curs 20018/19

ÍNDEX DE CONTINGUTS
Enunciat .................................................................................................................................. 3

Avaluem l’empenteta......................................................................................................... 3

Valoració màxima .............................................................................................................. 3

Prova de selecció ................................................................................................................ 4

Glossari ................................................................................................................................... 7

Requeriments ......................................................................................................................... 8
Model conceptual ................................................................................................................... 9

DMC .................................................................................................................................... 9

Restriccions semàntiques ................................................................................................. 10

El paper de les RS ......................................................................................................... 10

/notaControl .................................................................................................................. 10
Unicitat de l’avaluació ................................................................................................. 10

Avaluació en el control ................................................................................................ 10

Tot avaluat .................................................................................................................... 11

CU introduirNotes ............................................................................................................... 12
Responsabilitat ................................................................................................................. 12
Esdeveniments de sistema ............................................................................................... 12

Anàlisi ........................................................................................................................... 12

Proposta d’Esdeveniments de sistema ....................................................................... 13


Diagrama de Seqüència ................................................................................................... 13

Proposta de Contractes .................................................................................................... 14

Escriptura dels contractes ............................................................................................ 14


avaluacióPregunta (pregunta, nota) ......................................................... 14
fiAvaluacióEstudiant() ....................................................................................... 15

fiAvaluacióControl().......................................................................................... 15

Observacions................................................................................................................. 15

Lectura i anàlisi dels contractes ................................................................................... 15

Correctesa i Robustesa de la seqüenciació ..................................................................... 17

Notació .......................................................................................................................... 17
Anàlisi de la correctesa i la robustesa ......................................................................... 18
Correctesa i robustesa en termes planers ................................................................... 20

Josep M. Merenciano 1
Prova de validació parcial INEP Tardor del curs 20018/19

Simetria en els contractes ............................................................................................. 21


Proposta de Contractes correctes i robusts..................................................................... 21

3. avaluacióPregunta (pregunta, nota)................................................... 22


4. fiAvaluacióEstudiant() ................................................................................ 22

5. fiAvaluacióControl()................................................................................... 23

Extensió dels requeriments ................................................................................................. 24

Nou MC ............................................................................................................................ 24
Afectació en els contractes ............................................................................................... 24

Prova de selecció .................................................................................................................. 25


Modelització ..................................................................................................................... 25

Restricció semàntica ......................................................................................................... 25


RS en els contractes .......................................................................................................... 25

Josep M. Merenciano 2
Prova de validació parcial INEP Tardor del curs 20018/19

ENUNCIAT

Prova de validació parcial INEP


5 de novembre de 2018
Temps: 2 hores

AVALUEM L’EMPENTETA

Empenteta final és una iniciativa d’un professor, en Mestre Tites, per ajudar els seus
estudiants a aprovar la Selectivitat. En essència el que fa l’eina és recollir exàmens de
Selectivitat d’edicions anteriors i oferir-los als estudiants. Cada examen té un conjunt
de preguntes, que només poden aparèixer en aquell examen.

De cara a la preparació dels seus estudiants en Mestre Tites reutilitza les preguntes
dels exàmens per tal de preparar controls que els estudiants han de resoldre.

Un control està format per més d’una pregunta, cap d’elles repetida; i una
pregunta pot aparèixer en molts controls.

Cada estudiant només pot participar en un control.

Un cop realitzat el control en Mestre Tites entra la puntuació que cadascun dels
estudiants ha tret en cada pregunta. És a dir, per exemple, indica que en la pregunta 3
la Gemma ha tret un 6.

Les notes s’entren totes de cop, un estudiant darrere l’altre.

En Mestre Tites ens en demana que especifiquem el cas d’ús introduirNotes que té
la responsabilitat d’introduir al sistema l’avaluació d’un control. És a dir, responsable
d’introduir, per cada estudiant que participa en el control, la nota que ha tret en
cadascuna de les preguntes del control.

VALORACIÓ MÀXIMA

De cara a l’estadística en Mestre Tites ens diu que en un moment posterior a la


introducció de les notes li pot interessar saber, per cada control, quin (o quins)
estudiants hi han tret la millor nota. No ens diu, però, quan ni com vol accedir a
aquesta informació.

La nota que un estudiant treu en un control és la suma de les notes que ha tret en
les preguntes del control en qüestió.

Josep M. Merenciano 3
Prova de validació parcial INEP Tardor del curs 20018/19

PROVA DE SELECCIÓ

Les exigències temporals són tant fortes que no les podem assumir a no ser que
contractem algú. Com que són molts els CV rebuts decidim fer una petita prova de
selecció. Aquesta selecció es basa en determinar la capacitat analítica i expressiva dels
diferents candidats. Per això a cada candidat se li demana que contesti una sèrie de
preguntes relacionades amb la següent afirmació, justificant sempre la seva resposta:

“Volem tenir constància, per cada pregunta, en quants


controls apareix”
1. Com ho modelitzem? Concepte? Interrelació? Atribut?
2. En introduir aquest requeriment apareix una nova restricció semàntica,
que anomenarem RS. Expressa-la de la manera més formal possible.
3. Els contractes de quins ES queden afectats amb la introducció d’aquest nou
requeriment?

Josep M. Merenciano 4
Prova de validació parcial INEP Tardor del curs 20018/19

Es demana:

 Abans de res llegiu bé l’enunciat, enteneu-lo, i detecteu les diferències respecte


de l’enunciat de la pràctica
 Detecteu sinonímies, ambigüitats i polisèmies. Resoleu-les

1. Glossari
 Definiu el glossari.

2. Model conceptual
 Dibuixeu el DMC del subsistema considerat
 Indiqueu els atributs que considereu imprescindibles
 Indiqueu quins són els atributs identificadors

3. Restriccions semàntiques
 Expresseu aquelles restriccions necessàries pel model del problema però
que no es poden extreure del DMC proposat

4. Especifiqueu el CU introduirNotes
 No us oblideu d’indicar quins elements són entitats, i quins són simples
identificadors.
 Assegureu la correctesa i la robustesa de la seqüenciació

5. Extensió dels requeriments


 La introducció del requeriment de mantenir els millors estudiants de
cada control, com afecta el MC?
o Dibuixeu el nou diagrama (o el fragment afectat)
 I com afecta els contractes dels ES del CU introduirNotes?
o Indiqueu les noves assercions (PRE o POST). No cal que torneu
a escriure tot els contractes

6. Prova de selecció
 Realitzeu la prova de selecció

 La separació en preguntes és per facilitar-vos la feina, i no correspon a cap criteri


numèric. L’exercici es valora en tota la seva totalitat i no pas donant punts
acumulatius als diferents apartats.

Expliqueu i justifiqueu tot el que feu

Josep M. Merenciano 5
Prova de validació parcial INEP Tardor del curs 20018/19

Es demana:

 Abans de res llegiu bé l’enunciat, enteneu-lo, i detecteu les diferències respecte


de l’enunciat de la pràctica
 Detecteu sinonímies, ambigüitats i polisèmies. Resoleu-les

7. Glossari
 Definiu el glossari.

8. Model conceptual
 Dibuixeu el DMC del subsistema considerat
 Indiqueu els atributs que considereu imprescindibles

9. Restriccions semàntiques
 Expresseu aquelles restriccions necessàries pel model del problema però
que no es poden extreure del DMC proposat

10. Especifiqueu el CU nouJaciment


 No us oblideu d’indicar quins elements són entitats, i quins són simples
identificadors.
 Assegureu la correctesa i la robustesa de la seqüenciació

11. Extensió dels requeriments


 La introducció del requeriment de poder introduir el jaciment per parts,
i de recordar quin és el seu darrer missatge, com afecta el MC?
o Dibuixeu el nou diagrama (o el fragment afectat)
 I com afecta els contractes dels ES del CU nouJaciment?
o Indiqueu les noves assercions (PRE o POST). No cal que torneu
a escriure tot els contractes

12. Prova de selecció


 Realitzeu la prova de selecció

 La separació en preguntes és per facilitar-vos la feina, i no correspon a cap criteri


numèric. L’exercici es valora en tota la seva totalitat i no pas donant punts
acumulatius als diferents apartats.

Expliqueu i justifiqueu tot el que feu


Josep M. Merenciano 6
Prova de validació parcial INEP Tardor del curs 20018/19

GLOSSARI

Amb negreta els conceptes interrelacions del MC. En negreta i cursiva elements del
vocabulari que no apareixen directament en el DMC. En cursiva termes que s’han
d’interpretat exactament com diu aquest glossari (el marcatge no és exhaustiu; hem marcat
només els termes més transcendentals de cara a la comprensió de cada terme).1

 Pregunta. Unitat bàsica de gestió. Des del problema es pot veure com un text simple;
des del context del problema aquest text s’interpreta com una qüestió que l’instructor
planteja a qui es vol avaluar.
 Control. Conjunt de preguntes
 Estudiant. Subjecte d’avaluació.
 Nota. Valor numèric, entre 1 i 10.
 Avaluació. Nota que l’usuari del problema dóna a la resposta que un estudiant ha fet a
una pregunta.
o És la informació generada pel procés que, en el context del problema, analitza i
valora la resposta que un estudiant ha donat a una pregunta del control que ha
realitzat
 Resposta. Element del context del problema. Correspon a allò que un estudiant respon
quan se li presenta al davant una pregunta. Algú avalua aquesta resposta i genera una
avaluació per la pregunta corresponent
 formació. Correspon a la idea de pertinença. Així si una p:Pregunta pertany a un
c:Control, llavors formació(c,p)
 realització. Indicació que un estudiant ha respost un control determinat
 què. Objecte de l’avaluació d’una pregunta. Expressa quina és, en aquesta avaluació, la
pregunta de la qual s’ha analitzat la resposta de l’estudiant
 qui. Subjecte de l’avaluació d’una pregunta. Expressa qui és, en aquesta avaluació,
l’estudiant del qui s’ha analitzat la resposta a la pregunta2

1Observeu com en les definicions de les associacions els termes en cursiva corresponen als
conceptes que intervenen en l’associació.

2Hem usat diferents estils de redactat per les diferents interrelacions. El motiu és mostrar
diferents maneres de fer. Òbviament seria recomanable usar simetria en els redactats.

Josep M. Merenciano 7
Prova de validació parcial INEP Tardor del curs 20018/19

REQUERIMENTS

 Formació de controls
1. La formació d’un control conté moltes preguntes
2. Una pregunta participa en la formació de múltiples controls
3. Una pregunta només pot tenir una participació en la formació d’un control
 Distribució dels controls
1. En la realització d’un control hi participen molts estudiants
2. Un estudiant només pot participar en la realització d’un únic control
 Avaluació
1. Cada estudiant és avaluat pel control que realitza
2. L’avaluació d’un estudiant és l’avaluació del control que ha realitzat
3. L’avaluació d’un control és la suma de l’avaluació de les preguntes que
participen en la formació del control
4. L’avaluació d’una pregunta és una nota. Aquesta avaluació és la puntuació de la
pregunta
5. Cada pregunta, en un control, és avaluada un únic cop; té una única avaluació
6. S’introdueixen de cop les avaluacions de tots els estudiant que han realitzat un
control determinat
7. L’avaluació d’un estudiant s’introdueix introduint totes puntuacions de les
preguntes del control corresponent

Josep M. Merenciano 8
Prova de validació parcial INEP Tardor del curs 20018/19

MODEL CONCEPTUAL

DMC

 Multiplicitats i optativitat/obligatorietat de formació


o Exigides pels requeriments Formació de controls (1-3)
o El requeriment Formació de controls (3) és el que permet expressar la
participació de les preguntes en un control en termes de la interrelació formació
 Multiplicitats i optativitat/obligatorietat de realització
o Exigides pels requeriments Distribució de controls (1-2)
o L’expresssió “pot” dels requeriments és la que defineix l’optativitat de la
interrelació realització
 Multiplicitats i optativitat/obligatorietat de qui
o Per la definició d’Avaluació
 Multiplicitats i optativitat/obligatorietat de què
o Per la definició d’Avaluació

Josep M. Merenciano 9
Prova de validació parcial INEP Tardor del curs 20018/19

RESTRICCIONS SEMÀNTI QUES

El paper de les RS

 Les RS són restriccions que es posen al DMC per tal que els enllaços permesos
corresponguin a la semàntica del problema. Es tracta de prohibicions o d’exigències que
s’afegeixen a la potencialitat d’enllaços previstes pel DMC
 Sovint, i de manera un xic oculta, les definicions dels termes contenen requeriments
o Exemple. L’avaluació l’hem definida com la nota que un estudiant rep en la
seva resposta a una pregunta. Per tant estem dient que una avaluació és per a
una sola pregunta. Però també (per mor de l’article la a :”...la seva resposta..”)
que un estudiant només té una avaluació per cada pregunta
 Els atributs derivats són aquells que el seu valor es pot calcular a partir d’altra
informació del MC
 Per alguns atributs el seu valor ha de ser consistent amb d’altra informació del MC,
sense però arribar a ser un atribut derivat
o Exemple. El benefici en un problema de compra/venda sempre ha de ser menor
que el preu de venda
 Com veiem doncs, algunes RS són la plasmació directa, en termes de prohibicions o
exigències sobre els enllaços permesos pel DMC, d’un requeriment. D’altres RS tenen
d’altres fonts: requeriments no explicitats o consistència amb les definicions del
glossari, per exemple.

/notaControl

 Estudiant té un atribut derivat notaControl. El valor d’aquest atribut ha de ser igual al de


la suma de les notes de les avaluacions de l’estudiant
 Formalment:
o 𝑒. 𝑛𝑜𝑡𝑎𝐶𝑜𝑛𝑡𝑟𝑜𝑙 = ∑𝑎∈𝑞𝑢𝑖(𝑒) 𝑎. 𝑛𝑜𝑡𝑎
 Exigit pel requeriment Avaluació (3)

Unicitat de l’avaluació

 En una pregunta un estudiant només pot tenir una avaluació


o Exigit pel requeriment Avaluació (5)
 És a dir, donat un estudiant i una pregunta, només hi pot haver una avaluació
o Cal observar com el canvi de redactat és possible gràcies als requeriments
Formació de controls (2) i Distribució dels controls (2)
 Per tant:
o 𝑞𝑢𝑖(𝑒, 𝑎1 ) ∧ 𝑞𝑢è(𝑎1, , 𝑝) ∧ 𝑞𝑢𝑖(𝑒, 𝑎2 ) ∧ 𝑞𝑢è(𝑎2 , 𝑝) ⟹ 𝑎1 = 𝑎2

Avaluació en el control

 Si en un control un estudiant està avaluat d’una pregunta, és perquè aquesta pregunta


forma part del control

Josep M. Merenciano 10
Prova de validació parcial INEP Tardor del curs 20018/19

 És a dir, si un estudiant té una avaluació en una pregunta, és perquè aquesta pregunta


forma part del control realitzat per l’estudiant
o Cal observar com el canvi de redactat és possible gràcies als requeriments
Formació de controls (2) i Distribució dels controls (2)
 Per tant
o 𝑟𝑒𝑎𝑙𝑖𝑡𝑧𝑎𝑐𝑖ó(𝑐, 𝑒) ∧ 𝑞𝑢𝑖(𝑒, 𝑎) ∧ 𝑞𝑢è(𝑎, 𝑝) ⟹ 𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó(𝑐, 𝑝)
 Alternativament:
o 𝑟𝑒𝑎𝑙𝑖𝑡𝑧𝑎𝑐𝑖ó ∘ 𝑞𝑢𝑖 ∘ 𝑞𝑢è ⊆ 𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó

Tot avaluat

 Si un alumne que participa en un control, llavors ha de tenir avaluades totes les


preguntes d’aquest control
 És a dir,
o 𝑟𝑒𝑎𝑙𝑖𝑡𝑧𝑎𝑐𝑖ó(𝑐, 𝑒) ⟹ |𝑞𝑢𝑖(𝑒, 𝑎)| = |𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó(𝑐, 𝑝)|

Josep M. Merenciano 11
Prova de validació parcial INEP Tardor del curs 20018/19

CU INTRODUIRNOTES

RESPONSABILITAT

 Responsabilitat del CU
o Introduir en el sistema les avaluacions obtingudes pels estudiants que han
participat en un control
 Responsabilitat d’introduir l’avaluació d’un estudiant
o Introduir en el sistema les avaluacions obtingudes per un estudiant que ha
participat en un control
 Responsabilitat d’introduir una avaluació
o Introduir en el sistema una nova avaluació amb la nota donada
 Replantejament de la responsabilitat del CU
o Per cada estudiant que ha participat en el control
 Per cada pregunta del control
 El CU és responsable d’introduir, per l’estudiant i la pregunta
actuals, una nova avaluació, amb la nota que ha obtingut
l’estudiant

ESDEVENIMENTS DE SISTEMA

Anàlisi

 El CU introduirNotes és responsable d’introduir les avaluacions de totes els estudiants en


un determinat control.
 El més simple és una doble iteració: iterem per estudiant; i a cada estudiant iterem per
pregunta

avaluacióControl(control)
[
avaluacióEstudiant (nom)
[
avaluacióPregunta (pregunta, nota)
]*
fiAvaluacióEstudiant()
]*
fiAvaluacióControl()

 Per tal de poder mantenir la interrelació realització, en introduir l’avaluació d’un


estudiant, cal conèixer de quin control l’estem avaluant. Els requeriments (Avaluació
(6)) exigeixen entrar les qualificacions d’un control totes de cop, estudiant rere
estudiant. Per tant, en el CU tots els estudiants han de compartir el mateix control. Per
això aquesta informació la factoritzem i l’entrem inicialment en l’ES
avaluacióControl(control)

Josep M. Merenciano 12
Prova de validació parcial INEP Tardor del curs 20018/19

 La iteració de les preguntes d’un estudiant necessita d’un ES de finalització,


fiAvaluacióEstudiant(), que és qui permet calcular la notaControl3

Proposta d’Esdeveniments de sistema

o avaluacióControl(control)
 Responsable d’indicar al sistema que estem introduint les avaluacions
del control indicat
o avaluacióEstudiant(nom)
 Responsable d’indicar al sistema que l’estudiant amb el nom indicat ha
realitzat el control que estem avaluant; i que és l’estudiant que en
aquests moments estem avaluant
o avaluacióPregunta(pregunta,nota)
 Responsable d’introduir, per a l’estudiant que estem avaluant, una nova
avaluació. Aquesta avaluació és per la pregunta indicada, i amb la nota
donada
o fiAvaluacióEstudiant()
 Responsable d’indicar al sistema que hem acabat d’avaluar l’estudiant
que estàvem considerant
 Responsable també de calcular la notaControl de l’estudiant que estàvem
considerant4
o fiAvaluacióControl()
 Responsable d’indicar al sistema que hem acabat d’avaluar el control
que estàvem considerant

DIAGRAMA DE SEQÜÈNCI A

avaluacióControl(control)
[
avaluacióEstudiant (nom)
[
avaluacióPregunta (pregunta, nota) *
]*
fiAvaluacióEstudiant()
]*
fiAvaluacióControl()

3 Enlloc de calcular la notaControl en acabar un estudiant, podríem pensar en calcular la de


l’estudiant anterior un cop comença un nou estudiant. Això evita l’ES
fiAvaluacióEstudiant() però complica força els contractes.

4Una alternativa és mantenir el valor de notaControl sempre actualitzat. Això significa que aquí
no apareix aquesta responsabilitat, i en canvi a l’ES avaluacióPregunta() caldria afegir la
responsabilitat de calcular la notaControl amb les avaluacions introduïdes fins el moment.

Josep M. Merenciano 13
Prova de validació parcial INEP Tardor del curs 20018/19

 És fàcil comprovar com la combinació de les responsabilitats individuals assignades a cada


ES, si es combinen de la manera expressada pel DS, ofereix exactament la responsabilitat
exigida al CU.

PROPOSTA DE CONTRACTES

Escriptura dels contractes

 En les PRE demanem com a entitats diferenciades aquelles que es corresponen a un


argument per omissió, i que no es poden obtenir a partir dels arguments explícits
 A les POST mantenim com a diferenciades aquelles entitats que clarament veiem que
necessitarem en els següents ES
o És una primera aproximació que caldrà validar quan analitzem la correctesa i
robustesa de la seqüenciació

avaluacióControl(control)

PRE:

1. Existeix un c:Control tal que c.id = control


2. No existeix cap e:Estudiant tal que realització(c,e)
POST:

1. e:Estudiant es manté diferenciat


2. No existeix cap :Estudiant tal que realització(c,e)

avaluacióEstudiant (nom)

PRE:

1. Existeix un e:Estudiant tal que e.nom = nom


2. No existeix cap c:Control tal que realització(c,e)
3. Existeix c:Control diferenciat

POST:

1. realització(c,e)
2. e:Estudiant es manté diferenciat

avaluacióPregunta (pregunta, nota)

PRE:

1. Existeix un e:Estudiant diferenciat


2. No existeix cap a:Avaluació tal que què(a,pregunta)
POST:

Josep M. Merenciano 14
Prova de validació parcial INEP Tardor del curs 20018/19

1. Existeix nova a:Avaluació tal que qui(e,a)


2. a.nota = nota
3. què(a,pregunta)
4. e:Estudiant està diferenciat

fiAvaluacióEstudiant()

PRE: 𝑠𝑢𝑚𝑎𝑁𝑜𝑡𝑒𝑠(𝑒) == ∑ 𝑎. 𝑛𝑜𝑡𝑎


𝑎∈𝑞𝑢𝑖(𝑒)
1. Existeix un e:Estudiant diferenciat
2. Existeix un c:Control diferenciat
o És el control que estem introduint
3. Hi ha tantes avaluacions per a e com preguntes té𝑒𝑔𝑢𝑛𝑡𝑒𝑠𝐴𝑣𝑎𝑙𝑢𝑎𝑑𝑒𝑠(𝑒)
el control c == |𝑞𝑢𝑖(𝑒)|
o |𝑞𝑢𝑖(𝑒)| = |𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó(𝑐)|
POST:
1. e.notaControl == sumaNotes(e)

fiAvaluacióControl()

PRE:
1. ∅
POST:
1. ∅

Observacions

 Per expressar una condició complicada (POST 3 de fiAvaluació()) hem usat una
funció auxiliar. Aquesta funció auxiliar l’hem definida en un quadre al marge. També
l’haguéssim pogut introduir en el glossari
 La definició de la funció auxiliar s’obté directament de la RS que defineix el valor de
l’atribut derivat /notaControl
o Recordem que hem presentat la definició del valor de l’atribut en termes de RS.
Alternativament haguéssim pogut introduir aquesta expressió en el glossari
com a definició de l’atribut /notaControl

Lectura i anàlisi dels contractes

 Abans de seguir cal comprovar que els contractes compleixen tots els requeriments
 El CU considerat introdueix avaluacions i els seus enllaços amb preguntes i estudiants.
Per tant cal analitzar:
o Tots els requeriments que tinguin a veure amb les avaluacions, i que la seva
validesa pugui veure’s afectada per la introducció d’una nova avaluació
o Tots els requeriments que tinguin a veure amb les preguntes i els estudiants, i
que la seva validesa pugui veure’s afectada per la introducció d’una nova
avaluació
 Cada estudiant és avaluat pel control que realitza

Josep M. Merenciano 15
Prova de validació parcial INEP Tardor del curs 20018/19

o El CU contempla la iteració per estudiant. En el cos d’aquesta iteració


s’introdueix l’avaluació de l’estudiant, que es lliga al control considerar
o És responsabilitat de l’usuari extern assegurar-se que s’avaluen tots els
estudiants
 L’avaluació d’un estudiant és l’avaluació del control que ha realitzat
o Cada estudiant només ha realitzat un control. Per això per avaluar un estudiant
cal entrar l’avaluació de les preguntes del control
o Això ho resolem amb l’ES avaluacióPregunta()
 L’avaluació d’un control és la suma de l’avaluació de les preguntes que participen en la
formació del control
o D’això se n’encarrega la POST 3 de fiAvaluació()
 L’avaluació d’una pregunta és una nota. Aquesta avaluació és la puntuació de la pregunta
o D’això se n’encarrega la POST 2 de avaluacióPregunta()
 Cada pregunta, en un control, és avaluada un únic cop; té una única avaluació
o Assegurar aquesta condició és l’objectiu de la PRE 2
d’avaluacióPregunta()
 S’introdueixen de cop les avaluacions de tots els estudiant que han realitzat un control
determinat
o Per assegurar que es poden introduir de cop les avaluacions de les preguntes
d’un estudiant tenim la iteració de avaluacióPregunta()dins de la iteració
de l’avaluació de l’estudiant
o Per assegurar que en un moment posterior no es torni a avaluar un estudiant ja
avaluat, tenim la PRE 2 de avaluacióEstudiant()
o Per assegurar que en un moment posterior no s’introdueixen més avaluacions
de preguntes per aquest estudiant, tenim la PRE 2 de avaluacióPregunta()
 L’avaluació d’un estudiant s’introdueix introduint totes puntuacions de les preguntes del
control corresponent
o Ho assegura el fet que el cos de la iteració de les avaluacions d’un estudiant
sigui l’ES avaluacióPregunta(), que té com a arguments la pregunta
avaluada i la seva puntuació.
o Que no ens deixem cap pregunta per avaluar se n’encarrega la PRE 3 de
fiAvaluacióEstudiant()

Josep M. Merenciano 16
Prova de validació parcial INEP Tardor del curs 20018/19

CORRECTESA I ROBUSTESA DE LA SEQÜENCIACIÓ

Notació

 Ara ens preocupem de la correctesa de la seqüenciació. Donat el diagrama de


seqüència cal assegurar que la POST de qualsevol ES implica les PRE dels ES que el
poden seguir. Cal també assegurar que les POST del darrer ES impliquen les PRE del
primer

 En l’anàlisi de la correctesa sempre cal considerar com a vàlid la seqüència formada pel
darrer ES del CU, seguit pel primer ES del CU. Això permet tornar a executar el CU
sempre que convingui

 Allà on sigui possible intentarem aprofitar les activacions per assegurar la correctesa

 Els contractes resultants els trobem més avall. En ells en verd hi ha unes assercions que
s’expliquen en analitzar la simetria dels contractes.

 Anem a numerar els ES

1. avaluacióControl

2. avaluacióEstudiant

3. avaluacióPregunta

4. fiAvaluacióEstudiant

5. fiAvaluacióControl

 Tot seguit indiquem, per cada seqüència que volem validar, quines PRE o POST les
asseguren. I ho farem en forma de taula: cada fila és l’anàlisi d’una seqüència que, bé
cal validar, o bé cal bloquejar.

 Per indicar que després de l’ES x s’ha de poder realitzar l’ES y, escriurem x+y. Si el que
volem validar és que aquesta seqüència no és vàlida, i que per tant cal bloquejar-la,
escriurem (x+y)

 Cada parell PRE/POST s’expressa com una suma. Les PRE o POST afegides de nou es
marquen en blau.

o Exemple. Seqüència 1+2. POST 1.2 + PRE 2.1


 Per tal que després de l’ES 1 podem cridar l’ES 2 és suficient la POST 2
a l’ES 1, ja que amb ella assegurem la PRE 1 de l’ES 2
 Les PRE i POST involucrades ja les teníem abans d’analitzar la
correctesa
 El primer cop que aparegui una PRE o una POST nova, l’escriurem amb negreta

Josep M. Merenciano 17
Prova de validació parcial INEP Tardor del curs 20018/19

 En el cas que ens calgui modificar una PRE, indicarem quines són les seqüències que
estem obligats a reconsiderar. Si donada una seqüència que cal reconsiderar resulta que
les PRE i POST involucrades per a la validació (o bloqueig) de la seqüència són les
mateixes que ja teníem, simplement fem la comprovació però no escrivim res més.

 En cas que una reconsideració obligui a tenir en compte, per a la validació o bloqueig
de la seqüència, alguna PRE o POST que abans no ens calia reconsiderar, fem una
nova entrada a la taula (que cal entendre que invalida l’entrada prèvia per a la mateixa
seqüència).

o Exemple. Per a l’anàlisi de la seqüència 1+2 tenim una entrada a la taula com la
següent: 1+2. POST 1.2 + PRE 2.1. Per algun motiu hem de re-analitzar aquesta
seqüència, suposem, per exemple, per assegurar que complim amb una nova
PRE 2.2. Llavors la taula quedaria de la següent manera

Camí Assercions
1+2 POST 1.2 + PRE 2.1
----- ----
1+2 POST 1.2 + PRE 2.1
POST 1.3 + PRE 2.2

o Cal entendre que en aquesta taula només la darrera fila corresponent a la


seqüència 1+2 correspon a una anàlisi vàlida
 Per tal d’evitar reconsideracions sempre que sigui possible modificarem una POST enlloc
d’una PRE

 L’anàlisi de la correctesa de la seqüenciació és l’anàlisi dels camins validats: és el


conjunt de files de la taula que no porten la seqüència entre parèntesi

 L’anàlisi de la robustesa de la seqüenciació és l’anàlisi dels camins bloquejats: és el


conjunt de files de la taula que sí porten la seqüència entre parèntesi

Anàlisi de la correctesa i la robustesa

 Observació: les noves assercions es poden veure en l’apartat ”Proposta de contractes


correctes i robustos”, més endavant.
 Abans d’analitzar la correctesa i la robustesa fem una repassada als contractes que
tenim, especialment en les PRE de fiAvaluacióEstudiant()
o Exigim un control diferenciat. Però també exigim un estudiant diferenciat.
o La qüestió és: són vàlids qualsevol estudiant i qualsevol contracte?
o Evidentment no: cal que l’estudiant hagi realitzat el control
o D’aquí que també cal afegir la PRE 4.4
o I el mateix haurem de fer sempre que ens calgui un estudiant i un control
diferenciats. És el que anomenem consistència dels arguments implícits

Camí Assercions Re-anàlisis Observacions


necessàries
1+2 POST 1.1 + PRE 2.3

Josep M. Merenciano 18
Prova de validació parcial INEP Tardor del curs 20018/19

2+3 POST 2.2 + PRE 3.1


3+3 POST 3.4 + PRE 3.1
3+4 POST 3.4 + PRE 4.1 2+3, 3+3 Per assegurar la nova POST
POST 3.5 + PRE 4.2 introduïm PRE 3.3.
Veure nota 1
2+3 POST 2.2 + PRE 3.1 La PRE 2.3 ja assegura la
POST 2.3 + PRE 3.3 nova POST
POST 2.1 + PRE 3.4

3+3 POST 3.4 + PRE 3.1 Veure nota 2


POST 3.5 + PRE 3.3
POST 3.6 + PRE 3.4
4+2 POST 4.2 + PRE 2.3 La PRE 4.3 ja assegura la
nova POST
4+5 ---
5+1 ---
(1+1) POST 1.1 + PRE 1.3 5+1
5+1 POST 5.1 + PRE 1.3
(1+3) POST 1.3 + PRE 3.1
(1+4) POST 1.2 + PRE 4.1
(1+5) POST 1.2+ PRE 5.1 + 4+5 Veure nota 3
PRE 5.2
4+5 POST 4.2 + PRE 5.1 Explicitem que una PRE no
POST 4.3 + PRE 5.2 es modifica
(2+2) POST 2.2 + PRE 2.4 1+2, 4+2
1+2 POST 1.1 + PRE 2.3
POST 1.3 + PRE 2.4
4+2 POST 4.2 + PRE 2.3
POST 4.4 + PRE 2.4
(2+4) POST 2.4 + PRE 4.3 3+4 Veure nota 4
(2+5) POST 2.3 + PRE 5.3 4+5
4+5 POST 4.2 + PRE 5.1
POST 4.3 + PRE 5.2
POST 4.4 + PRE 5.3
(2+1) POS 2.3 + PRE 1.1
(3+2) POST 3.3 + PRE 2.5
(3+1) POST 3.5 + PRE 1.3
(3+5) POST 3.4 + PRE 5.3
(4+4) POST 4.4 + PRE 4.1
(4+1) POST 4.2 + PRE 1.3
(5+5) POST 5.1 + PRE 5.1
(5+2) POST 5.1 + PRE 2.3
(5+3) POST 5.1 + PRE 3.3
(5+4) POST 5.1 + PRE 4.2

Josep M. Merenciano 19
Prova de validació parcial INEP Tardor del curs 20018/19

 Nota 1. Arrossegament d’activacions


o La POST 3.5 demana l’existència d’un control diferenciat. Però quin? Tant ens
fa un com un altre?
o Si analitzem el problema veiem que aquest ha de ser el control que estem
avaluant. Però aquí no el tenim. Per això la PRE 3.4 i
o La PRE 3.2 el que fa és passar la responsabilitat a un altre: volem a la POST
tenir un control diferenciat? Doncs que algú altre el prepari (per això l’exigim a
la PRE), i nosaltres el continuarem mantenint
o Aquesta nova PRE, però exigeix, per la consistència dels arguments implícits, t
la PRE 3.5
 Nota 2. Explicitació del manteniment d’una PRE
o La PRE 3.4 demana la no existència d’un determinat enllaç
o Sovint assumim que aquelles condicions de la PRE que no es s’expliciten en la
POST és perquè es mantenen. Tot i així, si és fonamental que la condició es
mantingui, cal explicitar-ho a la POST
o És el que fem aquí, en repetir la PRE 3.4 en forma de POST 3.6
o Un cop explicitat que aquesta condició es manté, podem usar-la per a la
robustesa
o En aquest cas la POST 3.6 també apareix per la consistència dels arguments
implícits
 Nota 3. Condició per poder acabar el control
o Cal haver introduït com a mínim l’avaluació d’un estudiant per poder finalitzar
l’avaluació del control. D’aquí la PRE 5.2. Aquesta PRE però només té sentit si
també tenim la PRE 5.1
o D’aquest fet ens n’adonem ara que estem analitzant la correctesa i la robustesa,
però de fet podia haver aparegut en els contractes inicials si haguéssim
explicitat el requeriment que tot control el realitza com a mínim un estudiant
 Nota 4. Una conseqüència no immediata
o La PRE 4.3 exigeix un nombre d’avaluacions. Però sabem que quan comencem
l’avaluació d’un estudiant aquest encara no té avaluacions. D’aquí la POST 2.4
o La condició exigida per la POST 2.4 es compleix sempre a la PRE: és l’asserció
ASSegurada de la PRE 2.5 (i com que està assegurada no exigeix cap
reconsideració)
 La PRE 2.5 està assegurada ja que sabem que tot control té una
pregunta tal que formació(c,p), i la RS Tot avaluat assegura que el
nombre d’avaluacions d’un estudiant ha de ser igual al nombre de
preguntes del control
 La POST 2.1 activa les condicions de la RS Tot avaluat. Però en
aquests moments l’estudiant no té cap avaluació, tot i que el
control segur que té preguntes. Per tant no es compleix PRE 4.3

Correctesa i robustesa en termes planers

 Només podem començar si ja hem acabat


o D’aquí la PRE 1.3 i la POST 1.1

Josep M. Merenciano 20
Prova de validació parcial INEP Tardor del curs 20018/19

 Per començar un estudiant o bé és el primer, o bé hem acabat l’anterior


o PRE 2.3 Ja hem començat, tot i que no sabem si és el primer estudiant o no
 POST 1.1 o POST 4.2
o PRE 2.4: No hi ha cap estudiant a mitges
 POST 1.2 o POST 4.3
 Per introduir una pregunta hem de conèixer l’estudiant i el control
o PRE 3.1 i PRE 3.2
o POST 3.4 i 3.5, o bé POST 2.3 i ÔST 2.4
 Per acabar un estudiant s’han d’haver introduït totes les preguntes
o PRE 4.3
 Per acabar un control no hi pot haver cap estudiant a mitges
o PRE 5.3
o POST 4.4

Simetria en els contractes

 Si analitzem acuradament els contractes veiem que les assercions en verd els
proporcionen simetria
 En general sempre podem construir els contractes fent totes les activacions o
diferenciacions simètriques i després comprovar la correctesa i la robustesa

PROPOSTA DE CONTRACTES CORRECTES I ROBUSTS

1. avaluacióControl(control)

PRE:

1. Existeix un c:Control tal que c.id = control


2. No existeix cap e:Estudiant tal que realització(c,e)
3. No existeix cap :Control diferenciat
4. No existeix cap :Estudiant diferenciat

POST:

1. c:Control està diferenciat


2. No existeix cap :Estudiant diferenciat
3. No existeix cap :Estudiant tal que realització(c,e)

2. avaluacióEstudiant (nom)

PRE:

1. Existeix un e:Estudiant tal que e.nom = nom


2. No existeix cap c:Control tal que realització(c,e)

Josep M. Merenciano 21
Prova de validació parcial INEP Tardor del curs 20018/19

3. Existeix c:Control diferenciat


4. No existeix cap :Estudiant diferenciat
5. ASS. No existeix cap a:Avaluació tal que qui(a,e)

POST:

1. realització(c,e)
2. e:Estudiant està diferenciat
3. c:Control està diferenciat
4. No existeix cap a:Avaluació tal que qui(a,e)

3. avaluacióPregunta (pregunta, nota)

PRE:

1. Existeix un e:Estudiant diferenciat


2. No existeix cap a:Avaluació tal que què(a,pregunta)
3. Existeix un c:Control diferenciat
4. realització(c,e)
5. formació(c,pregunta)

POST:

1. Existeix nova a:Avaluació tal que què(a,pregunta)


2. a.nota = nota
3. qui(e,a)
4. e:Estudiant està diferenciat
5. c:Control està diferenciat
6. realització(c,e)

4. fiAvaluacióEstudiant ()

PRE: 𝑠𝑢𝑚𝑎𝑁𝑜𝑡𝑒𝑠(𝑒) == ∑ 𝑎. 𝑛𝑜𝑡𝑎


𝑎∈𝑞𝑢𝑖(𝑒)
1. Existeix un e:Estudiant diferenciat
2. Existeix un c:Control diferenciat
o És el control que estem introduint
3. Hi ha tantes avaluacions per a e com preguntes té𝑒𝑔𝑢𝑛𝑡𝑒𝑠𝐴𝑣𝑎𝑙𝑢𝑎𝑑𝑒𝑠(𝑒)
el control c == |𝑞𝑢𝑖(𝑒)|
o |𝑞𝑢𝑖(𝑒)| = |𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó(𝑐)|
4. realització(c,e)

POST:
1. e.notaControl == sumaNotes(e)
2. c:Control està diferenciat
3. realització(c,e)
4. No existeix cap :Estudiant diferenciat

Josep M. Merenciano 22
Prova de validació parcial INEP Tardor del curs 20018/19

5. fiAvaluacióControl()

PRE:
1. Existeix un c:Control diferenciat
2. ∃ 𝑒: 𝐸𝑠𝑡𝑢𝑑𝑖𝑎𝑛𝑡 𝑡𝑞 𝑟𝑒𝑎𝑙𝑖𝑡𝑧𝑎𝑐𝑖ó(𝑐, 𝑒)
3. No existeix cap :Estudiant diferenciat
POST:
1. No existeix cap :Control diferenciat
2. No existeix cap :Estudiant diferenciat

Josep M. Merenciano 23
Prova de validació parcial INEP Tardor del curs 20018/19

EXTENSIÓ DELS REQUERIMENTS

 N’hi ha prou en introduir la interrelació millor i la seva semàntica

NOU MC

1
Pregunta
Control
formació #controls
* 1..*
0..1
1

millor què
realització

*
*
Avaluació
Estudiant
1 qui nota
/notaControl 0..*
*

 RS. El millor ha fet el control


o 𝑚𝑖𝑙𝑙𝑜𝑟 ⊆ 𝑟𝑒𝑎𝑙𝑖𝑡𝑧𝑎𝑐𝑖ó
 RS. Semàntica de millor
o 𝑚𝑖𝑙𝑙𝑜𝑟(𝑐, 𝑒) ∧ 𝑟𝑒𝑎𝑙𝑖𝑡𝑧𝑎𝑐𝑖ó(𝑐, 𝑒´) ⟹ 𝑒. 𝑛𝑜𝑡𝑎 ≥ 𝑒 ′ . 𝑛𝑜𝑡𝑎

AFECTACIÓ EN ELS CONTRACTES

 En la nostra proposta la nota del control es calcula en l’ES fiAvaluacióEstudiant()


 Per tant és en aquest ES que s’ha de comparar la nova nota amb una qualsevol de les
notes dels millors estudiants del control fins el moment (això és així perquè tots els
estudiants amb millor nota d’un control tenen la mateixa nota)
o Si la nova nota és més gran, la interrelació millor només contindrà l’estudiant
actual
o Si la nova nota és igual a la d’un estudiant millor, llavors afegim l’estudiant
actual a millors
o Altrament no fem res

Josep M. Merenciano 24
Prova de validació parcial INEP Tardor del curs 20018/19

PROVA DE SELECCIÓ

MODELITZACIÓ

 Què ens demanen? Una quantitat. Per tant estem parlant d’un atribut.
o No pot ser concepte perquè entenem que aquesta quantitat és un simple valor; i
que la coincidència de valors no significa identitat.
 De qui és propietat aquesta quantitat? Per cada pregunta en tenim un valor diferent.
Per tant es tracta d’una propietat de pregunta
o Introduïm l’atribut quantsControls a Pregunta
o El valor de quantsControls en una :Pregunta indica la quantitat de
controls on apareix aquesta pregunta

RESTRICCIÓ SEMÀNTICA

 L’atribut introduït és un atribut derivat. Per tant la RS el que ens dirà és com es calcula
el seu valor
 El valor de p.quantsControls per a tota p:Pregunta és igual al nombre de
c:Control tals que formació(c,p)

 Formalment

o p. quantsControls = |{p:Pregunta | formació(c,p)}|

RS EN ELS CONTRACTES

 Volem comptar els controls en els que apareix una pregunta. Per tant, cada cop que
introduïm una nova pregunta en un control ho hem de comptabilitzar.
 Però en el subsistema que estem treballant els controls ja estan construïts; nosaltres
només n’introduïm les qualificacions. Per tant no és responsabilitat nostra; els nostres
contractes no queden afectats.

Josep M. Merenciano 25

You might also like