CUESTIONARIO DEL ANÁLISIS DE LA NORMA ISO 14764 UNIDAD
I. INTRODUCCIÓN AL MANTENIMIENTO DE SISTEMAS
DATOS GENERALES DEL PROCESO DE EVALUACIÓN NOMBRE DEL ALUMNO: MATRICULA: FIRMA DEL ALUMNO: MARCO ANTONIO 163181 MULATO BRINDIS PRODUCTO: CUESTIONARIO DEL FECHA: 10/01/2019 ANÁLISIS DE LA NORMA ISO 14764 ASIGNATURA: CLAVE: N/A MANTENIMIENTO DE SOFTWARE NOMBRE DEL PROFESOR: FIRMA DEL PROFESOR: VICTOR FERNANDO RAMOS FON BON 1. ¿Qué es mantenimiento de software? El Servicio de mantenimiento de software es una de las actividades en la Ingeniería de Software y es el proceso de mejorar y optimizar el software desplegado (revisión del programa), así como también remediar los defectos. El mantenimiento de software es también una de las fases en el Ciclo de Vida de Desarrollo de Sistemas (SDLC ó System Development Life Cycle), 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. La fase de mantenimiento de software involucra cambios al software en orden de corregir defectos y dependencias encontradas durante su uso tanto como la adición de nueva funcionalidad para mejorar la usabilidad y aplicabilidad del software.
2. ¿Qué norma describe el ciclo de vida de un producto?
La Norma Internacional ISO 14040 fue preparada por el Comité Técnico ISO/TC 207, Gestión ambiental, Subcomité SC 5, Análisis del ciclo de vida.
3. ¿Cuál es la norma ISO/IEC 12207?
SO / IEC / IEEE 12207: 2017 también proporciona procesos que se pueden emplear para definir, controlar y mejorar los procesos del ciclo de vida del software dentro de una organización o un proyecto. Los procesos, actividades y tareas de este documento también pueden aplicarse durante la adquisición de un sistema que contiene software, ya sea solo o en conjunto con ISO / IEC / IEEE 15288: 2015, Ingeniería de sistemas y software: procesos del ciclo de vida del sistema.
4. ¿En qué se diferencia una corrección con una mejora?
Mejora: Es un cambio software, pero no es una corrección como las definidas antes así habrá dos tipos de mejoras: adaptativas y perfectivas. Mantenimiento correctivo: Es la modificación de un producto software hecha después de la entrega debido a que debemos corregir errores descubiertos de modo que La modificación repara el producto software para satisfacer requerimientos. 5. ¿Cuáles son los tipos de mantenimiento? • Perfectivo • Adaptativo • Correctivo • Preventivo. 6. ¿Cuál es la definición del mantenimiento Perfectivo? Mejora del software (rendimiento, flexibilidad, reusabilidad ...) o implementación de nuevos requisitos. También se conoce como mantenimiento evolutivo.
7. ¿Cuál es la definición del mantenimiento preventivo?
Facilitar el mantenimiento futuro del sistema (verificar precondiciones, mejorar legibilidad...).
8. ¿Cuál es la definición del mantenimiento adaptativo?
Adaptación del software a cambios en su entorno tecnológico (nuevo hardware, otro sistema de gestión de bases de datos, otro sistema operativo ...).
9. ¿Cuál es la definición del mantenimiento correctivo?
Corrección de fallos detectados durante la explotación.
10. ¿Cuáles son las herramientas utilizadas para el mantenimiento de
software? Una posible forma de contener los costes del mantenimiento es el uso de herramientas CASE. Éstas herramientas ayudan en las actividades de mantenimiento. Por CASE entendemos un conjunto de herramientas que ayudan en todos los aspectos del desarrollo y mantenimiento de software (ISO/IEC DTR 14471). Esta colección interrelacionada de herramientas CASE deberían formar un SEE (En inglés Entorno para la Ingeniería del Software) para soportar los métodos, políticas, líneas guía y estándares que soportan las actividades de mantenimiento de software. Debería existir también un Entorno de Pruebas de Software (en inglés STE) de forma que el producto software modificado se pueda probar en un entorno no operativo. El SEE proporciona las herramientas para comenzar a desarrollar y modificar los productos software. El STE proporciona el entorno para las pruebas. Poner una fecha límite para el uso de herramientas CASE tiene que ver con el éxito en cierto modo los encargados del mantenimiento deberían planear estos trabajos con cuidado (ISO/IEC 14471). 11. ¿Qué es mantenibilidad y qué aspectos lo afectan? Mantenibilidad es la capacidad de un elemento, bajo determinadas condiciones de uso, para conservar, o ser restaurado a, un estado en el que pueda realizar la función requerida, cuando el mantenimiento se realiza bajo determinadas condiciones y usando procedimientos y recursos establecidos. • Identificación y definición de funciones del programa, sobre todo las opcionales. • Exactitud y organización lógica de los datos, por ejemplo, poner las bases de datos en forma normal Interfaces, es decir la especificación de las interfaces de usuario. • Requerimientos de rendimiento, por ejemplo “el sistema debe tardar menos de x segundos”, incluyendo los efectos de correcciones y añadiduras, por ejemplo “si añadimos la función F el sistema se retarda en Y segundos”. • Requerimientos impuestos por el entorno planificado, por ejemplo, no gastar más dinero del presupuestado. En resumen, ajustarse al gasto de recursos previsto por la planificación • Granularidad de los requerimientos ya que esto afecta a la dificultad o trazabilidad, se puede traducir por “obtener el mayor grado de detalle en el análisis de requerimientos”. • El Plan de Aseguramiento de la calidad del software debería poner énfasis en la documentación y su cumplimiento, debe poner bien claro como documentar el programa y además se debe garantizar su cumplimiento 12. ¿Cuáles son las actividades específicas del proceso de desarrollo? Las principales características de esta Actividad del Proceso de Desarrollo de ISO/IEC 12207 que afectan a la mantenibilidad son la elección de la estructura del programa, su división en entidades y el flujo de datos entre ellos. Como en otras actividades, es importante usar los conocimientos sobre procesamiento de datos que tenga el equipo ya que esto puede revelar posibilidades importantes sobre la reutilización de partes de programas existentes o bibliotecas de funciones que ya han demostrado su utilidad. 13. ¿Qué comprende el análisis de requerimientos de software? El proceso de análisis de requerimientos refina, modela, especifica y verifica las solicitudes de usuario, y con ello genera documentos base para la ejecución de los procesos siguientes. La base para la definición del proceso de administración de requerimientos es el área de procesos Requirements Development (RD) del modelo CMMI Development versión 1.3 (Capability Maturity Model Integration), que reúne un conjunto de prácticas que orientan y garantizan el correcto análisis de los requerimientos de un sistema, en un proyecto de desarrollo de software.
14. ¿Qué comprende el diseño de la arquitectura del software?
Esta actividad transforma los requerimientos del software en una arquitectura que describe su estructura de alto nivel y que identifica los componentes software (ISO/IEC 12207). Las principales características de esta Actividad del Proceso de Desarrollo de ISO/IEC 12207 que afectan a la mantenibilidad son la elección de la estructura del programa, su división en entidades y el flujo de datos entre ellos. Como en otras actividades, es importante usar los conocimientos sobre procesamiento de datos que tenga el equipo ya que esto puede revelar posibilidades importantes sobre la reutilización de partes de programas existentes o bibliotecas de funciones que ya han demostrado su utilidad.
15. ¿Qué comprende el diseño detallado del software?
Esta actividad del Proceso de Desarrollo de ISO/IEC 12207 proporciona un diseño detallado para cada componente software, para los interfaces y las bases de datos. Esta actividad produce una descripción exacta y detallada de las funciones necesarias para completar la solución de programación propuesta. La mantenibilidad del software mejorará con la inclusión de características de calidad de ISO/IEC 9126.
16. ¿Qué comprende la codificación y pruebas del software?
Esta Actividad del Proceso de Desarrollo de ISO/IEC 12207 desarrolla, documenta y prueba las unidades software, así como las bases de datos. La mantenibilidad del software mejorará si vamos actualizando la documentación. Una documentación de calidad debería proporcionar información que ayude en el Proceso de Mantenimiento. Algunas sugerencias para mejorar la mantenibilidad con una documentación de calidad: • Garantizar la legibilidad, por ejemplo, en un programa debe haber nombres significativos tanto para variables, constantes, tipos, funciones..., y para facilitar su entendimiento debe haber código bien comentado. • Evitar código no estructurado, modularizar el programa al máximo. • Examinar las debilidades del lenguaje para evitar problemas clásicos, por ejemplo, en C tenemos la posibilidad de hacer preincrementos y postincrementos, supongamos que escribimos en el código esta expresión: i++ + ++j. El programador puede esperar un resultado de dicha expresión distinto del que se obtiene al ejecutar el programa. • Detección de errores en el diseño detallado, si no se hace eso se puede llegar a perder tiempo. • Uso de técnicas que faciliten el seguimiento de errores, por ejemplo, trazar el programa. 17. ¿Qué comprende las pruebas de cualificación de software? Esta actividad asegura que la implementación de cada requerimiento software se comprueba para ver si se cumple dicho requerimiento (ISO/IEC 12207). Los requerimientos software relacionados con la calidad se prueban durante esta actividad. Los casos de prueba usados durante el desarrollo de software deberían guardarse para hacer un análisis de regresión después de las modificaciones. Además, la historia del desarrollo de un programa debería estar disponible para evitar repetir errores y contribuir al mantenimiento desde el principio.
18. ¿Para qué nos sirve la documentación?
Los encargados del mantenimiento a menudo se enfrentan problemas tales como tener que proporcionar mantenimiento a un producto con poca o ninguna documentación. Si no hay documentación el encargado debería crearla. La creación de documentación es parte del mantenimiento perfectivo. Esto hace que se presenten dificultades en el proceso de mantenimiento.
19. ¿Con qué elementos debería consistir una estrategia de
mantenimiento? La estrategia de mantenimiento de software debería consistir de los siguientes elementos: • Concepto de mantenimiento • Plan de mantenimiento • Análisis de recursos 20. ¿Cuáles son las actividades que comprende el proceso de mantenimiento? El Proceso de Mantenimiento contiene las actividades y tareas que debe llevar a cabo el mantenedor. Este proceso se activa cuando el producto software implica modificaciones en el código y documentación asociada debido a un problema o la necesidad de mantenimiento para mejorar. El objetivo es modificar software existente preservando la integridad. Este proceso incluye la migración y retiro del producto software. El Mantenimiento de Software es una de los cinco procesos primarios del ciclo de vida que se deben llevar a cabo durante el ciclo de vida del software (ISO/IEC 12207). Los procesos primarios Adquisición y Entrega pueden iniciar la actividad Implementación del Proceso del proceso primario Mantenimiento de Software por medio de un acuerdo o contrato. • El proceso primario Operación de ISO/IEC 12207 pueden iniciar el proceso de Mantenimiento Software remitiendo una Solicitud de Modificación (MR) o Informe de Problema. • El proceso Mantenimiento de Software invoca el proceso primario Desarrollo • de ISO/IEC 12207. • Los procesos de apoyo de Documentación, Gestión de la Configuración, • Aseguramiento de la Calidad, Verificación, Validación, Revisión Conjunta, Auditoría y • Resolución de Problemas de ISO/IEC 12207 se utilizan el proceso Mantenimiento de Software