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
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.
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).
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.
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.
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