Professional Documents
Culture Documents
REINGENIERIA
AGENDA
INTRODUCCION REINGENIERIA DE PROCESOS DE NEGOCIO (RPN) REINGENIERIA DE SOFTWARE INGENIERIA INVERSA REESTRUCTURACION INGENIERIA DIRECTA LA ECONOMIA DE LA INGENIERIA
INTROCUCION
Qu es? Es el proceso de reconstruccin del software, crear un producto con una mejor funcionalidad, mejor desempeo y fiabilidad, as como una mejor facilidad de mantenimiento. Quin la hace? En el mbito de las organizaciones, la reingeniera la llevan a cabo especialistas en negocios. En nuestro mbito lo realizan los ingenieros de software. Por qu es importante? Por que nos permite mantenernos en el ritmo de las exigencias de las nuevas tecnologas, por tal motivo el software tendr que redisearse para estar en ritmo.
INTROCUCION
Cules son los pasos? El proceso de reingeniera de software incluye anlisis de inventarios, reestructuracin de documentos, ingeniera inversa, reestructuracin de programas y datos, e ingeniera avanzada. Cul es el producto obtenido? Se produce una diversidad de productos de trabajo de reingeniera. Ejemplo: Modelos de anlisis, modelos de diseo, procedimientos de prueba, entre otros. Cmo puedo estar seguro de que lo he hecho correctamente? Utilizando las mismas prcticas de SQA que se aplican a cualquier proceso de ingeniera del software: las revisiones tcnicas formales evalan los modelos de anlisis y de diseo; las revisiones especializadas consideran la aplicabilidad y la compatibilidad en el negocio; y las pruebas se aplican para descubrir errores en contenido, funcionalidad e interoperabilidad.
La (RPN) rebasa el mbito de las tecnologas de la informacin y de la ingeniera de software. Una de las definiciones mas relevantes pala la (RPN) en la publicada por la revista fortune La bsqueda e implementacin de un cambio radical en el proceso de negocios para lograr resultados de vanguardia. Pero como se lleva a cabo la bsqueda y como se logra la implementacin? Cmo se puede garantizar que el cambio radical nos conducir a resultados de vanguardia en lugar de caos organizacional?
REINGENIERIA DE SOFTWARE
La reingeniera de software involucra diferentes actividades como lo son: anlisis de inventarios, reestructuracin de documentos, ingeniera inversa, reestructuracin de programas y datos, e ingeniera directa; con la finalidad de crear versiones de programas ya existentes que sean de mejor calidad y los mismos tengan una mayor facilidad de mantenimiento. Mantenimiento del software El mantenimiento del software se define identificando cuatro actividades Deferentes como lo son: mantenimiento correctivo, mantenimiento adaptativo, mejora o mantenimiento de perfeccionamiento y mantenimiento preventivo o reingeniera. Segn estadsticas el 20 % del trabajo de mantenimiento se emplea en componer errores. El restante 80% se dedica a adaptar los sistemas existentes a los en su entorno externo.
REINGENIERIA DE SOFTWARE
Un modelo de Proceso de Reingeniera del software.
Ingeniera Inversa
Proceso de analizar el software con el objetivo de recuperar su diseo y especificacin. Requiere de entradas tal como el cdigo fuente. Se diferencia de la reingeniera pues esta trata de obtener un nuevo sistema ms sostenible.
Ingeniera Inversa
Ingeniera Inversa
Grado de Abstraccin.- Se refiere a la sofisticacin del diseo que es obtenido del cdigo fuente. Conforme aumenta el nivel se obtiene informacin que permitir entender de mejor manera los diferentes programas. Completitud:- Se refiere al grado de detalle que se ofrece en un grado de abstraccin, lo cual provee de una mejora en proporcin directa con la cantidad de anlisis que efecta quien realiza la ingeniera inversa. Adems tomamos en cuenta la interactividad refirindose al grado en que el humano esta integrado con las herramientas para crear un proceso de ingeniera inversa efectivo. En consecuencia con el aumento de los puntos antes mencionados se deber incrementar la completitud. Direccionalidad.- tiene que ver en dos sentidos, para el caso de ser unidireccional, la informacin obtenida del cdigo fuente servir en cualquier actividad de mantenimiento. Por otra parte si es bidireccional, la informacin alimentara a herramientas de REINGENIERIA que reestructurara o regenerara el software anterior.
Es una de las primeras tareas de reingeniera, ya que la frecuente ocurrencia de los datos en distintos niveles de abstraccin, las estructuras de los datos internos son sometidos a esta tarea para ajustarlos con los paradigmas de la gestin de BBDD, con lo cual se establecen escenarios para la introduccin a bases de datos nuevas que contengan todo el sistema.
Enfoca a la definicin de clases de objetos para examinar el cdigo con el fin de agrupar las variables que se pueden relacionar.
Luego se realiza una serie de transformaciones para correlacionar con el modelo anterior con la nueva.
Trata de comprender y extraer abstracciones de los procedimientos que se representan en el cdigo. Para esto se debe analizar en grados variables de abstraccin como sistema, programas componentes, patrones y planteamiento. Adems se debe considerar la funcionalidad de forma global
DE INTERFACES DE USUARIO.
Antes de reconstruir cualquier interfaz de usuario se realiza actividades de II, se requiere especificar estructuras y comportamientos de las interfaces.
Consideraciones
Cules son las acciones bsicas que procesa la interfaz? Descripcin del comportamiento del sistema a dichas acciones? Qu equivalencia de las interfaces es mas relevante?.
Reestructuracin
Modifica el cdigo o los datos con la finalidad de adecuarlos para futuros cambios. No modifica la arquitectura sino que se enfoca sobre detalles de diseo de los mdulos y en la estructura de datos
Reestructuracin de cdigo
Genera un diseo que produzca la misma funcin del programa pero con mayor calidad. El objetivo es tomar una porcin de cdigo y derivar el diseo de procedimientos que concuerden con la filosofa del mismo.
Reestructuracin de datos
Primero se realiza el ANALISIS del cdigo. Se evalan las definiciones de los datos, archivos, O/I e Interfaces. Extraer elementos y objetos de datos para obtener informacin del flujo de datos y comprender la estructura
Reestructuracin de datos
Rediseo de datos trata de que exista consistencia de los mismos (nombres y formatos de registro) en na estructura o archivo. Racionalizacin de nombre asegura que el nombramiento de datos concuerden con el estndar local y elimina los pseudnimos (flujo de datos a travs del sistema)
INGENIERIA DIRECTA
Se puede trabajar modificacin tras modificacin y luchar con el diseo para implementar los cambios. Intentar conocer el funcionamiento interno del SW para realizar modificaciones eficientes. Redisear, recodificar y. probar el Sw en un enfoque de Ingeniera de Sw
ECONOMIA DE LA REINGENIERIA
P1 COSTO DE MANTENIMIENTO ANUAL P2 COSTO DE OPERACIN ANUAL P3 VALOR DE NEGOCIOS P4 COSTO DE MANT PREDICHO P5 COSTO DE OPERACIN ANUAL PREDICHO P6 VALOR DE NEGOCIOS PREDICHO P7 COSTO ESTIMADO P8 FECHA ESTIMADO P9 FACTOR RIESGO L VIDA ESPERADA
Costo mantenimiento (p3 (p1+ p2) * L Costo reingeniera (p6 (p4+ p5)*(L p8) (p7*p9)). Costo beneficio Costo reingeniera - Costo mantenimiento