Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GRANDE DE GUERRERO
CARRERA:
ASIGNATURA:
Fundamentos TI
PROFESOR:
ALUMNO:
GRADO Y GRUPO:
”1-1” “TI”
índice
Contenido
ingeniería y mantenimiento del software..................................................................4
Tipos de mantenimiento...........................................................................................5
Mantenimiento correctivo......................................................................................6
Mantenimiento adaptativo.....................................................................................6
Mantenimiento perfectivo......................................................................................6
Mantenimiento preventivo.....................................................................................7
ACTIVIDADES DE MANTENIMIENTO....................................................................7
CÓDIGO HEREDADO..........................................................................................8
Gestión de la calidad..........................................................................................10
SOLUCIONES TÉCNICAS.................................................................................12
MANTENIBILIDAD.................................................................................................13
EL MANTENIMIENTO FUTURO............................................................................14
ESTÁNDARES.......................................................................................................15
INTRODUCCIÓN
Uno de los desafíos más comunes en el mantenimiento del software es lidiar con
el código heredado, es decir, el código que ha sido desarrollado por otros
programadores en el pasado y que puede ser difícil de entender o modificar.
Además, el mantenimiento ad hoc, es decir, realizar cambios sin utilizar métodos,
técnicas y herramientas adecuadas, puede llevar a problemas adicionales, como
la falta de estructura en el código y la documentación desactualizada.
DESARROLLO
de medidas que hay que tomar para que el sistema siga trabajando
correctamente.
El software no envejece
El mantenimiento del software supone adaptar el paquete o sistema objeto
de este a nuevas situaciones como:
Cambio de hardware.
Cambio de software de base (S.O.).
Es más barato corregir defectos en las primeras etapas del ciclo de vida del
software debido a la facilidad de cambiar la documentación en lugar de modificar
el código y porque es más fácil detectar errores en las etapas iniciales. También
se mencionan costos intangibles, como la pérdida de oportunidades de desarrollo,
la insatisfacción del cliente, la introducción de errores ocultos y los retrasos en
otros proyectos debido a las demandas de mantenimiento.
Tipos de mantenimiento
Existen 4 tipos de mantenimiento:
Correctivo.
Adaptativo.
Perfectivo.
Preventivo.
Mantenimiento correctivo
El objetivo principal es encontrar y corregir posibles defectos en los programas de
software. Un defecto se refiere a una característica del sistema que podría causar
un fallo. Un fallo se produce cuando el comportamiento del sistema no coincide
con lo que se especificó. Los fallos en el software pueden manifestarse en
diferentes formas, como resultados incorrectos, bajo rendimiento, problemas de
diseño o discrepancias entre la funcionalidad del programa y la documentación del
usuario.
Mantenimiento adaptativo
Este tipo de mantenimiento implica la modificación de un programa debido a
cambios en el entorno en el que se ejecuta, como cambios en hardware, software,
sistema operativo o incluso el entorno de desarrollo del software. Estas
modificaciones pueden variar desde pequeños ajustes hasta una revisión
completa del código. Los cambios en el entorno de desarrollo pueden involucrar
modificaciones en los datos o en los procesos, como cambiar de un sistema de
archivos a una base de datos relacional o migrar a una plataforma con procesos
distribuidos.
Mantenimiento perfectivo
Conjunto de actividades para mejorar o añadir nuevas funcionalidades
Se divide en dos:
Mantenimiento de Ampliación: incorporación de nuevas funcionalidades.
Mantenimiento de Eficiencia: mejora de la eficiencia de ejecución.
Mantenimiento preventivo
Este tipo de mantenimiento implica la modificación del software con el propósito de
mejorar sus propiedades, como la calidad y la facilidad de mantenimiento, sin
cambiar sus especificaciones funcionales. Estas modificaciones pueden incluir la
adición de sentencias para verificar la validez de los datos de entrada,
reestructuración de los programas para hacerlos más legibles o agregar nuevos
comentarios. Este enfoque de mantenimiento utiliza técnicas de ingeniería inversa
y reingeniería para lograr sus objetivos.
ACTIVIDADES DE MANTENIMIENTO
Las actividades de mantenimiento se agrupan en tres categorías funcionales:
CÓDIGO HEREDADO
El software actual suele consistir en código antiguo, desarrollado con técnicas y
herramientas obsoletas y mantenido por personas que ya no trabajan en él.
Reescribirlo no es rentable debido a los costos pasados y la necesidad de
amortización.
nieve; que consiste en que los cambios introducidos por una petición de
mantenimiento conllevan efectos secundarios que implican futuras peticiones de
mantenimiento.
Gestión de la calidad
Para abordar el problema a largo plazo, es esencial mejorar la calidad del proceso
de desarrollo de software en su totalidad. Algunas técnicas de gestión de la
calidad del software incluyen:
Utilizar técnicas estándares para descomponer el software en entidades
funcionales.
Aplicar estándares de documentación del software.
Diseñar paso a paso en cada nivel de descomposición del software.
Utilizar código estructurado.
Definir de antemano todas las interfaces y estructuras de datos antes del
diseño.
Emplear métricas de producto para medir atributos del software y métricas
de procesos para evaluar la calidad del proceso.
Utilizar herramientas y entornos de desarrollo de software más avanzados
cada solicitud.
SOLUCIONES TÉCNICAS
Existen dos tipos de recursos en el mantenimiento de software: herramientas y
métodos. Las herramientas están diseñadas para apoyar eficazmente los métodos
utilizados por el equipo de mantenimiento, ayudando a comprender el programa y
probar las modificaciones para asegurar la ausencia de errores. Algunas de estas
herramientas incluyen formateadores, analizadores estáticos, estructuradores,
documentadores, depuradores interactivos, generadores de datos de prueba y
comparadores.
MANTENIBILIDAD
La mantenibilidad del software es una medida cualitativa que evalúa la facilidad de
comprender, corregir, adaptar y mejorar un programa. Factores que influyen en la
mantenibilidad incluyen el diseño, la configuración, la calificación del equipo de
desarrollo, la estructura del software, facilidad de uso, lenguajes estándar,
documentación, depuración, hardware disponible, y el equipo original.
EL MANTENIMIENTO FUTURO
La tendencia actual se enfoca en sistemas basados en componentes reutilizables
COTS, lo que afecta el proceso de desarrollo y mantenimiento del software. Esto
requiere personal calificado, como arquitectos del sistema, especialistas en
tecnología y expertos en integración y pruebas.
ESTÁNDARES
Para los procesos del ciclo de vida del software: ISO 12207, IEEE 1074.
Para la calidad del software y sus métricas: ISO 9126, IEEE 1061.
Para el mantenimiento del software: IEEE 121
CONCLUSIÓN