La reingeniería de software es el examen y alteración de un sistema para reconstituirlo en una nueva forma. Los principios de Reingeniería cuando se aplican al proceso de desarrollo de software se denominan reingeniería de software. Afecta positivamente en el costo del software, la calidad, el servicio al cliente y la velocidad de entrega. En Reingeniería de Software, estamos mejorando el software para hacerlo más eficiente y efectivo.
La necesidad de reingeniería de software : La reingeniería de software es un proceso económico para el desarrollo de software y la mejora de la calidad del producto. Este proceso nos permite identificar el consumo inútil de los recursos desplegados y las restricciones que están restringiendo el proceso de desarrollo para que el proceso de desarrollo pueda ser más fácil y rentable (tiempo, financiero, ventaja directa, optimizar el código, beneficios indirectos, etc.) .) y mantenible. La reingeniería de software es necesaria para tener-
a) Aumentar la productividad : la reingeniería de software aumenta la productividad al optimizar el código y la base de datos para que el procesamiento sea más rápido.
b) Procesos en continuidad : la funcionalidad del producto de software más antiguo puede seguir utilizándose mientras se prueba o desarrolla el software.
c) Oportunidad de mejora : Mientras tanto, el proceso de reingeniería de software, no solo las cualidades, características y funcionalidades del software, sino también sus habilidades se refinan, surgen nuevas ideas en su mente. Esto hace que la mente de los desarrolladores se acostumbre a capturar nuevas oportunidades para que se puedan desarrollar más y más funciones nuevas.
d) Reducción de riesgos : en lugar de desarrollar el producto de software desde cero o desde la etapa inicial, aquí los desarrolladores desarrollan el producto desde su etapa existente para mejorar algunas características específicas que preocupan a las partes interesadas o sus usuarios. Este tipo de práctica reduce las posibilidades de falibilidad de fallas.
e) Ahorra tiempo : como dijimos anteriormente aquí, el producto se desarrolla a partir de la etapa existente en lugar de la etapa inicial, por lo que el tiempo que se consume en la ingeniería de software es menor.
f) Optimización : este proceso refina las características y funcionalidades del sistema y reduce la complejidad del producto mediante la optimización constante al máximo posible.
Factores de costo de reingeniería:
- La calidad del software a rediseñar.
- La disponibilidad de soporte de herramientas para ingeniería.
- El alcance de la conversión de datos que se requiere.
- La disponibilidad de personal experto para la Reingeniería.
Actividades de reingeniería de software:
1. Análisis de inventario:
toda organización de software debe tener un inventario de todas las aplicaciones.
- El inventario no puede ser más que un modelo de hoja de cálculo que contiene información que brinda una descripción detallada de cada aplicación activa.
- Al clasificar esta información de acuerdo con la criticidad del negocio, la longevidad, la mantenibilidad actual y otros criterios locales importantes, aparecen candidatos para la reingeniería.
- Luego, el recurso se puede asignar a una aplicación candidata para el trabajo de reingeniería.
2. Reconstrucción de documentos:
la documentación de un sistema explica cómo funciona o cómo usarlo.
- La documentación debe estar actualizada.
- Puede que no sea necesario documentar completamente una solicitud.
- El sistema es crítico para el negocio y debe volver a documentarse por completo.
3. Ingeniería inversa:
La ingeniería inversa es un proceso de recuperación del diseño. Las herramientas de ingeniería inversa extraen información de diseño de procedimientos, arquitectura y datos de un programa existente.
4. Reconstrucción de código:
- Para lograr la reconstrucción del código, el código fuente se analiza utilizando una herramienta de reconstrucción. Se anotan las violaciones de la construcción de programación estructurada y luego se reconstruye el código.
- El código reestructurado resultante se revisa y prueba para garantizar que no se hayan introducido anomalías.
5. Reestructuración de datos:
- La reestructuración de datos comienza con una actividad de ingeniería inversa.
- Se disecciona la arquitectura de datos actual y se definen los modelos de datos necesarios.
- Se identifican los objetos y atributos de datos, y se revisa la calidad de la estructura de datos existente.
6. Ingeniería avanzada:
la ingeniería avanzada también se denomina renovación o recuperación, no solo para recuperar información de diseño del software existente, sino que utiliza esta información para alterar o reconstituir el sistema existente en un esfuerzo por mejorar su calidad general.
Publicación traducida automáticamente
Artículo escrito por anonymous007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA