MANTENIMIENTO DE SOFTWARECarlos Ramón Rivera Moreno
El mantenimiento de software es una de las actividades más comunes en la ingeniería de software y es el proceso de mejora y optimización del software desplegado (es decir; revisión del programa), así como también corrección de los defectos y prevenirlos.El mantenimiento de software es también una de las fases en el ciclo de vida de desarrollo de sistemas(SDLC, sigla en inglés de systemdevelopmentlifecycle), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene después del despliegue (implementación) del software en el campo.
Tipos de mantenimiento Perfectivo: son las acciones llevadas a cabo para mejorar la calidad interna de los sistemas en cualquiera de sus aspectos: reestructuración del código, definición más clara del sistema y optimización del rendimiento y eficiencia. Evolutivo: son las incorporaciones, modificaciones y eliminaciones necesarias en un producto software para cubrir la expansión o cambio en las necesidades del usuario. Adaptativo: son las modificaciones que afectan a los entornos en los que el sistema opera, por ejemplo, cambios de configuración del hardware, software de base, gestores de base de datos, comunicaciones, etc. Correctivo: son aquellos cambios precisos para corregir errores del producto software.
ACTUACIONES COMUNES PARA MANTENERLA OPERATIVIDAD DEL SOFTWARECorrección de defectos en el softwareCreación de nuevas funcionalidades en el softwarepor nuevos requisitos de usuarioMejora de la funcionalidad y del rendimiento
FACTORESInexistencia de métodos, técnicas y herramientas que puedanproporcionar una solución global al mantenimientoLa complejidad de los sistemas se incrementa paulatinamentepor la realización de continuas modificacionesLa documentación del sistema es defectuosa o inexistenteSe considera el mantenimiento como una actividad pococreativa, a diferencia del desarrolloLas actividades del mantenimiento se suelen realizar bajopresión de tiempoPoca participación del usuario durante el desarrollo del siste
LA REINGENIERÍA DEL SOFTWARETECNOLOGÍA DE LA REINGENIERÍAMEJORA DEL SOFTWARE Reestructuración.Re documentación, Anotación, actualización de documentación.Ingeniería para reutilización.Remodularización.Reingeniería de procesos de negocio (BPR)Reingeniería de datos.Análisis de facilidad de mantenimiento, análisis económico.COMPRENSIÓN DEL SOFTWARE VisualizaciónAnálisis, mediciones.Ingeniería inversa, recuperación de diseño.CAPTURA, CONSERVACIÓN YEXTENSIÓN DELCONOCIMIENTO SOBRE ELSOFTWAREDescomposición.Ingeniería Inversa y recuperación de diseño.Recuperación de objetos.Comprensión de programas.Transformaciones y bases de conocimiento
LA IMPORTANCIA DE LA REINGENIERÍADEL SOFTWAREPuede reducir los riesgos evolutivos de una organizaciónPuede ayudar a las organizaciones a recuperar sus inversionesen softwarePuede hacer el software más fácilmente modificableAmplía las capacidades de las herramientas CASEEs un catalizador para la automatización del mantenimientodel softwarePuede actuar como catalizador para la aplicación de técnicas deinteligencia artificial (IA) para resolver problemas de reingeniería

Mantenimiento De Softtware

  • 1.
  • 2.
    El mantenimiento desoftware es una de las actividades más comunes en la ingeniería de software y es el proceso de mejora y optimización del software desplegado (es decir; revisión del programa), así como también corrección de los defectos y prevenirlos.El mantenimiento de software es también una de las fases en el ciclo de vida de desarrollo de sistemas(SDLC, sigla en inglés de systemdevelopmentlifecycle), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene después del despliegue (implementación) del software en el campo.
  • 3.
    Tipos de mantenimientoPerfectivo: son las acciones llevadas a cabo para mejorar la calidad interna de los sistemas en cualquiera de sus aspectos: reestructuración del código, definición más clara del sistema y optimización del rendimiento y eficiencia. Evolutivo: son las incorporaciones, modificaciones y eliminaciones necesarias en un producto software para cubrir la expansión o cambio en las necesidades del usuario. Adaptativo: son las modificaciones que afectan a los entornos en los que el sistema opera, por ejemplo, cambios de configuración del hardware, software de base, gestores de base de datos, comunicaciones, etc. Correctivo: son aquellos cambios precisos para corregir errores del producto software.
  • 4.
    ACTUACIONES COMUNES PARAMANTENERLA OPERATIVIDAD DEL SOFTWARECorrección de defectos en el softwareCreación de nuevas funcionalidades en el softwarepor nuevos requisitos de usuarioMejora de la funcionalidad y del rendimiento
  • 5.
    FACTORESInexistencia de métodos,técnicas y herramientas que puedanproporcionar una solución global al mantenimientoLa complejidad de los sistemas se incrementa paulatinamentepor la realización de continuas modificacionesLa documentación del sistema es defectuosa o inexistenteSe considera el mantenimiento como una actividad pococreativa, a diferencia del desarrolloLas actividades del mantenimiento se suelen realizar bajopresión de tiempoPoca participación del usuario durante el desarrollo del siste
  • 6.
    LA REINGENIERÍA DELSOFTWARETECNOLOGÍA DE LA REINGENIERÍAMEJORA DEL SOFTWARE Reestructuración.Re documentación, Anotación, actualización de documentación.Ingeniería para reutilización.Remodularización.Reingeniería de procesos de negocio (BPR)Reingeniería de datos.Análisis de facilidad de mantenimiento, análisis económico.COMPRENSIÓN DEL SOFTWARE VisualizaciónAnálisis, mediciones.Ingeniería inversa, recuperación de diseño.CAPTURA, CONSERVACIÓN YEXTENSIÓN DELCONOCIMIENTO SOBRE ELSOFTWAREDescomposición.Ingeniería Inversa y recuperación de diseño.Recuperación de objetos.Comprensión de programas.Transformaciones y bases de conocimiento
  • 7.
    LA IMPORTANCIA DELA REINGENIERÍADEL SOFTWAREPuede reducir los riesgos evolutivos de una organizaciónPuede ayudar a las organizaciones a recuperar sus inversionesen softwarePuede hacer el software más fácilmente modificableAmplía las capacidades de las herramientas CASEEs un catalizador para la automatización del mantenimientodel softwarePuede actuar como catalizador para la aplicación de técnicas deinteligencia artificial (IA) para resolver problemas de reingeniería