Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad...

14
INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES INGENIERÍA DEL SOFTWARE Gestión de la calidad - SQA

description

Presentación sobre los factores de calidad que se deben asegurar en el desarrollo de software.

Transcript of Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad...

Page 1: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONESINGENIERÍA DEL SOFTWAREGestión de la calidad - SQA

Page 2: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

GESTIÓN DEL PROYECTOCapítulo: aseguramiento de la calidad del software

S QA

Page 3: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

GESTIÓN DEL PROYECTOCapítulo: aseguramiento de la calidad del software

Su objetivo es proporcionar un marco común de referencia para la definición y puesta en marcha del plan de aseguramiento de calidad aplicable al proyecto software. Si en la organización ya existe un sistema de calidad, dichos planes deberán ser coherentes con el mismo, completándolo en los aspectos no contemplados relativos a normas particulares del cliente, usuario o sistema concreto.

La calidad es el grado en que un conjunto de características inherentes cumple con unos requisitos[ ]

- ISO 9000:2000

Page 4: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

El Aseguramiento de la Calidad pretende dar confianza en que el producto reúne las características necesarias para satisfacer todos los requisitos del Sistema de Información

[ ]Cuando aplicamos el concepto de calidad al software, éste deja de ser subjetivo cuando se determinan cuales son los atributos de calidad del software. Pero no deja de ser accidental ya que en ciertas situaciones, un determinado conjunto de características de calidad puede ser más importante que en ciertas otras.

Resumiendo, la calidad del software es medible y varía de un sistema a otro o de un programa a otro.

GESTIÓN DEL PROYECTOCapítulo: aseguramiento de la calidad del software

Page 5: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

GESTIÓN DEL PROYECTOExtended ISO 9126 Model of Software Quality

Page 6: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

El cumplimiento de los requerimientos funcionales y de performance explícitamente definidos, de los

estándares de desarrollo explícitamente documentados y de las características implícitas esperadas del desarrollo de software profesional.

GESTIÓN DEL PROYECTOCapítulo: aseguramiento de la calidad del software

- Pressman, 2002

Page 7: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

Un modelo adecuado para el aseguramiento de la calidad del software, es aquel que permita controlar atributos relacionados con tres aspectos: capacidad para soportar cambios, características de

proceso y de operación, adaptabilidad a nuevos entornos. - Dromey, 1995

Page 8: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

Cada atributo de calidad responde a un factor de calidad y cada factor apunta a uno o varios criterios de calidad. Es aquí donde la subjetividad termina para el concepto de calidad del software

Page 9: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

La intención es separar el software en atributos que puedan ser medidos ocuantificados (en términos de costo beneficio). Ejemplos de estos atributos sonconfiabilidad, adaptabilidad, usabilidad y funcionalidad.

Para clasificar los atributos de calidad del software se definieron varios modelos, uno ellos fue el modelo FURPS+. Este modelo fue desarrollado por Robert Grady y Deborah Caswell de Hewlett Packard

Page 10: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

Una vez el equipo del proyecto logra decidir sobre los atributos de calidad que tendrá en cuenta para el proyecto, debe incluir en la gestión del proyecto lo siguiente por cada atributo:

• Definición: ¿Cómo se va a comprender el atributo para el proyecto? • Medición: ¿Dónde se va a controlar el atributo? ¿En qué parte del proyecto

se medirá?• Fórmula: ¿Qué método se utilizará para definir el resultado de la medición?• Tolerancia de calidad: ¿Cuál será el resultado sobre el que se considerará

que el atributo es de calidad? ¿Cuál será el criterio de calidad?

Page 11: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

Factor de calidad

DefiniciónSe evaluará

enFórmula/Aplicación Tolerancia

Corrección

El grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente. Pretende validar la pregunta ¿El software hace lo que se pide?

AnálisisDiseñoConstrucciónImplementación

Corrección=CRF-I/CRF-T

* CRF-I: Cantidad de requerimientos funcionales implementados* CRF-T: Total de requerimientos funcionales del proyecto

95%

Fiablidad

El grado que se puede esperar de un software para que lleve a cabo las operaciones especificadas con la precisión requerida . Responde a la pregunta ¿El software es fiable todo el tiempo?

Implementación Fiabilidad=COF/COT

*COF: Cantidad de operaciones fiables*COF: Cantidad de operaciones totales

90%

Eficiencia

La cantidad de recursos hardware y software que necesita una aplicación para realizarlas operaciones con los tiempos de respuesta adecuados. ¿Qué relación existe entre los recursos definidos en la plataforma tecnológica y los utilizados en la implementación del software?

Implantación % Recursos tecnológicos requeridos contrastado con la definición de la plataforma tecnológica

¿¿¿???

Facilidad de uso

El esfuerzo requerido para aprender el manejo de un software.

Pruebas de usuario

Nivel 1: El usuario requiere formación, manual y personal de soporte.Nivel 2: El usuario requiere formación y manualNivel 3: El usuario solo requiere manual.

Page 12: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

• OPERACIONES DEL PRODUCTO

– Corrección: el grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente (¿Hace lo que se pide?)

– Fiabilidad: el grado que se puede esperar de una aplicación lleve a cabo las operacionesespecificadas y con la precisión requerida (¿Lo hace de forma fiable todo el tiempo?)

– Eficiencia: la cantidad de recursos hardware y software que necesita una aplicación para realizarlas operaciones con los tiempos de respuesta adecuados (¿Qué recursos hardware y software necesito?)

– Integridad: el grado con que puede controlarse el acceso al software o a los datos a personal no autorizado (¿Puedo controlar su uso?)

– Facilidad de uso: el esfuerzo requerido para aprender el manejo de una aplicación, trabajar con ella, introducir datos y conseguir resultados (¿Es fácil y cómodo de manejar?)

Page 13: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

Revisión del producto: capacidad para soportar cambios

– Facilidad de mantenimiento: el esfuerzo requerido para localizar y reparar errores (¿Puedo localizar los fallos?)

– Flexibilidad: el esfuerzo requerido para modificar una aplicación en funcionamiento (¿Puedo añadir nuevas opciones?)

– Facilidad de prueba: el esfuerzo requerido para probar una aplicación de forma que cumpla con lo especificado en los requisitos (¿Puedo probar todas las opciones?)

Page 14: Gestión de la calidad en los proyectos de desarrollo de software - SQA (Aseguramiento de la calidad del software)

• Transición del producto: adaptabilidad a nuevos entornos

– Portabilidad: el esfuerzo requerido para transferir la aplicación a otro hardware o sistema operativo (¿Podré usarlo en otra máquina?)

– Reusabilidad: grado en que partes de una aplicación pueden utilizarse en otras aplicaciones (¿Podré utilizar alguna parte del software en otra aplicación?)

– Interoperabilidad: el esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas informáticos (¿Podrá comunicarse con otras aplicaciones o sistemasinformáticos?