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
·
Clientes
·
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
1. Participación
en el desarrollo de la descripción del proceso de software del proyecto
2. Revisión
de las actividades de ingeniería del software para verificar su ajuste al
proceso de software definido
3. Auditoría
de los productos de software designados para verificar el ajuste con los
definidos como parte del proceso de software
4. Asegurar
que las desviaciones del trabajo y los productos del software se documenten y
se manejen de acuerdo con un procedimiento establecido
5. 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.
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
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:
1) Auditorías PPQA
(Process and Product Quality Assurance)
Es la actividad de garantizar que el proceso y el product de trabajo se ajustan al plan acordado.
Es la actividad de garantizar que el proceso y el product de trabajo se ajustan al plan acordado.
2) 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
Diagrama causa– efecto.
Checklist.
Checklist.
Gráfica de control.
Histograma.
Histograma.
Diagrama de dispersión.
Herramientas de gestión.
Herramientas de gestión.
Herramientas de creatividad.
Herramientas estadísticas.
Herramientas de diseño.
Herramientas de medición.
Niveles de madurez.
Herramientas estadísticas.
Herramientas de diseño.
Herramientas de medición.
Niveles de madurez.
No hay comentarios:
Publicar un comentario