Your SlideShare is downloading. ×
Calidad de software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Calidad de software

1,005
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,005
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Las prisas son consecuencia exclusiva de desorganización y falta de planificación. Qué consideración puede tener una empresa cuyos técnicos trabajan siempre a destajo, hasta la medianoche, incluyendo los fines de semana, para entregar sus proyectos en plazos que tal vez nadie requirió a priori. Prisa patológica, locura de la prisa, de hacer cosas, aunque muchas sean para arreglar lo que se hizo mal ayer.
  • Las prisas son consecuencia exclusiva de desorganización y falta de planificación. Qué consideración puede tener una empresa cuyos técnicos trabajan siempre a destajo, hasta la medianoche, incluyendo los fines de semana, para entregar sus proyectos en plazos que tal vez nadie requirió a priori. Prisa patológica, locura de la prisa, de hacer cosas, aunque muchas sean para arreglar lo que se hizo mal ayer.
  • Transcript

    • 1. Calidad en Ingeniería del Software Ingeniería del Software III Enero - 2.002UIB Ingeniería del Software III
    • 2. Índice  Introducción a la calidad  La calidad del software.  Estándares y modelos de evaluación y mejora de los procesos softwareUIB Ingeniería del Software III
    • 3. Introducción a la calidad  Concepto de calidad  Evolución histórica  TerminologíaUIB Ingeniería del Software III
    • 4. Concepto de calidad Conjunto de propiedades y de características de un producto o servicio, que le confieren aptitud para satisfacer una necesidades explícitas o implícitas (ISO 8402)UIB Ingeniería del Software III
    • 5. Evolución histórica Inspección/detección de errores: hasta los años 40 • Inicialmente trabajo artesanal: control individual de cada tarea. • 1918: Ford Motor Company. (Primera cadena de montaje). • 1930: Laboratorios Bel.UIB Ingeniería del Software III
    • 6. Evolución histórica Control (estadístico) de calidad: hasta los años 80 • Mercado poco competitivo. Precio de venta fijado por el fabricante en función de los costes. • Impedir que el producto defectuoso llegue al cliente. • Conseguir uniformidad de servicio. • Control de calidad = problema a resolver. • Controlar la calidad del departamento de producción utilizando técnicas estadísticas. • 1940-70: Japón y Calidad total. Deming, Ishikawa, Juran, Crosby, …UIB Ingeniería del Software III
    • 7. Evolución histórica Garantía de calidad: a partir de los 80. • Mercado competitivo y de oferta • Precio de venta fijado por el mercado • Planificación y medida de la calidad. Modelos de calidad. • Afecta a todos los departamentos. • 1980. Interés por la calidad en los EEUU. TQM • 1987. Premio Malcom Baldrige Quality Award • 1987. ISO 9000. A partir de las normas británicas • 1992. Premio Europeo a la calidad de la EFQM.UIB Ingeniería del Software III
    • 8. Evolución histórica Gestión de calidad hoy. • Impacto estratégico. Oportunidad de ventaja competitiva. • Planificación, fijación de objetivos, coordinación, formación, adaptación de toda la organización. • Afecta a la socidad en general: directivos, trabajadores, clientes. • “Una filosofía, una cultura, una estrategia, un estilo de geréncia de la empresa”. • ISO 9001:2000UIB Ingeniería del Software III
    • 9. Evolución histórica Mejora Mejora contínua de la Calidad total calidad Garantía de calidad Prevenir defectos Control de calidad Detectar defectos TiempoUIB Ingeniería del Software III
    • 10. Terminología (ISO 8402) • Calidad: “Conjunto de propiedades y características de un producto o servicio que le confieren su aptitud para satisfacer unas necesidades explícitas o implícitas” • Control de calidad: “Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio”. • Garantía de calidad: “Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad”.UIB Ingeniería del Software III
    • 11. Terminología (ISO 8402) Gestión de la calidad: “Aspecto de la función de gestión que determina y aplica la política de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificación de la calidad, el control de la calidad, la garantía de calidad y la mejora de la calidad”. La gestión de la calidad es responsabilidad de todos los niveles ejecutivos, pero debe estar guiada por la alta dirección. Su realización involucra a todos los miembros de la organización. En la gestión de la calidad, se tienen en cuenta también criterios de rentabilidad.UIB Ingeniería del Software III
    • 12. Terminología (ISO 8402) • Sistema de gestión de la calidad: “Conjunto de la estructura de la organización, de responsabilidades, procedimientos, procesos y recursos que se establecen para llevar a término la gestión de calidad”. • El QS debe tener el volumen y alcance suficiente para conseguir los objetivos de calidad. • El QS de una organización está fundamentalmente previsto para satisfacer las necesidades internas de la organización. Es más amplio que los requerimientos de un cliente concreto que únicamente valor el QS que le interesa (directamente). • Para finalidades contractuales o vinculantes en la valoración de la calidad, se puede exigir que se ponga de manifiesto la realización de ciertos elementos del QS.UIB Ingeniería del Software III
    • 13. La calidad del software Concepto de calidad del software Situación actualUIB Ingeniería del Software III
    • 14. La calidad del software “La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificacados y las necesidades o expectativas del cliente o usuario”. (IEEE, Std. 610-1990). “Concordancia del software producido con los requerimientos explícitamente establecidos, con los estándaresd e desarrollo prefijados y con los requerimientos implícitos no establecidos formalmente, que desea el usuario” (Pressman, 1998)UIB Ingeniería del Software III
    • 15. 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):  Características operativas  Capacidad de soportar los cambios  Adaptabilidad a nuevos entornosUIB Ingeniería del Software III
    • 16. Factores de calidad del Software (McCall)  Características operativas  Corrección. ¿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á diseñado para ser usado?UIB Ingeniería del Software III
    • 17. Factores de calidad del Software (McCall)  Capacidad de soportar los cambios  Facilidad de mantenimiento. ¿Puedo corregirlo?  Flexibilidad. ¿Puedo cambiarlo?  Facilidad de prueba. ¿Puedo probarlo?UIB Ingeniería del Software III
    • 18. Factores de calidad del Software (McCall)  Adaptabilidad a nuevos entornos  Portabilidad. ¿Podré usarlo en otra máquina?  Reusabilidad. ¿Podré reutilizar alguna parte del software?  Interoperabilidad. ¿Podré hacerlo interactuar con otro sistema?UIB Ingeniería del Software III
    • 19. Situación actual  La industria del software no ha acabado de salir de la fase artesanal  Padecemos de “prisa patológica”, que es consecuencia directa de:  Desorganización  Falta de planificación  Alta dependencia de los “héroes”  Dedicamos nuestros esfuerzos de hoy a arreglar lo que se hizo mal ayerUIB Ingeniería del Software III
    • 20. Situación actual  El producto (software) es algo intangible y no constreñido por las leyes físicas  La disciplina, ingeniería del software, es relativamente reciente y muchos de sus conceptos importantes están aún inmaduros  Carencia de un corpus de conocimiento aceptado mayoritariamente que sirva como fundamentos  Escasa presión del mercadoUIB Ingeniería del Software III
    • 21. Situación actual En una organización inmadura:  Procesos software normalmente improvisados  Si se han especificado, no se siguen rigurosamente  Organización reactiva (resolver crisis inmediatas)  Planes y presupuestos excedidos sistemáticamente, al no estar basados en estimaciones realistasUIB Ingeniería del Software III
    • 22. Situación actual En una organización inmadura (cont.):  Si hay plazos rígidos, 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 eliminanUIB Ingeniería del Software III
    • 23. Situación actual  El 90% de los proyectos no alcanzan los objetivos  El 40% fracasan por completo  El 29% no se entregan nunca  Gastos de adaptación tecnológica al año 2000  Coste de demandas y litigios legales añadidos  Efecto ONDA (proveedores y distribuidores)UIB Ingeniería del Software III
    • 24. Qué hacer ? Artesanía Ingeniería Cambio cultural de todos los involucrados!UIB Ingeniería del Software III
    • 25. Estándares y modelos de evaluación y mejora de los procesos software  ISO 9000 (ISO 9001:2000)  (SPICE) ISO/IEC 15504  CMM  Certificación. OrganismosUIB Ingeniería del Software III
    • 26. ISO 9000UIB Ingeniería del Software III
    • 27. 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 periódicamente por la Organización Internacional de Normalización (ISO) sobre la garantía de calidad de los procesos. Así, se consolida a nivel internacional la normativa de la gestión y control de calidad.UIB Ingeniería del Software III
    • 28. ISO 9000 • Publicada el año 1987. Adoptada por más de 90 pases. • Directrices para la gestión del sistema de calidad y modelos de garantía de calidad para la empresa. • Las directrices son genéricas y aplicables a cualquier sector. • Es un marco de trabajo para la mejora continua.UIB Ingeniería del Software III
    • 29. ISO 9000 ISO TÍTULO 8402 Vocabulario - Terminología. Normas para la gestión y garantía de la calidad. 9000 Directrices de selección y uso (ISO 9000-1 1.994). Directrices generales para aplicar las normes 9001, 9002, 9003 (ISO 9000-2 1.993). Guía para aplicar las normes 9001 a empresas de software (ISO 9000-3 1.996). Guía para la gestión de un programa de seguridad (ISO 9000-4). Modelo para la garantía de la calidad en diseño / desarrollo, 9001 ISO 9001-2000 producción, instalación y servicio.(1.994) Modelo para garantizar la calidad en producción y servicios. 9002 (1.994) 9003 Modelo de calidad total Modelo para garantizar la calidad en inspección final y pruebas. (1.993) Elementos y gestión del sistema de calidad. Reglas generales. 9004 Directrices para los serveis (ISO 9004-2). Directrices para materiales procesados (ISO 9004-3). Directrices para la mejora de la calidad (ISO 9004-4).UIB Ingeniería del Software III
    • 30. ISO 9000 Objetivos de ISO 9000: • Proporcionar una guía para la gestión de la calidad: diseño e implantación de sistemas de calidad. (ISO 9000 no normaliza el sistema de gestión de calidad, ya que esto depende del tipo de sector, tamaño de la empresa, organización 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).UIB Ingeniería del Software III
    • 31. ISO 9000 (Recomendaciones) • Comenzar con ISO 9004-1(1994). Gestión de calidad y elementos del sistema de calidad, para diseñar y implementar el sistema de gestión de calidad. ISO 9004 es la directriz para el establecimiento o ampliación de un sistema de calidad. Esta norma amplia partes de ISO 9000 que no se pueden verificar o que una parte contratante no desea dar a conocer, como por ejemplo los gastos asociados a la gestión de calidad. • Una vez implantado el sistema de calidad, utilizar los modelos de garantía de calidad ISO 9001-2000 para demostrar su idoneidadUIB Ingeniería del Software III
    • 32. ISO 9000 Aspectos positivos • Es un factor competitivo para las empresas • Proporciona confianza a los clientes • Ahorra tiempo y dinero, evitando recertificar la calidad según los estándares locales o particulares de una empresa. • Se ha adaptado a más de 90 países e implantado a todo tipo de organizaciones industriales y de servicios, tanto sector privado como público • Proporciona una cierta garantía de que las cosas se hacen tal como se han dicho que se han de hacerUIB Ingeniería del Software III
    • 33. ISO 9000 Aspectos negativos • Es costoso • Muchas veces se hace por obligación. • Es cuestión de tiempo que deje de ser un factor competitivo • Hay diferencias de interpretación de las cláusulas del estándar • No es indicativa de la calidad de los productos, procesos o servicio. • Hay mucha publicidad engañosa.UIB Ingeniería del Software III
    • 34. ISO 9000 Aspectos negativos • En 1997 había 4605 empresas certificadas. • Sólo 66 referentes a actividades informáticas • En Baleares no hay ninguna empresa certificada que se dedique a actividades informáticas • 56 de las 66 certificaciones de actividades informáticas fueron certificadas por AENOR (Asociación Española de NORmalización).UIB Ingeniería del Software III
    • 35. ISO 9000: Calidad de Software  ISO 9001:2000. Modelo para conseguir la calidad total en el diseño, desarrollo, producción, instalación y servicio post-venta.  ISO 9000-3:1991. Guía para la aplicación de la norma ISO 9001 al desarrollo, suministro y mantenimiento de software.  En todo caso, nos certificaríamos según ISO 9000-3.  No añade ni cambia los requerimientos de la ISO 90001. Los amplia y aclara.  Otras normas aplicables  ISO 9004-1:1994. Gestión de la calidad y elementos del sistema de calidad (Guía per establecer el QA).UIB Ingeniería del Software III
    • 36. ISO 9000: Calidad de Software  ISO 8402:1994. Gestión de la calidad y garantía de la calidad. Vocabulario.  ISO 12207:1995. Procesos del ciclo de vida del software.  ISO/IEC 9126:1991. Características de la calidad de un producto software.  ISO/IEC 12119:1995. Productos software: evaluación y test.  ISO/IEC 14102:1995. Guía para la evaluación y selección de herramientas CASE.UIB Ingeniería del Software III
    • 37. ISO / IEC TR 15504UIB Ingeniería del Software III
    • 38. (SPICE) ISO/IEC TR 15504 Software Process Improvement Capability dEtermination. • Evaluación y mejora de procesos software. • Inicio del proyecto 1.993 • Se halla en fase de Informe Técnico • Es aplicable a cualquier organización o empresa que quiera mejorar la capacidad de cualquiera de sus procesos de software. • Se puede utilizar como herramienta de evaluación del estado de los procesos de software de la empresa. • Es independiente de la organización, modelo del ciclo de vida, metodología y tecnología.UIB Ingeniería del Software III
    • 39. SPICE  Marco para métodos de evaluación, no un método o modelo en sí  Abarca: – Evaluación de procesos – Mejora de procesos – Determinación 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 Técnico (TR) Tipo 2UIB Ingeniería del Software III
    • 40. Componentes de SPICE Conceptos P1 P9 y guía de Vocabulario introducción P7 Guia de uso P8 Guia para det. P6 Guia de para la mejora Capacidad de calificación de de procesos proveedores evaluadores Realización Guía de P3 de una evaluación P4 evaluación Model de ref. Model de para procesos P2 Evaluación P5 y capacidad y guía de usoUIB Ingeniería del Software III
    • 41. P2: Modelo de Referencia • El modelo de referencia de SPICE describe los procesos que una organización 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 función de grado de consecución de sus atributos. • El tiene dos dimensiones: Procesos y CapacidadUIB Ingeniería del Software III
    • 42. Dimensión Procesos  Contiene los procesos que se han de evaluar. Se corresponden con los procesos del ciclo de vida del software, definidos al estándar ISO 12207:1995  Se agrupan en categorías, en función del tipo de actividad al cual se aplican: • CUS: Cliente-Proveedor. • ENG: Ingeniería. • SUP: Soporte. • MAN: Gestión. • ORG: Organización. OrganizaciónUIB Ingeniería del Software III
    • 43. Dimensión Procesos CUS La categoría CUS está formada por procesos que afecta directamente al cilente, soportan el desarrollo y la transición del software al cliente y permiten la correcta operación y uso del producto y/o servicio software. • CUS.1 Adquisición de productos software y/o servicios • CUS.2 Establecimiento de contratos • CUS.3 Identificar las necesidades del cliente • CUS.4 Realizar auditorías y revisiones conjuntas. • CUS.5 Entrega e instalación del software. • CUS.6 Mantenimiento del software. • CUS.7 Proporcionar servicio al cliente. • CUS.8 Valorar la satisfacción del cliente.UIB Ingeniería del Software III
    • 44. Dimensión Procesos ENG La categoria ENG està formada per procesos que directamente especifica, implementa o mantienen el producto software, su relación con el sistema y su documentación • ENG.1 Análisis y diseño de requerimientos del sistema • ENG.2 Análisis de requerimientos del software. • ENG.3 Diseño del software. • ENG.4 Construcción del software. • ENG.5 Integración y pruebas del software. • ENG.6 Integración y pruebas del sistema. • ENG.7 Mantenimiento del software y del sistema.UIB Ingeniería del Software III
    • 45. Dimensión Procesos SUP Está formada por procesos que dan soporte a cualquiera del resto de procesos (incluidos los SUP), en distintos puntos del ciclo de vida del software. • SUP.1 Documentación • SUP.2 Gestión de la configuración del software • SUP.3 Garantía de calidad • SUP.4 Resolución de problemas • SUP.5 Realizar revisiones conjuntasUIB Ingeniería del Software III
    • 46. Dimensión Procesos MAN Formada por procesos utilizados en la gestión de cualquier tipo de proyecto o proceso en el ciclo de vida del software. • MAN.1 Gestionar el proceso. • MAN.2 Gestionar el proyecto. • MAN.3 Gestionar la calidad. • MAN.4 Gestionar los riesgos.UIB Ingeniería del Software III
    • 47. Dimensión Procesos 0RG Formada por procesos que establecen los objetivos de negocio de la organización. • ORG.1 Alineamiento de la organització. • ORG.2 Establecimiento del proceso • ORG.3 Evaluación del proceso • ORG.4 Mejora del procés. • ORG.5 Gestión de recursos humanos. • ORG.6 Infraestructura. • ORG.7 ReutilizaciónUIB Ingeniería del Software III
    • 48. Dimensión capacidad  Define una escala de medida para determinar la capacidad de cualquier proceso  Consta de seis niveles de capacidad y nueve atributos de procesos  0 Incompleto  1 Realizado (Realización del proceso)  2 Gestionado (Gestión de realización, Gestión de productos)  3 Establecido (Definición de procesos, Recursos de procesos)  4 Predecible (Medición de procesos, Control de procesos)  5 En optimización (Cambio de procesos, Mejora continua)UIB Ingeniería del Software III
    • 49. Prácticas base  Cada proceso tiene un conjunto de prácticas base asociadas  Las prácticas base describen las actividades esenciales de un proceso específico  La realización de las prácticas base indica el grado de alcance de la finalidad del procesoUIB Ingeniería del Software III
    • 50. Prácticas de gestión  Cada atributo de proceso tiene un conjunto de prácticas de gestión asociadas  Las prácticas de gestión son las que implementan o institucionalizan un proceso de una manera general  La realización de las prácticas de gestión indica la consecución del atributo en esa instancia del procesoUIB Ingeniería del Software III
    • 51. Evaluación de atributos  Los atributos de un proceso se evalúan con N (Not), P (Partially), L (Largely) y F (Fully), siendo: N No alcanzado (0% a 15%)  Poca o ninguna evidencia de la consecución del atributo P Parcialmente alcanzado (16% a 50%)  Evidencia de un enfoque sistemático y de la consecución del atributo. aunque algunos aspectos de la consecución pueden ser impredecibles L Ampliamente alcanzado (51% a 85%)  Evidencia de un enfoque sistemático y de una consecución significativa del atributo. La realización del proceso puede variar en algunas áreas F Totalmente alcanzado (86% a 100%)  Evidencia de un enfoque completo y sistemático y de la consecución plena del atributoUIB Ingeniería del Software III
    • 52. CMM Capability Maturity Model Software Engineering Institute Carnegy Mellon University Mark C. Paulk “CMM es una aplicación de sentido común de los conceptos de gestión de procesos y mejora de la calidad al desarrollo y mantenimiento del software”UIB Ingeniería del Software III
    • 53. CMM  Estudia los procesos de desarrollo de software de una organización y produce una evaluación de la madurez de la organización según una escala de cinco niveles  La madurez de un proceso es un indicador de la capacidad para construir un software de calidad.  Es un modelo para la mejora de las organizaciones  Obliga a una revisión constante.UIB Ingeniería del Software III
    • 54. CMM Optimizado Dirigit Definit Repetible InicialUIB Ingeniería del Software III
    • 55. CMM Niveles de Indican Capacidad madurez del proceso Contienen Alcanzan Áreas claves Objetivos de proceso Organizadas con Características Se aplican Implementación o comunes Institucionalización Contienen Describen Prácticas Infraestructura clave o actividadesUIB Ingeniería del Software III
    • 56. CMM • Es importante tener claro • Dónde nos encontramos • A dónde queremos llegar • Cómo llegaremos • Cómo sabremos si hemos llegado • No se puede hacer todo de golpe • Procesos piloto previos a un despliegue a gran escala.UIB Ingeniería del Software III
    • 57. Certificación La certificación, una exigencia? • La Unión Europea edita el libro blanco sobre crecimiento, competitividad y puestos de trabajo, y reconoce la calidad como un elemento esencial de éxito de la empresa y constituye un factor estratégico en la política europea de competitividad. • Las empresas precisan marcas y certificados que ayuden a vender sus productos en el mercado único en la era de la globalización. • Se potencia la creación de infraestructuras de calidad: entidades de acreditación, organismos de normalización, entidades de inspección, etc.UIB Ingeniería del Software III
    • 58. Certificación La certificación, una exigència? • Se impulsa la implantación de programas de calidad en las distintas administraciones públicas. • Las grandes empresas exigen certificados de calidad a sus proveedores. • Desde la administración se potencia mediante subvenciones, la implantación de programas de calidad.UIB Ingeniería del Software III
    • 59. Certificación Proceso habitual de certificación • Motivación. • Selección de la norma aplicable • Subcontratación a empresa externa. • Auditoría de certificación. • Informe de acciones correctoras. • Certificado. • Imposición de seguimiento • Incumplimiento!!!UIB Ingeniería del Software III
    • 60. Certificación Documentación • Solicitud formal. • Sistema de calidad • Manual de calidad • Manual de procedimientos. • Manual de especificaciones • Otros documentos • Expediente y certificación.UIB Ingeniería del Software III
    • 61. Certificación Otros aspectes • Plazos y costes • Consultoría • Formación • Organismo certificador • Mantenimiento de la certificación • Seguimiento anual. • Revisión de la certificación.UIB Ingeniería del Software III