unidad iii. aseguramiento de la calidad del software

17
Ing. Alejandra Colina Vargas Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Upload: others

Post on 12-Jul-2022

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Ing. Alejandra Colina Vargas

Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Page 2: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

• Antecedentes

• Elementos de aseguramiento de la calidad de Software

• Tareas, metas y métricas del ACS

• Enfoques formales al ACS

• Aseguramiento estadístico de la calidad del software

• Confiabilidad del software

Page 3: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

• Tensión entre los requerimientos de calidad del cliente (eficiencia, mantenibilidad,reusabilidad, etc.)

• Algunos requerimientos de calidad son difíciles de especificar en una forma no

ambigua

• Las especificaciones del Software son usualmente incompletos y a menudoinconsistentes

Calidad significa que un producto debe cumplir con sus especificaciones

¿Cuáles son los problemas que se enfrentan hoy?

Page 4: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

• No podemos esperar a que las especificaciones mejoren para poner atención almanejo de la calidad

• Debe haber procedimientos que permitan mejorar la calidad aunque laespecificaciones no sean perfectas

• El manejo de la calidad no solo se refiere a reducir defectos sino también a mejorarotras cualidades del producto

El compromiso de calidad

Page 5: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

El manejo de calidad debe ser separado del manejo del proyecto para asegurar independencia

Aseguramiento de calidad

• Establecer procedimientos organizacionales y estándares para la calidad

Planeación de calidad

• Seleccionar procedimientos aplicables y estándares para un proyecto en particular ymodificar estos como sean requeridos

Control de calidad

• Garantizar que procedimientos y estándares son seguidos por el equipo de desarrollode software

¿Qué necesito hacer para influir de manera positiva en la calidad?

Page 6: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

• Es una actividad esencial para cualquier negocio que genere productos que utilicenotras personas.

• Anteriormente, era responsabilidad única del artesano que elaboraba el producto.

• Luego, se convirtió en una actividad ejecutada por personas diferentes de aquellas queelaboraban el producto.

• La primera fue introducida en los laboratorios Bell en 1916 y se difundió con rapidez alresto del mundo de la manufactura.

• Éstos se basaban en la medición y en el proceso de la mejora continua como elementosclave de la administración de la calidad.

• Actualmente, toda compañía tiene mecanismos para asegurar la calidad en susproductos.

¿De dónde surge el Aseguramiento de la Calidad?

Page 7: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

• Corre de manera paralela con la historia de la calidad en la manufactura del hardware.

• En los primeros días de la computación (décadas de 1950 y 1960), la calidad era

responsabilidad única del programador.

• Los estándares para asegurar la calidad del software se introdujeron en los contratos

para desarrollar software militar en la década de 1970 y se extendieron con rapidez al

desarrollo de software en el mundo comercial.

Haciendo un poco de historia del ACS

Page 8: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

• … el aseguramiento de la calidad del software es un “patrón planeado y sistemático de

acciones” [Sch98c] que se requieren para garantizar alta calidad en el software.

• La implicación para el software es que muchas entidades diferentes tienen

responsabilidad en el aseguramiento de la calidad del software: ingenieros de

software, gerentes de proyecto, clientes, vendedores y los individuos que trabajan en

el grupo de ACS.

Haciendo un poco de historia del ACS

Page 9: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Elementos de aseguramiento de la calidad de Software

Administración del cambio

• El cambio es uno de los aspectos que más irrumpe en cualquier proyecto de software.

• El ACS asegura que se hayan instituido prácticas adecuadas de administración del cambio.

Educación

• La organización de ACS lleva el liderazgo en la mejora del proceso de software y es clave para proponer y patrocinar programas educativos.

Administración de los proveedores

• ACS es garantizar que se obtenga software de alta calidad a partir de las sugerencias de prácticas específicas

• de calidad que el proveedor debe seguir y de la incorporación de cláusulas de calidad como parte de cualquier contrato con un proveedor externo

Page 10: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Elementos de aseguramiento de la calidad de Software

Administración de la seguridad.

• El ACS garantiza que para lograr la seguridad del software, se utilicen el proceso y la tecnología apropiados.

Seguridad

• Debido a que el software casi siempre es un componente crucial de los sistemas humanos), la consecuencia de defectos ocultos puede ser catastrófica.

• El ACS es responsable de evaluar el efecto de las fallas del software y de dar los pasos que se requieren para disminuir el riesgo. Administración de riesgos.

Page 11: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Tareas

• El objetivo del grupo de ACS es auxiliar al equipo del software para lograr un producto final de alta calidad. El Instituto de Ingeniería de Software recomienda un conjunto de acciones de ACS que se dirigen a la planeación, supervisión, registro, análisis y elaboración de reportes para el aseguramiento de la calidad.

• Estas acciones son realizadas (o facilitadas) por un grupo independiente de ACS que hace lo siguiente:

Tareas, metas y métricas del ACS

Page 12: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Tareas, metas y métricas del ACS

Participa en el desarrollo de la descripción del software del

proyecto

Revisa las actividades a fin de verificar el cumplimiento

mediante el proceso definido para el software

Audita los productos del trabajo de software

designados.

Asegura que las desviaciones en el trabajo de software y sus

productos se documenten y manejen de acuerdo con un

procedimiento documentado.

Registra toda falta de cumplimiento y la reporta a la

alta dirección

Page 13: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Se pretende entonces…

alcanzar un conjunto de metas pragmáticas:

Tareas, metas y métricas del ACS

Calidad de los

requerimientos.

Calidad del

diseño.

Calidad del

código.

Eficacia del control de

calidad

Page 14: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Enfoques formales al ACS

• Trabajo de cada quien.

• Revisiones técnicas, de una

• Estrategia de pruebas con relaciones múltiples, de un mejor

• Control de los productos del trabajo de software y de los

• Control de cambios efectuados sobre ellos.

• Aplicación de estándares aceptados de la ingeniería de software.

Tareas, metas y métricas del ACS

La calidad se define en términos de una amplia variedad de atributosde la calidad y se mide con el empleo de varios índices y métricas.

Page 15: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Comprende:

1. Se recaba y clasifica la información acerca de errores y defectos del software.

2. Se hace un intento por rastrear cada error y defecto hasta sus primeras causas.

3. Con el uso del Principio de Pareto (80 por ciento de los defectos se debe a 20 por ciento de todas las causas posibles), se identifica 20 por ciento de las causas de errores y defectos.

4. Una vez identificadas las pocas causas vitales, se corrigen los problemas que han dado origen a los errores y defectos.

5. Este concepto relativamente simple representa un paso importante hacia la creación de un proceso adaptativo del software en el que se hacen cambios para mejorar aquellos elementos del proceso que introducen errores.

Aseguramiento Estadístico de la Calidad del Software

Representa una tendencia creciente en la industria para que se vuelva más cuantitativo respecto de la calidad.

Page 16: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Aseguramiento Estadístico de la Calidad del Software

Page 17: Unidad III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

Ejemplo:

Si una organización de ingeniería de software recaba información sobre los errores y defectos cometidos en un periodo de un año.

Hallazgos:

• La existencia de algunos de dichos errores descubiertos a medida que se desarrolla el software.

•Otros (defectos) se encuentran después de haber liberado el software a sus usuarios finales.

Aseguramiento Estadístico de la Calidad del Software