0% encontró este documento útil (0 votos)
32 vistas4 páginas

Calidad de Software TEMA 5

El documento describe el Lenguaje de Consulta Objetual (OCL), un lenguaje de modelado formal utilizado para especificar restricciones en modelos UML, destacando sus características como ser declarativo, formal y preciso. Se enumeran cinco aplicaciones prácticas de OCL, como la especificación de invariantes de clase y la definición de precondiciones, así como cinco herramientas que implementan OCL, incluyendo Eclipse Modeling Framework y IBM Rational Software Architect.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas4 páginas

Calidad de Software TEMA 5

El documento describe el Lenguaje de Consulta Objetual (OCL), un lenguaje de modelado formal utilizado para especificar restricciones en modelos UML, destacando sus características como ser declarativo, formal y preciso. Se enumeran cinco aplicaciones prácticas de OCL, como la especificación de invariantes de clase y la definición de precondiciones, así como cinco herramientas que implementan OCL, incluyendo Eclipse Modeling Framework y IBM Rational Software Architect.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Calidad de Software

TEMA 5
Juan Manuel González DIaz 08/05/2024
2
Juan Manuel González Díaz

Definición:
Es un lenguaje de modelado formal que se utiliza para describir expresiones sobre
modelos en un sistema UML (Lenguaje Unificado de Modelado). OCL fue
desarrollado por IBM y posteriormente adoptado por el Object Management Group
(OMG) como parte de la especificación UML. Es un lenguaje declarativo puro, usado
para especificar invariante de clases, precondiciones, postcondiciones, y guardas de
operaciones sin cambiar el comportamiento de las aplicaciones.

5 Características:
1. Declarativo: OCL permite especificar lo que debe cumplir el modelo o los
datos sin definir cómo se debe lograr eso, diferenciándose de los lenguajes
de programación imperativos que requieren la descripción de la lógica de
control.
2. Formal y Preciso: Al ser un lenguaje formal, OCL elimina ambigüedades en
las especificaciones UML, permitiendo una descripción exacta y
matemáticamente precisa de las restricciones del modelo.
3. Independiente del Contexto de Implementación: Las restricciones OCL son
independientes del lenguaje de programación en el que se implementará el
sistema, facilitando así un uso más amplio en diversas plataformas y
tecnologías.
4. Extensibilidad: OCL puede ser utilizado para cualquier modelo MOF (Meta
Object Facility), no solo UML, lo que amplía su aplicación a otros estándares
de modelado.
5. Soporte para Consultas: Además de especificar restricciones, OCL también
se utiliza para formular consultas sobre el modelo UML, similar a cómo se
utilizan las consultas SQL en bases de datos.

5 aplicaciones:
3
Juan Manuel González Díaz

Especificación de Invariantes de Clase:


● Ejemplo: En una clase “Person”, una invariante podría asegurar que la edad de
la persona siempre sea positiva.

Definición de Precondiciones para Operaciones:


● Ejemplo: Antes de ejecutar una operación que asigna un proyecto a un
empleado, se puede exigir que el empleado no esté ya asignado a otro
proyecto.

Especificación de Postcondiciones:
● Ejemplo: Después de crear un nuevo empleado, la cantidad de empleados
debe incrementarse en uno.

Guardas en Transiciones de Estados:


● Ejemplo: Un cambio de estado en un proceso de aprobación sólo puede
ocurrir si todos los documentos requeridos están presentes.

Consultas sobre el Modelo:


● Ejemplo: Encontrar todos los empleados mayores de 40 años.

5 herramientas:
1. Eclipse Modeling Framework (EMF):
4
Juan Manuel González Díaz

● Implementa OCL para la definición de restricciones y la generación de


código en proyectos de modelado basados en Eclipse.
2. IBM Rational Software Architect:
● Permite modelar aplicaciones utilizando UML y OCL para especificar
detalladamente los aspectos del modelo.
3. MagicDraw:
● Una herramienta de modelado UML que soporta OCL para la definición
de restricciones en modelos UML.
4. Visual Paradigm:
● Ofrece soporte para OCL en su entorno de modelado UML, permitiendo
a los usuarios especificar restricciones y ejecutar consultas OCL sobre
los modelos.
5. OCLint:
● Aunque más centrado en el análisis estático del código fuente, OCLint
comparte principios similares con OCL en términos de proporcionar un
mecanismo para imponer restricciones en la construcción de código.

También podría gustarte