Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Reingeniería Cuando un producto se rompe con frecuencia, tarda en recuperarse o ya no representa la última tecnología, se necesita reconstruirlo La Reingenierìa creará un producto con una funcionalidad nueva, un mejor rendimiento y fiabilidad, y un mantenimiento mejorado. Las demandas de funciones de negocios y de tecnología de información que las soportan están cambiando a un ritmo que impone mucha presión competitiva en todas las organizaciones comerciales. Tanto los negocios como el software que soportan (o es) el negocio deberán diseñarse una vez más para mantener el ritmo. La ingeniería se produce en 2 niveles distintos de abstracción. · Nivel de Negocios · Nivel de Software Reingeniería de Procesos de Negocios (rpn): La reingeniería de procesos de negocios se concentra en el proceso de negocios con la intención de efectuar cambios que mejoren la competitividad en algún aspecto de los negocios. define los objetivos de negocios, identifica y evalúa los procesos de negocios ya existentes (en el contexto de los objetivos definidos), específica y diseña los procesos revisados, y construye prototipos, refina e instancia esos procesos en el seno de un negocio. La RPN tiene un objetivo que va más allá del software. Su resultado suele ser la definición de formas en que las tecnologías de la información puedan prestar un mejor apoyo a los negocios. la reingeniería de procesos de negocio es iterativa. Los objetivos de negocio, y los procesos que los logran, deberán adaptarse a un entorno de negocio cambiante. Este modelo define seis actividades: Definición del negocio: se definen objetivos como la reducción de costes, reducción de tiempos, mejora de calidad y desarrollo y potenciación del personal. Identificación de procesos: se identifican los procesos críticos para alcanzar los objetivos definidos en la definición del negocio Evaluación de procesos: Los procesos existentes deberán analizarse y medirse exhaustivamente. Las tareas de procesos se identificarán; los costes y los tiempos consumidos por las tareas de proceso se anotarán cuidadosamente, y se aislarán los problemas de calidad y rendimiento. Especificación y diseño de procesos: Basándose en la información obtenida durante las tres primeras actividades de la RPN, se prepararan casos prácticos. los casos prácticos identifican un escenario que proporciona resultados a un cliente. Creación de Prototipos: construir un prototipo del proceso de negocios rediseñado antes de integrarlo por completo en el negocio. Refinamiento e Instalación: Basándose en la realimentación procedente del prototipo, se refina el proceso de negocio y después se instancia en el seno de un sistema de negocio. Si la RPN se Ileva a cabo de forma efectiva, los sistemas de información se integran mejor con los procesos de negocios. Reingeniería de Software: La reingeniería del software abarca una serie de actividades entre las que se incluye el análisis de inventario, la reestructuración de documentos, la ingeniería inversa, la reestructuración de programas y datos, y la ingeniería directa La reingeniería de sistemas de información es una actividad que absorberá recursos de las tecnologías de la información durante muchos años. Esta es la razón por la cual toda organización necesita una estrategia pragmática para la reingeniería del software. Análisis de inventario Todas las organizaciones de software deberán disponer de un inventario de todas sus aplicaciones. El inventario puede que no sea más que una hoja de cálculo con la información que proporciona una descripción detallada (por ejemplo: tamaño, edad, importancia para el negocio) de todas las aplicaciones activas. se ordena esta información en función de su importancia para el negocio, longevidad, mantenibilidad actual y otros criterios localmente importantes. Es entonces cuando es posible asignar recursos a las aplicaciones candidatas para el trabajo de reingeniería. Reestructuración de Documentos Tiene 3 opciones: 1) Dejar tal cual estaban ya que los costes de documentar son elevados y el software esta llegando al fin de su vida util 2) al tener recursos limitados se documentarán por completo aquellas partes del sistema que estén experimentando cambios en ese momento 3) Volver a documentarlo por completo Ingeniería Inversa es el proceso de analizar un programa en un esfuerzo por extraer información acerca de los datos, de su arquitectura y del diseño de procedimientos. La ingeniería inversa de datos suele producirse a diferentes niveles de abstracción Las técnicas de ingeniería inversa para datos de programa internos se centran en la definición de clases de objetos. Esto se logra examinando el código del programa en un intento de agrupar variables de programa que estén relacionadas Antes de que se pueda reconstruir una interfaz de usuario, deberá tener lugar una actividad de ingeniería inversa. . Restructuración: La reestructuración del software modifica el código fuente y/o los datos en un intento de adecuar a futuros cambios Si el esfuerzo de la reestructuración se extiende más allá de los límites de los módulos y abarca la arquitectura del software, la reestructuración pasa a ser ingeniería directa beneficios que se pueden lograr cuando se reestructura el software: · Programas de mayor calidad · Reduce la frustración entre ingenieros del software que deban trabajar con el programa · Reduce el esfuerzo requerido para llevar a cabo las actividades de mantenimiento · Hace que el software sea más sencillo de comprobar y de depurar La reestructuración del código se lleva a cabo para conseguir un diseño que produzca la misma función pero con mayor calidad que el programa original Ingeniería Directa reconstruye el programa empleando prácticas de ingeniería moderna del software y la información obtenida durante la ingeniería inversa. La ingeniería directa no se limita a crear un equivalente moderno de un programa anterior, sino que más bien se integran los nuevos requisitos y las nuevas tecnologías 'en ese esfuerzo de volver a aplicar reingeniería. El programa que se ha vuelto a desarrollar amplíando las capacidades de la aplicación anterior. Economia: La reingeniería consume recursos que se pueden utilizar para otros propósitos de negocio Los costes y beneficios de la reingeniería se pueden determinar de forma cuantitativa Los costes asociados al mantenimiento y soporte que conlleva una aplicación existente se puede comparar con los costes estimados de la reingeniería, y con la reducción resultante de los costes de mantenimiento
Compartir