SlideShare una empresa de Scribd logo
1 de 25
MAECENAS SED 
DIAM EGET RISUS 
VARIUS BLANDIT 
SIT AMET NON. 
AENEAN LAC 
BIBENDUM NULLA 
CONSECTETUR. 
INGENIERÍA DE SOFTWARE 
LOREM IPSUM 
DOLOR AMET, 
CONSECTETUR 
ADIPISCI ELIT. 
CRAS JUSTO 
ODIO, DAPIBUS 
AC FACILISIS IN, 
EGESTAS EGET 
QUAM. 
REINGENIERÍA 
MAECENAS 
FAUCIBUS MOLLIS 
INTERDUM. 
ETIAM PORTA 
MALESUADA 
MAGNA MOLLIS 
EUISMOD.
MAECENAS SED 
DIAM EGET RISUS 
VARIUS BLANDIT 
SIT AMET NON. 
LA REINGENIERÍA ES EL REDISEÑO DE UN PROCESO EN UN 
NEGOCIO O UN CAMBIO DRÁSTICO, ES COMENZAR DE CERO, ES 
UN CAMBIO DE TODO O NADA, ADEMÁS ORDENA A LA EMPRESA 
AENEAN LAC 
BIBENDUM NULLA 
CONSECTETUR. 
ALREDEDOR DE LOS PROCESOS. PARA QUE UNA EMPRESA 
ADOPTE EL CONCEPTO DE REINGENIERÍA, TIENE QUE SER 
CAPAZ DE DESHACERSE DE LAS REGLAS Y POLÍTICAS 
LOREM IPSUM 
DOLOR AMET, 
CONSECTETUR 
ADIPISCI ELIT. 
REINGENIERÍA 
CRAS JUSTO 
ODIO, DAPIBUS 
AC FACILISIS IN, 
EGESTAS EGET 
QUAM. 
MAECENAS 
FAUCIBUS MOLLIS 
INTERDUM. 
ETIAM PORTA 
MALESUADA 
MAGNA MOLLIS 
CONVENCIONALES EUISMOD. 
QUE APLICABA CON ANTERIORIDAD Y ESTAR 
ABIERTA A LOS CAMBIOS POR MEDIO DE LOS CUALES SUS
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
Las organizaciones de software deberían tener un 
inventario de todas sus aplicaciones. El inventario 
tal vez no sea más que un modelo en una hoja de 
cálculo que contenga información que proporcione 
una descripción detallada (tamaño, edad, 
importancia para el negocio) de las aplicaciones 
activas. Es importante señalar que el inventario 
deberá visitarse con regularidad, el estado de las 
aplicaciones puede cambiar en función del tiempo 
y, como resultado, cambiaran las prioridades para 
la reingeniería.
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
La documentación débil es la marca de muchos 
sistemas heredados. ¿Pero que se hace acerca de 
ello? ¿Cuáles son las opciones?. 
1. Crear documentación consume mucho tiempo, si 
el sistema funciona vivirá con lo que tenga. No 
es posible recrear documentación para cientos 
de programa de computadora. Si un programa 
es relativamente estático está llegando al final 
de su vida útil, por lo que es improbable que 
experimente un cambio significativo.
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
2. La documentación debe actualizarse pero se 
tiene recursos limitados. Se utilizara un enfoque 
de “documentar cuando se toque”. Tal vez sea 
innecesario volver a documentar por completo la 
aplicación. En cambio, se documentan 
completamente aquellas porciones del sistema 
que en la actualidad experimentan cambios. Con 
el tiempo evolucionará una colección de 
documentación útil y relevante.
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
3. El sistema es crucial para el negocio y debe 
volver a documentarse por completo. Incluso en 
este caso un enfoque inteligente es recortar la 
documentación a un mínimo esencial. 
Cada una de estas opciones es viable. Una 
organización de software debe elegir la más 
apropiada para cada caso.
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
Es el proceso de analizar un programa con la 
finalidad de crear una representación del programa 
en un mayor grado de abstracción que el código 
fuente. La ingeniería inversa es un proceso de 
recuperación de diseño. Las herramientas de la 
ingeniería inversa obtienen información del diseño 
de datos, arquitectónico y de procedimientos a 
partir de un programa existente.
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
El tipo más común de reingeniería es la 
reestructuración de código, se lo puede hacer con 
módulos individuales que se codifican de una 
manera que dificultan comprenderlos, probarlos y 
mantenerlos. Llevar a cabo esta actividad requiere 
analizar el código fuente empleando una 
herramienta de reestructuración. Se indican las 
violaciones de las estructuras de programación 
estructurada y entonces el código se reestructura. 
El código reestructurado resultante se revisa y 
prueba para garantizar que no se han introducido 
anormalidades. La documentación del código 
interno se actualiza.
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
La reestructuración de datos es una actividad de 
reingeniería a gran escala. En la mayoría de los 
casos, la reestructuración de datos comienza con 
una actividad de ingeniería inversa. La arquitectura 
de datos actual se analiza con minuciosidad y se 
define los modelos de datos necesarios, se 
identifican los objetivos de datos y los atributo, y 
después se revisa la calidad de las estructuras de 
datos existentes. 
Cuando la estructura de datos es débil, los datos se 
someten a reingeniería. 
Puesto que la arquitectura de datos tiene una fuerte 
influencia sobre la arquitectura del programa y los 
algoritmos que lo prueban, los cambios a los datos 
invariablemente resultarán en cambios 
arquitectónicos o al nivel de código.
ANÁLISIS DE 
INVENTARIOS 
INGENIERÍA 
AVANZADA 
REESTRUCTURACI 
ÓN DE LOS 
DATOS 
REESTRUCTURACI 
ÓN DE 
DOCUMENTOS 
INGENIERÍA 
INVERSA 
REESTRUCTURACI 
ÓN DEL CÓDIGO 
La ingeniería avanzada, también llamada 
renovación o reclamación, no solo recupera la 
información de diseño a partir del software 
existente, también utiliza esta información para 
alterar o reconstruir el sistema existente con la 
finalidad de mejorar su calidad global. En la 
mayoría de los casos el software sometido a 
reingeniería vuelve a implementar la función del 
sistema existente y también añade nuevas 
funciones o mejora el desempeño global.
Características: 
• Defina las metas del negocio. 
• Identifica y evalúa los procesos vigentes del negocio. 
• Crea procesos de negocios renovados que cumplen mejor las metas actuales. 
• La finalidad de la reingeniería es crear versiones de programas existentes que 
muestren mayor calidad y mejor facilidad de mantenimiento. 
• Se produce una diversidad de productos de trabajo de reingeniería (por ejemplo, 
modelos de análisis, modelos de diseños, procesamientos de prueba).
Ventajas: 
• El ser humano esta "integrado" con las herramientas automatizadas para crear un 
proceso de ingeniería inversa efectivo. 
• Entrega código bien documentado. 
• Es aplicable a grandes proyectos. 
• Facilita el mantenimiento del software. 
• Entrega software de buena calidad.
Desventajas: 
• Se requiere de personal con un nivel de abstracción tan alto para poder aplicar el 
proceso de ingeniería inversa. 
• Suele ofrecer poca visión de los conflictos de interoperabilidad entre las 
aplicaciones dentro del sistema. 
• Requiere de mucho tiempo, puede llegar a durar años. 
• Cuesta cantidades significativas de dinero y absorbe recursos que de otro modo se 
ocuparían en problemas inmediatos.
Aplicación: 
• Cuando una aplicación de cierto sistema ha funcionado durante varios años, y el 
paso del tiempo se ha vuelto inestable debido a las correcciones, adaptaciones y 
mejoras que se le realizaron. 
• Es aplicable cuando alguna de las partes de un gran sistema requiere 
mantenimiento frecuente. 
• Cuando los cambios en el sistema se hacen mayormente sobre una parte de un 
sistema, entonces dicha parte puede ser objeto de reingeniería. 
• Cuando el soporte hardware o software se queda obsoleto. 
• Cuando se dispone de herramientas automáticas para reestructurar el sistema.
PRIMERA FUENTE: 
Pressman , R. (2014). INGENIERÍA DE SOFTWARE Un enfoque práctico (Sexta ed., 
Vol., pp. 902-917). McGrawHill.
REINGENIERÍA: 
En una compañía los programas pueden haber sido optimizados originalmente para 
su rendimiento o utilización de la memoria a expensas de su comprensibilidad o, a lo 
largo del tiempo, la estructura inicial del programa puede haberse corrompido por la 
serie de cambios. 
Para simplificar los problemas de cambiar sus sistemas heredados, una compañía 
puede decidir hacer reingeniería sobre esos sistemas para mejorar su estructura y 
comprensibilidad. La reingeniería de software se refiere a la reimplementación de los 
sistemas heredados para hacerlos mas mantenibles. La reingeniería puede implicar 
re-documentar el sistema, organizar y reestructurar el sistema, traducir el sistema a 
un lenguaje de programación mas moderno y modificar y actualizar la estructura y 
valores de los datos del sistema.
REINGENIERÍA: 
La distinción crítica entre reingeniería y nuevo desarrollo de software es el punto de 
partida del desarrollo. En lugar de empezar con una especificación escrita, el sistema 
antiguo actúa como un especificación para el nuevo sistema. 
Especificación del 
sistema 
Diseño e 
implementación 
Sistema nuevo 
Sistema de software 
existente 
Comprensión y 
transformación 
Sistema con 
reingeniería 
Ingeniería directa 
Reingeniería de software
Etapas: 
La entrada del proceso es un programa heredado y la salida es una versión 
modularizada y estructurada del mismo programa. Durante la reingeniería del 
programa, los datos del sistema también sufren reingeniería. Las actividades de este 
proceso de reingeniería son: 
1. Traducción del código fuente: El programa es convertido desde un lenguaje de 
programación a una versión más moderna del mismo lenguaje o a un lenguaje 
diferente. 
2. Ingeniería inversa: El programa se analiza y se extrae información a partir de él. 
Esto ayuda a documentar su organización y funcionalidad. 
3. Mejora de la estructura de los programas: La estructura de control del 
programa se analiza y modifica para hacerla más fácil de leer y comprender.
Etapas: 
4. Modularización de los programas: Se agrupan las partes relacionadas del 
programa y se elimina la redundancia en donde resulta adecuado. En algunos 
casos, esta etapa puede implicar una transformación arquitectónica en la que un 
sistema centralizado pensado para una única computadora se modifica para 
ejecutarse sobre una plataforma distribuida. 
5. Ingeniería inversa: Los datos procesados por el programa se cambian para 
reflejar los cambios en él.
Ingeniería 
inversa 
Mejora de la 
estructura del 
programa 
Traducción del 
código fuente 
Modularización 
del programa 
Reingeniería de 
datos 
Programa original 
Documentación 
del programa 
Programa 
estructurado 
Programa 
modularizado 
Datos originales 
Datos con 
reingeniería 
El proceso de reingeniería
Características: 
• Define las metas del negocio. 
• Identifica y evalúa los procesos vigentes del negocio. 
• Crea procesos de negocios renovados que cumplen mejor las metas actuales. 
• La finalidad de la reingeniería es crear versiones de programas existentes que 
muestren mayor calidad y mejor facilidad de mantenimiento. 
• Se produce una diversidad de productos de trabajo de reingeniería (por ejemplo, 
modelos de análisis, modelos de diseños, procesamientos de prueba).
Ventajas: 
❖ Hacer reingeniería de un sistema de software tiene dos ventajas clave sobre 
aproximaciones más radicales a la evolución del sistema: 
• Riesgo reducido: Existe un alto riesgo en volver a desarrollar software crítico para 
los negocios. Los retrasos en la introducción del nuevo software pueden significar 
perdidas en el negocio e incurrir a costos adicionales. 
• Coste reducido: El coste de hace reingeniería es significativamente menor que el 
coste de desarrollar el nuevo software. No obstante se presume que, con la 
tecnología moderna del software, el coste relativo de la reimplementación 
probablemente sea menor, pero aun así supera de forma considerable los costes 
de la reingeniería.
Desventajas: 
• La reingeniería como parte de una migración arquitectónica, es la opción más cara. 
• Se necesita de personal experto en las etapas de la reingeniería. 
• La desventaja principal de la reingeniería del software es que existen límites 
prácticos a la extensión del sistema que puede ser mejorada mediante reingeniería. 
• Aunque la reingeniería puede mejorar la mantenibilidad, el sistema al que se va a 
aplicar reingeniería probablemente no será tan mantenible como un nuevo sistema 
desarrollado utilizando métodos modernos de ingeniería del software.
Aplicación: 
• Si ocurre un defecto serio en el sistema que tenga que ser reparado para permitir la 
continuación del funcionamiento normal. 
• Si los cambios en el entorno del sistema operativo tienen efectos inesperados que 
impiden el funcionamiento normal. 
• Si hay cambios no anticipados en las empresas que utilizan el sistema, tales como 
la aparición de nuevos competidores o la introducción de una nueva legislación. 
• En sistemas donde se busca mejorar su estructura y comprensibilidad
SEGUNDA FUENTE: 
Sommerville , I. (2005). INGENIERÍA DE SOFTWARE (Séptima ed., Vol. 1, pp. 458- 
461). Madrid: Pearson.

Más contenido relacionado

La actualidad más candente

Introducción a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción a la Ingeniería de Software:Qué es un Buen Sistema?Kudos S.A.S
 
Ingenieria inversa
Ingenieria inversaIngenieria inversa
Ingenieria inversaJanes Durán
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vidasandrasig
 
Mapa conceptual de las faces y procesos de la reingieneria del software
Mapa conceptual de las faces y procesos de la reingieneria del softwareMapa conceptual de las faces y procesos de la reingieneria del software
Mapa conceptual de las faces y procesos de la reingieneria del softwareIris Ramon Dominguez
 
CUADRO COMPARATIVO
CUADRO COMPARATIVOCUADRO COMPARATIVO
CUADRO COMPARATIVOChris023
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Tuyo Mio
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajasEdith Carreño
 
Ingeniería del software
Ingeniería del softwareIngeniería del software
Ingeniería del softwareJoxany Chávez
 
Unidad 2. metodologias de desarrollo de software tema1
Unidad 2. metodologias de desarrollo de software tema1Unidad 2. metodologias de desarrollo de software tema1
Unidad 2. metodologias de desarrollo de software tema1ROSA IMELDA GARCIA CHI
 
Programación extrema
Programación extremaProgramación extrema
Programación extremaFelix Hdez
 
Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas Gabriela Oyervides
 
Modelos d (1)
Modelos d (1)Modelos d (1)
Modelos d (1)NORIIAAAA
 
Unidad 2 ing de software
Unidad 2 ing de softwareUnidad 2 ing de software
Unidad 2 ing de softwareArmando Barrera
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XPJorw Yengle
 
Ti cs en ambiente de caos e hipercompetitividad
Ti cs en ambiente de caos e hipercompetitividadTi cs en ambiente de caos e hipercompetitividad
Ti cs en ambiente de caos e hipercompetitividadRobert Rodriguez
 

La actualidad más candente (17)

Introducción a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción a la Ingeniería de Software:Qué es un Buen Sistema?
 
Ingenieria inversa
Ingenieria inversaIngenieria inversa
Ingenieria inversa
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vida
 
Mapa conceptual de las faces y procesos de la reingieneria del software
Mapa conceptual de las faces y procesos de la reingieneria del softwareMapa conceptual de las faces y procesos de la reingieneria del software
Mapa conceptual de las faces y procesos de la reingieneria del software
 
CUADRO COMPARATIVO
CUADRO COMPARATIVOCUADRO COMPARATIVO
CUADRO COMPARATIVO
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Ingeniería del software
Ingeniería del softwareIngeniería del software
Ingeniería del software
 
Unidad 2. metodologias de desarrollo de software tema1
Unidad 2. metodologias de desarrollo de software tema1Unidad 2. metodologias de desarrollo de software tema1
Unidad 2. metodologias de desarrollo de software tema1
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas
 
Modelos d (1)
Modelos d (1)Modelos d (1)
Modelos d (1)
 
Unidad 2 ing de software
Unidad 2 ing de softwareUnidad 2 ing de software
Unidad 2 ing de software
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XP
 
Ti cs en ambiente de caos e hipercompetitividad
Ti cs en ambiente de caos e hipercompetitividadTi cs en ambiente de caos e hipercompetitividad
Ti cs en ambiente de caos e hipercompetitividad
 

Similar a Reingeniería

TECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxTECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxNestorBenitez22
 
Reingenieria
ReingenieriaReingenieria
ReingenieriaAnel Sosa
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de SoftwareCARMEN
 
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
 
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
 
Unidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de softwareUnidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de softwareAlejandro Flores
 
Topicos de ingeniería de software
Topicos de ingeniería de softwareTopicos de ingeniería de software
Topicos de ingeniería de softwareAlex Hurtado
 
Ciclo de vida de sistemas
Ciclo de vida de sistemasCiclo de vida de sistemas
Ciclo de vida de sistemasMirna Lozano
 
software
softwaresoftware
softwarealkosto
 

Similar a Reingeniería (20)

Reingenieria inversa
Reingenieria inversaReingenieria inversa
Reingenieria inversa
 
TECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxTECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptx
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
 
Reingeniería
ReingenieríaReingeniería
Reingeniería
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento 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
 
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
 
Proyecto de reingenieria
Proyecto de reingenieriaProyecto de reingenieria
Proyecto de reingenieria
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
 
Unidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de softwareUnidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de software
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Topicos de ingeniería de software
Topicos de ingeniería de softwareTopicos de ingeniería de software
Topicos de ingeniería de software
 
Nombre
NombreNombre
Nombre
 
Ciclo de vida de sistemas
Ciclo de vida de sistemasCiclo de vida de sistemas
Ciclo de vida de sistemas
 
Diapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napaDiapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napa
 
software
softwaresoftware
software
 
Conceptos
ConceptosConceptos
Conceptos
 
Exposicion 3
Exposicion 3Exposicion 3
Exposicion 3
 

Último

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...RichardRivas28
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
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
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 

Último (20)

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.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
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 

Reingeniería

  • 1. MAECENAS SED DIAM EGET RISUS VARIUS BLANDIT SIT AMET NON. AENEAN LAC BIBENDUM NULLA CONSECTETUR. INGENIERÍA DE SOFTWARE LOREM IPSUM DOLOR AMET, CONSECTETUR ADIPISCI ELIT. CRAS JUSTO ODIO, DAPIBUS AC FACILISIS IN, EGESTAS EGET QUAM. REINGENIERÍA MAECENAS FAUCIBUS MOLLIS INTERDUM. ETIAM PORTA MALESUADA MAGNA MOLLIS EUISMOD.
  • 2. MAECENAS SED DIAM EGET RISUS VARIUS BLANDIT SIT AMET NON. LA REINGENIERÍA ES EL REDISEÑO DE UN PROCESO EN UN NEGOCIO O UN CAMBIO DRÁSTICO, ES COMENZAR DE CERO, ES UN CAMBIO DE TODO O NADA, ADEMÁS ORDENA A LA EMPRESA AENEAN LAC BIBENDUM NULLA CONSECTETUR. ALREDEDOR DE LOS PROCESOS. PARA QUE UNA EMPRESA ADOPTE EL CONCEPTO DE REINGENIERÍA, TIENE QUE SER CAPAZ DE DESHACERSE DE LAS REGLAS Y POLÍTICAS LOREM IPSUM DOLOR AMET, CONSECTETUR ADIPISCI ELIT. REINGENIERÍA CRAS JUSTO ODIO, DAPIBUS AC FACILISIS IN, EGESTAS EGET QUAM. MAECENAS FAUCIBUS MOLLIS INTERDUM. ETIAM PORTA MALESUADA MAGNA MOLLIS CONVENCIONALES EUISMOD. QUE APLICABA CON ANTERIORIDAD Y ESTAR ABIERTA A LOS CAMBIOS POR MEDIO DE LOS CUALES SUS
  • 3. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO Las organizaciones de software deberían tener un inventario de todas sus aplicaciones. El inventario tal vez no sea más que un modelo en una hoja de cálculo que contenga información que proporcione una descripción detallada (tamaño, edad, importancia para el negocio) de las aplicaciones activas. Es importante señalar que el inventario deberá visitarse con regularidad, el estado de las aplicaciones puede cambiar en función del tiempo y, como resultado, cambiaran las prioridades para la reingeniería.
  • 4. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO La documentación débil es la marca de muchos sistemas heredados. ¿Pero que se hace acerca de ello? ¿Cuáles son las opciones?. 1. Crear documentación consume mucho tiempo, si el sistema funciona vivirá con lo que tenga. No es posible recrear documentación para cientos de programa de computadora. Si un programa es relativamente estático está llegando al final de su vida útil, por lo que es improbable que experimente un cambio significativo.
  • 5. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO 2. La documentación debe actualizarse pero se tiene recursos limitados. Se utilizara un enfoque de “documentar cuando se toque”. Tal vez sea innecesario volver a documentar por completo la aplicación. En cambio, se documentan completamente aquellas porciones del sistema que en la actualidad experimentan cambios. Con el tiempo evolucionará una colección de documentación útil y relevante.
  • 6. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO 3. El sistema es crucial para el negocio y debe volver a documentarse por completo. Incluso en este caso un enfoque inteligente es recortar la documentación a un mínimo esencial. Cada una de estas opciones es viable. Una organización de software debe elegir la más apropiada para cada caso.
  • 7. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO Es el proceso de analizar un programa con la finalidad de crear una representación del programa en un mayor grado de abstracción que el código fuente. La ingeniería inversa es un proceso de recuperación de diseño. Las herramientas de la ingeniería inversa obtienen información del diseño de datos, arquitectónico y de procedimientos a partir de un programa existente.
  • 8. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO El tipo más común de reingeniería es la reestructuración de código, se lo puede hacer con módulos individuales que se codifican de una manera que dificultan comprenderlos, probarlos y mantenerlos. Llevar a cabo esta actividad requiere analizar el código fuente empleando una herramienta de reestructuración. Se indican las violaciones de las estructuras de programación estructurada y entonces el código se reestructura. El código reestructurado resultante se revisa y prueba para garantizar que no se han introducido anormalidades. La documentación del código interno se actualiza.
  • 9. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO La reestructuración de datos es una actividad de reingeniería a gran escala. En la mayoría de los casos, la reestructuración de datos comienza con una actividad de ingeniería inversa. La arquitectura de datos actual se analiza con minuciosidad y se define los modelos de datos necesarios, se identifican los objetivos de datos y los atributo, y después se revisa la calidad de las estructuras de datos existentes. Cuando la estructura de datos es débil, los datos se someten a reingeniería. Puesto que la arquitectura de datos tiene una fuerte influencia sobre la arquitectura del programa y los algoritmos que lo prueban, los cambios a los datos invariablemente resultarán en cambios arquitectónicos o al nivel de código.
  • 10. ANÁLISIS DE INVENTARIOS INGENIERÍA AVANZADA REESTRUCTURACI ÓN DE LOS DATOS REESTRUCTURACI ÓN DE DOCUMENTOS INGENIERÍA INVERSA REESTRUCTURACI ÓN DEL CÓDIGO La ingeniería avanzada, también llamada renovación o reclamación, no solo recupera la información de diseño a partir del software existente, también utiliza esta información para alterar o reconstruir el sistema existente con la finalidad de mejorar su calidad global. En la mayoría de los casos el software sometido a reingeniería vuelve a implementar la función del sistema existente y también añade nuevas funciones o mejora el desempeño global.
  • 11. Características: • Defina las metas del negocio. • Identifica y evalúa los procesos vigentes del negocio. • Crea procesos de negocios renovados que cumplen mejor las metas actuales. • La finalidad de la reingeniería es crear versiones de programas existentes que muestren mayor calidad y mejor facilidad de mantenimiento. • Se produce una diversidad de productos de trabajo de reingeniería (por ejemplo, modelos de análisis, modelos de diseños, procesamientos de prueba).
  • 12. Ventajas: • El ser humano esta "integrado" con las herramientas automatizadas para crear un proceso de ingeniería inversa efectivo. • Entrega código bien documentado. • Es aplicable a grandes proyectos. • Facilita el mantenimiento del software. • Entrega software de buena calidad.
  • 13. Desventajas: • Se requiere de personal con un nivel de abstracción tan alto para poder aplicar el proceso de ingeniería inversa. • Suele ofrecer poca visión de los conflictos de interoperabilidad entre las aplicaciones dentro del sistema. • Requiere de mucho tiempo, puede llegar a durar años. • Cuesta cantidades significativas de dinero y absorbe recursos que de otro modo se ocuparían en problemas inmediatos.
  • 14. Aplicación: • Cuando una aplicación de cierto sistema ha funcionado durante varios años, y el paso del tiempo se ha vuelto inestable debido a las correcciones, adaptaciones y mejoras que se le realizaron. • Es aplicable cuando alguna de las partes de un gran sistema requiere mantenimiento frecuente. • Cuando los cambios en el sistema se hacen mayormente sobre una parte de un sistema, entonces dicha parte puede ser objeto de reingeniería. • Cuando el soporte hardware o software se queda obsoleto. • Cuando se dispone de herramientas automáticas para reestructurar el sistema.
  • 15. PRIMERA FUENTE: Pressman , R. (2014). INGENIERÍA DE SOFTWARE Un enfoque práctico (Sexta ed., Vol., pp. 902-917). McGrawHill.
  • 16. REINGENIERÍA: En una compañía los programas pueden haber sido optimizados originalmente para su rendimiento o utilización de la memoria a expensas de su comprensibilidad o, a lo largo del tiempo, la estructura inicial del programa puede haberse corrompido por la serie de cambios. Para simplificar los problemas de cambiar sus sistemas heredados, una compañía puede decidir hacer reingeniería sobre esos sistemas para mejorar su estructura y comprensibilidad. La reingeniería de software se refiere a la reimplementación de los sistemas heredados para hacerlos mas mantenibles. La reingeniería puede implicar re-documentar el sistema, organizar y reestructurar el sistema, traducir el sistema a un lenguaje de programación mas moderno y modificar y actualizar la estructura y valores de los datos del sistema.
  • 17. REINGENIERÍA: La distinción crítica entre reingeniería y nuevo desarrollo de software es el punto de partida del desarrollo. En lugar de empezar con una especificación escrita, el sistema antiguo actúa como un especificación para el nuevo sistema. Especificación del sistema Diseño e implementación Sistema nuevo Sistema de software existente Comprensión y transformación Sistema con reingeniería Ingeniería directa Reingeniería de software
  • 18. Etapas: La entrada del proceso es un programa heredado y la salida es una versión modularizada y estructurada del mismo programa. Durante la reingeniería del programa, los datos del sistema también sufren reingeniería. Las actividades de este proceso de reingeniería son: 1. Traducción del código fuente: El programa es convertido desde un lenguaje de programación a una versión más moderna del mismo lenguaje o a un lenguaje diferente. 2. Ingeniería inversa: El programa se analiza y se extrae información a partir de él. Esto ayuda a documentar su organización y funcionalidad. 3. Mejora de la estructura de los programas: La estructura de control del programa se analiza y modifica para hacerla más fácil de leer y comprender.
  • 19. Etapas: 4. Modularización de los programas: Se agrupan las partes relacionadas del programa y se elimina la redundancia en donde resulta adecuado. En algunos casos, esta etapa puede implicar una transformación arquitectónica en la que un sistema centralizado pensado para una única computadora se modifica para ejecutarse sobre una plataforma distribuida. 5. Ingeniería inversa: Los datos procesados por el programa se cambian para reflejar los cambios en él.
  • 20. Ingeniería inversa Mejora de la estructura del programa Traducción del código fuente Modularización del programa Reingeniería de datos Programa original Documentación del programa Programa estructurado Programa modularizado Datos originales Datos con reingeniería El proceso de reingeniería
  • 21. Características: • Define las metas del negocio. • Identifica y evalúa los procesos vigentes del negocio. • Crea procesos de negocios renovados que cumplen mejor las metas actuales. • La finalidad de la reingeniería es crear versiones de programas existentes que muestren mayor calidad y mejor facilidad de mantenimiento. • Se produce una diversidad de productos de trabajo de reingeniería (por ejemplo, modelos de análisis, modelos de diseños, procesamientos de prueba).
  • 22. Ventajas: ❖ Hacer reingeniería de un sistema de software tiene dos ventajas clave sobre aproximaciones más radicales a la evolución del sistema: • Riesgo reducido: Existe un alto riesgo en volver a desarrollar software crítico para los negocios. Los retrasos en la introducción del nuevo software pueden significar perdidas en el negocio e incurrir a costos adicionales. • Coste reducido: El coste de hace reingeniería es significativamente menor que el coste de desarrollar el nuevo software. No obstante se presume que, con la tecnología moderna del software, el coste relativo de la reimplementación probablemente sea menor, pero aun así supera de forma considerable los costes de la reingeniería.
  • 23. Desventajas: • La reingeniería como parte de una migración arquitectónica, es la opción más cara. • Se necesita de personal experto en las etapas de la reingeniería. • La desventaja principal de la reingeniería del software es que existen límites prácticos a la extensión del sistema que puede ser mejorada mediante reingeniería. • Aunque la reingeniería puede mejorar la mantenibilidad, el sistema al que se va a aplicar reingeniería probablemente no será tan mantenible como un nuevo sistema desarrollado utilizando métodos modernos de ingeniería del software.
  • 24. Aplicación: • Si ocurre un defecto serio en el sistema que tenga que ser reparado para permitir la continuación del funcionamiento normal. • Si los cambios en el entorno del sistema operativo tienen efectos inesperados que impiden el funcionamiento normal. • Si hay cambios no anticipados en las empresas que utilizan el sistema, tales como la aparición de nuevos competidores o la introducción de una nueva legislación. • En sistemas donde se busca mejorar su estructura y comprensibilidad
  • 25. SEGUNDA FUENTE: Sommerville , I. (2005). INGENIERÍA DE SOFTWARE (Séptima ed., Vol. 1, pp. 458- 461). Madrid: Pearson.