Respuesta: es el grado con el que un sistema, componente o proceso cumple con los requisitos especificados y las necesidades expectativas del cliente o usuario.
¿Qué pasos hay para la gestión de calidad de software?
Respuesta: aseguramiento, control, verificación
¿Cuales son las actividades del proceso de aseguramiento de calidad de software?
Respuesta: estándar, de revisión, de prueba, análisis de defectos, gestión de configuración
¿Cuales son los objetivos del SQA?
Respuesta:
Planificar las actividades de SQA.
Verificar la adherencia de los productos de trabajo y de las actividades a los estándares, procedimientos y requerimientos establecidos.
Informar a los grupos e individuos afectados sobre las actividades de SQA y sus resultados.
Comunicar a la administración superior sobre desviaciones no resueltas dentro del proyecto.
SQA se define como un conjunto de actividades planificadas y sistemáticas, cuyo primer objetivo es evaluar la calidad de los productos de software, la aplicación de procesos, procedimientos y de estándares de desarrollo.
Tiene como objetivo entregar a la administración una visibilidad adecuada del proceso utilizado y los productos construidos mediante acciones planificadas y sistemáticas que aseguren la calidad de dichos procesos y productos.
Objetivos principales
Planificar las actividades de SQA.
Verificar la adherencia de los productos de trabajo y de las actividades a los estándares, procedimientos y requerimientos establecidos.
Informar a los grupos e individuos afectados sobre las actividades de SQA y sus resultados.
Comunicar a la administración superior sobre desviaciones no resueltas dentro del proyecto.
Actividades del grupo SQA
Preparar el Plan de SQA para cada proyecto.
Participar en el desarrollo de la descripción del proceso de software para un proyecto.
Revisar las actividades de ingeniería en acuerdo con el proceso definido.
Auditar los productos de trabajo designados, para verificar su adherencia con aquellos definidos en el modelo de proceso.
Asegurar que las desviaciones en el desarrollo y en los productos de trabajo sean documentadas y apoyadas por el procedimiento de documentación.
Registrar cualquier disconformidad e informar a la administración superior.
Coordinar la gestión de configuración. SCM.
Apoyar la recolección y análisis de métricas de software
Actividades del proceso de SQA
Estándares
Los estándares son los cimientos de cualquier sistema de calidad de software, pues proveen la base para la evaluación y medición de las actividades y de los productos de trabajo durante todo el ciclo de vida del software. Por tanto, ellos establecen el marco de trabajo para el desarrollo de software, constituyéndose en un factor crítico.
Campo de acción que cubren :
Ciclo de vida del software
Documentación
Código fuente
Criterios para denominar los ítems de configuración
Procedimientos y protocolos
Revisiones
Las revisiones constituyen la primera forma de monitorear y evaluar la calidad de los productos de trabajo, y además, proveen mayor visibilidad al desarrollo. Las revisiones son una metodología definida, estructurada y disciplinada para la detección e identificación de defectos en los productos de trabajo durante el ciclo de vida del software. Cuenta con seis etapas: planificación, orientación, preparación, inspección, rework y seguimiento, las cuales son llevadas a cabo por un equipo con tareas y responsabilidades definidas, con documentación específica y por un período determinado.
Prueba
La prueba es la última actividad de evaluación del producto que permite detectar defectos y establecer el nivel de satisfacción de los requerimientos. Sus actividades incluyen la planificación, diseño, ejecución y reporte sobre los diferentes niveles de prueba existentes durante el proyecto. Estos niveles van desde las pruebas de unidad, pasando por la de integración, hasta las del sistema y aceptación.
Por lo tanto, SQA debe garantizar que: ◦Los procedimientos de prueba verifican los requerimientos según el plan. ◦La versión del software evaluada sea la actual. ◦Los procedimientos sean utilizados. ◦Cualquier problema detectado durante esta actividad, sea registrado e informado oportunamente. ◦Los informes entregados correspondan a la realidad y sean completos. ◦La corrección de los errores sea realizada antes de la entrega del producto final.
Análisis de defectos
Los defectos ocurren a lo largo de todo del ciclo de vida del software sin excepción. Por ello resulta natural concentrar esfuerzos en su detección y corrección. No obstante a que la corrección de defectos es importante, más lo es su prevención. Esta sólo puede alcanzarse a partir del registro y seguimiento de los defectos, puntapié inicial para un posterior análisis. Es, entonces, el análisis de defectos la actividad responsable de corregir las deficiencias actuales en el proceso y así disminuir los defectos en futuros proyectos.
Gestión de configuración
El propósito de la Gestión de Configuración (Software Configuration Management, SCM) es establecer y mantener la integridad de los productos a través de todo el ciclo de vida del software, proveyendo un adecuado control de los cambios producidos en los diversos ítems de configuración1. Para ello, SCM se compone de cuatro actividades principales:
La identificación de la configuración proporciona un método único y especifico para identificar cada instancia (release, versión, etc.) de un producto de software. El control de cambios asegura que cada modificación sobre alguna instancia del producto sea conocida, autorizada y documentada. La contabilidad de la configuración permite establecer un seguimiento e informar sobre el estado de la configuración en un tiempo dado. Las auditorías establecen si el producto ha sido construido de acuerdo a los requerimientos y que el software esté realmente representado por la documentación que le acompaña.
La definición del estándar IEEE Std.610-1991, indica que calidad del software es el grado con el que un sistema, componente o proceso cumple con los requisitos especificados y las necesidades expectativas del cliente o usuario. Los requisitos se reflejan en la especificación de requisitos de manera explícita, el documento constituye la culminación de la etapa de análisis dentro del proceso de desarrollo.
Para hacer el estudio de la calidad del software se debe conocer primero los principales términos empleados en esta área, algunos de ellos son:
Gestión de la calidad del software (Software Quality Management)
Son las actividades coordinadas para dirigir y controlar una organización en lo relativo a la calidad. Esto se puede entender como el aspecto de la función general de la gestión que detemina y aplica la política de calidad (objetivos y directrices generales de calidad de una empresa). Normalmente la gestión de calidad se aplica a nivel de empresa, por lo que incluye planificación estratégica, asignación de recursos, etc
Aseguramiento de la calidad del software (Software Quality Assurance)
Es la parte de la gestión de la calidad orientada a proporcionar confianza en que se cumplirán los requisitos de la calidad. A nivel del software, podría presentarse como el conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto satisfará los requisitos dados de calidad. También puede referirse, en el software al “conjunto de actividades para evaluar el proceso mediante el cual se desarrolla el producto”. El aseguramiento pretende dar confianza en que el producto tiene calidad.
Control de la calidad del software (Software Quality Control)
Es la parte de la gestión de la calidad orientada al cumplimiento de los requisitos de la calidad. Suele incluir las técnicas y actividades de carácter operativo, utilizadas para satisfacer los requisitos relativos a la calidad, centradas en dos objetivos fundamentales, el de mantener bajo control un proceso y eliminar las causas de defectos en las diferentes fases del ciclo de vida. En general, son las actividades para evaluar la calidad de los productos desarrollados.
Verificación y validación del software (Software Verication and Validation)
Que es una actividad ligada al control de la calidad en el ámbito del software. La verificación hace refrencia a comprobar si los productos construidos en una fase del ciclo de vida satisfacen los requisitos establecidos en la fase anterior. Se suele decidir si el producto esta completo y es consistente. Aquí se realizan las actividades para comprobar si un producto software esta técnicamente bien construido y si funciona. Y la validación que se refiere a comprobar si el software construido satisface los requisitos del usuario. Por lo tanto, son las actividades de comprobación de que el producto software construido es el que se deseaba construir, es decir, si el producto funciona como el usuario quiere y realiza las funciones que se habían solicitado.