SlideShare una empresa de Scribd logo
1 de 15
Ingeniería Inversa
Ingeniería Inversa
• Es el análisis de un sistema para identificar sus componentes actuales y las dependencias que existen entre ellos, para
extraer y crear abstracciones de dicho sistema e información de su diseño.
• Es el proceso de analizar el código, documentación y comportamiento de un sistema para identificar sus componentes
actuales y sus dependencias para extraer y crear una abstracción del sistema e información de diseño.
•Documentación inexistente o totalmente obsoleta.
•Programación en bloque de códigos muy grandes y/o sin estructurar.
•Inexistencia de documentación interna en los programas, o bien ésta es
incomprensible o está desfasada.
•La aplicación cubre gran parte de los requisitos y del rendimiento esperado.
•La aplicación está sujeta a cambios frecuentes, que pueden afectar a parte del
diseño.
•Se prevé que la aplicación pueda tener aún larga vida.
Aplicable a
Nivel de Abstracción
Tienen que ver con la sofisticación de la información de diseño que puede extraerse del código fuente.
El proceso de ingeniería inversa debe ser capaz de inferir representaciones de:
•Diseño procedimental (una abstracción de bajo nivel)
•Información de estructura de programa y datos (un nivel de abstracción un poco más alto)
•Modelos de objeto, modelos de datos y/o flujo de control (un nivel de abstracción relativamente alto)
•Modelos de relación de entidad (un nivel de abstracción alto).
Completitud
Se refiere al nivel de detalle que se proporciona en un nivel de abstracción. En la mayoría de los casos, la
completitud disminuye conforme aumenta el nivel de abstracción.
Por ejemplo, dada una lista de código fuente, es relativamente sencillo desarrollar una representación de
diseño procedimental completa. También pueden inferirse representaciones de diseño arquitectónico
simples, pero es mucho más difícil desarrollar un conjunto completo de diagramas o modelos UML.
Interactividad
La interactividad tiene que ver con el grado en el que el ser humano se “integra” con las herramientas
automatizadas para crear un proceso de ingeniería
inversa efectivo.
En la mayoría de los casos, conforme aumenta el nivel de abstracción, la interactividad debe aumentar o
decaerá la completitud.
Direccionalidad
Si la direccionalidad del proceso de ingeniería inversa es de una vía, toda la información extraída del código
fuente se proporciona al ingeniero de software que luego puede usarla, durante cualquier actividad de
mantenimiento.
Si la direccionalidad es de dos vías, la información se alimenta a una herramienta de reingeniería que
intenta reestructurar o regenerar el programa antiguo.
Proceso Ingeniería Inversa
Reestructuración
• La reestructuración del software modifica el código fuente y/o los datos en un intento de adecuarlo a futuros cambios.
• La reestructuración no modifica la arquitectura global del programa. Tiende a centrarse en los detalles de diseño de
módulos individuales y en estructuras de datos locales definidas dentro de los módulos.
Beneficios de la Reestructuración
• Programas de mayor calidad – con mejor documentación y menos complejidad, y ajustados a las prácticas y estándares de la ingeniería del software moderna.
• Reduce la frustración entre ingenieros del software que deban trabajar con el programa, mejorando por tanto la productividad y haciendo más sencillo el
aprendizaje.
• Reduce el esfuerzo requerido para llevar a cabo las actividades de mantenimiento.
• Hace que el software sea más sencillo de comprobar y de depurar.
Ingeniería inversa para comprender datos
En el nivel del sistema, las estructuras de datos globales con frecuencia se someten a reingeniería para acomodar los diferentes nuevos paradigmas.
Estructuras de datos internas. Las técnicas de ingeniería inversa para datos internos del programa se enfocan en la definición de clases de objetos. Esto se logra al examinar el
código del programa con la intención de agrupar variables del programa relacionadas. Por ejemplo, el registro de estructuras, archivos, listas y otras estructuras de datos con
frecuencia proporciona un indicador inicial de clases.
Estructura de la base de datos. La reingeniería de un esquema de base de datos en otro nuevo requiere comprender los objetos existentes y sus relaciones.
Ingeniería inversa de interfaces de usuario
Para comprender completamente una interfaz de usuario existente, deben especificarse la estructura y el comportamiento de la interfaz. Merlo et al. [Mer93] sugieren tres preguntas básicas que deben responderse conforme
comienza la ingeniería inversa de la UI.
• ¿Cuáles son las acciones básicas (por ejemplo, golpes de tecla y clics de ratón) que debe
procesar la interfaz?
• ¿Cuál es la descripción compacta de la respuesta de comportamiento del sistema a
dichas acciones?
La notación de modelado de comportamiento puede proporcionar un medio para desarrollar respuestas a las preguntas. Mucha de la información necesaria para crear un modelo de comportamiento puede obtenerse al observar la
manifestación externa de la interfaz existente. Pero información adicional necesaria para crear el modelo de comportamiento debe extraerse del código.
Es importante observar que un reemplazo de GUI puede no reflejar con exactitud la antigua interfaz. Por ejemplo, una antigua UI solicita que un usuario proporcione un factor de escala (que va de 1 a 10) para encoger o ampliar una
imagen gráfica. Una GUI sometida a reingeniería puede usar una barra de desplazamiento y ratón para lograr la misma función.
Bibliografía
Roger S. Pressman, P. (2010). Ingenieria del Software, un enfoque practico.
Connecticut: McGraw Hill; 7ma Edición
Gracias por su atención
Mayo 2018
Elizabeth Ramirez-1151256
José Hernandez-1151252
Janes Duran-1151238
Jhocel Suescun-1151241
Dumar Basto-1151222
Rafael Cano-1151216

Más contenido relacionado

La actualidad más candente

Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del softwareyeltsintorres18
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructuradoJorge Garcia
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareVictor Samaniego Neyra
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareLia IS
 
Unidad 2. programación estructurada
Unidad 2. programación estructuradaUnidad 2. programación estructurada
Unidad 2. programación estructuradaAlix Indriago
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Ambito del software
Ambito del softwareAmbito del software
Ambito del softwareJorge Reyes
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de softwareKola Real
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de softwareEdgardo Rojas
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareMoises Medina
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de DatosEnrique Cabello
 
fundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaarefundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaareLuz
 

La actualidad más candente (20)

Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del software
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructurado
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en Software
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de Software
 
Unidad 2. programación estructurada
Unidad 2. programación estructuradaUnidad 2. programación estructurada
Unidad 2. programación estructurada
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Ambito del software
Ambito del softwareAmbito del software
Ambito del software
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Presentación diseño sistemas sm
Presentación diseño sistemas smPresentación diseño sistemas sm
Presentación diseño sistemas sm
 
Modelo de proceso especializado
Modelo de proceso especializadoModelo de proceso especializado
Modelo de proceso especializado
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 
fundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaarefundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaare
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 

Similar a Ingenieria inversa

Clase De Fds22
Clase De Fds22Clase De Fds22
Clase De Fds22masa832
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de SoftwareCARMEN
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1preciadoag
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranMarijoalbarranb
 
Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9Vanessa Toral Yépez
 
Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9naviwz
 
Herramientas de modelaje de datos
Herramientas de modelaje de datosHerramientas de modelaje de datos
Herramientas de modelaje de datosAndre Gutierrez
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminosJose Risso
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
 
Fundamentos basicos del diseño de software
Fundamentos basicos del diseño de softwareFundamentos basicos del diseño de software
Fundamentos basicos del diseño de softwareJesús Molleda
 
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPresentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPedroLuces3
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1zurda21
 

Similar a Ingenieria inversa (20)

Ingenieria inversa
Ingenieria inversaIngenieria inversa
Ingenieria inversa
 
1127082.ppt
1127082.ppt1127082.ppt
1127082.ppt
 
Clase De Fds22
Clase De Fds22Clase De Fds22
Clase De Fds22
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de Software
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1
 
Tareasemana1
Tareasemana1Tareasemana1
Tareasemana1
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 
Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9
 
Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9
 
Herramientas de modelaje de datos
Herramientas de modelaje de datosHerramientas de modelaje de datos
Herramientas de modelaje de datos
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminos
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
Fundamentos basicos del diseño de software
Fundamentos basicos del diseño de softwareFundamentos basicos del diseño de software
Fundamentos basicos del diseño de software
 
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPresentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
Clase7
Clase7Clase7
Clase7
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
 
Presentacion
PresentacionPresentacion
Presentacion
 

Más de Janes Durán

Más de Janes Durán (11)

Cmmi
CmmiCmmi
Cmmi
 
Taller metricas
Taller metricasTaller metricas
Taller metricas
 
Cpm
CpmCpm
Cpm
 
Pert
PertPert
Pert
 
Plan de Gestion
Plan de GestionPlan de Gestion
Plan de Gestion
 
Tipos de equipos
Tipos de equiposTipos de equipos
Tipos de equipos
 
Taller 2 generalidasdes
Taller 2 generalidasdesTaller 2 generalidasdes
Taller 2 generalidasdes
 
Articulo resumen
Articulo resumenArticulo resumen
Articulo resumen
 
Articulo acm
Articulo acmArticulo acm
Articulo acm
 
1151256 ref. bibliograficas
1151256 ref. bibliograficas1151256 ref. bibliograficas
1151256 ref. bibliograficas
 
Pruebas de aceptacion info vaie 1151238_1151252_1151256
Pruebas de aceptacion info vaie 1151238_1151252_1151256Pruebas de aceptacion info vaie 1151238_1151252_1151256
Pruebas de aceptacion info vaie 1151238_1151252_1151256
 

Último

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
AVANCE EXPEDIENTE TECNICO POROTO - TRUJILLO
AVANCE EXPEDIENTE TECNICO POROTO - TRUJILLOAVANCE EXPEDIENTE TECNICO POROTO - TRUJILLO
AVANCE EXPEDIENTE TECNICO POROTO - TRUJILLOSANTOSESTANISLAORODR
 
Final Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos infoFinal Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos infoMEYERQuitoSalas
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxHarryArmandoLazaroBa
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfAnonymous0pBRsQXfnx
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 

Último (20)

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
AVANCE EXPEDIENTE TECNICO POROTO - TRUJILLO
AVANCE EXPEDIENTE TECNICO POROTO - TRUJILLOAVANCE EXPEDIENTE TECNICO POROTO - TRUJILLO
AVANCE EXPEDIENTE TECNICO POROTO - TRUJILLO
 
Final Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos infoFinal Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos info
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptx
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdf
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 

Ingenieria inversa

  • 1.
  • 3. Ingeniería Inversa • Es el análisis de un sistema para identificar sus componentes actuales y las dependencias que existen entre ellos, para extraer y crear abstracciones de dicho sistema e información de su diseño. • Es el proceso de analizar el código, documentación y comportamiento de un sistema para identificar sus componentes actuales y sus dependencias para extraer y crear una abstracción del sistema e información de diseño.
  • 4. •Documentación inexistente o totalmente obsoleta. •Programación en bloque de códigos muy grandes y/o sin estructurar. •Inexistencia de documentación interna en los programas, o bien ésta es incomprensible o está desfasada. •La aplicación cubre gran parte de los requisitos y del rendimiento esperado. •La aplicación está sujeta a cambios frecuentes, que pueden afectar a parte del diseño. •Se prevé que la aplicación pueda tener aún larga vida. Aplicable a
  • 5. Nivel de Abstracción Tienen que ver con la sofisticación de la información de diseño que puede extraerse del código fuente. El proceso de ingeniería inversa debe ser capaz de inferir representaciones de: •Diseño procedimental (una abstracción de bajo nivel) •Información de estructura de programa y datos (un nivel de abstracción un poco más alto) •Modelos de objeto, modelos de datos y/o flujo de control (un nivel de abstracción relativamente alto) •Modelos de relación de entidad (un nivel de abstracción alto).
  • 6. Completitud Se refiere al nivel de detalle que se proporciona en un nivel de abstracción. En la mayoría de los casos, la completitud disminuye conforme aumenta el nivel de abstracción. Por ejemplo, dada una lista de código fuente, es relativamente sencillo desarrollar una representación de diseño procedimental completa. También pueden inferirse representaciones de diseño arquitectónico simples, pero es mucho más difícil desarrollar un conjunto completo de diagramas o modelos UML.
  • 7. Interactividad La interactividad tiene que ver con el grado en el que el ser humano se “integra” con las herramientas automatizadas para crear un proceso de ingeniería inversa efectivo. En la mayoría de los casos, conforme aumenta el nivel de abstracción, la interactividad debe aumentar o decaerá la completitud.
  • 8. Direccionalidad Si la direccionalidad del proceso de ingeniería inversa es de una vía, toda la información extraída del código fuente se proporciona al ingeniero de software que luego puede usarla, durante cualquier actividad de mantenimiento. Si la direccionalidad es de dos vías, la información se alimenta a una herramienta de reingeniería que intenta reestructurar o regenerar el programa antiguo.
  • 10. Reestructuración • La reestructuración del software modifica el código fuente y/o los datos en un intento de adecuarlo a futuros cambios. • La reestructuración no modifica la arquitectura global del programa. Tiende a centrarse en los detalles de diseño de módulos individuales y en estructuras de datos locales definidas dentro de los módulos.
  • 11. Beneficios de la Reestructuración • Programas de mayor calidad – con mejor documentación y menos complejidad, y ajustados a las prácticas y estándares de la ingeniería del software moderna. • Reduce la frustración entre ingenieros del software que deban trabajar con el programa, mejorando por tanto la productividad y haciendo más sencillo el aprendizaje. • Reduce el esfuerzo requerido para llevar a cabo las actividades de mantenimiento. • Hace que el software sea más sencillo de comprobar y de depurar.
  • 12. Ingeniería inversa para comprender datos En el nivel del sistema, las estructuras de datos globales con frecuencia se someten a reingeniería para acomodar los diferentes nuevos paradigmas. Estructuras de datos internas. Las técnicas de ingeniería inversa para datos internos del programa se enfocan en la definición de clases de objetos. Esto se logra al examinar el código del programa con la intención de agrupar variables del programa relacionadas. Por ejemplo, el registro de estructuras, archivos, listas y otras estructuras de datos con frecuencia proporciona un indicador inicial de clases. Estructura de la base de datos. La reingeniería de un esquema de base de datos en otro nuevo requiere comprender los objetos existentes y sus relaciones.
  • 13. Ingeniería inversa de interfaces de usuario Para comprender completamente una interfaz de usuario existente, deben especificarse la estructura y el comportamiento de la interfaz. Merlo et al. [Mer93] sugieren tres preguntas básicas que deben responderse conforme comienza la ingeniería inversa de la UI. • ¿Cuáles son las acciones básicas (por ejemplo, golpes de tecla y clics de ratón) que debe procesar la interfaz? • ¿Cuál es la descripción compacta de la respuesta de comportamiento del sistema a dichas acciones? La notación de modelado de comportamiento puede proporcionar un medio para desarrollar respuestas a las preguntas. Mucha de la información necesaria para crear un modelo de comportamiento puede obtenerse al observar la manifestación externa de la interfaz existente. Pero información adicional necesaria para crear el modelo de comportamiento debe extraerse del código. Es importante observar que un reemplazo de GUI puede no reflejar con exactitud la antigua interfaz. Por ejemplo, una antigua UI solicita que un usuario proporcione un factor de escala (que va de 1 a 10) para encoger o ampliar una imagen gráfica. Una GUI sometida a reingeniería puede usar una barra de desplazamiento y ratón para lograr la misma función.
  • 14. Bibliografía Roger S. Pressman, P. (2010). Ingenieria del Software, un enfoque practico. Connecticut: McGraw Hill; 7ma Edición
  • 15. Gracias por su atención Mayo 2018 Elizabeth Ramirez-1151256 José Hernandez-1151252 Janes Duran-1151238 Jhocel Suescun-1151241 Dumar Basto-1151222 Rafael Cano-1151216