


a) i) context Vehiculo inv:
Vehiculo.allInstances()->isUnique(matricula)
ii) context Vehiculo inv:
self.dueñoActual->notEmpty() implies
self.dueñoAnterior->select (p | p.ci = self.dueñoActual.ci)->isEmpty()
Nota: Si no tiene dueño anterior, self.dueñoAnterior es una colección vacía; el select sobre una colección vacía, está definido (no es un error hacer select sobre una colección vacía), y da otra colección vacía; y el ->isEmpty() da true.
Otra forma para la parte b)
context Vehiculo inv:
self.dueñoActual->notEmpty() implies
self.dueñoAnterior->excludes (self.dueñoActual)

d)


a)

b)

d)

a)

b)
Si se agregan más vehículos al sistema cambia el modelo de dominio y en el DSS sólo cambia el data type: se modifica el enumerado que contiene los tipos de vehículos y se agregan los atributos específicos del vehículo agregado (en caso que los tenga).
¿Esto es una alternativa?
El siguiente ejercicio fue copiado en clase:

b)

No hay comentarios:
Publicar un comentario
Gracias por dejar su comentario. Carpe diem!