La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Análisis Crítico de Metodología usadas en el Proceso de Reingeniería de Aplicaciones Orientadas a Objetos Facultad de Ingeniería - Universidad Austral.

Presentaciones similares


Presentación del tema: "Análisis Crítico de Metodología usadas en el Proceso de Reingeniería de Aplicaciones Orientadas a Objetos Facultad de Ingeniería - Universidad Austral."— Transcripción de la presentación:

1 Análisis Crítico de Metodología usadas en el Proceso de Reingeniería de Aplicaciones Orientadas a Objetos Facultad de Ingeniería - Universidad Austral Magdalena Cerviño - Gimena Moro Directora Gabriela Arévalo

2 Agenda Introducción Análisis de Conceptos Formales Estado del Arte Estado del Arte Generación de la guía de lectura Generación de la guía de lectura Conclusiones Conclusiones Trabajo Futuro Trabajo Futuro

3 introducción Tener que reemplazar sus sistemas de información Mantener un control de sus sistemas legacy. En la actualidad, las organizaciones enfrentan problemas como:

4 (Chikofsky) Recuperación de información sobre el diseño de un programa existente y el uso de esta información para reestructurar o reconstruir el programa existente, con vistas a adaptarlo a un cambio, a ampliarlo o a mejorar su calidad general, con el objetivo de conseguir una mayor facilidad de mantenimiento en el futuro (mantenimiento preventivo). (Chikofsky) REINGENIERIA introducción Para el adecuado mantenimiento de un sistema, es necesario aplicar:

5 introducción En un proceso de reingeniería completo identificaremos dos etapas: Reverse EngineeringForward Engineering

6 APORTE DE ESTE TRABAJO Generación de un estado del arte completo Desarrollo de una guía para asistir a los desarrolladores en la elección de las metodologías de reingenieria adecuadas, dependiendo en que etapa de la reingeniería se halla el sistema.

7 Por las ventajas que la misma provee para agrupar elementos basados en sus propiedades. Esto resulta vital para identicar metodologías con características similares y comprender como funciona un sistema. introducción Nos centraremos Analizar metodologías de reingeniería que utilicen el Análisis de Conceptos Formales (ACF), como herramienta de base. ¿Por qué esta metodología?

8 análisis de conceptos formales Es una rama de la teoría de Lattice. Permite identicar grupos signicativos de elementos que tienen propiedades comunes. Los elementos son llamados objetos y las propiedades, atributos. Técnica matemática que permite identicar estructuras conceptuales en un conjunto de datos. Introducida por Rudolf Wille, en 1982 y luego desarrollada por Ganter y Wille en 1999.

9 análisis de conceptos formales Comenzamos con un conjunto de elementos y propiedades de esos elementos AFC determina grupos maximáles de elementos y propiedades. A los que llamamos conceptos Cada concepto está formado por un conjunto de elementos que tienen una o más propiedades en común

10 análisis de conceptos formales EJEMPLO {Garfield, Snoopy, Willy, Lassie} Conjunto de Elementos Conjunto de Propiedades {Cartoon, Real, Perro, Gato, Ballena} Los elementos y propiedades se ordenan en una tabla de incidencia Tabla de Incidencia: muestra la relación entre los elementos y las propiedades

11 análisis de conceptos formales Tabla de Incidencia Existe una relación entre el elemento y la propiedad El elemento no posee relación con la propiedad correspondiente

12 análisis de conceptos formales El conjunto de elementos y propiedades junto con sus relaciones forman lo que se llama contexto formal Si O es el conjunto de elementos, A el conjunto de propiedades e I la relación binaria entre O y A Llamamos contexto formal C a (O,A,I) con I O x A La relación binaria I nos da la incidencia del conjunto de propiedades sobre el de elementos

13 análisis de conceptos formales El conjunto de elementos es llamado la extensión El conjunto de propiedades es llamado la intención Extensión e intención de los conceptos del ejemplo

14 análisis de conceptos formales A partir del conjunto de conceptos se construye el Lattice de conceptos

15 Estado del arte En esta sección presentaremos las metodologías analizadas para poder desarrollar la contribución de nuestro trabajo. Ademas del estado del arte, presentamos un análisis critico de cada una de las metodologías investigadas.

16 Estado del arte Sobre cada una de las publicaciones se realizo el siguiente análisis: Descripción Análisis critico Ventajas Desventajas Etapa de reingenieria en la que participa Lenguaje de aplicación Autor(es) Palabras claves

17 Estado del arte Identifying Object using Cluster and Concept Analysis Reverse Engineering of use case realizations in UML Aiding Program Comprenhension by Static and Dynamic Feature Analysis Feature-Driven Program Understanding Using Concept Analysis of Execution Concept Analysis for Module Restructuring A Scalable Approach to User-session based Testing of Web Applications through Concept Analysis Multi-Dimensional Concerns Mining for Web Applications via Concept-Analysis Using FCA to Suggest Refactorings to Correct Design Defects Applying Concept Formation Methods to Object Identication In Procedural Code Types and Concept Analysis for Legacy Systems

18 Estado del arte Locating Features in Source Code Reverse Engineering Aspectual Views using Formal Concept Analysis Revealing Java Class Structure with Concept Lattices Aspect Mining throught the Formal Concept Analysis of Execution Traces Clustering and Concept Analysis for Software Evolution Conceptual Code Mining: Mining for Source-Code Reguarities with Formal Concept Analysis Building Abstractions in Class Models: Formal Concept Analysis in a Model-Driven Approach ARES, Adding a class and REStructuring Inheritance Hierarchy On the Inference of Conguration Structures from Source Code

19 generación de la guía de lectura En esta sección explicaremos como generamos la guía de lectura usando Análisis de Conceptos Formales como herramienta de base y ademas clasicaremos las publicaciones analizadas en la sección anterior

20 generación de la guía de lectura Para construir la guía de lectura, se realizan los siguientes pasos:

21 generación de la guía de lectura 1. Construcción del contexto binario y lattice Nuestro contexto binario esta compuesto: por objetos O, que son las publicaciones, y atributos A, que son las palabras claves identicadas en cada una de ellas. La relación binaria R resulta del tipo contiene

22 generación de la guía de lectura 1. Construcción del contexto binario y lattice La figura muestra la Tabla de incidencia del contexto binario (entorno parcial)

23 La figura muestra el lattice resultante a partir de la tabla de incidencia. Para la generación del lattice hemos utilizado la herramienta Galicia 3.0 generación de la guía de lectura 1. Construcción del contexto binario y lattice

24

25 generación de la guía de lectura 2. Extracción de las jerarquías Las jerarquías se obtienen a partir de los nodos que son hijos del nodo top. Los nodos hijos representan las raíces de las jerarquías resultantes. A su vez los nodos que tienen como hijo el nodo bottom pasan a representar los nodos terminales de las respectivas jerarquías. El lattice genera un conjunto de jerarquías, que luego se usarán para construir la guía de lectura.

26 generación de la guía de lectura Para analizar las jerarquías obtenidas en el en el contexto del lattice resultante, hemos considerado los siguientes puntos de partida: 2. Extracción de las jerarquías

27 generación de la guía de lectura Ejemplos de las jerarquías obtenidas 2. Extracción de las jerarquías

28

29 generación de la guía de lectura 2. Extracción de las jerarquías

30 generación de la guía de lectura 2. Extracción de las jerarquías

31 generación de la guía de lectura 3. Construcción de la guía a partir de las jerarquías La guía de lectura que se propone a partir del lattice resultante tiene la metáfora de donde se propone como raíz un tema general, y luego en base a la elección del usuario se guía la lectura a temas más especicos.

32 generación de la guía de lectura Lo que le proponemos es la lectura de un conjunto de publicaciones desde dos puntos de vista: 3. Construcción de la guía a partir de las jerarquías

33 Explicaremos como se desarrollan ambas búsquedas: generación de la guía de lectura (3.1) Se le sugiere al usuario un conjunto de palabras claves desde las que se puede iniciar la búsqueda. Este conjunto se desprende de las intenciones reducidas de los atributos de los nodos hijos del conjunto top (nodos 3, 4, 6 y 2). Estas palabras claves son: {Object Identication, Concept Analysis, Object Oriented - Reverse Engineering, UML} 3. Construcción de la guía a partir de las jerarquías

34 (3.1) A través de un ejemplo mostraremos la navegación por una jerarquía. generación de la guía de lectura Tomamos como punto de partida el nodo 6, que tiene como intención reducida las palabras claves: {Object Oriented-Reverse Engineering } la extensión de este nodo muestra las publicaciones que analizan las claves mencionadas anteriormente. 3. Construcción de la guía a partir de las jerarquías

35 generación de la guía de lectura Si su respuesta es negativa, se le ofrece un conjunto de publicaciones {[BV00], [TM04]}, que tratan los temas relacionados con las palabras claves {Object Oriented-Reverse Engineering}, pero no sólo esos. (3.1)Se le pregunta al usuario si le interesa profundizar más en estos temas. Si su respuesta es armativa, se le ofrecen otros temas que están contenidos en la extensión del nodo padre. En el ejemplo, las opciones para continuar a través del nodo 33 o 20. Los temas que se proponen, para seguir profundizando, a partir del nodo 33 son {Aspect, Views}, por otro lado la propuesta a partir del nodo 20 es {Use Case}. 3. Construcción de la guía a partir de las jerarquías

36 generación de la guía de lectura Proponemos una automatización de esta búsqueda con un algoritmo implementado en el lenguaje Java. 3. Construcción de la guía a partir de las jerarquías

37

38 generación de la guía de lectura (3.2)El usuario propone una palabra clave sobre la que desea realizar una búsqueda. Se utiliza un algoritmo que recibe como parámetro de entrada la palabra clave solicitada por el usuario. Si encuentra la misma retorna las publicaciones asociadas a este tema. Si no la encuentra alerta al usuario que la palabra buscada no esta contenida en el lattice. 3. Construcción de la guía a partir de las jerarquías

39 4. Algoritmo de búsqueda generación de la guía de lectura Para automatizar la búsqueda de publicaciones en el lattice resultante, proponemos un algoritmo basado en la teoría de Búsqueda en Anchura. La búsqueda en anchura es un algoritmo de búsqueda sin información, que examina todos los nodos de un árbol sistemáticamente para buscar una solución. El algoritmo no usa ninguna estrategia heurística [BFS]. Basándonos en esta teoría formalizamos un algoritmo de búsqueda en anchura que permite localizar una o mas publicaciones a través de palabras claves. El mismo fue implementado en Java.

40 generación de la guía de lectura 4. Algoritmo de búsqueda

41

42 generación de la guía de lectura 4. Algoritmo de búsqueda La figura muestra el funcionamiento del paso a paso del algoritmo

43 conclusiones En este trabajo presentamos un estado del arte completo para el desarrollo de una guía de uso de metodologias basadas en el Análisis de Conceptos Formales, el cual permite guiar la investigación de un tema a elección.

44 Es importante remarcar las dos propuestas, que hacemos, sobre la lectura de un conjunto de publicaciones: conclusiones

45 Una dicultad que encontramos en el desarrollo de este trabajo fue que las metodologías analizadas abarcan en su gran mayoría el proceso de reverse engineering, dejando de lado el proceso de forward engineering. conclusiones

46 conclusiones Una ventaja obtenida fue la facilidad de la construcción de jerarquías a partir del lattice. Una desventaja encontrada fue que las jerarquías están sujetas al dominio.

47 trabajo futuro A continuación se detallan aquellas nuevas ideas que resultan más interesantes para su desarrollo en trabajos futuros: Desarrollar una herramienta visual que nos permita la navegación. Clasicar las publicaciones analizadas por conferencia en la que fue publicada, por año, o por autores, y evaluar los respectivos resultados. Proponer nuevas guía de lectura Desarrollar una herramienta visual que nos permita la navegación. Clasicar las publicaciones analizadas por conferencia en la que fue publicada, por año, o por autores, y evaluar los respectivos resultados. Proponer nuevas guía de lectura

48 Muchas gracias ¿PREGUNTAS?


Descargar ppt "Análisis Crítico de Metodología usadas en el Proceso de Reingeniería de Aplicaciones Orientadas a Objetos Facultad de Ingeniería - Universidad Austral."

Presentaciones similares


Anuncios Google