CALIDAD TOTAL
Enfoques formales a la SQA
La calidad total del software es un trabajo de todos y se
puede conseguir mediante un adecuado anlisis, diseo, codificacin y prueba, tambin mediante la aplicacin de revisiones tcnicas formales, de una estrategia de prueba multinivel, un mejor control de la documentacin del software y sus modificaciones , y la aplicacin de estndares de desarrollo de software.
Concepto de Calidad
Conjunto de propiedades y de caractersticas de un
producto o servicio, que le confieren aptitud para satisfacer una necesidades explcitas o implcitas (ISO 8402)
Terminologa (ISO 8402)
Calidad: Conjunto de propiedades y caractersticas de un
producto o servicio que le confieren su aptitud para satisfacer unas necesidades explcitas o implcitas Control de calidad: Conjunto de tcnicas y actividades de carcter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio. Garanta de calidad: Conjunto de acciones planificadas y sistemticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfar los requerimientos dados sobre calidad.
La calidad del software
La calidad del software es el grado con el que un
sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario. (IEEE, Std. 610-1990).
Concordancia del software producido con los
requerimientos explcitamente establecidos, con los estndares de desarrollo prefijados y con los requerimientos implcitos no establecidos formalmente, que desea el usuario (Pressman, 1998)
de Procesos
La calidad total en la reingeniera de procesos es un
paso ms dentro de los conceptos de calidad total. La reingeniera de procesos es un enfoque de gestin que tiene como objetivo la obtencin simultnea en los procesos de una organizacin de mejoras radicales en costes, plazos y calidad.
Factores que determinan la calidad del software
Se pueden clasificar en dos grandes grupos (Pressman):
Factores que pueden ser medidos directamente Factores que solo pueden ser medidos indirectamente
Se centran en tres aspectos importantes de un producto software (McCall):
Caractersticas operativas
Capacidad de soportar los cambios
Adaptabilidad a nuevos entornos
Factores de calidad del Software (McCall)
Caractersticas operativas Correccin. Hace lo que quiero? Fiabilidad. Lo hace de forma fiable todo el tiempo? Eficiencia. Se ejecutar en mi hardware lo mejor que pueda? Seguridad (Integridad). Es seguro? Facilidad de uso. Est diseado para ser usado?
Factores de calidad del Software (McCall)
Capacidad de soportar los cambios
Facilidad de mantenimiento. Puedo corregirlo? Flexibilidad. Puedo cambiarlo? Facilidad de prueba. Puedo probarlo?
Adaptabilidad a nuevos entornos
Portabilidad. Podr usarlo en otra mquina? Reusabilidad. Podr reutilizar alguna parte del software?
Interoperabilidad. Podr hacerlo interactuar con otro sistema?
CALIDAD TOTAL DE SOFTWARE
Es resultado del movimiento global dentro del proceso
de mejoramiento continuo de los estndares de produccin en todos los sectores industriales, en particular, cuando ste se concentra en la produccin de sistemas de informacin y software especializado.
A pesar de la incorporacin de herramientas CASE
(Computer Assisted Software Engineering), la produccin de software contina siendo una actividad con alta participacin de recursos humanos, cien por cien intelectual y en cierto sentido, sin insumos ni materias primas.
SITUACIN ACTUAL
La industria del software no ha acabado de salir de la fase
artesanal Padecemos de prisa patolgica, que es consecuencia directa de:
Desorganizacin
Falta de planificacin
Alta dependencia de los hroes Dedicamos nuestros esfuerzos de hoy a arreglar lo que se
hizo mal ayer
SITUACIN ACTUAL
El producto (software) es algo intangible y no
constreido por las leyes fsicas La disciplina, ingeniera del software, es relativamente reciente y muchos de sus conceptos importantes estn an inmaduros Carencia de un corpus de conocimiento aceptado mayoritariamente que sirva como fundamentos Escasa presin del mercado
SITUACIN ACTUAL
En una organizacin inmadura: Procesos software normalmente improvisados Si se han especificado, no se siguen rigurosamente Organizacin reactiva (resolver crisis inmediatas) Planes y presupuestos excedidos sistemticamente, al no estar basados en estimaciones realistas
SITUACIN ACTUAL
En una organizacin inmadura Si hay plazos rgidos, se sacrifican funcionalidad y calidad del producto para satisfacer el plan No existen bases objetivas para juzgar la calidad del producto Cuando los proyectos est fuera de plan, las revisiones o pruebas se recortan o eliminan
SITUACIN ACTUAL
El 90% de los proyectos no alcanzan los objetivos
El 40% fracasan por completo El 29% no se entregan nunca Gastos de adaptacin tecnolgica al ao 2000 Coste de demandas y litigios legales aadidos Efecto ONDA (proveedores y distribuidores)
Estndares y modelos de evaluacin y mejora de los procesos software
ISO 9000 (ISO 9001:2000) (SPICE) ISO/IEC 15504 CMM
Certificacin. Organismos
El estndar ISO 9001
ISO9001. es el estndar de garanta de calidad que se
aplica a la ingeniera del software. Contiene 20 requisitos que deben estar presentes en un sistema de garanta de calidad efectiva. Como el estndar ISO 9001 es aplicable a todas las disciplinas de la ingeniera del software.
Se ha desarrollado un conjunto especial de directrices
ISO (ISO 9000-3) Para ayudar a interpretar el estndar, para su uso en el proceso de software.
Requisitos descritos por ISO9001
1.
2. 3. 4. 5. 6. 7.
Responsabilidad de la gestin Sistema de calidad Revisin de contrato Control de diseo Control de datos y documentos Compras Control de producto suministrado por el cliente.
8. Identificacin y posibilidad de seguimiento del producto. 9. Control de proceso 10. Inspeccin y prueba 11. Control de inspeccin, medicin y equipo de pruebas. 12. Inspeccin y estado de pruebas 13. Control de producto no aceptado 14. Accin correctora y preventiva 15. Tratamiento, almacenamiento, empacamiento, preservacin y entrega.
16. Control de registros de calidad
17. Auditorias internas de calidad
18. Formacin 19. Servicios
20. Tcnicas estadsticas
Para que una organizacin de software se registre
como ISO9001, debe demostrar que esta cumpliendo con los requisitos sealados
ISO 9000
Con el objetivo de estandarizar los sistemas de calidad de las diferentes empresas y sectores, se publican las normas ISO 9000, que son un conjunto de normas editadas y revisadas peridicamente por la Organizacin Internacional de Normalizacin (ISO) sobre la garanta de calidad de los procesos. As, se consolida a nivel internacional la normativa de la gestin y control de calidad.
ISO 9000
Publicada el ao 1987. Adoptada por ms de 90
pases. Directrices para la gestin del sistema de calidad y modelos de garanta de calidad para la empresa. Las directrices son genricas y aplicables a cualquier sector. Es un marco de trabajo para la mejora continua.
ISO 9000
Objetivos de ISO 9000:
Proporcionar una gua para la gestin de la calidad: diseo
e implantacin de sistemas de calidad. (ISO 9000 no normaliza el sistema de gestin de
calidad, ya que esto depende del tipo de sector, tamao de la empresa, organizacin interna, etc, sino que normaliza las verificaciones que se han de realizar sobre el sistema de calidad)
Describir los requerimientos generales para garantizar la
calidad (demostrar la idoneidad del sistema de calidad).
ISO 9000: Calidad de Software
ISO 9001:2000. Modelo para conseguir la calidad total en el diseo,
desarrollo, produccin, instalacin y servicio post-venta. ISO 9000-3:1991. Gua para la aplicacin de la norma ISO 9001 al desarrollo, suministro y mantenimiento de software.
En todo caso, nos certificaramos segn ISO 9000-3.
No aade ni cambia los requerimientos de la ISO 90001. Los amplia y
aclara.
Otras normas aplicables
ISO 9004-1:1994. Gestin de la calidad y elementos del sistema de
calidad (Gua per establecer el QA).
ISO 9000: Calidad de Software
ISO 8402:1994. Gestin de la calidad y garanta de la calidad.
Vocabulario. ISO 12207:1995. Procesos del ciclo de vida del software. ISO/IEC 9126:1991. Caractersticas de la calidad de un producto software. ISO/IEC 12119:1995. Productos software: evaluacin y test. ISO/IEC 14102:1995. Gua para la evaluacin y seleccin de herramientas CASE.
SPICE) ISO/IEC TR 15504
Software Process Improvement Capability dEtermination.
Evaluacin y mejora de procesos software. Inicio del proyecto 1.993 Se halla en fase de Informe Tcnico Es aplicable a cualquier organizacin o empresa que quiera mejorar la capacidad de cualquiera de sus procesos de software. Se puede utilizar como herramienta de evaluacin del estado de los procesos de software de la empresa. Es independiente de la organizacin, modelo del ciclo de vida, metodologa y tecnologa.
SPICE
Marco para mtodos de evaluacin, no un mtodo o modelo en s Abarca:
Evaluacin de procesos Mejora de procesos Determinacin de capacidad Alineado con el ISO/IEC 12207 Intenta proporcionar un marco en el que armonizar los enfoques existentes Se encuentra en la fase de Informe Tcnico (TR) Tipo 2
P2: Modelo de Referencia
El modelo de referencia de SPICE describe los procesos que
una organizacin puede realizar para comprar, suministrar, desarrollar, operar, mantener y soportar el software, as como los atributos que caracterizan la capacidad de estos procesos
Proporciona una base para medir la capacidad de los
procesos, en funcin de grado de consecucin de sus atributos.
El tiene dos dimensiones: Procesos y Capacidad
Dimensin Procesos
Contiene los procesos que se han de evaluar. Se
corresponden con los procesos del ciclo de vida del software, definidos al estndar ISO 12207:1995
Se agrupan en categoras, en funcin del tipo de actividad
al cual se aplican:
CUS: Cliente-Proveedor. ENG: Ingeniera.
SUP: Soporte.
MAN: Gestin. ORG: Organizacin.
Dimensin Procesos CUS
La categora CUS est formada por procesos que afecta directamente al cliente, soportan el desarrollo y la transicin del software al cliente y permiten la correcta operacin y uso del producto y/o servicio software.
Dimensin Procesos CUS
CUS.1 Adquisicin de productos software y/o
servicios CUS.2 Establecimiento de contratos CUS.3 Identificar las necesidades del cliente CUS.4 Realizar auditoras y revisiones conjuntas. CUS.5 Entrega e instalacin del software. CUS.6 Mantenimiento del software. CUS.7 Proporcionar servicio al cliente. CUS.8 Valorar la satisfaccin del cliente.
FIN DE SESIN