OOMETHOD UNA APUESTA POR LA INTEGRACIN DE TCNICAS

  • Slides: 20
Download presentation
OO-METHOD : UNA APUESTA POR LA INTEGRACIÓN DE TÉCNICAS FORMALES Y SEMI-FORMALES EN LA

OO-METHOD : UNA APUESTA POR LA INTEGRACIÓN DE TÉCNICAS FORMALES Y SEMI-FORMALES EN LA INGENIERÍA DE REQUISITOS NERIEN ANDREA PINILLA SARMIENTO INGENIERÍA DE SISTEMAS UNIVERSIDAD DE LOS LLANOS

INTRODUCCIÓN Uno de los trabajos desarrollados más interesante es OO-Method una metodología de desarrollo

INTRODUCCIÓN Uno de los trabajos desarrollados más interesante es OO-Method una metodología de desarrollo de software orientado a objetos que pretende integrar todos nuestros resultados (herramientas y métodos), promoviendo el uso de lenguajes de especificación formales con propuestas semi-formales de análisis y diseño. Esta metodología integra OASIS, un lenguaje de especificación formal OO, desarrollado en el seno del grupo, y los modelos gráficos de análisis propuestos en la metodología, eliminando la ambigüedad de éstos y poniendo en práctica las interesantes propiedades de los lenguajes de especificación formales. Una de las contribuciones más relevantes de OO-Method es que se genera de forma automática la especificación del sistema en OASIS a partir de los modelos gráficos obtenidos en la fase de análisis, y dicha especificación puede servir como documentación del sistema.

CARACTERISTICAS: Ingeniería de requisitos y modelado conceptual � En cualquier proceso de ingeniería se

CARACTERISTICAS: Ingeniería de requisitos y modelado conceptual � En cualquier proceso de ingeniería se realizan las siguientes tareas de forma cíclica : analizar las necesidades, sintetizar el diseño del producto, simular el diseño para descubrir necesidades no cubiertas, evaluar el diseño para encontrar las necesidades del usuario, y elegir un diseño iterando sobre este ciclo hasta encontrar el diseño satisfactorio. En este proceso, el factor clave es la simulación antes de la implantación. En el contexto del desarrollo de productos de software, las técnicas de simulación son muy útiles y entre las más utilizadas se encuentran el prototipado de “usar y tirar” y las técnicas de especificación formal que nos sirven para descubrir las propiedades del producto a implantar. � La ingeniería de requisitos se define como la aplicación de la resolución de problemas de forma racional al análisis de las necesidades del usuario. Asumimos que la salida de esta tarea es un conjunto de propiedades que el producto ha de poseer, llamada especificación de requisitos del producto.

CARACTERISTICAS � Dada una lista de propiedades de un producto, la tarea del modelado

CARACTERISTICAS � Dada una lista de propiedades de un producto, la tarea del modelado conceptual es encontrar una descripción explícita del comportamiento externo de un sistema. Un modelo conceptual puede especificarse informalmente (lenguaje natural puro), semiformalmente (lenguaje natural restringido o con la ayuda de diagramas) o formalmente (por ejemplo, con formalismos lógicos y/o algebraicos). � La razón que nos lleva a separar la ingeniería de requisitos del modelado conceptual es que la ingeniería de requisitos se centra en la utilidad y el modelado conceptual se centra en la validez. En la ingeniería de requisitos estamos especificando una respuesta a una necesidad del usuario, y en el modelado conceptual intentamos especificar dicha respuesta correctamente. � En el modelado conceptual, el ciclo que hemos propuesto anteriormente para resolver problemas se especializa en el siguiente : analizar las propiedades que ha de tener el producto, inducir un modelo conceptual del comportamiento del producto, probar el modelo y evaluar los resultados de la prueba para comprobar si el modelo describe correctamente el comportamiento que ha de tener el sistema.

Integración de técnicas semi-formales y formales de modelado conceptual orientado a objetos � Los

Integración de técnicas semi-formales y formales de modelado conceptual orientado a objetos � Los lenguajes de especificación formales OO como OASIS , Oblog, Troll, se están desarrollando utilizando una fuerte base matemática, proporcionando un marco riguroso en el cual especificar sistemas de información OO. Los lenguajes formales por su parte están basados en la investigación académica y ahora están empezado a aplicarse en proyectos de desarrollo de software. � La utilización de estas técnicas formales conlleva un esfuerzo considerable a asumir por las organizaciones productoras de software. Dicho esfuerzo será positivo si es menos caro y se descubren más propiedades relevantes del sistema que utilizando prototipos de “usar y tirar” o prototipos evolutivos. � Si conseguimos combinar los métodos de modelado conceptual y los lenguajes de especificación formal podemos conseguir reducir el esfuerzo y la complejidad inherente a la utilización de estas técnicas, incluso podemos llegar a hacer transparente el uso de lenguajes de especificación formales obteniendo el beneficio de su utilización, y eliminando el esfuerzo adicional.

Efectos positivos de la integración � Los lenguajes de especificación formales nos pueden ayudar

Efectos positivos de la integración � Los lenguajes de especificación formales nos pueden ayudar a descubrir y eliminar ambigüedades y elementos de dudosa utilidad en la técnicas de representación informales que utilizan los métodos de análisis OO. � La combinación de los métodos de análisis OO y los lenguajes de especificación nos puede ayudar a que se utilicen mucho más los lenguajes de especificación formales con las ventajas que ello supone. � Los lenguajes de especificación suelen estar asociados a un sistema de inferencia lógica, lo que combinado con los métodos de análisis nos permite disponer de herramientas CASE que facilitan la animación / prototipación de los modelos conceptuales obtenidos en la fase de Análisis.

Method y OASIS : Un camino hacia la integración Unido a la aparición de

Method y OASIS : Un camino hacia la integración Unido a la aparición de OASIS se creó sobre sus bases formales OO-Method , en principio simplemente como un soporte gráfico para realizar el modelado en fase de Análisis, pero que ha ido evolucionando hacia una metodología de desarrollo basada en el paradigma de la programación automática, y que en la siguiente sección presentaremos. Fundamentalmente la intención de OOMethod ha sido integrar las técnicas semi-formales más conocidas y utilizadas a nivel industrial con las técnicas formales de especificación. A continuación vamos a contar brevemente cómo hemos conseguido la integración tan deseada. Las características necesarias para facilitar la integración con OASIS, aunque siempre procurando mantener la imagen que dan los métodos semi-formales más aceptados en el mundo industrial a llevado al siguiente modelado: � Modelo de objetos : representado por medio del Diagrama de Configuración de Clases, un modelo gráfico donde las clases son las unidades básicas de modelado, y en las que se incluyen sus atributos y sus servicios. También se pueden representar gráficamente las relaciones de agregación y herencia entre clases, y se incluye la representación de qué agentes pueden activar los servicios que proporciona cada una de las clases. � Modelo dinámico : utilizado para especificar las vidas válidas de los objetos de cada una de las clases y la interacción interobjetual. Para describir las vidas válidas de los objetos, utilizamos un Diagrama de Transición entre Estados (uno para cada clase). Para representar la interacción entre los objetos utilizamos un Diagrama de Interacción entre Objetos (uno para cada sistema).

� Modelo funcional : Posee una capa software que proporciona un diálogo interactivo con

� Modelo funcional : Posee una capa software que proporciona un diálogo interactivo con el analista para poder obtener de forma amigable toda la información necesaria para especificar los efectos de los eventos sobre los objetos del sistema. Este diálogo interactivo asume por parte del analista el conocimiento de determinados conceptos básicos inherentes a OOMethod, como son la categorización de los atributos de los objetos y las condiciones que determinan el efecto que sobre un atributo tiene la ocurrencia de un evento o de una acción

CASE OO-Method : La integración es una realidad �Una vez hemos conseguido combinar las

CASE OO-Method : La integración es una realidad �Una vez hemos conseguido combinar las técnicas de especificación semi-formales (modelos gráficos de análisis) y las formales (OASIS) ya tenemos una base para desarrollar por completo OO-Method como una Metodología de Producción Automática de Software Orientado a Objetos basada en el paradigma de la programación automática, cuyo objetivo es aunar las propiedades interesantes de los lenguajes de especificación formales con el pragmatismo y el espíritu productivo que poseen las habituales metodologías informales.

1. OO-Method : Una aproximación al paradigma de la programación automática �Varias áreas de

1. OO-Method : Una aproximación al paradigma de la programación automática �Varias áreas de la ingeniería de requisitos y a la experiencia adquirida en diversos proyectos hemos conseguido asociar toda la tecnología desarrollada para proponer OO-Method, un marco de trabajo en el cual de forma integrada se proporcionan heurísticas y herramientas para construir software de calidad siguiendo las pautas que propone Balzer en el paradigma de la programación automática.

�A partir de una especificación de requisitos informal construimos mediante editores gráficos los modelos

�A partir de una especificación de requisitos informal construimos mediante editores gráficos los modelos del Análisis (objetual, dinámico y funcional) para describir la sociedad de objetos desde tres puntos de vista complementarios en un marco orientado a objetos bien definido, o directamente mediante editores textuales escribimos la especificación en OASIS equivalente. �Cuando en la fase de análisis obtenemos un modelo consistente del sistema podemos generar automáticamente la especificación formal en OASIS (la herramienta de diseño de OO-Method) mediante un proceso de traducción de los modelos y la información introducida a través del entorno gráfico. Dicha especificación actúa como un diccionario de datos del sistema en el cual se incluyen todas las propiedades de las clases que lo conforman.

�A partir de la especificación, se obtienen de forma automática prototipos en entornos declarativos

�A partir de la especificación, se obtienen de forma automática prototipos en entornos declarativos (basados en Prolog) y/o imperativos (especialmente en entornos visuales). Los prototipos se utilizan para animar el sistema y detectar requisitos que no se habían tenido en cuenta, además para validar los modelos del sistema y conseguir un modelo correcto. �El proceso de la Figura 4 es iterativo, y a través de la realimentación del usuario, el analista refina la especificación hasta conseguir un modelo y una especificación de requisitos que se adapte a las necesidades del usuario. Todavía queda mucho trabajo por realizar y se está mejorando continuamente el proceso con la intención de llegar a obtener un producto final a través de un proceso completamente formalizado.

Las principales contribuciones de OO-Method son las siguientes : �� La facilidad de generación

Las principales contribuciones de OO-Method son las siguientes : �� La facilidad de generación automática de código en entornos de programación visuales y declarativos. ��La mezcla de los métodos clásicos OO con los lenguajes de especificación formales, aportando por una parte el bagaje de la práctica en el desarrollo del software y por otra el de la teoría matemática.

2. CASE OO-Method �La Metodología está soportada en todas sus fases por una herramienta

2. CASE OO-Method �La Metodología está soportada en todas sus fases por una herramienta CASE que permite realizar en un entorno gráfico bajo MS Windows todas las tareas presentes en OO -METHOD, y que está siendo aplicada a nivel de prototipo en la resolución de sistemas complejos reales. El trabajo de implantación y aplicación se está realizando en el marco del IMPIVA dentro un proyecto conjunto de I+D desarrollado entre el DSIC y Consoft S. A. �Esta herramienta permite simplificar las tareas de análisis, diseño e implantación de Sistemas de Información desde una perspectiva OO, proporcionando una interfaz de trabajo gráfica y amigable que posibilita la elaboración de los modelos asociados a OO-Method.

La herramienta gestiona los tres modelos de OO-Method : • El modelo de objetos,

La herramienta gestiona los tres modelos de OO-Method : • El modelo de objetos, representado a través del Diagrama de Configuración de Clases (DCC). • El representado por el Diagrama de Transición de Estados (DTE) y el Diagrama de Interacción entre Objetos (DIO) • El modelo funcional a través de un diálogo interactivo con el usuario. Un Sistema de Información con esta herramienta, se puede obtener su especificación en OASIS, obtenida a partir de los modelos comentados, y un prototipo funcionalmente equivalente a dicha especificación en un lenguaje de programación visual en un entorno Windows ( Visual C++, Delphi, Java, . . ). Figura 5 CASE OO-Method

CONCLUSION �El área de la ingeniería de requisitos, y en general en la ingeniería

CONCLUSION �El área de la ingeniería de requisitos, y en general en la ingeniería del software, haciendo hincapié en OO-Method una metodología de producción de software basada en el paradigma de la programación automática y en los principios del modelo Orientado a Objetos. �Se subrayan especialmente las características novedosas que aporta, (modelos gráficos de análisis) con técnicas formales como es OASIS, un lenguaje de especificación formal orientado a objetos y además, cómo se consigue generar código en entornos imperativos y declarativos a partir de los modelos de análisis. �Se presenta una herramienta CASE ya desarrollada que sustenta la metodología, y que está siendo utilizada en entornos industriales para su experimentación y ampliación.

BIBLIOGRAFIA �Balzer R. et al. Software Technology in the 1990 s: Using a New

BIBLIOGRAFIA �Balzer R. et al. Software Technology in the 1990 s: Using a New Paradigm IEEE Computer, Nov. 1983 �Booch, G. Object Oriented Design with Applications. The Benjamin/Cummings Publishing Company Inc. 1994 �Brooks, F. No Silver Bullet : Essence and Accident of Software Engineering. IEEE Computer vol 20(4), p. 12, Abril 1987 �Canós J. H, OASIS : Un lenguaje único para Bases de Datos Orientadas a Objetos, Tesis Doctoral dirigida por Isidro Ramos, Octubre 1996, DSIC-UPV (Valencia).

GRACIAS

GRACIAS