SlideShare una empresa de Scribd logo
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

8 Most Effective Requirements Gathering Techniques.
8 Most Effective Requirements Gathering Techniques.8 Most Effective Requirements Gathering Techniques.
8 Most Effective Requirements Gathering Techniques.
Xebrio
 
Planificación y Modelado
Planificación y ModeladoPlanificación y Modelado
Planificación y ModeladoDiaNa González
 
Software Requirements and Specifications
Software Requirements and SpecificationsSoftware Requirements and Specifications
Software Requirements and Specifications
vustudent1
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
Wilfredo Mogollón
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
Daniel Valdivieso
 
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
eccutpl
 
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Software Guru
 
Análisis y especificación de requerimientos
Análisis y especificación de requerimientosAnálisis y especificación de requerimientos
Análisis y especificación de requerimientos
Franklin Parrales Bravo
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREAlejandro Leon
 
ICONIX
ICONIXICONIX
ICONIX
Anita Ortiz
 
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...MariaCapuzzo
 
Modelo rup
Modelo rupModelo rup
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
Ramiro Estigarribia Canese
 
Gestión del Cambio del Software
Gestión del Cambio del SoftwareGestión del Cambio del Software
Gestión del Cambio del Software
Iliana Maritza Burguan Valverde
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
Jose Patricio Bovet Derpich
 
Sesion 8 2 Demoras y Tablas en Dinámica de Sistemas
Sesion 8 2 Demoras y Tablas en Dinámica de SistemasSesion 8 2 Demoras y Tablas en Dinámica de Sistemas
Sesion 8 2 Demoras y Tablas en Dinámica de Sistemas
Samuel Prieto
 
Ingenieria software ejemplo
Ingenieria software ejemploIngenieria software ejemplo
Ingenieria software ejemplo
Danma O de Orozco
 
METODOLOGIA SCRUM
METODOLOGIA SCRUM METODOLOGIA SCRUM
METODOLOGIA SCRUM
Yenzy yaquelin Aragon Mayta
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
Enrique Cabello
 

La actualidad más candente (20)

8 Most Effective Requirements Gathering Techniques.
8 Most Effective Requirements Gathering Techniques.8 Most Effective Requirements Gathering Techniques.
8 Most Effective Requirements Gathering Techniques.
 
Planificación y Modelado
Planificación y ModeladoPlanificación y Modelado
Planificación y Modelado
 
Software Requirements and Specifications
Software Requirements and SpecificationsSoftware Requirements and Specifications
Software Requirements and Specifications
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
02 captura de requisitos
02 captura de requisitos02 captura de requisitos
02 captura de requisitos
 
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
 
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
 
Análisis y especificación de requerimientos
Análisis y especificación de requerimientosAnálisis y especificación de requerimientos
Análisis y especificación de requerimientos
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
 
ICONIX
ICONIXICONIX
ICONIX
 
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
 
Modelo rup
Modelo rupModelo rup
Modelo rup
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Gestión del Cambio del Software
Gestión del Cambio del SoftwareGestión del Cambio del Software
Gestión del Cambio del Software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Sesion 8 2 Demoras y Tablas en Dinámica de Sistemas
Sesion 8 2 Demoras y Tablas en Dinámica de SistemasSesion 8 2 Demoras y Tablas en Dinámica de Sistemas
Sesion 8 2 Demoras y Tablas en Dinámica de Sistemas
 
Ingenieria software ejemplo
Ingenieria software ejemploIngenieria software ejemplo
Ingenieria software ejemplo
 
METODOLOGIA SCRUM
METODOLOGIA SCRUM METODOLOGIA SCRUM
METODOLOGIA SCRUM
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 

Similar a Ingenieria inversa

1127082.ppt
1127082.ppt1127082.ppt
1127082.ppt
BlenMridaYucatn
 
Clase De Fds22
Clase De Fds22Clase De Fds22
Clase De Fds22
masa832
 
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 SOFTWARE
jose_rob
 
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
Moises Medina
 
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 software
José Antonio Sandoval Acosta
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
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 datos
Andre Gutierrez
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminos
Jose 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 software
Jesú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 Luces
PedroLuces3
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
Adrian Adrianza
 

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
 
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
 
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
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura 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
 

Más de Janes Durán

Taller metricas
Taller metricasTaller metricas
Taller metricas
Janes Durán
 
Plan de Gestion
Plan de GestionPlan de Gestion
Plan de Gestion
Janes Durán
 
Tipos de equipos
Tipos de equiposTipos de equipos
Tipos de equipos
Janes Durán
 
Taller 2 generalidasdes
Taller 2 generalidasdesTaller 2 generalidasdes
Taller 2 generalidasdes
Janes Durán
 
Articulo resumen
Articulo resumenArticulo resumen
Articulo resumen
Janes Durán
 
1151256 ref. bibliograficas
1151256 ref. bibliograficas1151256 ref. bibliograficas
1151256 ref. bibliograficas
Janes Durán
 
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
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

BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
Eder288265
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
NicolasGramajo1
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
DavidHunucoAlbornoz
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
RonaldRozoMora
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
arielemelec005
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
JonathanFernandoRodr
 

Último (20)

BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
 

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