reingeniería
TRANSCRIPT
ReingenieríaReingenieríaProfesora Natalia LealProfesora Natalia Leal
REINGENIERÍAREINGENIERÍA
De acuerdo a Michel Hammer (1993), la reingeniería es empezar de cero, en una hoja en blanco, porque se considera que prácticamente todo lo que hacíamos antes, como empresas, parecería estar mal hecho, considerando los resultados obtenidos.
Fuente: Hammer y Champy (1993). Re-engineering the corporation: A manifesto for business revolution
REINGENIERÍA DEL SOFTWAREREINGENIERÍA DEL SOFTWARE
El Instituto de Ingeniería de software (SEI) define la Reingeniería como:
“Es la transformación sistemática de un sistema existente dentro de una nueva forma de realizar mejoramientos de calidad en unas operaciones, capacidad del sistema, funcionabilidad, rendimiento o evolucionabilidad a bajo costo, agendas o riesgos para el cliente.”
Fuente: Tilley (1995). Perspectives on Legacy Systems Reengineering
Por qué aplicar Reingeniería del Por qué aplicar Reingeniería del Software?Software?
Cuando una aplicación ha servido para las necesidades del negocio de una compañía durante varios años, se vuelve inestable, debido a las correcciones, adaptaciones y mejoras que se realizaron. Esto deriva en que cada vez que se intenta efectuar un cambio se produzcan efectos colaterales graves e inesperados. Por esta razón es importante realizar Reingeniería del Software.
Objetivos de la Objetivos de la Reingeniería del SoftwareReingeniería del Software
Proporcionar asistencia automatizada para el mantenimiento.
Reducir los errores y costos del mantenimiento.
Incrementar la intercambiabilidad del grupo de mantenimiento.
Hacer sistemas fáciles de entender, cambiar y probar.
Habilitar la conversión y migración de sistemas.
Reforzar el apego a estándares.
Mejorar la respuesta a peticiones de mantenimiento.
Mejorar el estado de ánimo del grupo de mantenimiento.
Objetivos de la Objetivos de la Reingeniería del Software (cont.)Reingeniería del Software (cont.)
Proteger y extender la vida del sistema.
Usar CASE para apoyar sistemas existentes.
Re-usar componentes de sistema existentes.
Métodos y Modelos de Métodos y Modelos de Reingeniería del SoftwareReingeniería del Software
Método de análisis Método de análisis de opciones para reingeniería (OAR)de opciones para reingeniería (OAR)
El Análisis de Opciones para Reingeniería (OAR) es un método sistemático, de arquitectura central y de toma de decisiones para la identificación y extracción de componentes dentro de grandes y complejos sistemas de software.
Métodos y Modelos de Métodos y Modelos de Reingeniería del SoftwareReingeniería del Software
Método de análisis Método de análisis de opciones para reingeniería (OAR)de opciones para reingeniería (OAR)
Tareas de ejecución
especializadas
Tareas de ejecución
especializadas
Tareas de ejecución
especializadas
Tareas de ejecución
especializadas
Establecimiento del Contexto de
Extracción
Inventario de Componentes
Analizar Componentes Candidatos
Plan de Opciones de Extracción
Selección de Opciones de Extracción
Métodos y Modelos de Métodos y Modelos de Reingeniería del SoftwareReingeniería del Software
El Modelo HerraduraEl Modelo Herradura
Los tres procesos básicos: Análisis de un sistema existente, transformación lógica y desarrollo de un nuevo sistema. Conforman la base del modelo de herradura. La riqueza del modelo de herradura son los tres niveles de abstracción que pueden ser adoptados para las descripciones lógicas. Conceptualmente, este puede ser a través de un conjunto de herraduras anidadas. Las descripciones lógicas pueden ser artefactos tan concretos y simples como el código fuente del sistema o tan complejos y abstractos como la arquitectura del sistema.
Métodos y Modelos de Métodos y Modelos de Reingeniería del SoftwareReingeniería del Software
El Modelo HerraduraEl Modelo Herradura
Figura 3.2 Modelo herradura
Métodos y Modelos de Métodos y Modelos de Reingeniería del SoftwareReingeniería del Software
El Modelo CíclicoEl Modelo Cíclico
Este modelo define seis actividades. En algunas ocasiones, estas actividades se producen de forma secuencial y lineal, pero esto no siempre es así.
Métodos y Modelos de Métodos y Modelos de Reingeniería del SoftwareReingeniería del Software
El Modelo CíclicoEl Modelo CíclicoAnálisis de inventario
Reestructuración de documentos
Ingeniería
Inversa
Ingeniería
directa
Reestructuración del código
Reestructuración de datos
Figura 3.3 Modelo cíclico
PreguntasPreguntas