Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Examen Resuelto
Normas a seguir:
Los apellidos, nombre y DNI se deben escribir en todas las hojas.
Se debe entregar cada pregunta en hojas separadas.
Pregunta 1 (3 puntos)
Anuncio-Controlador
-visualizaDatos
-dependeDe 1 +inicializa()
* +muestraAnuncio()
+actualiza()
Anuncio-Modelo
-datosBásicos 1 -actualiza
-conjuntoVistas[0..*]
+asociaVista()
+desenlazaVista()
+notifica()
+getDatosAnuncio()
+modificaAnuncio() 1
1 -actualiza Anuncio-Vista
+inicializa()
* +cambiaAnuncio()
+actualiza()
context Anuncio-Modelo
inv: self.anuncio-Controlador->size() = self.anuncio-Vista->size()
- Para todo controlador asociado a un modelo debe existir una vista asociada
al modelo que a su vez esté relacionada con dicho controlador.
(Puntuación 0.5 ptos.)
context Controlador
inv: self.dependeDe=self.anuncio-Vista.actualiza
Si os fijáis en la cardinalidad de las relaciones, observaréis cómo cada modelo tiene n vistas, y cada vista
tiene un solo controlador asociado (y uno distinto para cada vista). Por tanto, un modelo debe tener tantos
controladores como vistas. Esto implica que la restricción se puede reescribir diciendo que el conjunto de
controladores asociados con un modelo debe coincidir con el conjunto de controladores asociados a las
vistas del modelo.
context Anuncio-Modelo
inv: self.AnunciosVista.AnunciosControlador=self.AnunciosControlador
Pregunta 3 (2 puntos)
cambiaAnuncio()
modificaAnuncio()
notifica()
actualiza()
Actor1
muestraAnuncio()
getDatosAnuncio()
actualiza()
getDatosAnuncio()
PLAN 2001:
a) ¿Qué patrón está representando el modelo? ¿Qué ventajas presenta
respecto a otros tipos de patrones arquitecturales? ¿Qué inconvenientes?
(Puntuación 0.5 ptos.)
Nota: Suponed que existe una interfaz Observador que define el método
actualiza() y que puede implementar en caso de ser necesario cualquiera de los
componentes que defináis.
«archivo»
FicherosUI
Observador
«biblioteca»
ModeloAnuncios AccesoBD
«ejecutable»
Observador
ControladorUIAnuncios
Nota: En realidad tb existen dependencias entre (a) Vista y Controlador y entre (b)
Controlador y Vista, aunque en la interacción descrita en el ejemplo no se refleje.