4.1 - OCL (Lenguaje de Restricción de Objetos) Flashcards
¿Por qué un modelo gráfico (como un diagrama de clases) no es suficiente para lograr una especificación precisa y no ambigua?
- Complejidad del sistema: Los sistemas son complejos y dinámicos, y un diagrama de clases puede no capturar todos los aspectos importantes.
- Ambigüedad e interpretación: Los diagramas gráficos pueden ser interpretados de manera ambigua, lo que puede llevar a malentendidos y errores de implementación.
¿Cuáles son las ventajas y desventajas de los lenguajes formales?
Ventajas: la precisión y la automatización, facilitando la representación clara de reglas y conceptos matemáticos, lo que reduce errores y mejora la comunicación entre expertos.
Desventajas: su complejidad de aprendizaje y la posible falta de intuición pueden limitar su accesibilidad
¿OCL puede utilizarse para escribir lógica de programas?
No, se utiliza para establecer restricciones y reglas en los modelos UML
¿Qué significa que OCL es un lenguaje tipado?
Que se especifiquen y se respeten los tipos de datos de manera explícita.
¿Cuáles son los principales usos de OCL?
La validación de la consistencia de modelos UML, mediante la especificación de restricciones y reglas.
¿Qué es un invariante?
Es una condición o restricción formalmente expresada que debe ser siempre verdadera para una entidad específica.
Dentro del ámbito de OCL, ¿qué son las propiedades: atributo y operación y extremo de asociación?
- Atributo es una propiedad de una clase que almacena información.
- Operación es un comportamiento que una clase puede realizar.
- Extremo de asociación es el punto final de una relación entre clases.
Defina formalmente la operación sobre colecciones: select
Devuelve una nueva colección que contiene todos los elementos de la colección original que satisfacen la expresión dada.
Defina formalmente la operación sobre colecciones: forAll
Devuelve verdadero si la expresión dada es verdadera para todos los elementos de la colección; de lo contrario, devuelve falso.
Defina formalmente la operación sobre colecciones: exists
Devuelve verdadero si la expresión dada es verdadera para al menos un elemento de la colección; de lo contrario, devuelve falso.
Defina formalmente la operación sobre colecciones: size
Devuelve el número de elementos en la colección.
Defina formalmente la operación sobre colecciones: count
Devuelve el número de elementos en la colección que satisfacen la expresión dada.
Defina formalmente la operación sobre colecciones: isEmpty
Devuelve verdadero si la colección está vacía; de lo contrario, devuelve falso.
Defina formalmente la operación sobre colecciones: notEmpty
Devuelve verdadero si la colección no está vacía; de lo contrario, devuelve falso.