Mantenimiento del software_unidad___9

18
Unidad # 9 Mantenimiento del Software Integrantes: Kelly Morales (coordinadora) Allison Delgado (secretaria) Melanie Guerrero Briggitte González Madeley Maquilón

Transcript of Mantenimiento del software_unidad___9

Page 1: Mantenimiento del software_unidad___9

Unidad # 9Mantenimiento del

Software Integrantes:Kelly Morales (coordinadora)Allison Delgado (secretaria)Melanie GuerreroBriggitte GonzálezMadeley Maquilón

Page 2: Mantenimiento del software_unidad___9

Proceso de mejorar y optimizar el software desplegado e implementado, así como también remediar los defectos.

Page 3: Mantenimiento del software_unidad___9

La fase de mantenimiento de software involucra:

Cambios al software en orden de corregir defectos y dependencias.

Adición de nueva funcionalidad para mejorar la usabilidad y aplicabilidad del software.

Page 4: Mantenimiento del software_unidad___9

Mantenimiento Correctivo:

• Modificaciones reactivas a un producto software hechas después de la entrega para corregir defectos descubiertos.

Mantenimiento Adaptivo:

• Modificación de un producto software realizada después de la entrega para permitir que un producto software siga pudiéndose utilizar en un entorno diferente.

Page 5: Mantenimiento del software_unidad___9

Es la rama de la ingeniería que aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones.

Su proceso se define como “un conjunto de etapas parcialmente ordenadas con la intención de lograr un objetivo, en este caso, la obtención de un producto de software de calidad”

Page 6: Mantenimiento del software_unidad___9

Se puede definir como: “modificación de un producto software, o de ciertos componente, usando para el análisis del sistema existente técnicas de Ingeniería Inversa y, para la etapa de reconstrucción, herramientas de Ingeniería Directa, de tal manera que se oriente este cambio hacia mayores niveles de facilidad en cuanto a mantenimiento, reutilización, comprensión o evaluación.”

Page 7: Mantenimiento del software_unidad___9

La reingeniería del software involucra diferentes actividades como son:

Análisis de Inventarios

Reestructuración de

documentos

Ingeniería inversa

Reestructuración de

programas y datos.

Ingeniería directa

Page 8: Mantenimiento del software_unidad___9
Page 9: Mantenimiento del software_unidad___9

Todas las organizaciones de software deberían tener un inventario de todas sus aplicaciones. El inventario tal vez no sea más que un modelo en una hoja de cálculo que contenga información que proporcione una descripción detallada (tamaño, edad, importancia para el negocio) de las aplicaciones actividades. Ordenada esta información en función de su importancia para el negocio, longevidad, mantenibilidad actual y otros criterios importantes, ENTONCES es posible conocer las prioridades para la reingeniería.

Page 10: Mantenimiento del software_unidad___9

La documentación débil es la marca de muchos sistemas heredados. ¿Pero qué se hace acerca de ellos? El sistema es crucial para el negocio y debe volver a documentarse por completo, en este caso un enfoque inteligente es recortar la documentación a un mínimo esencial.

Page 11: Mantenimiento del software_unidad___9

La ingeniería inversa del software es el proceso de análisis de un programa con el fin de crear una representación de programa con un nivel de abstracción más elevado que el código fuente. La Ingeniería inversa es un proceso de recuperación de diseño. Con las herramientas de la ingeniería inversa se extraerá del programa existente información del diseño arquitectónico y de proceso, e información de los datos.

Page 12: Mantenimiento del software_unidad___9

Llevar a cabo esta actividad requiere analizar el código fuente empleando una herramienta de reestructuración, se indican las violaciones de las estructuras de programación estructurada, y entonces se reestructura el código. El código reestructurado resultante 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 Códigos

Page 13: Mantenimiento del software_unidad___9

La reestructuración de datos es una actividad de reingeniería a gran escala. En la mayoría de los casos, comienza con una actividad de ingeniería inversa. La arquitectura de datos actual se analiza con minuciosidad y se define los modelos de datos necesarios, se identifican los objetivos de datos y los atributos, y después se revisa la calidad de las estructuras de datos existentes. Dado que la arquitectura de datos tiene una gran influencia sobre la arquitectura del programa, y también sobre los algoritmos que lo pueblan , los cambios datos darán lugar invariablemente a cambios o bien de arquitectura o bien de código.

Page 14: Mantenimiento del software_unidad___9

La ingeniería directa no sólo recupera la información de diseño a partir del software existente, también utiliza esta información para alterar o reconstruir el sistema existente con la finalidad de mejorar su calidad global. En la mayoría de los casos el software sometido a reingeniería vuelve a implementar la función del sistema existente y también añade nuevas funciones o mejoras.

Page 15: Mantenimiento del software_unidad___9

Acceder al código fuente de un programa significa acceder a los algoritmos desarrollados por sus creadores. Es la única manera de modificar eficaz y eficientemente un programa.

Liberar un código fuente significa compartir ese texto con cualquier persona que lo desee, esto implica que cualquiera puede analizarlo, copiarlo o modificarlo.

Y también implica ciertos riesgos en cuanto a la seguridad del mismo, pues su funcionamiento exacto queda expuesto.

Page 16: Mantenimiento del software_unidad___9
Page 17: Mantenimiento del software_unidad___9

Glosario Optimizar: determinar los valores de las

variables que intervienen en un proceso o sistema para que el resultado que se obtiene sea el mejor posible.

Reestructuración: Acción y efecto de reestructurar o reestructurarse.

Incomprensible:  Que no puede ser justificado o razonado de ningún modo

Codificar:  Reunir leyes o normas en un código.

Automatizar: Aplicar máquinas o procedimientos automáticos en la realización de un proceso o en una industria

Analizar: Hacer un análisis de determinada cosa

Implementar: Activar.

Page 18: Mantenimiento del software_unidad___9

Bibliografía

www.sincows.com www.cnx.org www.angelfire.com www.alegsa.com.are