domingo, 19 de mayo de 2019

2 Aseguramiento de calidad de software

2.1 Relación de la ingeniería del software SQA
Esta relación implica a varios responsables durante el proceso de la elaboración del software de calidad, estos son:
Ingenieros de software
Jefes de proyecto
Resultado de imagen para aseguramiento de calidad  pngClientes
Vendedores
Quienes trabajan dentro de un grupo de la SQA
Estos últimos pueden ser independientes y tendrán las siguientes actividades para llegar al objetivo de la SQA:
Establecimiento de  un plan de la SQA para un proyecto.
En este plan se identifica:
Evaluaciones a realizar
Auditorías y revisiones a realizar
Estándares que se pueden aplicar al proyecto
Procedimientos para información y seguimiento de errores
Documentos producidos por el grupo SQA
Realimentación de información proporcionada al equipo de proyecto del software
·        Participación en el desarrollo de la descripción del proceso de software del proyecto
·        Revisión de las actividades de ingeniería del software para verificar su ajuste al proceso de software definido
·        Auditoría de los productos de software designados para verificar el ajuste con los definidos como parte del proceso de software
·        Asegurar que las desviaciones del trabajo y los productos del software se documenten y se manejen de acuerdo con un procedimiento establecido
·        Registrar lo que no se ajuste a los requisitos e informar a sus superiores

2.2 Definición y propósito del SQA
SQA es un set de actividades sistemáticas que aseguran que el proceso del software y productos conformados por requerimientos, estándares, y procedimientos. Los procesos incluyen todas las actividades involucradas en el diseño, codificación, pruebas y mantenimiento; Los productos incluyen software, datos asociados, documentación, y toda la documentación para soporte y reportes.
  
El Rol:
El rol para SQA es brindar a la administración la aseguranza de que procesos oficialmente establecidos están siendo implementados. Y asegura que:
1.-Una metodología de desarrollo apropiada este establecida
2.-Que los proyectos utilicen estándares y procedimientos en su trabajo
3.-Que la documentación sea creada para mantenimiento y mejoramiento
4.-La administración de configuración de software este adecuada para controlar cambios
5.-Se realicen pruebas y que se aprueben
6.-Cualquier deficiencia y desviaciones sean identificadas y llevadas con atención a la administración.
Propósito:
Proporcionar visibilidad sobre los procesos utilizados por el proyecto de software y sobre los productos que genera.
Objetivos:
1.-Planificar las actividades de aseguramiento de la calidad.
2.-Revisar y auditar objetivamente los productos y las actividades para verificar que están conformes con los procedimientos y estándares aplicables.
3.-Proporcionar los resultados de estas revisiones o auditorías informando a la dirección cuando sea necesaria su mediación.
2.3 Problemas que resuelve la SQA

La obtención de un software de calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del SW que permitan uniformar la filosofía de trabajo.

La adopción de una buena política o metodología contribuye en gran medida a lograr la calidad del SW pero no la asegura.

Esta política debe estar sustentada en 3 principios básicos.

1) Tecnológico: Define las técnicas a utilizar en el proceso de desarrollo de SW.

2) Administrativo: Contempla las funciones de planificación y control del desarrollo de SW, así como la organización del ambiente o centro de ingeniería del SW.

3) Ergonómico: define la interfaz entre el usuario y el ambiente automatizado.

Para controlar la calidad del SW, es necesario definir los parámetros, indicadores o criterios de medición.

Las cualidades para medir la calidad del SW se definen en 2 categorías:

- Complejidad de programa o código.

- Complejidad de sistema o estructura.



Por lo tanto, SQA resuelve problemas como:

Aumentar las posibilidades de éxito del proyecto.
 
Funcionalidad. 

Cumplimiento.
Usable.
2.4 Calidad del software en el ciclo de vida del mismo
Ciclo de vida del software
El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.
El ciclo de vida básico de un software consta de los siguientes procedimientos:
Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
Diseño general: requisitos generales de la arquitectura de la aplicación.
Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.
Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.
Implementación
Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

2.5 Roles y responsabilidades de los equipos de desarrollo

TSP ayuda a la conformación de equipos de trabajo bien organizados a través de roles, cada rol está definido por un guión en el que se especifican su objetivo, sus responsabilidades en todo el ciclo de desarrollo y la forma en que se puede evaluar su trabajo.

Los roles propuestos son:

1) Líder de proyecto:

- Objetivo: Coordinar al equipo, asegurar que todos cumplan con su trabajo (reportes de datos).

- Responsabilidades: Metas, generar informes, dirigir reuniones, motivar al equipo.

2) Administrador de desarrollo

- Objetivo: controlar avance del proyecto (diseño, desarrollo).
Responsabilidad: dirigir la realización de las fases siguiendo los estándares propuestos. Integrar el trabajo de todos.

3) Administrador de la planificación

- Objetivo: Establecer el plan de trabajo y verificar su cumplimiento.
Responsabilidades: Efectuar la planificación, asegurarse que se cumplan con el plan, recabar mediciones, resolver riesgos.

4) Administrador de apoyo

- Objetivo: Ayudar al equipo a conseguir las herramientas necesarias para que pueda realizarel trabajo, Gestionar la configuración.
Responsabilidad: Conseguir lo necesario para el desarrollo del proyecto, generar un plan de configuración, realizar la gestión de la configuración.

5) Administrador de calidad y proceso:
Objetivo: Proponer un plan de calidad, proceso, resultado.
Responsabilidades: Apoyar al equipo en la definición, gestionar el plan de calidad (SQA), generar estándares para obtener un trabajo uniforme, moderar las revisiones de los productos
2.6 Habilidades y capacidades del personal del SQA
El equipo de SQA trabaja con la gerencia de proyectos durante los inicios del desarrollo para establecer los planes, estándares y los procedimientos que agregarán valor al proyecto de SW y satisfacer los problemas del proyecto y de las políticas de la organización.

Participa en establecer los planes, estándares y procedimientos.
El equipo ayuda a asegurar que se cumplan con las necesidades del proyecto y verifica que sean usables para realizar revisiones e intervenciones durante todo el ciclo de vida.
Las revisiones del grupo de SQA proyectan las actividades y revisan el producto de trabajo de SW, además de proveer a la gerencia la posibilidad de saber si el proyecto está de acuerdo a los planes estándares y procedimientos establecidos

EL GRUPO ENCARGADO DE SQA.- Trabaja con el equipo del proyecto desde el inicio.
-Debe ser objetivo e independiente.
Ayuda al proyecto, más que controlar sus actividades. 
La actividad de SQA es el proceso de verificación de que los estándares sean aplicados correctamente. En los proyectos pequeños esto se puede realizar por el equipo de desarrollo, pero en proyectos grandes, un grupo específico se debe dedicar a este rol. 

2.7 Actividades del SQA

El plan de aseguramiento de la calidad del SW (SQAP) define las actividades específicas a llevar a cabo en un proyecto.

El SQAP contiene una lista de comprobación para las actividades que se deben llevar a cabo para asegurar la calidad del producto.

En el SQAP se recogen una serie de medidas que permiten establecer el nivel de calidad de los desarrollos en cualquier momento en relación a los parámetros de calidad establecidos en el mismo, de modo que los gestores de proyecto puedan dar respuesta adecuada a las acciones a tomar de acuerdo a las medidas que se recogen en el plan.

El SQAP CONTIENE:

- Propósito de plan.
Documentación de referencia.
Ciclo de vida.
Gestión del proyecto.
Documentación del proyecto.
Estándares.
Métricas.
Mecanismos de revisión.
Gestión de la configuración.
Control de versiones.
Entornos de desarrollo.
Entornos de pruebas.
Herramientas, técnicas y metodologías empleadas.
Control de suministro de proveedores (si los hay).
Políticas de almacenamiento, mantenimiento y conservación de documentación.
Plan de pruebas 
2.8 Métodos y herramientas
Los métodos más comunes para el aseguramiento de la calidad son los siguientes:
Auditorías PPQA (Process and Product Quality Assurance)
Es la actividad de garantizar que el proceso y el producto de trabajo se ajustan al plan acordado.
Pruebas de Validación:
Es el acto de introducir datos, los cuales el tester sabe que son erróneos en la aplicación.
3) Comparación de datos:
Técnica que se realiza comparando los resultados de una aplicación con parámetros específicos con los resultados de otra aplicación previamente creada, introduciendo los mismos parámetros de manera que se obtenga un resultado exacto.
4) Prueba de esfuerzo (Stress Testing)
Se realiza cuando el SW es utilizado de la manera más “ruda” posible en un período de tiempo para ver si trabaja con altos niveles de carga.
5) Pruebas de Uso:
A veces conseguir usuarios que no estén familiarizados con el SW para probarlo por un tiempo determinado, ofrece retroalimentación a los desarrolladores acerca de las dificultades que encontraron. Esta es la mejor maneta de realizar mejoras a la interfaz.
6) Revisiones por Pares (Peer Reviews).
Son actividades efectivas para el control de la calidad. Pueden aplicarse al análisis, diseño y codificación.
7) Revisión Técnica formal (RTF):
Es una actividad de garantía de calidad de SW. Es una revisión que incluye recorridos, inspecciones y revisiones cíclicas
AD
·        *Herramientas básicas.
·        *Diagrama de flujo.
·        Diagrama causa– efecto.
Checklist.
·        Gráfica de control.
 Histograma.
·        Diagrama de dispersión.
·        Herramientas de gestión.
·        Herramientas de creatividad.
·        Herramientas estadísticas.
·        Herramientas de diseño.
·        Herramientas de medición. 
·        Niveles de madurez.

No hay comentarios:

Publicar un comentario

Nombre: Calidad del Software Integrantes: García Duarte Alan Rodríguez Morales Yoshelyn Georgina Asignatura: Calidad del...