Sunteți pe pagina 1din 42

1.

Conceptos bsicos de Calidad del Software


LS3148 - Calidad de Software
3IM1 Universidad Antonio de Nebrija
Justo Hidalgo con algunos apuntes de Manuel Fernando Juan-

Contenidos

1. 2. 3. 4.

Introduccin SW vs. otros productos industriales Caractersticas bsicas Definiciones de Calidad

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

Conceptos Bsicos en Calidad de Software

Existen distintos puntos de vista respecto a la calidad:

1. Filosfico: se puede reconocer pero no definir. 2. Usuario: cumple con el propsito previsto (fitness for purpose). 3. Producto: es algo intrnseco al producto. 4. Valor: tiene calidad para el que est dispuesto a pagar por ello.
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 3

Por 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.

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

SW vs. otros productos industriales

1. Complejidad del producto 2. Visibilidad del producto 3. Procesos de desarrollo y produccin

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

SW vs. otros productos industriales: complejidad del producto

Parmetro: nmero de modos operacionales


Producto industrial: miles de modos de operacin. SW: millones de posibilidades.

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

SW vs. otros productos industriales: visibilidad del producto

Los productos SW son invisibles


Cmo sabemos si a nuestro SW le falta una puerta?

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

SW vs. otros productos industriales: procesos de desarrollo y produccin (I)

1. Desarrollo de producto:
Diseadores y profesionales de QA (Quality Assurance) disean y prueban el prototipo para detectar defectos. Acciones previas a puesta en produccin

2. Planificacin de produccin:

3. Manufactura
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 8

SW vs. otros productos industriales: procesos de desarrollo y produccin (y II)

1. Desarrollo de producto:
OK: en SW es donde se hacen las pruebas. En algunos casos s software llave en mano. La manufactura SW es automtica copiar CDs y manuales-.
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 9

2. Planificacin de produccin:

3. Manufactura

Caractersticas Bsicas del desarrollo de Software

1. Complejidad alta 2. Invisibilidad del producto 3. Deteccin de defectos en menos fases de desarrollo y produccin

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

10

Qu nos obliga a asegurar la Calidad en el SW (I)

Quin realiza Software:


Alumnos y profesores en el mbito de la educacin Aficionados Profesionales de otras reas que desarrollan SW como base para sus trabajos Ingenieros de Software

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

11

Qu nos obliga a asegurar la Calidad en el SW (II): entorno del desarrollador profesional

1. 2. 3. 4. 5. 6. 7.

Condiciones contractuales Relacin cliente-proveedor Trabajo en equipo Cooperacin y coordinacin Interfaces con otros sistemas software Cambios de componentes del equipo Mantenimiento de producto
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 12

Qu nos obliga a asegurar la Calidad en el SW (III): condiciones contractuales

Lista de requisitos funcionales Presupuesto del proyecto Planificacin temporal En algunos casos: equipos predefinidos

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

13

Qu nos obliga a asegurar la Calidad en el SW (IV): relacin cliente-proveedor

Cooperacin continua. Propenso a cambios

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

14

Qu 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 comn, queramos o no.


Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 15

Qu nos obliga a asegurar la Calidad en el SW (VI): cooperacin y coordinacin

La multidisciplinariedad actual exige el trabajo entre diferentes equipos:


Otros equipos sw de la misma organizacin Equipos SW y HW Equipos cliente y proveedor Subcontratas

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

16

Qu nos obliga a asegurar la Calidad en el SW (VII): cooperacin y coordinacin


Otro equipo subcontratado

Equipo de Desarrollo SW

Equipo de Desarrollo HW

Equipo de Desarrollo SW Otro equipo subcontratado

Nuestro Equipo

Equipo de Desarrollo del Cliente

Otro equipo subcontratado

Otro equipo subcontratado

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

17

Qu 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 Gestin de Notas Sistema de Envo de Informacin

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

18

Qu nos obliga a asegurar la Calidad en el SW (IX): cambio de componentes del equipo

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

19

Qu 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 problemtico

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

20

Definicin de Calidad (I)

Definiciones acadmicas de Calidad: Totalidad de aspectos o caractersticas de un producto o servicio que le hace satisfacer necesidades explcitas o implcitas. ISO 8492:1986 En una situacin contractual, las necesidades suelen ser explcitas, mientras que en otras situaciones las necesidades estn implcitas y hay que averiguarlas y documentarlas.
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 21

Definicin 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 satisfaccin del consumidor que lo ha adquirido o lo utiliza

ISO 8402 (1994)


Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 22

Definicin 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. IEEE Std 610.12-1990

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

23

Definicin 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 explcitas e implcitas. 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?
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 24

Definicin 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 satisfaccin del cliente?
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 25

Definicin de cliente (y II)

Para que el software pueda satisfacer al cliente debe ser usable y proporcionar una solucin a una necesidad (explcita o implcita) 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)

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

26

Definicin de software
Qu es Software? Programas de ordenador, procedimientos y posible documentacin y datos asociados, pertenecientes a la operacin de un sistema informtico. IEEE Std 610.12-1990

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

27

Definicin 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).
Ej: Un editor de textos que sea incapaz de manejar ficheros de ms de 200 o 300 pginas ser un software de calidad para el que slo escribe documentos de pocas pginas. Sin embargo el mismo editor de textos ser un software de mala calidad para el que escriba libros o documentos extensos. cero defectos => sw de calidad? muchas posibilidades => sw de calidad? cdigo elegante => sw de calidad? rapidez => sw de calidad? precio => sw de calidad? facilidad de uso => sw de calidad?
28

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

Definicin de calidad de software

Calidad del software Conjunto de caractersticas que confieren al software la aptitud para satisfacer las necesidades establecidas y las implcitas. Diferencia entre software de calidad y calidad del software: La primera es la percepcin que tiene un cliente. La segunda es algo objetivo y cuantificado.

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

29

Qu es un error software? (I)

Debemos diferenciar entre:


Error:
Inconsistencia gramatical en alguna o algunas lneas de cdigo. Incoherencia con respecto a algn requisito.

Fault: defecto
Es un error software que no es mitigado por otras lneas.

Failure: fallo, avera


Es un defecto que ocurre.

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

30

Qu es un error software? (y II)

Software para una cadena farmacutica:


No se debe vender a clientes que deban ms de 200: el programador puso 500.
Es un defecto, pero no es un fallo, pues pues las farmacias no dan crdito. Pero, y si cambia el criterio?

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

31

Causas de Errores Software (I)

1. 2. 3.

Mala definicin de requisitos Mala comunicacin con el cliente Desviaciones deliberadas


Mala reutilizacin Presupuesto/ tiempo

4.

Errores lgicos de diseo


Algoritmos errneos Secuenciamiento errneo Condiciones frontera errneas Omisin de estados Omisin de tratamiento de excepciones
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 32

Causas de Errores Software (y II)

5. Errores de codificacin 6. Incumplimiento de estndares de codificacin y documentacin 7. Pruebas incompletas 8. Errores de procedimiento 9. Errores de documentacin

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

33

Sistema de Gestin de la Calidad (I)

Sistema de gestin de la calidad Conjunto de elementos mutuamente relacionados que interactan para establecer la poltica y los objetivos de calidad de una organizacin, y para dirigir y controlar dicha organizacin para lograr dichos objetivos. ISO 9000:2000

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

34

Sistema de Gestin de Calidad (y II)

Actividades coordinadas para dirigir y controlar una organizacin en lo relativo a la calidad. Generalmente incluye el establecimiento de: poltica de la calidad objetivos de calidad planificacin de la calidad control de la calidad mejora de la calidad aseguramiento de la calidad ISO 9000:000

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

35

Poltica de Calidad

Intenciones globales y orientacin de una organizacin relativas a la calidad tal como se expresan formalmente por la Alta Direccin. Proporciona el marco de referencia para el establecimiento de los objetivos de la calidad. ISO 9000:2000 Ejemplos: Cero defectos Satisfaccin del cliente. Prevencin de defectos. Rapidez de entrega. Mnimo coste. Mantenibilidad.
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 36

Planificacin de Calidad

Parte de la gestin de la calidad enfocada al establecimiento de los objetivos de la calidad y a la especificacin de los procesos operativos necesarios y de los recursos relacionados para cumplir los objetivos de la calidad. ISO 9000:2000

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

37

Control de Calidad

Juran: El control de calidad el el proceso a travs del cual se miden las caractersticas de la calidad en un momento dado, se comparan con estndares, y se toman acciones sobre las desviaciones. Shewhart: Shewhart Control significa accin para conseguir un determinado propsito. Control de calidad son las acciones necesarias para mantener una determinada caracterstica o caractersticas de la calidad dentro de unos lmites preestablecidos.
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 38

Mejora de Calidad

Parte de la gestin de la calidad orientada a aumentar la capacidad de cumplir con los requisitos de la calidad. ISO 9000:2000

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

39

Aseguramiento de Calidad (I)

Parte de la gestin de la calidad orientada a proporcionar confianza en que se cumplirn los requisitos de la calidad. ISO 9000:2000 El aseguramiento de la calidad del software es el sistema de mtodos y procedimientos empleados para asegurar que el producto software satisface sus requisitos. Este sistema implica la planificacin, medida y seguimiento de las actividades de desarrollo llevadas a cabo.

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

40

Aseguramiento de Calidad (y II)


Aseguramiento del producto software El aseguramiento del producto es el conjunto de actividades a travs de las cuales se obtiene la adecuacin al uso, independientemente de dnde 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 sistemticas que aseguran que los productos y procesos software son conformes a los requisitos, estndares y procedimientos. Bajo el trmino producto se incluye el software, los datos asociados, la documentacin y todo el papeleo de soporte y reporte NASA SW product assurance guidebook
Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo 41

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 9000:2000

Calidad de Software - 1. Conceptos Bsicos - Justo Hidalgo

42

S-ar putea să vă placă și