6. administración de la calidad de software

28
6. Administración de Calidad de Software Ingeniería de Software UTM 2017 Junio 2015 1

Upload: mario-a-moreno-rocha

Post on 26-Jul-2015

221 views

Category:

Education


7 download

TRANSCRIPT

6. Administración de Calidad de SoftwareIngeniería de Software UTM 2017 Junio 2015

1

2

• Explícito: claramente definido y documentado

• Implícito: no definido ni documentado, pero sugerido indirectamente

• Requerimientos: requerimientos de negocio, producto o software

• Expectativas: lo que espera el usuario final

3

6.1 El Concepto de Calidad de Software

1. El grado en el cual un sistema, componente o proceso cumple con los requerimientos especificados

2. El grado con el cual un sistema, componente o proceso cumple con las expectativas del cliente o usuario final.

*Definiciones de IEEE

4

6.1 El Concepto de Calidad de Software

Conformidad con cumplir explícitamente los requisitos funcionales y de desempeño, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo el software desarrollado profesionalmente.

*Definición de Roger Pressman

5

Software Quality Assurance (SQA)

1. Las acciones planificadas y sistemáticas necesarias para proveer de un grado de confianza necesaria en un elemento o producto que cumpla los requerimientos técnicos establecidos

2. El conjunto de actividades diseñadas para evaluar los procesos por los cuales el producto es desarrollado o construido

6

Objetivos de SQA

1. Asegurar un nivel aceptable de confianza que el software cumplirá con los requerimientos técnicos funcionales

2. Asegurar un nivel aceptable de confianza que el software cumplirá los calendarios de administración y los requerimientos de presupuesto

3. Inicio y administración de las actividades para la mejora y mayor eficiencia en el desarrollo de software y las actividades de SQA

7

6.2 Estándares de Calidad Existentes

¿Qué es calidad?

• Calidad = cero defectos (Crosby)

• La totalidad de características de un producto o servicio que cumpla con su habilidad de cumplir las necesidades específicas o implícitas (ISO)

• Calidad, el grado de excelencia (OED)

8

Sgt Pepper’s Lonely Hearts Club Band, The Beatles, 1967

9

Grand Master Chime 5175 Philippe Patek, 2015

10

American Beauty, Sam Mendes, 1999

11

ISO 9000+

• ISO 9000 Quality Management y Quality Assurance Standards - guías para la selección y para su uso de los estándares

• ISO 9001 Quality Systems - Modelo para el aseguramiento de la calidad en el diseño y desarrollo, producción, instalación y servicio de software

• IS0 9004 Quality Management y Quality Systems Elements - Guías

12

13

Estándares ISO en calidad de software• Funcionalidad

• Confianza (Reliability)

• Usabilidad

• Reuso (Re-Usability)

• Eficiencia

• Manteniabilidad

• Portabilidad14

15

6.3 Métricas de Calidad

Las métricas de calidad de software pueden ser categóricas o numéricas; así también pueden ser directas (a las cuales se pueden aplicar un método de medición objetivo o subjetivo) o indirectas (basadas en otras métricas).

16

Calidad en Desarrollo Web

Cómo se mide la calidad del software para la web? Hay características que son más relevantes en este contexto, como por ejemplo, la facilidad de uso, funcionalidad, confiabilidad, eficiencia y facilidad de mantenimiento.

Otros autores definen un “árbol de Requisitos de calidad” y agregas otros atributos como Seguridad, Disponibilidad, Escalabilidad, Tiempo en el Mercado.

17

Calidad Orientada a Objetos

POO difiere en importante medida del desarrollado utilizando enfoques tradicionales. Por esta razón, las métricas deben ajustarse a las características que lo distinguen, como ser encapsulamiento, ocultamiento de información, herencia y técnicas de abstracción de objetos que hagan única a esa clase.

MODELOS Y MÉTRICAS PARA EVALUAR CALIDAD DE SOFTWARE: http://sedici.unlp.edu.ar/bitstream/handle/10915/19762/Documento_completo.pdf?sequence=1

18

Clasificación de Métricas de Calidad

Según los criterios:

• de complejidad (volumen, tamaño, configuración)

• de calidad (exactitud, modalidad, pruebas, mantenimiento)

• de competencia (productividad de desarrolladores, rapidez, eficiencia)

• de desempeño (conducta de módulos y sistemas de software)

• estilizadas (estilo de código, convenciones, limitaciones)

19

Modelos de Calidad• Modelo de MCCALL (1977)

• Modelo de FURPS (1987)

• Modelo de DROMEY (1996)

• Normas ISO

• MOSCA

• Modelo de QSOS (Software Libre)

20

Métricas de Calidad de Software (SlideShare)

http://www.slideshare.net/isisparada/metricas-de-calidad-de-software

21

Proceso de Obtención de CalidadDesarrollado por la IEEE en 1993, es el estándar de métricas de calidad de software y se ha utilizado desde entonces.

IEEE Software Quality Metrics Methodology

http://www.developer.com/tech/article.php/3644656/Software-Quality-Metrics.htm22

Metodología de IEEE para Métricas de Calidad de Software

1. Establecer los requerimientos de calidad de software

2. Identificar las métricas de calidad de software

3. Implementar las métricas de calidad de software

4. Analizar las metricas de calidad de software

5. Validar las métricas de calidad de software

23

1. Establecer las Métricas de Calidad de Software

• Es importante establecer las métricas directas con valores numéricos que evaluarán el producto final. Los factores a medir varían de producto a producto, pero deben ser ordenados por prioridad. Cada métrica se le asignará un valor directo así como un requerimiento cuantitativo.

• Formas de hacer esto es Voice of the Customer (VOC) y Quality Function Deployment (QFD).

2. Identificar las Métricas de Calidad de Software

La identificación de las métricas incluyen elementos como Costo, Beneficio, Impacto, Herramientas, Interpretación, Ejemplos, Historia y Referencia de las métricas a ser aplicadas.

El objetivo es crear un diccionario de referencia de métricas para poder ser utilizadas.

25

3. Implementar las Métricas de Calidad de Software

• Para implementar las métricas, se debe definir la información a obtener y clarificar los flujos de información. Se definen las herramientas y la participación de la organización.

• También se podrían probar las métricas para refinar el uso de herramientas de software y refinar su uso, sensibilidad, exactitud y el costo de utilizarlas.

4. Analizar las Métricas de Calidad de Software

• Analizar las métricas pueden ayudar en la identificación de componentes del sistema en desarrollo que tendrían una calidad no aceptable o que presenten cuellos de botella en el desarrollo. Cada componente que sus valores de calidad no cumplan con lo especificado.

5. Validar las Métricas de Calidad de Software

• La validación es un proceso continuo que cubre varios proyectos. Si las métricas utilizadas son útiles, deben indicar precisamente si los requerimientos de calidad fueron alcanzados o indicar que serán alcanzados durante el desarrollo.

• Las métricas deben ser validadas cada vez que se usen. La confianza en las métricas se incrementará cuanto más se usen.