Asistente para la Reutilización de Modelos - 1 Asistente para la Reutilización de Modelos de objeto An. Renato M. ROSSELLO An. Rosana E. FLOREZ Ing. Esteban.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Fundamentos de Diseño de Software INFT.1
DISEÑO DE EXPERIMENTOS
Enfoques de desarrollo
TECNICATURA UNIVERSITARIA EN INFORMATICA
PROGRAMACION ORIENTADA A OBJETOS
Metodología de Trabajo de Auditoría Informática
Arquitectura CLARO-TECNOTREE
La Programación Orientado a Objetos
Fundamentos de Ingeniería de Software
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
Programación 1 Introducción
Aplicación del paradigma orientado a objetos
COMPUTER DATA SYSTEMS.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Universidad nacional de ingeniería Uni norte. Asignatura: Finanzas II
METODOLOGIA DE LA PROGRAMACION
4.- Orientación a Objetos Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA.
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
Abstracción de los datos y Orientación a Objeto Clase 13.
Métricas Web. Mediante las métricas Web, podemos calificar un sitio en función de su calidad, sumatorio de varios factores, comentados en el resto de.
PROGRAMACIÓN ORIENTADA A OBJETOS
Fundamentos de Programación
Introducción a la programación Orientada a objetos
SISTEMAS DE INFORMACIÓN 2 SISTEMAS DE INFORMACIÓN 2.
Definiciones de evaluación
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Especificación de Consultas M
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Programación Orientada a Aspectos (POA)
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
DISEÑO DE SOFTWARE 1ª. Parte
DIEGO ALEJANDRO PAREJA TORO SEBASTIAN CHAVARRIA LONDOÑO 10ª2 01/02/12.
CONCEPTOS BÁSICOS Diseño de Sistemas.
Ingeniería de Software Asistida por Computadora
Métricas Técnicas para Sistemas Orientados a Objeto
REINGENIERIA Alumno: Ronald Marquez A.W. Modulo: Ing. Software.
Análisis Léxico Área Software de Base.
Importancia en la efectividad del:
¿Qué son Los Lenguajes de Programación?
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Facultad de Ingeniería
Programación Orientada a Objeto
Programación orientada a objetos
Reuso y Reingeniería M.C. Juan Carlos Olivares Rojas.
Clase 1 M.C Pedro Bello López.
Métodos Cuantitativos
Ingeniería de Requisitos
Patrones de diseño equipo n.1
Programación orientada a objetos
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Métricas De Software OO
PROGRAMACIÓN IV INTRODUCCIÓN.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
La Programación Orientado a Objetos
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Clases “ Es una Abstracción de un elemento del mundo real ”
Diagrama de Clases.
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
Técnica de programación que utiliza abstracciones de la vida real (Objetos) como bloque esencial de construcción.
Curso de programación Visual Chart 6 (1ªEd.)
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
PROGRAMACION ORIENTADA A OBJETOS
Transcripción de la presentación:

Asistente para la Reutilización de Modelos - 1 Asistente para la Reutilización de Modelos de objeto An. Renato M. ROSSELLO An. Rosana E. FLOREZ Ing. Esteban PASTOR

Asistente para la Reutilización de Modelos - 2 Reusabilidad ]Reducción de costos de desarrollo y mantenimiento ]Aplicable al código y al diseño ]Gran difusión en OO ]Especificaciones de como deben ser los diseños para ser reusables (Patterns)

Asistente para la Reutilización de Modelos - 3 Reusabilidad Para reusar una solución, antes hay que encontrarla Si el tiempo para encontrar una clase reusable es mayor que el tiempo necesario para implementarla desde cero, la reusabilidad deja de ser una ventaja. - B.Meyer (1988)

Asistente para la Reutilización de Modelos - 4 ¿ Qué es ARM ? ]Una Estrategia de Reusabilidad tendiente a la recuperación de modelos de objeto previamente utilizados ]Una aplicación basada en esta Estrategia de Reusabilidad

Asistente para la Reutilización de Modelos - 5 Estrategia de Reusabilidad Apareo Modelo Global M odelo Recuperado Modelo a Buscar Reglas de Transformación Reglas de Recuperación Apareo por Atributos Apareo por Métodos Reglas de Ajuste Apareo por Herencia Apareo por Mensajes

Asistente para la Reutilización de Modelos - 6 Intersec/unión Apareo Herencia Apareo Mensajes Apareo Atri butos Apareo Métodos M. a Buscar M. Global M. Recuperado 2 M. Recuperado 1 Modelo Recuperado 12 Modelo Recuperado 3 M. Recuperado 4 M. Global Reglas de Transformación: Aplicación

Asistente para la Reutilización de Modelos º1º Reglas de Transformación Secuencia Recuperación por Atributos y/o Métodos Recuperación por Atributos Recuperación por Métodos

Asistente para la Reutilización de Modelos - 8 Estrategia de Reusabilidad Calidad de la Transformación Calidad de aceptación de Atributos y Métodos Clase de Smalltalk Clase a Buscar Modelo Global Modelo a Buscar Calidad de Apareo [0,1] Grado de semejanza entre el Modelo a Buscar y el Modelo Recuperado

Asistente para la Reutilización de Modelos - 9 Estructura del ARM Modelo Recuperado Modelo a Buscar Modelo Global 1234 Editor de Modelos Parámetros de Calidad de la Transformación Smalltalk Express Diccionario de Sinónimos

Asistente para la Reutilización de Modelos - 10 Modelo a Buscar Clase Herencia Mensaje Editor de Modelos

Asistente para la Reutilización de Modelos - 11 Modelo Global Variables de I Seleccionada Clase Seleccionada Definición de la Clase Seleccionada Variables de instancia o Clase Métodos de la Clase Seleccionada Jerarquía de Clases del Modelo Global Image de Smalltalk Express y Class Hierarchy Browser Especificación de Clases

Asistente para la Reutilización de Modelos - 12 Modelo Global Image de Smalltalk Express y Class Hierarchy Browser Definición de Métodos Declaración del Método Comentario Sentencias Selector del Método

Asistente para la Reutilización de Modelos - 13 Modelo Recuperado Atributos Apareados Métodos Apareados

Asistente para la Reutilización de Modelos - 14 Calidad del Modelo Recuperado ]Calidad Estructural del Apareo de pares de Clases ]Calidad de Apareo por Atributos ]Calidad de Apareo por Métodos ]Calidad de Apareo por Herencia ]Calidad de Apareo por Mensajes ]Calidad del Apareo del Modelo a Buscar con el Modelo Recuperado

Asistente para la Reutilización de Modelos - 15 Calidad Estructural

Asistente para la Reutilización de Modelos - 16 Calidad de Herencia

Asistente para la Reutilización de Modelos - 17 Calidad de Mensajes

Asistente para la Reutilización de Modelos - 18 Diccionario de Sinónimos Sinónimos de: Nombres de Clase Atributos Selectores de Métodos

Asistente para la Reutilización de Modelos - 19 Parámetros de calidad de la transformación Se clasifican en parámetros: de Apareo por Atributos de Apareo por Métodos de Apareo por Atributos y Métodos de Apareo por Herencia de Apareo por Mensajes generales del ARM de ubicación de archivos

Asistente para la Reutilización de Modelos - 20 Parámetros Generales del ARM Clases de Inicio - (ClaseInicio) Clases de Smalltalk tomadas como raíces del Modelo Global Tipo de Recuperación - (TipoRecuperación) (1,2,3) Criterio utilizado para la recuperación de clases: 1: recuperación por Atributos. 2: recuperación por Métodos. 3: recuperación por Atributos y/o Métodos. Intersección (0,1) 0: unión de clases recuperadas por Atributos y Métodos. 1: intersección de clases recuperadas por Atributos y Métodos.

Asistente para la Reutilización de Modelos - 21 Reglas de Transformación Modelo Global project Apareo por Atributos Modelo a Buscar Modelo Recuperado 1 sistema c mab c small Nom(c mab ) Atribs (c mab ) Atribs (c small ) EsVarDe(Atribs(c mab ) i, c small ) Atribs(c mab ) i sinónimos project proyecto

Asistente para la Reutilización de Modelos - 22 Parámetros de Apareo por Atributos Peso Nombre Clase ( PesoNomClase ) [0..1] importancia de coincidencia del nombre de clase. Mínima Calidad de Atributos Aceptada ( CalidadAceptAtributos ) [0..1] Calidad de Atributos mínima aceptada para una clase recuperada. Peso Coincidencia de Atributo Heredado ( PesoCoincidAtribHered ) [0..1] Importancia de un atributo heredado de una clase del Modelo a Buscar. Peso de Atributos (PesoAtributos) [0..1] Peso de la semejanza de atributos.

Asistente para la Reutilización de Modelos - 23 Parámetros de Apareo por Atributos y por Métodos Clases Ignoradas (ClasesIgnoradas) Clases de Smalltalk cuyas variables o métodos deben ignorarse. Porcentaje de Palabras para Raices (PorcRaizPal)[0..100] Porcentaje de la cadena que se conserva para obtener su raíz. Longitud Máxima Palabra (LongMaxPal) Longitud máxima de cadena para la cual no se extrae raíz. Comparación Exacta (CompExacta)(1,2,3) valor que define cuando dos cadenas son consideradas iguales. 1: coincidencia carácter a carácter. 2: inclusión de una cadena en la otra. 3: coincidencia de una cadena con prefijo de la otra. Peso de Coincidencia de un Sinónimo (PesoCoincidSinonim)[0..1] Peso de la coincidencia de un sinónimo. Peso de Estructura (PesoEstructura)[0..1] Peso de la semejanza estructural.

Asistente para la Reutilización de Modelos - 24 Usando Apareo por Atributos Modelo a Buscar

Asistente para la Reutilización de Modelos - 25 Usando Apareo por Atributos Modelo Recuperado

Asistente para la Reutilización de Modelos - 26 Reglas de Transformación Apareo por Métodos Modelo Global Modelo a Buscar Modelo Recuperado 2 c mab c small Métodos (c mab ) Método s (c small ) CoincidComp (comp jk,comp ik ) sinónimos posiciónaddNodePosaddNodePos comp ik comp (Selector j ) i j k k

Asistente para la Reutilización de Modelos - 27 Parámetros de Apareo por Métodos Mínima Calidad de Métodos Aceptada ( CalidadAceptMétodos ) [0..1] Calidad de Métodos mínima aceptada para una clase recuperada. Peso de Coincidencia de Métodos Heredados ( PesoCoincidMetodHered ) [0..1] Importancia de un método heredado de una clase del Modelo a Buscar. Mínima Calidad de un Método ( MinCalMetod )[0..1] Grado de semejanza mínimo para el cual se consideran dos selectores de métodos como semejantes.

Asistente para la Reutilización de Modelos - 28 Usando Apareo por Métodos Modelo Recuperado (Intersección)

Asistente para la Reutilización de Modelos - 29 Usando Apareo por Métodos Modelo Recuperado (Unión)

Asistente para la Reutilización de Modelos - 30 Reglas de Transformación Apareo por Herencia Modelo Global Modelo a Buscar Modelo Recuperado 3 h small-j Modelo Recuperado 12 Apareo Herencia (f h ) fhfh Herencia (MaB) h small-j CalidadHerencia (MaB, MR) Semejanza Estructural

Asistente para la Reutilización de Modelos - 31 Casos posibles en el análisis de herencia ]Entre clases Recuperadas y Coincidente en Orden ]Entre clases Recuperadas y No Coincidente en Orden ]Entre clases Recuperadas o No y Coincidente en Orden ]Entre clases Recuperadas o No y No Coincidente en Orden ]Sólo entre clases Recuperadas o No Apareo por Herencia

Asistente para la Reutilización de Modelos - 32 Entre clases Recuperadas y Coincidente en Orden

Asistente para la Reutilización de Modelos - 33 Entre clases Recuperadas y No Coincidente en Orden

Asistente para la Reutilización de Modelos - 34 Entre clases Recuperadas o No y Coincidente en Orden

Asistente para la Reutilización de Modelos - 35 Entre clases Recuperadas o No y No Coincidente en Orden

Asistente para la Reutilización de Modelos - 36 Sólo entre clases Recuperadas o No (Aporte Cualitativo)

Asistente para la Reutilización de Modelos - 37 Herencia de Orden Inverso ]las clases recuperadas no son realmente las que estamos buscando o sólo alguna de ellas es la que estamos buscando, ]las clases recuperadas son las que estamos buscando, pero existe un error de diseño en nuestro modelo, ]las clases recuperadas son las que estamos buscando, pero existe un error de diseño en el modelo previamente implementado o ]las clases recuperadas son las que estamos buscando, pero el problema que estamos analizando influye sobre la jerarquía de herencia de forma inversa al problema que se resolvió al implementar las clases recuperadas.

Asistente para la Reutilización de Modelos - 38 Parámetros de Apareo por Herencia UsaHerencia(0,1) 0: no se analiza la relación entre jerarquías de herencia. 1: se analiza la relación entre jerarquías de herencia. ClasesIntermedias (0,1) 0: no se usan clases intermedias. 1: se usan clases intermedias. Peso de las Clases Intermedias (PesoClasesIntermedias )[0..1] Peso de la incorporación de cada clase intermedia. Peso de Herencia (PesoHerencia) [0..1] Peso que tiene el Apareo por Herencia.

Asistente para la Reutilización de Modelos - 39 Usando Apareo por Herencia Modelo a Buscar

Asistente para la Reutilización de Modelos - 40 Usando Apareo por Herencia Modelo Recuperado sin Herencia

Asistente para la Reutilización de Modelos - 41 Usando Apareo por Herencia Modelo Recuperado con Herencia Clases Intermedias Recuperadas

Asistente para la Reutilización de Modelos - 42 Usando Apareo por Herencia Modelo a BuscarModelo Recuperado sin Herencia

Asistente para la Reutilización de Modelos - 43 Usando Apareo por Herencia Modelo Recuperado con Herencia Modelo Global

Asistente para la Reutilización de Modelos - 44 Reglas de Transformación Apareo por Mensajes Modelo Global Modelo a Buscar Modelo Recuperado 4 Modelo Recuperado 3 CalMensajes (MaB, MR) Semejanza Estructural mimi fsfs Mensajes (MaB) O mab D mab O small D small

Asistente para la Reutilización de Modelos º7º 8º8º Clases del Modelo Global Clase Semejante a Origen mab Clase Semejante a Destino mab A B C F E D Orden de Búsqueda de Mensajes

Asistente para la Reutilización de Modelos - 46 Parámetros de Apareo por Mensajes UsaMensajes (0,1) 0: no se analiza la relación entre mensajes. 1: se analiza la relación entre mensajes. Peso de Mensajes (PesoMensajes)[0..1] Peso que tiene el Apareo por Mensajes.

Asistente para la Reutilización de Modelos - 47 Usando Apareo por Mensajes Modelo a Buscar Modelo Recuperado sin Mensajes

Asistente para la Reutilización de Modelos - 48 Usando Apareo por Mensajes Modelo Recuperado con Mensajes Clases Añadidas por el Apareo por Mensajes

Asistente para la Reutilización de Modelos - 49 Calidad del Modelo

Asistente para la Reutilización de Modelos - 50 Algunas Características del ARM ]Flexibilidad ]Permite distintos niveles de abstracción en Modelo a Buscar y Modelo Recuperado (análisis y diseño) ]Permite distintos tipos de Modelo a Buscar y Modelo Recuperado (Parámetros de Ajuste) ]Modularidad ]Puede añadirse como asistente a otra herramienta de desarrollo (Arquitectura en capas)

Asistente para la Reutilización de Modelos - 51 Conclusiones ]Los atributos son más significativos para la recuperación ]El Apareo por Herencia sugiere mejoras en el diseño ]El Apareo por Mensajes sugiere nuevas funciones ]Existen valores recomendados para los parámetros según características del MaB y del M. R. ]El Ajuste de Parámetros mejora la recuperación.

Asistente para la Reutilización de Modelos - 52 A Futuro ]Implementación en C++ ]Ajuste inicial automático de los Parámetros de Configuración ]Incorporación del ARM a una herramienta CASE