REINGENIERIA
Rehacer la Ingenieria de nuestros negocios; mediante la potencia de la tecnologia moderna y asi tener mejoras drásticas de su rendimiento (Michael Hammer 1990)
Modificar reglas para mejorar efectividad (software sigue el ritmo)
Implica creación de nuevos sistemas.
Reconstrucción o modificación de las aplicaciones existentes.
TECNOLOGIA
Modificación
Creación
SISTEMA
Reingeniería de Procesos de Negocio
RPN.-Búsqueda e implementación de cambios radicales en el proceso de Negocios para lograr un avance significativo.
Procesos de Negocio.- Conjunto de tareas lógicamente relacionadas que se llevan a cabo para obtener un determinado resultado de negocio
El Negocio
Sistemas de Negocio
Proceso de Negocio
Subprocesos de Negocio
RPN
RPN
RPN
RPN
MODELO DE RPN
Definición del
Negocio
Refinamiento e instanciación
Definición de Procesos
Evaluación de Procesos
Especificación y diseño de Procesos
Creación de Prototipos
Procesos Criticos
Costes y tiempos de tareas
Casos prácticos para diseño de Proc.
Se comprueba el proceso para refinamiento
Se integra en un sistema de Neg.
Reingeniería del Software
Surge de Software Antiguos Mejorados pero Inestables a cambios
Concepto.- Forma de modernización para mejorar las capacidades y/o mantenibilidad de los sistemas de información heredados mediante la aplicación de tecnologías y practicas modernas.
«Es el examen y alteración de un sistema para reconstruirlo de una nueva forma y la subsiguiente implementación de esta nueva forma»
Absorbe recursos y requiere mucho tiempo aplicando estrategias.
Se divide en procesos separados que se llevan a cabo secuencialmente:
Modelo de proceso de Reingeniería de Software
Inventario de aplicaciones.
Ordenar Inf. Por Antig.
Evita Doc. Prog Estaticos no neces.
Doc. Lo que se modifica
Doc toda la Inf del Sistema
Proceso de recuperación de diseño
Analiza código fuente usando herramienta de reestructuración
Identifican objetos de datos y atributos y estructuras de datos.
Recupera inf. De diseño y reconstruye el sistema.
Relaciones Términos Reingeniería
Pasos de la Reingeniería del Software
INGENIERIA INVERSA
«Es el proceso de análisis de un sistema para identificar sus Componentes e interrelaciones y crear representaciones del sistema en otra forma o a un nivel más alto de abstracción».
Reestructuración
del código
Extraer abstracciones
Refinar y simplificar
Procesamiento
Interfaz
Base de Datos
Código fuente Sucio
Código fuente limpio
Especificación Inicial
Especificación final
PROCESO
AREAS EN LA ING. INVERSA
Redocumentación: «es la creación o revisión de una representación equivalente semánticamente dentro del mismo nivel de abstracción relativo»
Recuperación de diseño: «es un subconjunto de la ingeniería inversa, en el cual, aparte de las observaciones del sistema, se añaden conocimientos sobre su dominio de aplicación, información externa, y procesos deductivos con el objeto de identificar abstracciones significativas a un mayor nivel»
REESTRUCTURACIÓN
Modifica el código fuente y/o los datos en un intento de hacerlo adecuado para futuros cambios.
Brinda beneficios:
Se obtienen programas de mayor calidad, mejor documentación y menos complejidad.
Reduce la frustración entre ingenieros facilitando el aprendizaje.
Reduce el esfuerzo para llevar mantenimiento.
El software es más sencillo de comprobar y depurar.