Este artículo fue creado para una tarea de la Universidad Francisco Gavidia utilizando como base el capítulo 9 del libro "Ingeniería de Software un enfoque práctico" de Roger Pressman.
1. La evolución del software
Es de aceptar en la empresa que un software evoluciona por los cambios por ejemplo cuando se corrigen errores o se adaptan a un nuevo entorno o nuevas funcionalidades solicitadas por el cliente, Manny Lehman junto a colaboradores desarrollaron una teoría unificada de la evolución del software, que contiene leyes subyacentes como la ley del cambio continuo, ley de complejidad creciente, ley de autorregulación, ley de crecimiento continuo, etc. Estas leyes son una parte fundamental para entender el propósito de la reingeniería de software.
2. RPE (Reingeniería de procesos de empresa)
Los procesos empresariales son tareas lógicamente relacionadas que tienen un cliente definido que recibe el resultado, la mayoría de RPE se enfoca en procesos o subprocesos individuales. Consta de estas actividades
3. Reingeniería de Software
A diferencia de RPE, en la reingeniería de software se contempla un modelo de proceso de ingeniería para reconstruir partes de la aplicación existente. Esta puede contar de los siguientes procesos:
4. Ingeniería inversa
Ingeniería inversa extra información de como funciona un programa existente esto puede suponer la reestructuración de código que supone la reestructuración de módulos sospechosos, y la reestructuración de datos que es una reestructuración a gran escala, ya que se reestructuran los modelos de datos muchas partes del código pueden cambiar, esto se muestra en el siguiente proceso:
5. La economía de la reingeniería
Es un análisis por medio de fórmulas para verificar si vale la pena someter a una aplicación existente a una reingeniería midiendo su costo-beneficio de manera cuantitativa, esto es de mucha importancia para determinar si vale la pena invertir en este mantenimiento del sistema.
Top comments (0)