Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Reingeniería de Software: Ventajas, Desventajas y Proceso, Monografías, Ensayos de Metodologías de Desarrollo de Software

Una introducción a la reingeniería de software, una forma de modernizar y mejorar sistemas de información existentes mediante la aplicación de tecnologías y prácticas modernas. Se explican los objetivos, ventajas y desventajas de la reingeniería de software, así como el proceso que se sigue para llevar a cabo esta actividad. Se mencionan los pasos de la ingeniería inversa y directa, y se discuten las herramientas y técnicas utilizadas para reestructurar el código y los datos.

Tipo: Monografías, Ensayos

2023/2024

Subido el 05/04/2024

paul-velastegui
paul-velastegui 🇪🇨

1 documento

1 / 31

Toggle sidebar

Documentos relacionados


Vista previa parcial del texto

¡Descarga Reingeniería de Software: Ventajas, Desventajas y Proceso y más Monografías, Ensayos en PDF de Metodologías de Desarrollo de Software solo en Docsity! METODOLOGÍAS ÁGILES REINGENIERIA Y REUSABILIDAD DEL SOFTWARE Ing. Hernán Naranjo INTRODUCCION Reingeniería de Software / Objetivos •Proporcionar asistencia automatizada para el mantenimiento. •Reducir los errores y costos del 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. •Proteger y extender la vida del sistema. •Re-usar componentes de sistema existentes Reingeniería de Software / Ventajas y Desventajas Hacer reingeniería de un sistema software, según Ian Sommerville, tiene dos ventajas clave sobre aproximaciones más radicales a la evolución del sistema: ➢Riesgo reducido. Existe un alto riesgo en volver a desarrollar software crítico para los negocios. Los retrasos en la introducción del nuevo software pueden significar pérdidas en el negocio e incurrir en costes adicionales. ➢Coste reducido. El coste de hacer reingeniería es significativamente menor que el coste de desarrollar nuevo software. La principal desventaja de la reingeniería del software es que existen límites prácticos a la extensión del sistema que puede ser mejorada mediante reingeniería. Reingeniería de Software / Motivaciones •Frecuentes fallas de producción (fiabilidad cuestionable). •Problemas de rendimiento. •Tecnología obsoleta. •Problemas de integración del sistema. •Código de calidad pobre. •Dificultad (peligroso) al cambio. •Dificultad para probar. •Mantenimiento caro. •Incremento de problemas del sistema. COSTES DE LA REINGENIERÍA Para calcular los costes de un proyecto de reingeniería, Harry Sneed propone un modelo basado en cuatro etapas: oJustificación del proyecto de reingeniería. oAnálisis de la cartera de aplicaciones. oEstimación de costes. oAnálisis de costes / beneficios. Y ELPROCESO DE 7 REINGENIERÍA EL PROCESO DE REINGENIERÍA Algunos autores lo ven como un proceso de dos pasos, el primer paso es comprender el software existente, donde el diseño del sistema se recupera desde su código fuente con actividades como: análisis de dependencias, comprensión del programa, detección, extracción y almacenamiento del diseño. El segundo paso incluye todas las actividades que se realizan para transformar el software existente en un software diferente, más fácil de mantener, entre ellas están: descomposición, reestructuración, remodularización, redocumentación, entre las más importantes. Análisis de inventario Reestructuración de documentos Ingeniería inversa Reestructuración del código Reestructuración de datos Ingeniería directa Proceso de reingeniería - Pressman Análisis de inventario Análisis de inventario Se debe disponer de un inventario de todas sus aplicaciones. El inventario puede que no sea más que una hoja de cálculo con una descripción detallada (por ejemplo: tamaño, edad, importancia) de todas las aplicaciones activas. Los candidatos a la reingeniería aparecen cuando se ordena esta información en función de su importancia. Es importante destacar que el inventario deberá revisarse con regularidad (en función de su naturaleza pueden reasignarse prioridades.) Reestructuración de documentos Opción 2: Es preciso actualizar la documentación, pero se dispone de recursos limitados. Se utilizará un enfoque “del tipo documentar si se modifica”. Quizá no es necesario volver a documentar por completo la aplicación. Más bien se documentarán por completo aquellas partes del sistema que estén experimentando cambios en ese momento. Opción 3: El sistema es fundamental para el negocio, y es preciso volver a documentarlo por completo. En este caso, un enfoque inteligente consiste en reducir la documentación al mínimo necesario. Ingeniería inversa Ingeniería inversa El término “ingeniería inversa” tiene sus orígenes en el mundo del hardware. Una cierta compañía desensambla un producto de hardware competitivo en un esfuerzo por comprender los “secretos” del diseño y fabricación de su competidor. Las especificaciones de diseño y fabricación son privados, y no están disponibles para la compañía que efectúa la ingeniería inversa. En esencia, una ingeniería inversa con éxito precede de una o más especificaciones de diseño y fabricación para el producto, mediante el examen de ejemplos reales de ese producto. Reestructuración del código Reestructuración del código El tipo más común de reingeniería es la reestructuración del código. Algunos sistemas heredados tienen una arquitectura de programa relativamente sólida, pero los módulos individuales han sido codificados de una forma que hace difícil comprenderlos, comprobarlos y mantenerlos. Para llevar a cabo esta actividad, se analiza el código fuente mediante una herramienta de reestructuración, se indican las violaciones de las estructuras de programación estructurada. Entonces se reestructura el código, se revisa y se comprueba para asegurar que no se hayan introducido anomalías. Se actualiza la documentación interna del código. Reestructuración de datos Ingeniería directa Ingeniería directa La ingeniería directa, que se denomina también renovación o reclamación, no solamente recupera la información de diseño de un software ya existente, sino que, además, utiliza esta información en un esfuerzo por mejorar su calidad global. En la mayoría de los casos, el software procedente de una reingeniería vuelve a implementar la funcionalidad del sistema existente, y añade además nuevas funciones y/o mejora el rendimiento global.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved