acs administracion de la calidad de software

Upload: marvin-baten-rojas

Post on 11-Oct-2015

36 views

Category:

Documents


1 download

TRANSCRIPT

  • LA CALIDAD DEL SOFTWARE

  • Administracin de la calidad del SoftwareSe refiere a lograr un nivel de calidad requerido en el producto de software Involucra a la definicin de estndares 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

  • Administracin de la calidad del Softwarecomprobacin independiente de los procesos de desarrollolos productos resultantes de los procesos se introducen en el proceso de administracin de la calidad para asegurar su consistencia con estndares y objetivos de calidadequipo de aseguramiento y control: independientes de los equipos de desarrolloresponsabilidad de la administracin de la calidadvisin objetiva del procesoinforman de problemas y dificultades a los administradores principales de la organizacin

  • CONCEPTO DE CALIDADCalidad significa que un producto debe cumplir con sus especificacionesEs la totalidad de aspectos y caractersticas de un producto o servicio que se refieren a su capacidad para satisfacer necesidades dadas en la adecuacin de sus objetivos (ISO)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).

  • Atributos de la calidad del Software

  • Administracin de la calidad del Softwaretres actividades principalesaseguramiento de la calidadestablecimiento de un marco de trabajo de procedimientos y estndares corporativos que conduzcan a la obtencin de software de alta calidadplanificacin de la calidadseleccin de procedimientos y estndares adecuados a partir de ese marco de trabajo y adaptacin de stos para un proyecto de software especficocontrol de la calidaddefinicin y aplicacin de los procesos que aseguren que los procedimientos y estndares son seguidos por el equipo de desarrollo

  • aseguramiento de la calidad y estndaresactividades de aseguramiento de la calidad (SQA)definir un marco de trabajo para lograr la calidad del software: definir o seleccionar estndares aplicables al proceso de desarrollo o a los productos de softwareimportancia de los estndaresofrecen un conjunto de las mejores prcticas, evitando repetir errores anteriores y capturando el conocimiento de valor para la organizacinofrecen un marco de trabajo alrededor del que se implementa el proceso de SQAayudan a la continuidad del trabajo de unos ingenieros a otrosdesarrollo de estndaresproceso largo y complicadoorganizaciones nacionales e internacionales diferentes (ANSI, IEEE, OTAN, Agencia Espacial, NASA, Departamento de Defensa de EE.UU., ...)los equipos de SQA de las empresas desarrollan un manual de estndares basado en estndares nacionales e internacionales

  • Estandares (SQA)dos tipos de estndaresestndares del producto: se aplican al producto a desarrollarestndares de documentos (p.ej., estructura del documento de requerimientos a producir)estndares de documentacin (encabezados estndar de comentarios para una definicin de clase)estndares de codificacin (cmo utilizar un lenguaje de programacin)estndares del proceso: definen los procesos a seguir durante el desarrollodefiniciones de los procesos de especificacin y anlisis, diseo, validacin, descripcin de los documentos a generar en cada uno de estos procesos,...

    Estndares del productoEstndares del procesoFormulario para revisin del diseoConducto para la revisin del diseoEstructura del documento de requerimientosSometimiento de documentos a revisionesFormato del encabezado del procedimientoProceso de entrega de las versionesEstilo de programacin en JavaProceso de aprobacin del plan del proyectoFormato del plan del proyectoProceso de control del cambioForma de peticin de cambiosProceso de registro de las pruebas

  • SQA: estndares de documentacinimportancia de los documentos estandarizadosdocumentos: nica forma tangible de representar el software y el proceso del softwaredocumentos estandarizados: apariencia, estructura y calidad consistentes; ms fciles de leer y comprendertres tipos de estndaresestndares del proceso de documentacin: proceso a seguir para la produccin del documentodocumentos de trabajo: no es necesario aplicar procesos formales de calidaddocumentos formales (para desarrollos posteriores o a entregar al cliente): necesario adoptar un proceso formal de calidadestndares del documento: estructura y presentacin de los documentosdeben tener un estilo y apariencia consistente, y los del mismo tipo deben tener una estructura consistente con los del proyecto y la organizacinestndares para el intercambio de documentos: aseguran que todas las copias electrnicas de los documentos sean compatiblesutilizacin de herramientas concretas para elaborar los documentos (hojas de clculo, procesadores de texto, herramientas de diagramacin,...)

  • SQA: Estandares de documentacin

    fuente: I. Sommerville, Ingeniera de Software, Pearson 2002Crear borrador inicialIncorporar comentarios a la revisinRevisar borradorComprobar borrador finalProducir borrador finalCorregir textoProducir patrones de impresinRevisar arreglosArreglar textoDocumento aprobadoDocumento aprobadoProceso formal de produccin de un documentoRehacer documento borradorImprimir copiasEtapa 1: creacinEtapa 2: refinamientoEtapa 3: produccin

  • SQA: calidad del proceso y del productomejora de la calidad:identificar productos de calidadexaminar el proceso utilizado para desarrollarlosgeneralizar esos procesos para aplicarlos a otros proyectosfabricacin: relacin clara entre calidad de proceso y del productoproceso fcil de estandarizar y supervisaruna vez definido el proceso de fabricacin se ejecuta una y otra vez para producir el mismo producto con el mismo nivel de calidadsoftware: existe relacin, pero menos directaproceso ms creativo que mecnico: influencia de habilidades individuales y experienciafactores externos (novedad de la aplicacin, presin comercial,...)el proceso puede ser inapropiado para un tipo de softwarepor ejemplo, un estndar puede indicar que la especificacin tiene que estar terminada y aprobada para implementar, pero puede hacer falta realizar prototipos.

  • control de la calidadcontrol de calidadvigilar el proceso de desarrollo para asegurar que se siguen los procedimientos de SQA y estndares de calidad ajustndose al plan de calidaddos enfoques complementariosrevisiones tcnicas: el software, documentacin y procesos son revisados por un grupo de personasvaloracin: normalmente automtica, con algn tipo de herramientael software y los documentos se procesan y se comparan con los estndares que se aplican a ese proyectoimplica una medida cuantitativa de de algunos atributos del software (medicin y mtricas)

  • control de calidad: revisiones tcnicas formalesDecisin final: - Aceptacin - Rechazo - Aceptacin condicionada a pequeas modificacionesPoca gente, preparacin y duracin brevesSe revisa UN producto (especificacin, mdulo, listado,...)Participantes: jefe de revisin, revisores (ingenieros,programadores,...) y productor

  • revisiones tcnicas formalesobjetivos:descubrir errores en la funcin, lgica o implementacin de cualquier representacin del softwre.verificar el cumplimiento de los requisitosgarantizar el cumplimiento de los estndares.conseguir un desarrollo uniforme del softwareobtener proyectos que hagan ms sencillo los trabajos tcnicos (anlisis que permitan buenos diseos, diseos que permitan implementaciones sencillas, estrategias de pruebas que faciliten stas,...)RTFs: son un filtro que permite purificar las actividades de ingeniera de software.se aplican en diversos momentos del desarrollo para detectar defectos.diseo: entre el 50 y el 60% de los errores del desarrollo.aprovecha la diversidad de un grupo de personas para:sealar la necesidad de mejoras en el producto de ingeniera (diagramas del anlisis, diccionario de datos, diseo, cdigo, estrategia de pruebas,...)confirmar las partes en las que no es necesaria una mejora.conseguir un trabajo tcnico de calidad ms uniforme.efectividad: se calcula que son efectivas en un 75%.

  • ejemplo

    Errores encontradosNmeroCoste unitarioTotalLlevando a cabo revisionesDurante el diseo221,533Antes de la prueba366,5234Durante la prueba1515,0315Tras la distribucin367,0201783Sin revisionesAntes de la prueba226,5143Durante la prueba8215,01230Tras la distribucin1267,08042177

  • control de calidad: mtricasmedicin: calcular un valor numrico para algn atributo de un producto o un proceso del softwarela comparacin entre ellos y con los estndares de la organizacin permite controlar la calidadmtrica: cualquier tipo de medida relacionada con un sistema, proceso o documentacinexisten atributos imposibles de medir de forma directapor ejemplo: mantenibilidad, complejidad, comprensin,...afectados por diversos factoresno existen mtricas directas: necesario medir atributos internos del software y suponer que existe relacin con los atributos que nos interesanMantenibilidadFiabilidadPortabilidadUsabilidadNmero de parmetros del procedimientoComplejidad ciclomticaTamao del programa en lneas de cdigoNmero de mensajes de errorExtensin del manual de usuarioProceso desoftwareProducto desoftwareMtricas deprediccinMtricas decontrolDecisionesadministrativas

  • modelos de calidad del softwareObjetivo: mejora de procesos software.Diversos modelos que buscan:Determinar las fuerzas y debilidades en una organizacinAglutinar esfuerzos para conseguir acuerdos sobre lo que es un buen proceso.Principales iniciativas:ISO 9001 y 9000-3: muy til en compaas que adems de software fabrican equiposdefine los procesos de calidad tanto en compaas de hardware como de software.muy utilizado en Europa.Capability Maturity Model (CMM) del Instituto de Ingeniera del Softwareel modelo ms empleado y madurovalora el desarrollo de software en sistemas de gran complejidadvisin completa del proceso de madurez organizacionalincluye mecanismos para mejora continua de los procesosBootstrap:enfocado a pequeas y medianas empresasvalora la madurez global de una organizacinexamina procesos individuales de software y valora la conveniencia y el impacto de nuevas tecnologasSPICE:combina elementos de ISO, CMM y Bootstrapenfocado a estudiar el nivel de madurez de los procesos individuales (tiene en cuenta el contexto de los procesos evaluados).objetivo: definir un marco comn de referencia en el que convivan el resto de los modelos mencionados.Produce un perfil del proceso, en vez de un resultado vlido/no vlido.

  • ISO 9000Conjunto de estndares internacionales para el manejo de calidadAplicable a un rango de organizaciones desde industrias de servicio a industrias de manufacturaLa ISO 9001 es aplicable a organizaciones del cual disean, desarrollan y mantienen productos ISO 9001 es un modelo genrico del proceso de calidad. Est instanciado para cada organizacin

  • Certificacin ISO 9000Los Estndares de calidad y procedimientos debern ser documentados en un manual organizacional de calidadPersonal externo puede certificar que una organizacin conforma con los estndares ISO 9000 Los clientes demandan cada vez mas que sus desarrolladores tengan la certificacin ISO 9000

  • modelos de calidad: ISO 9000Modelos de calidadISO 9000Manual de calidad de la organizacinPlan de calidad del proyecto 1Plan de calidad del proyecto 3Plan de calidad del proyecto 2Administracin de la calidad del proyectoProceso de la calidad de la organizacininstanciado comodocumentosse utiliza para desarrollarinstanciado como

  • modelos de calidad: ISO-9000Serie ISO-9000: conjunto de normas de sistemas de calidad y guas asociadas que se publicaron a partir de 1987 por la ISO (Organizacin Internacional de Normalizacin).ISO9000: describe los elementos de garanta de calidad en trminos genricos que pueden aplicarse a cualquier negocio, con independencia de los productos o servicios ofrecidos.Obtencin de certificado:Auditores externos examinan el sistema de calidad y las operaciones de una compaa.Si es correcto, se recibe el certificado.Auditoras de seguimiento cada seis meses.Procesos documentados y practicados como se hayan descrito en el estndar.Ventajas: comprensin, control y mejora de los procesos y la red de procesos.Inconveniente: burocracia y papeleo.ISO9000 describe los elementos de un sistema de garanta de calidad:estructura organizativaprocedimientosprocesos y recursos para implantar la planificacin de la calidadcontrol de calidadgaranta de calidadmejora de la calidadISO 9000 NO describe cmo debe implementar una organizacin estos elementos del sistema de calidad.Objetivo: disear e implementar un sistema de garanta de calidad que cumpla los estndares y acople los productos, servicios y cultura de la empresa.ISO 9001Estndar aplicable a la Ingeniera del Software20 requisitos de un sistema de garanta de calidad efectiva:Responsabilidad de la gestinSistema de calidadRevisin de contratoControl de diseoControl de datos y documentosComprasControl del producto suministrado por el clienteIdentificacin y posibilidad de seguimiento del productoControl del procesoInspeccin y pruebaControl de inspeccin, medicin y equipo de pruebasInspeccin y estado de pruebaControl de producto no aceptadoAccin correctora y preventivaTratamiento, almacenaje, empaquetamiento,preservacin y entrega.Control de registros de calidadAuditoras internas de calidadFormacinServiciosTcnicas estadsticasMs orientada a empresas de fabricacinISO 9000-3

    Gua para la aplicacin de ISO 9001 en el desarrollo, suministro y mantenimiento de software

  • relacin entre modelos de calidad del software

  • modelos de calidad: capability maturity model (CMM)Software Engineering Institute (Carnegie Mellon University), 1986: modelo para evaluar el grado de madurez con que las organizaciones desarrollaban software.1991: aparece el CMM, prcticamente en su forma actual:basado en casos realesrefleja las necesidades de los profesionales del desarrollo de software y de la mejora del proceso.est documentadosu documentacin est disponible (http://www.sei.cmu.edu/)punto de partida: definicin del proceso de software: conjunto de actividades, mtodos, prcticas y transformaciones que se usan para desarrollar el software y los productos a l asociados.madurez del proceso:refleja la capacidad de una organizacin para producir software de calidad (cuanto ms madura es una organizacin, mejor definido ser el proceso de software).proceso del software maduro: mayor productividad y mayor calidad del producto.las empresas van pasando por cinco niveles de madurez

  • modelos de calidad: capability maturity model (CMM)Proceso poco estructurado, puede que catico. El xito depende ms del esfuerzo individual que de una aproximacin organizada del proceso software.Procesos bsicos de gestin referidos a un seguimiento de funcionalidades, costes y plazos. Se implanta una disciplina de trabajo para repetir modos de trabajo que han dado resultados positivosProcesos software bien definidos, estandarizados e integrados, tanto en aspectos de gestin como de ingeniera, a nivel de toda la organizacin. Utilizacin de un proceso software estandarizado para desarrollo y mantenimiento.Existen conjuntos de mtricas definidas a nivel de las diferentes etapas del proceso, y se dispone de datos al respecto.Los procesos y los productos son controlados y seguidos de modo cuantitativo.La mejora del proceso software es continua y existe una realimentacin de los procesos, as como un enfoque de mejora a nivel de ideas y de tecnologas.

  • ResumenEl manejo de la calidad del software se refiere a a asegurar que el software cumple con estndares requeridosLos procedimientos de aseguramiento de calidad debern estar documentados en un manual de calidad organizacionalUn plan de calidad de un proyecto deber identificar los requerimientos especficos de calidadLos estndares de software son la reunin de las mejores practicas

  • ResumenLas revisiones son el medio principal para la implementacin del aseguramiento de la calidadLas mtricas renen informacin acerca de procesos y productosLas mtricas de control proveen informacin acerca del manejo del proyecto del software. Las mtricas de prediccin permiten la estimacin de atributos del al productoLas mtricas de calidad debern ser usadas para identificar componentes potencialmente problemticos

  • bibliografaSommerville, I. Ingeniera de Software, cap. 24

    Pressman, R.S. Ingeniera del Software. Un enfoque prctico, cap. 8