13
Reingeniería Reingeniería Profesora Natalia Leal Profesora Natalia Leal

Reingeniería

Embed Size (px)

Citation preview

Page 1: Reingeniería

ReingenieríaReingenieríaProfesora Natalia LealProfesora Natalia Leal

Page 2: Reingeniería

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

Page 3: Reingeniería

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

Page 4: Reingeniería

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.

Page 5: Reingeniería

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.

Page 6: Reingeniería

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.

Page 7: Reingeniería

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.

Page 8: Reingeniería

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

Page 9: Reingeniería

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.

Page 10: Reingeniería

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

Page 11: Reingeniería

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í.

Page 12: Reingeniería

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

Page 13: Reingeniería

PreguntasPreguntas