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
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.
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.
1) Líder de proyecto:
- Objetivo: Coordinar al equipo, asegurar que todos cumplan con su trabajo (reportes de datos).
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
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.
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.
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.
Checklist.
·
Gráfica de control.
Histograma.
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