Mantenimiento de Software Es la modificación de un producto de software después de la entrega, pa...

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Mantenimiento de Software Es la modificación de un producto de software después de la entrega, para corregir errores, mejorar el rendimiento u otros atributos por Mind Map: Mantenimiento de Software Es la modificación de un producto de software después de la entrega, para corregir errores, mejorar el rendimiento u otros atributos

1. Identificar el tipo de mantenimiento

1.1. Preventivo

1.1.1. Consiste en la revisión constante del software para detectar posibles fuentes de problemas que puedan surgir en el futuro.

1.2. Corecctivo

1.2.1. Corrige los defectos encontrados en el software, y que originan un comportamiento diferente al deseado. Estas fallas pueden ser de procesamiento, rendimiento (por ejemplo, uso ineficiente de recursos de hardware), programación (inconsistencias en la ejecución), seguridad o estabilidad, entre otras.

1.3. Mantenimiento adaptativo

1.3.1. Si es necesario cambiar el entorno en el que se utiliza la aplicación (que incluye el sistema operativo, la plataforma de hardware o, en el caso de las aplicaciones web, el navegador), puede ser necesario modificarla para mantener su plena funcionalidad en estas nuevas condiciones.

1.4. Mantenimiento evolutivo

1.4.1. Es un caso especial donde la adaptación es prácticamente obligatoria, ya que de lo contrario el programa quedaría obsoleto con el paso del tiempo. Por ejemplo, el cambio de versión en un navegador (a menudo impuesto sin el consentimiento del usuario) suele requerir ajustes en los plugins y aplicaciones web.

1.5. Mantenimiento perfecto.

1.5.1. Por diferentes razones, el usuario puede solicitar la adición de nuevas funcionalidades o características no consideradas en el momento de la implementación del software. Un mantenimiento perfecto adapta la aplicación a este requisito.

2. Comprensión del software y de los cambios a realizar (Comprender)

2.1. Es necesario el conocimiento a fondo de la funcionalidad, objetivos, estructura interna y requisitos del software. Alrededor del 50% de tiempo de mantenimiento se dedica a esta actividad

3. Modificación del software (Corregir)

3.1. Crear y modificar las estructuras de datos, la lógica de procesos, las interfaces y la documentación. Los programadores deben evitar los efectos laterales provocados por sus cambios.

3.1.1. Documentación de los cambios Documentador

3.1.1.1. Las solicitudes de mantenimiento deben hacerse mediante un formulario estandarizado. El equipo de mantenimiento debe elaborar un informe de cambios para cada solicitud.

3.1.1.1.1. 1.- Información del programa.

3.1.1.1.2. 2.- Tamaño (LDC) del programa fuente.

3.1.1.1.3. 3.- Tamaño del ejecutable.

3.1.1.1.4. 4.- Lenguaje de programación utilizado.

3.1.1.1.5. 5.- Fecha de instalación del programa.

3.1.1.1.6. 6.- Número de ejecuciones del programa desde la instalación.

3.1.1.1.7. 7.- Número de fallos.

3.1.1.1.8. 8.- Número de sentencias añadidas, modificadas y eliminadas en el cambio

3.1.1.1.9. 9.- Número de personas-hora.

3.1.1.1.10. 10.- Identificación de la persona responsable.

3.1.1.1.11. 11.- Identificación de la solicitud de mantenimiento.

3.1.1.1.12. 12.- Tipo de mantenimiento.

3.1.1.1.13. 13.- Fechas de comienzo y final del mantenimiento.

3.1.1.1.14. 14.- Beneficios netos que supone el cambio.

3.1.2. Análisis Estático

3.1.2.1. Es la verificación, inspección e incluso depuración de un programa o cualquier otro tipo de repositorio de código pero sin llegar a ejecutar. Lo normal es que se haga con herramientas que ya incorporan multitud de reglas y heurísticas para detectar todo tipo de problemas, tales como malas prácticas de seguridad (overflows, posibilidad de inyecciones, etc), memoria y rendimiento

4. Realización de pruebas (Comprobar)

4.1. Realizar pruebas selectivas que nos aseguren la corrección del software.

4.1.1. Herramientas

4.1.1.1. Generador de datos de prueba

4.1.1.1.1. Es una herramienta de software especializada que genera datos falsos o simulados para su uso en aplicaciones de software de prueba. Los datos generados pueden ser aleatorios o elegidos específicamente para crear un resultado deseado.