Title: 1. Conceptos b
11. Conceptos básicos de Calidad del Software
- LS3148 - Calidad de Software
- 3IM1
- Universidad Antonio de Nebrija
- Justo Hidalgo con algunos apuntes de Manuel
Fernando Juan-
2Contenidos
- Introducción
- SW vs. otros productos industriales
- Características básicas
- Definiciones de Calidad
3Conceptos Básicos en Calidad de Software
- Existen distintos puntos de vista respecto a la
calidad - Filosófico se puede reconocer pero no definir.
- Usuario cumple con el propósito previsto
- (fitness for purpose).
- Producto es algo intrínseco al producto.
- Valor tiene calidad para el que esté dispuesto a
pagar por ello.
4Por qué Calidad de Software?
- LIMITED WARRANTY
- Nebrisscape Inc. provides no warranty, either
expressed or implied, with respect to
NEBRIGATORs performance, reliability or fitnees
for any specified purpose. Nebrisscape Inc. Does
not warrant that the software or its
documentation will fulfil your requirements.
Although Nebrisscape Inc. has performed thorough
tests of the software and reviewed the
documentation, Nebrisscape Inc. does not provide
any warranty that the software and its
documentation are free of errors. Nebrisscape
Inc. will in no case be liable for any damages,
incidental, direct, indirect or consequential,
incurred as a result of impaired data, recovery
costs, profit loss and third party claims. The
software is licensed as is. The purchaser
assumes the complete risk stemming from
application of the NEBRIGATOR program, its
quality and performance. - If physical defects are discovered in the
documentation or the CD on which NEBRIGATOR is
distributed, Nebrisscape Inc. will replace, at no
charge, the documentation or the CD within 180
days of purchase, provided proof of purchase is
presented.
5SW vs. otros productos industriales
- Complejidad del producto
- Visibilidad del producto
- Procesos de desarrollo y producción
6SW vs. otros productos industrialescomplejidad
del producto
- Parámetro número de modos operacionales
- Producto industrial miles de modos de operación.
- SW millones de posibilidades.
7SW vs. otros productos industrialesvisibilidad
del producto
- Los productos SW son invisibles
- Cómo sabemos si a nuestro SW le falta una
puerta?
8SW vs. otros productos industrialesprocesos de
desarrollo y producción (I)
- Desarrollo de producto
- Diseñadores y profesionales de QA (Quality
Assurance) diseñan y prueban el prototipo para
detectar defectos. - Planificación de producción
- Acciones previas a puesta en producción
- Manufactura
9SW vs. otros productos industrialesprocesos de
desarrollo y producción (y II)
- Desarrollo de producto
- OK en SW es donde se hacen las pruebas.
- Planificación de producción
- En algunos casos sí software llave en mano.
- Manufactura
- La manufactura SW es automática copiar CDs y
manuales-.
10Características Básicas del desarrollo de Software
- Complejidad alta
- Invisibilidad del producto
- Detección de defectos en menos fases de
desarrollo y producción
11Qué nos obliga a asegurar la Calidad en el SW (I)
- Quién realiza Software
- Alumnos y profesores en el ámbito de la educación
- Aficionados
- Profesionales de otras áreas que desarrollan SW
como base para sus trabajos - Ingenieros de Software
12Qué nos obliga a asegurar la Calidad en el SW
(II) entorno del desarrollador profesional
- Condiciones contractuales
- Relación cliente-proveedor
- Trabajo en equipo
- Cooperación y coordinación
- Interfaces con otros sistemas software
- Cambios de componentes del equipo
- Mantenimiento de producto
13Qué nos obliga a asegurar la Calidad en el SW
(III) condiciones contractuales
- Lista de requisitos funcionales
- Presupuesto del proyecto
- Planificación temporal
- En algunos casos equipos predefinidos
14Qué nos obliga a asegurar la Calidad en el SW
(IV) relación cliente-proveedor
- Cooperación continua.
- Propenso a cambios
15Qué nos obliga a asegurar la Calidad en el SW
(V) trabajo en equipo
- Componentes con diferentes
- Criterios
- Objetivos
- Ganas
- Planteamientos profesionales
- ...
- ... Pero con una meta común, queramos o no.
16Qué nos obliga a asegurar la Calidad en el SW
(VI) cooperación y coordinación
- La multidisciplinariedad actual exige el trabajo
entre diferentes equipos - Otros equipos sw de la misma organización
- Equipos SW y HW
- Equipos cliente y proveedor
- Subcontratas
17Qué nos obliga a asegurar la Calidad en el SW
(VII) cooperación y coordinación
Otro equipo subcontratado
Equipo de Desarrollo HW
Equipo de Desarrollo SW
Equipo de Desarrollo SW
Otro equipo subcontratado
Nuestro Equipo
Otro equipo subcontratado
Otro equipo subcontratado
Equipo de Desarrollo del Cliente
18Qué nos obliga a asegurar la Calidad en el SW
(VIII) interfaces con otros sistemas software
- Interfaces de entrada de otros sistemas sw
- Interfaces de salida a otros sistemas sw
- Interfaces de entrada y salida al panel de control
Sistema de Control de Asistencia
Sistema de Gestión de Notas
Sistema de Envío de Información
19Qué nos obliga a asegurar la Calidad en el SW
(IX) cambio de componentes del equipo
20Qué nos obliga a asegurar la Calidad en el SW (y
X) mantenimiento de producto
- El software no se termina cuando se entrega al
cliente, sino que NACE!!! - ... un bebé un
- poco problemático
21Definición de Calidad (I)
Definiciones académicas de Calidad Totalidad
de aspectos o características de un producto o
servicio que le hace satisfacer necesidades
explícitas o implícitas. ISO
84921986 En una situación contractual, las
necesidades suelen ser explícitas, mientras que
en otras situaciones las necesidades están
implícitas y hay que averiguarlas y documentarlas.
22Definición de Calidad (II)
Calidad de un producto o servicio es la
capacidad de dicho producto o servicio para
satisfacer las exigencias para las que fue
creado, estando su valor medido por el grado de
satisfacción del consumidor que lo ha adquirido o
lo utiliza ISO 8402 (1994)
23Definición de calidad (III)
Calidad es El grado en que un sistema, un
componente o un proceso satisface sus requisitos
especificados. El grado en que un sistema, un
componente o un proceso satisface las necesidades
o expectativas de un cliente o usuario. IEE
E Std 610.12-1990
24Definición de calidad (y IV)
- Calidad es valor para alguien (Weinberg).
- Traducido al entorno empresarial, algo con
calidad es algo que satisface al cliente,
resolviendo sus necesidades explícitas e
implícitas. - Crosby Calidad es el cumplimiento de los
requisitos. - Es suficiente el cumplimiento de los requisitos
para que un producto sea de calidad?
Hay distintos enfoques en las definiciones de
Calidad. Hay contradicciones o todas las
definiciones son compatibles?
25Definición de cliente (I)
- Destinatario de un producto proporcionado por el
suministrador. - ISO 8402 (1994)
- Cliente interno o externo.
- Cinco aspectos en el cliente
- El que decide.
- El que compra.
- El que influye.
- El usuario.
- El que elige.
- Y a veces interesa tener en cuenta al cliente del
cliente (p.e. confederaciones). - Qué es entonces satisfacción del cliente?
26Definición de cliente (y II)
Para que el software pueda satisfacer al cliente
debe ser usable y proporcionar una solución a una
necesidad (explícita o implícita) del cliente, a
un coste razonable. Calidad es capacidad para
ser usado (Juran). Calidad es valor para el
cliente. (Weinberg). Calidad es el grado en que
el cliente o usuario percibe que el software
satisface el conjunto de sus expectativas
(IEEE Std 610.12-1990)
27Definición de software
Qué es Software? Programas de ordenador,
procedimientos y posible documentación y datos
asociados, pertenecientes a la operación de un
sistema informático. IEEE Std 610.12-1990
28Definición de software de calidad
- Calidad es cumplir con los requisitos (Crosby,
Quality is free, 1979). - Calidad es cumplir con los requisitos de una
persona determinada (Weinberg, Software quality
management, vol1, 1991).
cero defectos gt sw de calidad? muchas
posibilidades gt sw de calidad? código elegante
gt sw de calidad? rapidez gt sw de
calidad? precio gt sw de calidad? facilidad de
uso gt sw de calidad?
- Ej Un editor de textos que sea incapaz de
manejar ficheros de más de 200 o 300 páginas será
un software de calidad para el que sólo escribe
documentos de pocas páginas. - Sin embargo el mismo editor de textos será un
software de mala calidad para el que escriba
libros o documentos extensos.
29Definición de calidad de software
Calidad del software Conjunto de características
que confieren al software la aptitud para
satisfacer las necesidades establecidas y las
implícitas. Diferencia entre software de calidad
y calidad del software La primera es la
percepción que tiene un cliente. La segunda es
algo objetivo y cuantificado.
30Qué es un error software? (I)
- Debemos diferenciar entre
- Error
- Inconsistencia gramatical en alguna o algunas
líneas de código. - Incoherencia con respecto a algún requisito.
- Fault defecto
- Es un error software que no es mitigado por otras
líneas. - Failure fallo, avería
- Es un defecto que ocurre.
31Qué es un error software? (y II)
- Software para una cadena farmacéutica
- No se debe vender a clientes que deban más de
200 el programador puso 500. - Es un defecto, pero no es un fallo, pues pues las
farmacias no dan crédito. - Pero, y si cambia el criterio?
32Causas de Errores Software (I)
- Mala definición de requisitos
- Mala comunicación con el cliente
- Desviaciones deliberadas
- Mala reutilización
- Presupuesto/ tiempo
- Errores lógicos de diseño
- Algoritmos erróneos
- Secuenciamiento erróneo
- Condiciones frontera erróneas
- Omisión de estados
- Omisión de tratamiento de excepciones
33Causas de Errores Software (y II)
- Errores de codificación
- Incumplimiento de estándares de codificación y
documentación - Pruebas incompletas
- Errores de procedimiento
- Errores de documentación
34Sistema de Gestión de la Calidad (I)
Sistema de gestión de la calidad Conjunto de
elementos mutuamente relacionados que interactúan
para establecer la política y los objetivos de
calidad de una organización, y para dirigir y
controlar dicha organización para lograr dichos
objetivos. ISO 90002000
35Sistema de Gestión de Calidad (y II)
- Actividades coordinadas para dirigir y controlar
una organización en lo relativo a la calidad. - Generalmente incluye el establecimiento de
- política de la calidad
- objetivos de calidad
- planificación de la calidad
- control de la calidad
- mejora de la calidad
- aseguramiento de la calidad
- ISO 9000000
36Política de Calidad
- Intenciones globales y orientación de una
organización relativas a la calidad tal como se
expresan formalmente por la Alta Dirección. - Proporciona el marco de referencia para el
establecimiento de los objetivos de la calidad. - ISO 90002000
- Ejemplos
- Cero defectos
- Satisfacción del cliente.
- Prevención de defectos.
- Rapidez de entrega.
- Mínimo coste.
- Mantenibilidad.
37Planificación de Calidad
- Parte de la gestión de la calidad enfocada al
establecimiento de los objetivos de la calidad y
a la especificación de los procesos operativos
necesarios y de los recursos relacionados para
cumplir los objetivos de la calidad. - ISO 90002000
38Control de Calidad
Juran El control de calidad el el proceso a
través del cual se miden las características de
la calidad en un momento dado, se comparan con
estándares, y se toman acciones sobre las
desviaciones.
Shewhart Control significa acción para conseguir
un determinado propósito. Control de calidad son
las acciones necesarias para mantener una
determinada característica o características de
la calidad dentro de unos límites preestablecidos.
39Mejora de Calidad
Parte de la gestión de la calidad orientada a
aumentar la capacidad de cumplir con los
requisitos de la calidad. ISO 90002000
40Aseguramiento de Calidad (I)
Parte de la gestión de la calidad orientada a
proporcionar confianza en que se cumplirán los
requisitos de la calidad. ISO 90002000
El aseguramiento de la calidad del software es el
sistema de métodos y procedimientos empleados
para asegurar que el producto software satisface
sus requisitos. Este sistema implica la
planificación, medida y seguimiento de las
actividades de desarrollo llevadas a cabo.
41Aseguramiento de Calidad (y II)
- Aseguramiento del producto software
- El aseguramiento del producto es el conjunto de
actividades a través de las cuales se obtiene la
adecuación al uso, independientemente de dónde o
cuando se realicen. - Implica asegurar que el producto es el adecuado y
es desarrollado al coste y en el plazo previsto.
- Aseguramiento del software
- Conjunto de actividades planificadas y
sistemáticas que aseguran que los productos y
procesos software son conformes a los requisitos,
estándares y procedimientos. - Bajo el término producto se incluye el software,
los datos asociados, la documentación y todo el
papeleo de soporte y reporte - NASA SW product assurance guidebook
42Últimos conceptos )
- Conformidad
- Cumplimiento de un requisito.
- No conformidad
- Incumplimiento de un requisito.
- Defecto
- Incumplimiento de un requisito asociado a un uso
previsto o especificado. - ISO 90002000