Introducción a la calidad de software y procesos

Anuncio
Temario
Calidad de software y Procesos
1- Calidad de software
2- Aseguramiento de la calidad del software (SQA)
3- Gestión de la calidad en el marco de ORTsf
Ingeniería de Sistemas
ORT Software Factory
Marzo 2004
Calidad de software y Procesos ORT Software Factory
1- Calidad de software
2
Éxito de un proyecto de software
• Los resultados de un proyecto de software se
miden según las siguientes variables:
– Alcance - (Funcionalidad)
– Tiempo - (Calendario)
– Esfuerzo - (Presupuesto - Costo)
– Calidad - (Criterios de Aceptación)
Definición de calidad
Calidad de software
Calidad de software y Procesos ORT Software Factory
Evolución de la calidad
Gestión Total de la Calidad
“La Gestión Total de Calidad es la
actividad sistemática y científica
que involucrando a TODA la organización
se focaliza en la satisfacción de los
clientes.”
Gestión Total
de la Calidad
Desarrollo
4
Aseguramiento
de la Calidad
Inspección
Control de la Calidad
Dr. Noriaki Kano - 1997
‘20
‘40
‘60
‘80
Calidad de software y Procesos ORT Software Factory
2000 Tiempo
5
Calidad de software y Procesos ORT Software Factory
6
1
Principios de la
Gestión Total de la Calidad
Concepto moderno de Calidad
• La calidad no la define ni el productor ni las normas, la
define el cliente.
• La calidad es relativa y surge de la comparación con
los mejores.
• La calidad que perdura es la que se logra gracias a
valores, organización y sistemas que la propician y
no es el producto de circunstancias afortunadas o de
esfuerzos aislados
Calidad de software y Procesos ORT Software Factory
Calidad de software y Procesos ORT Software Factory
8
Definición de Calidad
• Joseph Juran (1999):
“Grado en que un conjunto de características
inherentes cumple con los requisitos.” ISO
– (a) Calidad es el conjunto de características de un
producto que satisfacen las necesidades de los
clientes y, en consecuencia, hacen satisfactorio el
producto
– (b) Calidad consiste en no tener deficiencias en el
producto o en el proceso
9000:2000
• Nota: inherente significa que existe en algo,
especialmente como una característica permanente. ISO
9000:2000
9
Definición de Característica
Calidad de software y Procesos ORT Software Factory
10
Definición de Requisito
“Rasgo diferenciador.” ISO 9000:2000
“Necesidad o expectativa establecida,
generalmente implícita u obligatoria.” ISO
9000:2000
• Notas: puede ser inherente o asignada,
cualitativa o cuantitativa y de diferentes clases
(físicas (eléctricas), sensoriales (el tacto), de
comportamiento (cortesía), de tiempo
(puntualidad), ergonómicas (fisiológicas),
funcionales (velocidad máxima de un avión)).
Calidad de software y Procesos ORT Software Factory
Enfoque hacia el cliente
Liderazgo mediante el ejemplo
Participación del personal
Enfoque a procesos
Enfoque hacia la gestión (eficacia y eficiencia)
Mejora continua
Toma de decisiones basado en datos
Relación ganar-ganar con Proveedores
7
Definición de Calidad
Calidad de software y Procesos ORT Software Factory
•
•
•
•
•
•
•
•
• Nota1: "generalmente implícita" significa que es habitual o una
práctica común para la organización, clientes y otras partes
interesadas.
• Nota2: pueden utilizarse calificativos como requisito del sistema
de calidad, del cliente, del producto, etc..
11
Calidad de software y Procesos ORT Software Factory
12
2
Definición de Requisito - cont.
1- Calidad de software
• Notas:
• Nota3: especificado es el que se declara p.ej. en un documento.
• Nota4: pueden ser generados por las diferentes partes
interesadas.
Definición de calidad
Calidad de software
Calidad de software y Procesos ORT Software Factory
13
Calidad de software
Calidad de software
En general se entiende que un producto de software posee
calidad adecuada si provee valor (satisfacción) a los
usuarios, produce una ganancia, genera pocas quejas
por parte de sus clientes y contribuye de alguna manera a
los objetivos de la calidad (o por lo menos no es
opuesto). (Krasner)
Calidad de software y Procesos ORT Software Factory
15
Calidad de software
– Tiempo para salir al
mercado
– Costo
– Ciclo de vida estimada
del producto
– Mercado objetivo
Calidad de software y Procesos ORT Software Factory
16
• Nivel de satisfacción de los clientes y usuarios
– Percepción del cliente o usuario de acuerdo a lo que espera y
lo que recibe.
• Valor que agrega a accionistas
– Medida del valor que agrega el producto de software a
quienes promueven su realización.
producto
• Atributos de calidad del producto
– Características del producto mediante los cuales se satisface
una expectativa del cliente. Ej: Usabilidad, Mantenibilidad,
Reusabilidad, etc.
• Ausencia de defectos
• Calidad del proceso
Calidad de software y Procesos ORT Software Factory
– Nivel de satisfacción de
usuarios
– Valor que agrega el
producto
– Atributos de calidad del
producto
– Ausencia de defectos
– Calidad del proceso
• Objetivos de calidad de
la organización
productora de software
Componentes de la calidad
• (a) Calidad es el conjunto de • Nivel de satisfacción de
características de un
usuarios
producto que satisfacen las • Valor que agrega el
necesidades de los clientes
producto
y, en consecuencia, hacen
• Atributos de calidad del
satisfactorio el producto
• (b) Calidad consiste en no
tener deficiencias en el
producto o en el proceso
• Componentes de la
calidad de software
17
Calidad de software y Procesos ORT Software Factory
18
3
Componentes de la calidad
Temario
1- Calidad de software
• Ausencia de defectos
– Medida de la cantidad de defectos que posee el producto de
software.
2- Aseguramiento de la calidad del software (SQA)
– Calidad del producto de software
– Definición de estándares
– Actividades de SQA
– Técnicas para apoyar la tarea de SQA
– Análisis de la calidad del producto
• Calidad del proceso
– “La calidad de los productos de software depende
directamente de la calidad del proceso que los generó”
Watts S. Humphrey
3- Gestión de la calidad en el marco de ORTsf
Calidad de software y Procesos ORT Software Factory
19
2- Aseguramiento de la calidad
del software (SQA)
Calidad de software y Procesos ORT Software Factory
20
Calidad del producto de software
• Componentes de la calidad del producto de
software
– Cumplimiento con los atributos de calidad del producto
– Ausencia de defectos
– Nivel de satisfacción de clientes (usuarios y
compradores)
– Valor que agrega el producto a clientes y accionistas
– Calidad del proceso
Calidad del producto de software
Definición de estándares
Actividades de SQA
Técnicas para apoyar la tarea de SQA
Análisis de la calidad del producto
Calidad de software y Procesos ORT Software Factory
Modelo de calidad para características
internas y externas
Calidad del producto de software
• Cumplimiento con los atributos de calidad del
producto (o características)
Software quality
– El cumplimiento con los atributos de calidad es un
componente de la calidad de un producto de software.
– Este componente se puede medir por el grado en que el
producto de software cumple con los atributos de
calidad definidos para el producto.
Calidad de software y Procesos ORT Software Factory
22
23
Functionality
Reliability
Usability
Efficiency
Maintainability
Portability
Suitability
Accuracy
Interoperability
Security
Functionality
compliance
Maturity
Fault tolerance
Recoverability
Reliability
compliace
Understandability
Learnability
Operability
Attractiveness
Usability
compliance
Time behaviour
Resource
Utilisation
Efficiency
compliance
Analysability
Changeability
Stability
Testability
Maintainability
compliance
Adaptability
Installability
Co-existence
Replaceability
Portability
compliance
Calidad de software y Procesos -
24
ORT Software
Factory
Ref. ISO/IEC 9126-1:01 - Product quality
- Quality
Model
4
Modelo de calidad para
productos de software
•
•
•
•
•
•
Funcionalidad
Confiabilidad
Facilidad de uso
Eficiencia
Mantenibilidad
Portabilidad
Ref. ISO/IEC 9126-1:01 Product quality - Quality Model
Proceso de
software
Producto de
software
La calidad del
software puede
ser evaluada
según estas
características
Calidad de software y Procesos ORT Software Factory
Los atributos de
calidad brindan el
marco para definir
las características
del producto de
software a obtener
25
• Cumplimiento con los atributos de calidad del
producto (o características)
– Antes de realizar un producto de software (en cualquiera
de sus formas) es importante que el equipo tenga bien
claro por qué es necesario realizar dicho producto.
– Luego de identificar esto el equipo estará en
condiciones de definir los atributos de calidad que el
producto deberá poseer.
– Finalmente se deberá definir los requisitos para estos
atributos (criterios de aceptación).
Calidad de software y Procesos ORT Software Factory
La mayoría de los requisitos
para estas características
surgen en el Proceso de IR
Calidad de software y Procesos ORT Software Factory
26
Definición de
Producto de Software
Calidad del producto de software
27
Atributos de calidad
“Conjunto completo de programas,
procedimientos, así como documentación y
datos asociados.”
[ISO/IEC 12207]
Calidad de software y Procesos ORT Software Factory
28
Atributos de calidad
• El software está compuesto por elementos de
naturaleza diferente.
• Para cada producto es importante identificar:
– Objetivo del producto.
– Ejemplos de estos componentes:
• Código fuente
• Ejecutables (.exe)
• Documentación del producto (requerimientos, diseño,
código comentado, casos de prueba, manual de usuario,
etc.)
• Bases de datos
Calidad de software y Procesos ORT Software Factory
Atributos de calidad
• Para qué va a ser utilizado por el equipo y/o clientes.
– Productos importantes para el cliente.
• Ej. Código fuente, ejecutables, manual de uso, etc.
– Productos que pueden afectar la calidad
• Ej. Claridad de la especificación de requerimientos,
completitud del diseño detallado, etc.
29
Calidad de software y Procesos ORT Software Factory
30
5
Calidad del producto de software
Calidad del producto de software
• Ausencia de defectos
– Según IEEE un defecto es una “Anomalía en un
producto de software”.
– Según ISO 9000 un defecto es un “Incumplimiento de
un requisito asociado a un uso previsto o especificado”.
– Según ISO 9000 una no conformidad es un
“Incumplimiento de un requisito”.
– Se sugiere utilizar estos términos de forma cuidadosa.
Calidad de software y Procesos ORT Software Factory
31
• Uno de los componentes de la calidad de un producto
de software es la ausencia de defectos y no
conformidades a lo largo del proceso.
• Es importante que el equipo mida de alguna forma el
número de no conformidades existentes en el producto
dado que las mismas pueden servir de base para
estimar el número de defectos que tendrá el producto
una vez que el mismo es puesto en funcionamiento.
Calidad de software y Procesos ORT Software Factory
32
2- Aseguramiento de la calidad
del software (SQA)
Otras definiciones
• Error: Acción humana que tiene como resultado la
inclusión de una falla en el software. [IEEE]
Calidad del producto de software
Definición de estándares
Actividades de SQA
Técnicas para apoyar la tarea de SQA
Análisis de la calidad del producto
• Falla: Una condición accidental en un módulo de
software que provoca que el sistema de software falle.
[IEEE]
Calidad de software y Procesos ORT Software Factory
33
Estándares
¿Quiénes hacen los estándares?
ISOIEC Guide 2:1996 Define un estándar como un
documento, establecido por consenso y aprobado
por un cuerpo reconocido, que provee, para uso
repetido y común, reglas, guías o características
para actividades o sus resultados, apunta a
alcanzar el grado óptimo en un contexto dado.
Organizaciones Mundiales
(ISO, IEEE, IEC, etc.)
Organismos en cada
país (Nueva Zelandia,
Japon, Uruguay, etc.)
Empresas (GE, Microsoft,
Sony, Coca-Cola, etc.)
Calidad de software y Procesos ORT Software Factory
35
Calidad de software y Procesos ORT Software Factory
36
6
Estándares
Estándares
• Tipos de estándares (normas) en la industria del
software
– Estándares de proceso
• Definen la forma de realziar una actividad o tarea.
– Estándares de producto
• Son especificaciones para el producto de software.
Calidad de software y Procesos ORT Software Factory
37
2- Aseguramiento de la calidad
del software (SQA)
• Los estándares o normas son de dos tipos:
– Obligatorios impuestos por una entidad exterior al
proyecto:
• Ejemplos: Documento 302, estándares impuestos por
el cliente, normativa legal aplicable, etc.
– Voluntarios cuando son adoptados por el equipo en
función de una decisión del equipo:
• Ejemplos: Estándares de desarrollo, Proceso de
ORTsf, etc.
Calidad de software y Procesos ORT Software Factory
Actividades de SQA
• Las actividades de aseguramiento de la calidad del
software (SQA) son básicamente las siguientes:
– Validaciones
• Asegurar que los productos generados cumplan las
expectativas de los clientes
– Verificaciones
• Asegurar que los productos generados sean
técnicamente correctos
Calidad del producto de software
Definición de estándares
Actividades de SQA
Técnicas para apoyar la tarea de SQA
Análisis de la calidad del producto
Calidad de software y Procesos ORT Software Factory
Actividades de SQA
40
Actividades
• Las actividades de Validación y Verificación se
pueden agrupar de la siguiente forma:
• Validación
– Proceso de evaluar el software para asegurar el
cumplimiento con los requisitos especificados por los
usuarios (implícitos y explícitos).
– Según la fase del ciclo de vida en la que se realizan
• Requerimientos; Análisis y Diseño; Codificación;
Pruebas e Instalación; Uso.
• Verificación
– El proceso de evaluar los productos de una fase dada,
para asegurar la corrección y la consistencia con
respecto a los productos, así como normas
proporcionadas como elementos de entrada a esa fase.
Calidad de software y Procesos ORT Software Factory
38
– Según el objetivo que persiguen
• Prevención; Evaluación; Corrección.
41
Calidad de software y Procesos ORT Software Factory
42
7
2- Aseguramiento de la calidad
del software (SQA)
Actividades por objetivo
• Objetivo perseguido al realizar la
actividad:
– Prevención
– Evaluación del grado de calidad
– Corrección (Fallas)
Calidad de software y Procesos ORT Software Factory
Calidad del producto de software
Definición de estándares
Actividades de SQA
Técnicas para apoyar la tarea de SQA
Análisis de la calidad del producto
43
Técnicas
Técnicas
• Las técnicas son utilizadas en las actividades de
aseguramiento de la calidad para detectar
desvíos de las especificaciones en los productos
de software.
• En cada actividad para el aseguramiento de la
calidad se puede utilizar una o más técnicas.
• Inspecciones
– Es un examen de un producto de software para detectar e
identificar anomalías del software, incluido errores y desvíos de
los estándares especificados.
• Revisiones
– Gerenciales, Técnicas, entre pares, etc.
• Walk-through
– Se utiliza para evaluar un producto para encontrar anomalías,
mejorar el producto de software, etc.
Calidad de software y Procesos ORT Software Factory
45
Calidad de software y Procesos ORT Software Factory
46
Inspección
Inspecciones
• Es un examen visual de un producto de software
para detectar e identificar anomalías del
software, incluido errores y desvíos de los
estándares especificados. (IEEE)
• Las inspecciones son realizadas por
examinadores imparciales entrenados en las
técnicas de inspección.
• Determinar quién corregirá la anomalía o la
acción a tomar frente a la misma es un elemento
importante en las inspecciones de software.
Calidad de software y Procesos ORT Software Factory
Calidad de software y Procesos ORT Software Factory
47
48
8
Revisiones
Revisiones
• Es un proceso o reunión, en dónde se presenta
el producto de software al equipo del proyecto,
gerentes, usuarios, representantes del usuario u
otras partes interesadas, para comentarios o
aprobación.
• Para asegurar la eficacia de la revisión, es
importante registrar los resultados de la misma
y hacer seguimiento a estos.
Calidad de software y Procesos ORT Software Factory
• Las revisiones pueden ser de dos tipos
– Gerenciales
– Técnicas
49
Calidad de software y Procesos ORT Software Factory
Revisiones
50
Revisiones
• Técnicas
• Gerenciales
– Es una evaluación sistemática de un producto de
software realizada por un equipo de personas
calificadas que examinan la conformidad del
producto de software e identifican discrepancias con
las especificaciones y estándares. Las revisiones
técnicas deben proveer recomendaciones de
alternativas y examinar varias de esas alternativas.
– Es una evaluación realizada por la gerencia para
evaluar el progreso y determinar el estado de los
planes e inventarios, confirmar requerimientos o
evaluar la eficiencia de las aproximaciones
realizadas por la gerencia.
Calidad de software y Procesos ORT Software Factory
51
52
2- Aseguramiento de la calidad
del software (SQA)
Walk-through
• Es una técnica de análisis en la cual un
integrante del equipo de proyecto y/o demás
partes interesadas, realizan preguntas y hacen
comentarios sobre posibles errores, violaciones
a los estándares de desarrollo y otros problemas.
Calidad de software y Procesos ORT Software Factory
Calidad de software y Procesos ORT Software Factory
Calidad del producto de software
Definición de estándares
Actividades de SQA
Técnicas para apoyar la tarea de SQA
Análisis de la calidad de los productos
53
9
Análisis de la calidad
Métricas del producto
• Métricas de calidad
– Son mediciones que se realizan del producto para evaluar en
qué medida el producto cumple con las especificaciones
(cumplimiento con los atributos de calidad, no
conformidades, defectos, etc.).
– Si el volumen de información lo requiere se puede crear un
Plan de Métricas que contiene el detalle de las mediciones a
realizar.
– Los resultados obtenidos de medir la calidad de los
productos, deben ser analizados para tomar acciones.
Calidad de software y Procesos ORT Software Factory
Proceso de
software
• Son mediciones que se realizan del producto
para evaluar en qué medida el producto cumple
con las especificaciones (cumplimiento con los
atributos de calidad, no conformidades,
defectos, etc.).
• Si el volumen de información lo requiere se
puede crear un Plan de Métricas que contiene el
detalle de las mediciones a realizar.
55
Calidad de software y Procesos ORT Software Factory
Calidad del producto
Temario
Producto de
software
Evaluación del
producto de software:
1- Cumplimiento de
atributos de calidad
2- Ausencia de
defectos
Calidad de software y Procesos ORT Software Factory
56
1- Calidad de software
2- Aseguramiento de la calidad del software (SQA)
3- Gestión de la calidad en el marco de ORTsf
– Planificación de la calidad
– Evaluación de la calidad
– Mejora de la calidad
57
3- Gestión de la calidad en ORTsf
Calidad de software y Procesos ORT Software Factory
58
Planificación de la Calidad
• Implica:
Planificación de la calidad
Evaluación de la calidad
Mejora de la calidad
– Conocer quiénes son los clientes?
– Entender la forma en que se va a resolver el
problema (Definir el proceso del equipo).
– Identificar qué necesidades tienen?
– Diseñar la solución en función de los atributos de
calidad.
– Comunicar al equipo la forma de trabajo (Plan
de Calidad o substituto).
Calidad de software y Procesos ORT Software Factory
60
10
Proceso de ORTsf
Proceso de ORTsf
• Manuales
• El proceso de ORTsf está compuesto por:
– Manual del Proceso de producción de software
– Manuales
– Instructivos
– Formularios
– Estándares
• Manual del Proceso de software (guía del proceso)
• Manual de Construcción (descripción detallada de
tareas por fase)
– Manuales de apoyo por área
• Manual de SQA
• Manual de Gerencia
• Manual de SCM
Calidad de software y Procesos ORT Software Factory
61
Proceso de ORTsf
Calidad de software y Procesos ORT Software Factory
62
Proceso de ORTsf
• Instructivos
• Formularios
– Apoyo en uso de técnicas
– Formatos tipo para los productos del proceso de
ORTsf
• Brindan guías para la aplicación de técnicas
específicas (Ej. QFD adaptado al software)
• ESRE, ESI, COTA, etc.
• Planes, informes, etc.
– Descripción de productos
• Describen cómo elaborar productos específicos
• Estándares
– Codificación, documentación, etc.
Calidad de software y Procesos ORT Software Factory
Productos de trabajo
63
Calidad de software y Procesos ORT Software Factory
64
Proceso de Software
Reportes de avance y estado
3- Gestión de la calidad en ORTsf
Reportes de problemas y cambios
Ingeniería
Gerencia
de
Proyecto
Aseguramiento
de
Calidad
SCM
Planificación de la calidad
Evaluación de la calidad
Mejora de la calidad
11
Evaluación de la calidad
Proceso de
software
• Utilidad de las métricas en la evaluación de la
calidad:
“Las medidas son necesarias, si no podemos
medir, no podemos controlar. Si no podemos
controlar, no podemos gerenciar. Si no podemos
gerenciar no podemos mejorar. Es tan simple
como eso.” P. Selig
Calidad de software y Procesos ORT Software Factory
Medición de la Calidad
Producto de
software
Evaluación del proceso
de software:
1- Productividad
2- Costos de la calidad
67
Eficacia
Eficiencia
Evaluación del
producto de software:
1- Cumplimiento de
atributos de calidad
2- Ausencia de
defectos
Calidad de software y Procesos ORT Software Factory
68
Mejora de la calidad
3- Gestión de la calidad en ORTsf
• Mejora del producto (eficacia)
– Se puede realizar seguimientos de mejoras en un
mismo producto a partir de las decisiones tomadas.
– Comparación con competidores internos / externos.
– Conocer el grado de calidad del producto de
software.
Planificación de la calidad
Evaluación de la calidad
Mejora de la calidad
Calidad de software y Procesos ORT Software Factory
Mejora de la calidad
Proceso de
software
Medición de la Calidad
Producto de
software
• Mejora del proceso (eficacia y eficiencia)
– Aumentar productividad mediante un mayor
conocimiento del proceso.
– Tener más control sobre las actividades.
– Posibilidad de realizar seguimientos.
– Identificar puntos fuertes y oportunidades de
mejora.
– Reducir los costos de la no calidad.
Calidad de software y Procesos ORT Software Factory
70
Evaluación del proceso
de software:
1- Productividad
2- Costos de la calidad
Eficacia
Eficiencia
Mejora
71
Calidad de software y Procesos ORT Software Factory
Evaluación del
producto de software:
1- Cumplimiento de
atributos de calidad
2- Ausencia de
defectos
72
12
Mejora en el proyecto
Bibliografía
Mejora del
proceso
Mejora del proceso
basado en las métricas
Proceso
Producto
OK?
NO
Corrección
Corrige el
producto
SI
Acción
Correctiva
Calidad de software y Procesos ORT Software Factory
Elimina la
causa del
73
problema
• Cagnani M. - Inspecciones y revisiones: planificación, costos y
beneficios. Marzo 2000. Universidad ORT Uruguay.
• ISO/IEC 12207 - Information Technology - Software life cycle
processes
• ISO/IEC 9126 - Information Technology - Software product
evaluation - Quality characteristics and guidelines for their use.
• ORT Software Factory - Manual de SQA
• ORT Software Factory - Manual de Construcción
• G. Shulmeyer & J. McManus. Handbook of Software Quality
Assurance.
Calidad de software y Procesos ORT Software Factory
74
13
Descargar