Ingeniería de Software | Reingeniería

La reingeniería de software es un proceso de desarrollo de software que se realiza para mejorar la mantenibilidad de un sistema de software. La reingeniería es el examen y alteración de un sistema para reconstituirlo en una nueva forma. Este proceso abarca una combinación de subprocesos como ingeniería inversa, ingeniería avanzada, reconstrucción, etc. 

La reingeniería es la reorganización y modificación de los sistemas de software existentes para hacerlos más mantenibles.

 
Objetivos de la Reingeniería: 
 

  • Describir una opción rentable para la evolución del sistema.
  • Describir las actividades involucradas en el proceso de mantenimiento del software.
  • Distinguir entre reingeniería de software y de datos y explicar los problemas de la reingeniería de datos.

Pasos involucrados en la Reingeniería: 
 

  1. Análisis de inventario 
  2. Reconstrucción de documentos 
  3. Ingeniería inversa 
  4. Reconstrucción de código 
  5. Reconstrucción de datos 
  6. Ingeniería avanzada 
     

Representación esquemática: 

Factores de costo de reingeniería: 
 

  • La calidad del software a rediseñar
  • El soporte de herramientas disponible para la reingeniería
  • El alcance de la conversión de datos requerida
  • La disponibilidad de personal experto para la reingeniería

Ventajas de la Reingeniería: 

  • Riesgo reducido: como el software ya existe, el riesgo es menor en comparación con el desarrollo de software nuevo. Problemas de desarrollo, problemas de personal y problemas de especificación son muchos de los problemas que pueden surgir en el desarrollo de software nuevo. 
  • Costo reducido:  el costo de la reingeniería es menor que los costos de desarrollo de software nuevo.
  • Revelación de reglas comerciales:  a medida que se rediseña un sistema, se redescubren las reglas comerciales que están integradas en el sistema.
  • Mejor uso del personal existente: la experiencia del personal existente se puede mantener y ampliar para adaptarse a nuevas habilidades durante la reingeniería.

Desventajas de la reingeniería: 
 

  • Límites prácticos al alcance de la reingeniería.
  • Los cambios importantes en la arquitectura o la reorganización radical de la gestión de datos de los sistemas deben realizarse manualmente.
  • Es poco probable que el sistema rediseñado sea tan fácil de mantener como un sistema nuevo desarrollado con métodos modernos de reingeniería de software. 
     

Publicación traducida automáticamente

Artículo escrito por pp_pankaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *