La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Calidad en Ingeniería del Software

Presentaciones similares


Presentación del tema: "Calidad en Ingeniería del Software"— Transcripción de la presentación:

1 Calidad en Ingeniería del Software
Ingeniería del Software III Enero 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 software Ingeniería del Software III

3 Introducción a la calidad
Concepto de calidad Evolución histórica Terminología 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) 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. Ingeniería del Software III

6 Evolución histórica Ingeniería del Software III
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. : Japón y Calidad total. Deming, Ishikawa, Juran, Crosby, … Ingeniería del Software III

7 Evolución histórica Ingeniería del Software III
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 A partir de las normas británicas 1992. Premio Europeo a la calidad de la EFQM. Ingeniería del Software III

8 Evolución histórica Ingeniería del Software III
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:2000 Ingeniería del Software III

9 Evolución histórica Ingeniería del Software III Mejora contínua Mejora
de la calidad Calidad total Garantía de calidad Prevenir defectos Control de calidad Detectar defectos Tiempo Ingeniería del Software III

10 Terminología (ISO 8402) Ingeniería del Software III
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”. 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. Ingeniería del Software III

12 Terminología (ISO 8402) Ingeniería del Software III
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. Ingeniería del Software III

13 La calidad del software
Concepto de calidad del software Situación actual 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 ). “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) 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 entornos 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? 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? 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? Ingeniería del Software III

19 Situación actual Ingeniería del Software III
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 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. Ingeniería del Software III

20 Situación actual Ingeniería del Software III
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 mercado 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. Ingeniería del Software III

21 Situación actual Ingeniería del Software III
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 realistas Ingeniería del Software III

22 Situación actual Ingeniería del Software III
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 eliminan Ingeniería del Software III

23 Situación actual Ingeniería del Software III
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) Ingeniería del Software III

24 Cambio cultural de todos los involucrados!
Qué hacer ? Artesanía Ingeniería Cambio cultural de todos los involucrados! 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. Organismos Ingeniería del Software III

26 ISO 9000 Di lo que haces Haz lo que dices Ingeniería del Software III

27 ISO 9000 Ingeniería del Software III
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. Ingeniería del Software III

28 ISO 9000 Ingeniería del Software III
Publicada el año 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. Ingeniería del Software III

29 Modelo de calidad total
ISO 9000 TÍTULO ISO 8402 Vocabulario - Terminología. Normas para la gestión y garantía de la calidad. Directrices de selección y uso (ISO ). Directrices generales para aplicar las normes 9001, 9002, (ISO ). Guía para aplicar las normes 9001 a empresas de software (ISO ). Guía para la gestión de un programa de seguridad (ISO ). 9000 9001 Modelo para la garantía de la calidad en diseño / desarrollo, producción, instalación y servicio.(1.994) ISO Modelo de calidad total 9002 Modelo para garantizar la calidad en producción y servicios. (1.994) 9003 Modelo para garantizar la calidad en inspección final y pruebas. (1.993) Elementos y gestión del sistema de calidad. Reglas generales. Directrices para los serveis (ISO ). Directrices para materiales procesados (ISO ). Directrices para la mejora de la calidad (ISO ). 9004 Ingeniería del Software III

30 ISO 9000 Ingeniería del Software III 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). Ingeniería del Software III

31 ISO 9000 (Recomendaciones)
Comenzar con ISO (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 para demostrar su idoneidad 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 hacer 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. 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). 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 :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 No añade ni cambia los requerimientos de la ISO Los amplia y aclara. Otras normas aplicables ISO :1994. Gestión de la calidad y elementos del sistema de calidad (Guía per establecer el QA). 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. Ingeniería del Software III

37 ISO / IEC TR 15504 Ingeniería del Software III

38 (SPICE) ISO/IEC TR 15504 Ingeniería del Software III
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. Ingeniería del Software III

39 SPICE Ingeniería del Software III
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 2 Ingeniería del Software III

40 Componentes de SPICE Ingeniería del Software III P9 P1 P7 P6 P8 P3 P4
Conceptos y guía de introducción Guia para det. Capacidad de proveedores Realización de una evaluación Guía de Guia de calificación de evaluadores Vocabulario Guia de uso para la mejora de procesos Model de ref. para procesos y capacidad Model de Evaluación y guía de uso P1 P9 P7 P8 P6 P3 P4 P2 P5 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 Capacidad Ingeniería del Software III

42 Dimensión Procesos Ingeniería del Software III
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. 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. 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. 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 conjuntas 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. Ingeniería del Software III

47 Dimensión Procesos 0RG Ingeniería del Software III
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ón Ingeniería del Software III

48 Dimensión capacidad Ingeniería del Software III
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) Ingeniería del Software III

49 Prácticas base Ingeniería del Software III
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 proceso Ingeniería del Software III

50 Prácticas de gestión Ingeniería del Software III
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 proceso 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 atributo 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” 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. Ingeniería del Software III

54 CMM Ingeniería del Software III Optimizado Dirigit Definit Repetible
Inicial Ingeniería del Software III

55 Institucionalización
CMM Niveles de madurez Prácticas clave Características comunes Áreas claves de proceso Contienen Organizadas con Indican Alcanzan Se aplican Describen Capacidad del proceso Objetivos Implementación o Institucionalización Infraestructura o actividades Ingeniería del Software III

56 CMM Ingeniería del Software III 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. 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. 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. 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!!! Ingeniería del Software III

60 Certificación Documentación Ingeniería del Software III
Solicitud formal. Sistema de calidad Manual de calidad Manual de procedimientos. Manual de especificaciones Otros documentos Expediente y certificación. Ingeniería del Software III

61 Certificación Otros aspectes Ingeniería del Software III
Plazos y costes Consultoría Formación Organismo certificador Mantenimiento de la certificación Seguimiento anual. Revisión de la certificación. Ingeniería del Software III


Descargar ppt "Calidad en Ingeniería del Software"

Presentaciones similares


Anuncios Google