Administración de la calidad del Software ‡ Se refiere a lograr un nivel de calidad requerido en el producto de software ‡ Involucra a la definición de estándares de calidad apropiados y procedimientos que permitan asegurar que estos se cumplan. ‡ Debe llevar a desarrollar una cultura de calidad en donde la calidad es responsabilidad de todos

Administración de la calidad del Software
± comprobación independiente de los procesos de desarrollo ± los productos resultantes de los procesos se introducen en el proceso de administración de la calidad para asegurar su consistencia con estándares y objetivos de calidad ± equipo de aseguramiento y control: independientes de los equipos de desarrollo
‡ responsabilidad de la administración de la calidad ‡ visión objetiva del proceso ‡ informan de problemas y dificultades a los administradores principales de la organización

ATRIBUTOS DE LA CALIDAD DE SOFTWARE y Seguridad y Protección y Fiabilidad y Flexibilidad y Robustez y Comprensión y Experimentación y Adaptabilidad y Modularidad y Complejidad y Portabilidad y Usabilidad y Reutilización y Eficiencia .

CONCEPTO DE CALIDAD un producto debe cumplir con sus especificaciones Es Calidad significa que la totalidad de aspectos y características de un producto o servicio que se refieren a su capacidad para satisfacer necesidades dadas en la adecuación de sus objetivos (ISO) Concordancia del software producido con los requerimientos explícitamente establecidos.con los estándares de desarrollo prefijados y con los requerimientos implícitos no establecidos formalmente que desea el usuario (Pressman). .

Administración de la calidad del Software ‡ Aseguramiento de la calidad Planificación de la calidad Control de la calidad tres actividades principales ± aseguramiento de la calidad ‡ establecimiento de un marco de trabajo de procedimientos y estándares corporativos que conduzcan a la obtención de software de alta calidad ± planificación de la calidad ‡ selección de procedimientos y estándares adecuados a partir de ese marco de trabajo y adaptación de éstos para un proyecto de software específico ± control de la calidad ‡ definición y aplicación de los procesos que aseguren que los procedimientos y estándares son seguidos por el equipo de desarrollo .

OTAN. evitando repetir errores anteriores y capturando el conocimiento de valor para la organización ± ofrecen un marco de trabajo alrededor del que se implementa el proceso de SQA ± ayudan a la continuidad del trabajo de unos ingenieros a otros desarrollo de estándares ± proceso largo y complicado ± organizaciones nacionales e internacionales diferentes (ANSI. NASA... .) ± los equipos de SQA de las empresas desarrollan un ³manual de estándares´ basado en estándares nacionales e internacionales Aseguramiento de la calidad ‡ Planificación de la calidad ‡ Control de la calidad .. Departamento de Defensa de EE.UU. Agencia Espacial.aseguramiento de la calidad y estándares ‡ actividades de aseguramiento de la calidad (SQA) ± definir un marco de trabajo para lograr la calidad del software: definir o seleccionar estándares aplicables al proceso de desarrollo o a los productos de software importancia de los estándares ± ofrecen un conjunto de las mejores prácticas. IEEE.

estructura del documento de requerimientos a producir) ‡ estándares de documentación (encabezados estándar de comentarios para una definición de clase) ‡ estándares de codificación (cómo utilizar un lenguaje de programación) ± estándares del proceso: definen los procesos a seguir durante el desarrollo ‡ definiciones de los procesos de especificación y análisis.Estandares (SQA) ‡ dos tipos de estándares ± estándares del producto: se aplican al producto a desarrollar ‡ estándares de documentos (p. validación. diseño.. descripción de los documentos a generar en cada uno de estos procesos...ej.. Estándares del producto Formulario para revisión del diseño Estructura del documento de requerimientos Formato del encabezado del procedimiento Estilo de programación en Java Formato del plan del pro ecto Forma de petición de cambios Estándares del proceso Conducto para la revisión del diseño Sometimiento de documentos a revisiones Proceso de entrega de las versiones Proceso de aprobación del plan del pro ecto Proceso de control del cambio Proceso de registro de las pruebas .

y los del mismo tipo deben tener una estructura consistente con los del proyecto y la organización ± estándares para el intercambio de documentos: ‡ aseguran que todas las copias electrónicas de los documentos sean compatibles ‡ utilización de herramientas concretas para elaborar los documentos (hojas de cálculo.. más fáciles de leer y comprender tres tipos de estándares ± estándares del proceso de documentación: ‡ proceso a seguir para la producción del documento ‡ documentos de trabajo: no es necesario aplicar procesos formales de calidad ‡ documentos formales (para desarrollos posteriores o a entregar al cliente): necesario adoptar un proceso formal de calidad ± estándares del documento: ‡ estructura y presentación de los documentos ‡ deben tener un estilo y apariencia consistente. herramientas de diagramación.. estructura y calidad consistentes.) ‡ . procesadores de texto.SQA: estándares de documentación ‡ importancia de los documentos estandarizados ± documentos: única forma tangible de representar el software y el proceso del software ± documentos estandarizados: apariencia..

SQA: Estandares de documentación Proceso formal de producción de un documento Crear borrador inicial Etapa 1: creación Revisar borrador Incorporar comentarios a la revisión Rehacer documento borrador Documento aprobado Corregir texto Etapa 2: refinamiento Producir borrador final Comprobar borrador final Documento aprobado Arreglar texto Revisar arreglos Producir patrones de impresión Imprimir copias Etapa 3: producción fuente: I. Pearson 2002 . Ingeniería de Software. Sommerville.

‡ ‡ . pero puede hacer falta realizar prototipos. un estándar puede indicar que la especificación tiene que estar terminada y aprobada para implementar. examinar el proceso utilizado para desarrollarlos 3.SQA: calidad del proceso y del producto ‡ mejora de la calidad: 1. identificar productos de calidad 2. presión comercial.) ± el proceso puede ser inapropiado para un tipo de software ‡ por ejemplo. generalizar esos procesos para aplicarlos a otros proyectos fabricación: relación clara entre calidad de proceso y del producto ± proceso fácil de estandarizar y supervisar ± una vez definido el proceso de fabricación se ejecuta una y otra vez para producir el mismo producto con el mismo nivel de calidad software: existe relación. pero menos directa ± proceso más creativo que mecánico: influencia de habilidades individuales y experiencia ± factores externos (novedad de la aplicación....

documentación y procesos son revisados por un grupo de personas ‡ valoración: normalmente automática. con algún tipo de herramienta ± el software y los documentos se procesan y se comparan con los estándares que se aplican a ese proyecto ± implica una medida cuantitativa de de algunos atributos del software (medición y métricas)     .control de la calidad ‡ Aseguramiento de la calidad Planificación de la calidad ontrol de la calidad control de calidad ± vigilar el proceso de desarrollo para asegurar que se siguen los procedimientos de SQA y estándares de calidad ajustándose al plan de calidad ± dos enfoques complementarios ‡ revisiones técnicas: el software.

preparación y duración breves Decisión final: .Aceptación .Aceptación condicionada a pequeñas modificaciones Participantes: jefe de revisión.control de calidad: revisiones técnicas formales Se revisa UN producto (especificación.) y productor . módulo. revisores (ingenieros. listado..) Poca gente.programadores...Rechazo ....

± aprovecha la diversidad de un grupo de personas para: señalar la necesidad de mejoras en el producto de ingeniería (diagramas del análisis. verificar el cumplimiento de los requisitos garantizar el cumplimiento de los estándares... ± se aplican en diversos momentos del desarrollo para detectar defectos. lógica o implementación de cualquier representación del softwre. conseguir un desarrollo uniforme del software obtener proyectos que hagan más sencillo los trabajos técnicos (análisis que permitan buenos diseños. diseños que permitan implementaciones sencillas. ± efectividad: se calcula que son efectivas en un 75%. código. estrategias de pruebas que faciliten éstas.. ‡ .. diccionario de datos.) RTFs: son un filtro que permite ³purificar´ las actividades de ingeniería de software.. conseguir un trabajo técnico de calidad más uniforme..revisiones técnicas formales ‡ objetivos: descubrir errores en la función. diseño. ± diseño: entre el 50 y el 60% de los errores del desarrollo.) confirmar las partes en las que no es necesaria una mejora. estrategia de pruebas.

0 Total 33 234 315 201 783 Sin revisiones Antes de la prueba Durante la prueba Tras la distribución 22 82 12 6.0 67.5 15.ejemplo Errores encontrados Durante el diseño Antes de la prueba Durante la prueba Tras la distribución Número 22 36 15 3 Coste unitario 1.0 67.5 15.0 143 1230 804 2177 Llevando a cabo revisiones .5 6.

‡ afectados por diversos factores ‡ no existen métricas directas: necesario medir atributos internos del software y suponer que existe relación con los atributos que nos interesan Número de parámetros del procedimiento Mantenibilidad Complejidad ciclomática Fiabilidad Tamaño del programa en líneas de código Portabilidad Número de mensajes de error Decisiones administrativas Métricas de control Métricas de predicción Proceso de software Producto de software Usabilidad Extensión del manual de usuario . complejidad.. comprensión. proceso o documentación ± existen atributos imposibles de medir de forma directa ‡ por ejemplo: mantenibilidad.control de calidad: métricas ‡ medición: calcular un valor numérico para algún atributo de un producto o un proceso del software ± la comparación entre ellos y con los estándares de la organización permite controlar la calidad ± métrica: cualquier tipo de medida relacionada con un sistema...

CMM y Bootstrap ‡ enfocado a estudiar el nivel de madurez de los procesos individuales (tiene en cuenta el contexto de los procesos evaluados). ‡ objetivo: definir un marco común de referencia en el que convivan el resto de los modelos mencionados. en vez de un resultado válido/no válido. . ‡ muy utilizado en Europa. ‡ Produce un perfil del proceso.modelos de calidad del software ‡ ‡ ‡ Objetivo: mejora de procesos software. ± Capability Maturity Model (CMM) del Instituto de Ingeniería del Software ‡ el modelo más empleado y maduro ‡ valora el desarrollo de software en sistemas de gran complejidad ‡ visión completa del proceso de madurez organizacional ‡ incluye mecanismos para mejora continua de los procesos ± Bootstrap: ‡ enfocado a pequeñas y medianas empresas ‡ valora la madurez global de una organización ‡ examina procesos individuales de software y valora la conveniencia y el impacto de nuevas tecnologías ± SPICE: ‡ combina elementos de ISO. Principales iniciativas: ± ISO 9001 y 9000-3: ‡ muy útil en compañías que además de software fabrican equipos ‡ define los procesos de calidad tanto en compañías de hardware como de software. Diversos modelos que buscan: ± Determinar las fuerzas y debilidades en una organización ± Aglutinar esfuerzos para conseguir acuerdos sobre lo que es un buen proceso.

ISO 9000 ‡ Conjunto de estándares internacionales para el manejo de calidad ‡ Aplicable a un rango de organizaciones desde industrias de servicio a industrias de manufactura ‡ La ISO 9001 es aplicable a organizaciones del cual diseñan. desarrollan y mantienen productos ‡ ISO 9001 es un modelo genérico del proceso de calidad. Está instanciado para cada organización .

Certificación ISO 9000 ‡ Los Estándares de calidad y procedimientos deberán ser documentados en un manual organizacional de calidad ‡ Personal externo puede certificar que una organización conforma con los estándares ISO 9000 ‡ Los clientes demandan cada vez mas que sus desarrolladores tengan la certificación ISO 9000 .

modelos de calidad: ISO 9000 Modelos de calidad ISO 9000 instanciado como Manual de calidad de la organización documentos Proceso de la calidad de la organización instanciado como se utiliza para desarrollar Plan de calidad del proyecto 1 Plan de calidad del proyecto 2 Plan de calidad del proyecto 3 Administración de la calidad del proyecto .

ISO9000: describe los elementos de garantía de calidad en términos genéricos que pueden aplicarse a cualquier negocio. Objetivo: diseñar e implementar un sistema de garantía de calidad que cumpla los estándares y acople los productos.modelos de calidad: ISO-9000 ‡ ‡ Serie ISO-9000: conjunto de normas de sistemas de calidad y guías asociadas que se publicaron a partir de 1987 por la ISO (Organización Internacional de Normalización). ± Si es correcto. ISO9000 describe los elementos de un sistema de garantía de calidad: ± estructura organizativa ± procedimientos ± procesos y recursos para implantar la planificación de la calidad ± control de calidad ± garantía de calidad ± mejora de la calidad ISO 9000 NO describe cómo debe implementar una organización estos elementos del sistema de calidad. medición y equipo de pruebas Inspección y estado de prueba Control de producto no aceptado Acción correctora y preventiva Tratamiento. preservación y entrega. Control de registros de calidad Auditorías internas de calidad Formación Servicios Técnicas estadísticas ‡ ‡ ‡ ‡ ‡ Más orientada a empresas de fabricación ISO 9000-3 Guía para la aplicación de ISO 9001 en el desarrollo. se recibe el certificado. control y mejora de los procesos y la red de procesos. servicios y cultura de la empresa. suministro y mantenimiento de software . ISO 9001 Estándar aplicable a la Ingeniería del Software 20 requisitos de un sistema de garantía de calidad efectiva: Responsabilidad de la gestión Sistema de calidad Revisión de contrato Control de diseño Control de datos y documentos Compras Control del producto suministrado por el cliente Identificación y posibilidad de seguimiento del producto Control del proceso Inspección y prueba Control de inspección. almacenaje. ± Inconveniente: burocracia y papeleo. ± Auditorías de seguimiento cada seis meses. con independencia de los productos o servicios ofrecidos. empaquetamiento. ± Ventajas: comprensión. Obtención de certificado: ± Auditores externos examinan el sistema de calidad y las operaciones de una compañía. Procesos documentados y practicados como se hayan descrito en el estándar.

relación entre modelos de calidad del software ISO 9000 1987 CMM 1986 ISO 9000-3 1991 BOOTSTRAP 1993 SPICE 1994 .

métodos. madurez del proceso: ± refleja la capacidad de una organización para producir software de calidad (cuanto más madura es una organización. prácticas y transformaciones que se usan para desarrollar el software y los productos a él asociados.edu/) punto de partida: definición del proceso de software: conjunto de actividades. ± las empresas van pasando por cinco niveles de madurez ‡ ‡ ‡ . mejor definido será el proceso de software). 1991: aparece el CMM. ± está documentado ± su documentación está disponible (http://www. ± proceso del software maduro: mayor productividad y mayor calidad del producto.modelos de calidad: capability maturity model (CMM) ‡ Software Engineering Institute (Carnegie Mellon University).sei. 1986: modelo para evaluar el grado de madurez con que las organizaciones desarrollaban software.cmu. prácticamente en su forma actual: ± basado en casos reales ± refleja las necesidades de los profesionales del desarrollo de software y de la mejora del proceso.

La mejora del proceso software es continua y existe una realimentación de los procesos. así como un enfoque de mejora a nivel de ideas y de tecnologías. El éxito depende más del esfuerzo individual que de una aproximación organizada del proceso software. costes y plazos. Los procesos y los productos son controlados y seguidos de modo cuantitativo. Existen conjuntos de métricas definidas a nivel de las diferentes etapas del proceso. Utilización de un proceso software estandarizado para desarrollo y mantenimiento. INICIAL REPETIBLE Proceso mejora continua GESTIONADO OPTIMIZADO DEFINIDO Procesos básicos de gestión referidos a un seguimiento de funcionalidades.modelos de calidad: capability maturity model (CMM) Proceso predecible Proceso consistente estándar Proceso disciplinado Proceso poco estructurado. Se implanta una disciplina de trabajo para repetir modos de trabajo que han dado resultados positivos Procesos software bien definidos. estandarizados e integrados. y se dispone de datos al respecto. puede que caótico. a nivel de toda la organización. . tanto en aspectos de gestión como de ingeniería.

Resumen ‡ El manejo de la calidad del software se refiere a a asegurar que el software cumple con estándares requeridos ‡ Los procedimientos de aseguramiento de calidad deberán estar documentados en un manual de calidad organizacional ‡ Un plan de calidad de un proyecto deberá identificar los requerimientos específicos de calidad ‡ Los estándares de software son la reunión de las mejores practicas .

Las métricas de predicción permiten la estimación de atributos del al producto ‡ Las métricas de calidad deberán ser usadas para identificar componentes potencialmente problemáticos .Resumen ‡ Las revisiones son el medio principal para la implementación del aseguramiento de la calidad ‡ Las métricas reúnen información acerca de procesos y productos ‡ Las métricas de control proveen información acerca del manejo del proyecto del software.

FACTORES QUE DETERMINAN LA CALIDAD DEL SOFTWARE y Operaciones del producto: características operativas Corrección (¿Hace lo que se le pide?) El grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente Fiabilidad (¿Lo hace de forma fiable todo el tiempo?) El grado que se puede esperar de una aplicación lleve a cabo las operaciones especificadas y con la precisión requerida. .

FACTORES QUE DETERMINAN LA CALIDAD DEL SOFTWARE y Eficiencia (¿Qué recursos hardware y software necesito?) La cantidad de recursos hardware y software que necesita una aplicación para realizar las operaciones con los tiempos de respuesta adecuados Integridad (¿Puedo controlar su uso?) El grado con que puede controlarse el acceso al software o a los datos a personal no Autorizado .

. introducir datos y conseguir resultados Revisión del producto: capacidad para soportar cambios Facilidad de mantenimiento (¿Puedo localizar los fallos?) El esfuerzo requerido para localizar y reparar errores Flexibilidad (¿Puedo añadir nuevas opciones?) El esfuerzo requerido para modificar una aplicación en funcionamiento.FACTORES QUE DETERMINAN LA CALIDAD DEL SOFTWARE y Facilidad de uso (¿Es fácil y cómodo de manejar?) El esfuerzo requerido para aprender el manejo de una aplicación. trabajar con ella.

FACTORES QUE DETERMINAN LA CALIDAD DEL SOFTWARE y Facilidad de prueba (¿Puedo probar todas las opciones?) El esfuerzo requerido para probar una aplicación de forma que cumpla con lo especificado en los requisitos Transición del producto: adaptabilidad a nuevos entornos Portabilidad (¿Podré usarlo en otra máquina?) El esfuerzo requerido para transferir la aplicación a otro hardware o sistema operativo .

FACTORES QUE DETERMINAN LA CALIDAD DEL SOFTWARE y Reusabilidad (¿Podré utilizar alguna parte del software en otra aplicación?) Grado en que partes de una aplicación pueden utilizarse en otras aplicaciones Interoperabilidad (¿Podrá comunicarse con otras aplicaciones o sistemas informáticos? El esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas informáticos .

bibliografía Sommerville. 24 Pressman. cap. 8 . Ingeniería del Software. Un enfoque práctico. Ingeniería de Software. R. cap. I.S.