Você está na página 1de 51

Implantacin de Calidad de Software

Unidad I. Conceptos de Calidad

1.1. Calidad

Qu es Calidad?

Definicin de Calidad

Definicin de Calidad:

Segn el Diccionario de la Real Academia Espaola de la Lengua, la calidad es:

Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor. Buena calidad, superioridad o excelencia. Carcter, genio, ndole. Condicin o requisito que se pone en un contrato.

Definicin segn la ISO

Conjunto de propiedades o caracteristicas de un producto o servicio que le confieren aptitud para satisfacer unas necesidades expresadas o implcitas.
La calidad suele ser transparente cuando esta presente pero resulta fcilmente reconocible cuando est ausente (por ejemplo, cuando el producto falla o el servicio es deficiente).

Definicin de la Calidad

La calidad se ha convertido hoy en da en uno de los principales objetivos estratgicos para las organizaciones. Cada vez mas la supervivencia de las organizaciones depende de la calidad de los productos y servicios.
Walt Disney

No me preocupa si algo es caro o barato. Solo si es bueno. Y si algo es lo Suficientemente bueno, entonces el pblico pagar por ello

Definicin de Calidad

La calidad de producto o servicio puede ser definida como las caractersticas totales compuestas de producto y servicio de marketing, ingeniera, fabricacin y mantenimiento por medio de las cuales el producto y servicio cumplir las expectativas del cliente. Armand V. Feigenbaum

Tarea: Buscar otras definiciones de calidad de los siguientes autores: Joseph M. Juran, W. Edwards Deming, Karou Ishikawa .

Calidad
Cmo

podemos definirla?

La Calidad se refiere a caractersticas mesurables: cosas que se pueden comparar para conocer estndares. Se pueden mencionar dos tipos de calidad:

Calidad de diseo: Se refiere a las caractersticas que los diseadores especifican para un elemento. Calidad de concordancia: Es el grado en el que las especificaciones de diseo se aplican durante la fabricacin.

Satisfaccin del usuario = producto manejable + buena calidad + entrega dentro de presupuesto y tiempo

Calidad de Software

La calidad de software ha sido significativamente mejorada en los ltimos 15 aos. Las compaas han adoptado nuevas tcnicas y metodologas, para manejar y mejorar la calidad de sus productos. La calidad de software es un concepto complejo que es muy distinto a la calidad que se da en productos manufacturados. Por qu?

Error comn respecto a la calidad: pensar que la calidad de software es algo que se debe de comenzar a preocupar solo despus de que se haya generado cdigo. La gestin de la calidad es una actividad protectora o de sombrilla que se aplica a lo largo del proceso de software.

Calidad de Software

Se dice que en los productos manufacturados se debe de cumplir con la especificacin que se dio para los mismos, sin embargo en el software existen problemas como:

La especificacin se debe de orientar hacia las caractersticas del producto que el cliente quiere. Sin embargo, la empresa desarrolladora del software tiene otros requerimientos (adems de los solicitados por el cliente). Cules son stos?

(Cont.) Problemas con la especificacin de Calidad de Software:

Algunas veces no se sabe como especificar ciertas caractersticas de calidad (por ejemplo la facilidad para dar mantenimiento). Es difcil escribir de manera completa las especificaciones de software.

Manejando la Calidad de Software

La calidad de software puede obtenerse definiendo estndares y procedimientos de calidad en la organizacin que verifiquen que los estndares sean seguidos por los equipos de desarrollo. Sin embargo no solo el seguimiento de los estndares y las buenas prcticas harn que el software que se construya sea de buena calidad. Se debe de construir en la empresa una cultura de buena calidad.

Actividades principales para el manejo de la calidad

Aseguramiento de la calidad. Establecer una red de procedimientos organizacionales y estndares que conducen a la alta calidad de software. Planificacin de la Calidad. La seleccin de procedimientos y estndares, que se adapten a especificaciones de proyectos de software. Control de la calidad. La definicin y propagacin de procesos que aseguren que el equipo de desarrollo de software ha seguido los procedimientos de calidad y los estndares.

La mejora de la calidad de software tiene los siguientes principios bsicos

Las mejoras con xito se inician desde y son lideradas por la Alta Direccin de la organizacin. La mejora de calidad del software requiere inversiones, planificacin, personal dedicado, dedicacin de los gerentes y capital. La mejora de la calidad del software es un trabajo de equipo: los que no participan no solo no obtienen los beneficios, sino que pueden impedir el progreso. Al final, toda la organizacin est involucrada en la mejora continua.

Normas de la industria Peticiones de mejora de la calidad

Necesidades de la org. y objetivos del negocio

Mejora de la calidad

Objetivos de mejora tras anteriores evaluaciones o auditoras. Mejoras en los productos Software de la organizacin Planes de mejora

Mejoras en los procesos de la organizacin Peticin de nuevas evaluaciones o auditoras

Calidad Programada

Calidad Realizada

Calidad Necesaria

La gestin de la calidad pretender conseguir que estos tres crculos coincidan lo mas posible. Todo lo que este fuera de dicha coincidencia ser motivo de derroche, de gasto superfluo o de insatisfaccin.

Lo que sirve a unos...

puede no servir a otros...

Aplicando Calidad

Para que las mejoras sean efectivas deben estar basadas en un conocimiento previo de la situacin actual, y en unos objetivos claros: hay que saber donde se est y a donde se quiere llegar. La mejora es continua, no un esfuerzo en un momento dado: debe haber aprendizaje y evolucin continua. Se requiere un esfuerzo sostenido y continuo para que las mejoras se implementen Se requiere un apoyo visible y reiterado de la Alta Direccin

1.2. Control de la calidad

Involucra una serie de inspecciones, revisiones y pruebas empleadas a lo largo del proceso de software para garantizar que cada producto de trabajo satisfaga los requisitos que se le han asignado. El control de calidad incluye un ciclo de retroalimentacin con el proceso que creo el producto de trabajo. Para que? Un concepto clave del control de calidad es que todos los productos de trabajo tienen especificaciones definidas mesurables con las cuales se puede comparar la salida de cada proceso. El ciclo es esencial para minimizar los defectos producidos.

1.2. Control de Calidad

El control de la calidad involucra el monitoreo del proceso de desarrollo de software para asegurar que los procedimientos de aseguramiento de la calidad estn siendo seguidos. Existen dos aproximaciones complementarias que se usan para verificar los entregables de un proyecto:

Verificando la calidad
1.

Las revisiones del software, su documentacin y el proceso usado para producir dicho software son verificados por un conjunto de personas. La revisin incluye una comprobacin que el proyecto y sus entregables han seguido los estndares predefinidos. Las desviaciones de los estndares son anotadas y el encargado del proyecto es alertado.

Verificando la calidad
2.

Se realizan comparaciones para ver el grado de calidad en que se encuentra el proyecto. Aqu se involucran mtricas para verificar y comparar el software contra lo planeado o contra el estndar que se debi seguir.

1.3 Garanta de la calidad

Consiste en un conjunto de funciones de auditoria e informacin que evalan la efectividad y que tan completas son las actividades de control de calidad. La meta es brindarle al gestor los datos necesarios para que este informado acerca de la calidad del producto. Si los datos que ofrece el aseguramiento de la calidad identifican problemas, es responsabilidad del gestor darle seguimiento para resolverlos.

Elementos a evaluar obtener calidad en el Software

Estndar IS0: 9126:

La ISO, bajo la norma ISO-9126, ha establecido un estndar internacional para la evaluacin de la calidad de productos de software el cual fue publicado en 1992 con el nombre de Information technology Software product evaluation: Quality characteristics and guidelines for their use, en el cual se establecen las caractersticas de calidad para productos de software.

1.4 Costo de la calidad

Incluye todos los costos que genera la bsqueda de calidad o que demanda el desarrollo de las actividades relacionadas con la calidad. Los costos de calidad se dividen en:

costos asociados con prevencin evaluacin fallas

Costos de prevencin, evaluacin

Los costos de prevencin incluyen la planificacin de la calidad, revisiones tcnicas formales, equipo de pruebas y entrenamiento. Los costos de evaluacin incluyen actividades para comprender mejor la condicin del producto. Ejemplos de costos de evaluacin incluyen:

Inspeccin entre los procesos Calibracin y mantenimiento de equipo y pruebas.

Costos de Fallas

Son aquellos que no se presentan cuando el producto esta bien hecho, es decir no existieran si no hay defectos antes de enviar un producto a los clientes. Se dividen en:

Costos de fallas internas Costos de fallas externas

Los costos relativos para encontrar y reparar un defecto aumentan sustancialmente conforme pasa de la prevencin a deteccin y de los de falla interna a externa.

Costos de Fallas

Costos de fallas internas (se detectan antes de enviar el producto) incluyen reelaboracin, reparacin y anlisis en modo de falla. Costos de fallas externas (se detectan ya que se envi el producto al cliente), ejemplos: resolucin de quejas, devolucin y reemplazo del producto, soporte de ayuda en lnea y trabajo de garanta.

1.5 Funcin del Aseguramiento de la Calidad de Software

Se refiere al aspecto de revisin y de reporte de la administracin. Su funcin bsica es proporcionar datos sobre la calidad del producto a la gerencia y asegurarle que los estndares de calidad especificados se estn cumpliendo. El propsito del SQA es:

Evaluar crticamente el software desarrollado Comprobar si los estndares de calidad se han cumplido Si el producto satisface o no las necesidades del cliente y tambin si identifica las debilidades que el cliente puede detectar.

Procesos de aseguramiento de la calidad

Se deben de seleccionar herramientas y metodologas para poder soportar los estandares que se van a seguir. Existen dos tipos de estndares que pueden ser establecidos como parte del proceso de aseguramiento de la calidad que son:

Estndares de Productos Estndares de Procesos

Estndares de Producto

Estos estndares aplican a el producto de software que se va a desarrollar. Incluyen estndares de documentacin, estndares o guas para obtener requerimientos, polticas o reglas para la programacin.

Estndares de Procesos

Estos estndares definen el proceso que debe de ser seguido durante el desarrollo de software, pueden incluir definiciones de especificacin, diseo y validacin de procesos y descripcin de documentos que deben de ser escritos en el transcurso de los procesos.

Importancia de los estndares de software:


1.

2.

3.

Se basan en el conocimiento de las mejores o mas apropiadas prcticas de las empresas. ste conocimiento es adquirido despus de varias pruebas y errores. Proveen una red para implementar los procesos de aseguramiento de la calidad. Encapsulan las mejores prcticas, el aseguramiento de la calidad se asegura el estndar apropiado es el seleccionado y el que esta en uso. La asistencia de los estndares da continuidad en el trabajo de una persona para que sea pasado o realizado por otra. Los estndares aseguran que todos los ingenieros dentro de una organizacin adoptan las mismas prcticas.

Unidad II
Garanta de la Calidad de Software

2.1. Definicin de SQA

El SQA se puede definir como la conformidad a las necesidades funcionales y de rendimiento, a los estndares de desarrollo y a las caractersticas implcitas requeridas de todo el software que se ha desarrollado profesionalmente.

2.1. Definicin de SQA


1.

2.

3.

Necesidades funcionales y de rendimiento, los requerimientos para un programa / aplicacin de software formaran la base para evaluar su calidad. La noconformidad a estos requerimientos dar lugar a una carencia de la calidad. Los estndares de desarrollo, los estndares especficos influyen en el desarrollo del software. Definen un conjunto de criterios de desarrollo que gua la forma en que el software se elabora. Caractersticas implcitas requeridas de todo el software, cada aplicacin de software tiene ciertos requerimientos que son implcitos, por ejemplo buena velocidad de procesamiento, facilidad de uso, etc. El conformarse solamente con los requerimientos explcitos, sin atender a los requerimientos implcitos, tambin dar lugar a la pobre calidad del software.

Objetivos de SQA

La implementacin de una disciplina de SQA tiene como principal objetivo aumentar la calidad de los entregables durante todo el proceso de desarrollo. Muchos requerimientos de calidad, sobre todo aquellos que tienen que ver con el rendimiento, la usabilidad, la carga, la disponibilidad, etc. pueden ser tratados como riesgos. Es decir que, el hecho de que uno de ellos no se cumpla, implica un riesgo. Entonces, al asegurar la calidad del software durante su proceso, se disminuyen los riesgos asociados, aumentando la predictibilidad del desarrollo de software. Esto trae aparejado una serie de beneficios de variada visibilidad.

Beneficios de SQA

Reduccin de los tiempos de desarrollo, principalmente el tiempo de trabajo generado en la fase de testing. Optimizacin del uso de los recursos, que disminuye el costo de la infraestructura necesaria para soportar la aplicacin. Disminucin del costo de mantenimiento, ya que se generan aplicaciones ms seguras y estables. Aumento de la permeabilidad al cambio y facilidad para medir el impacto del mismo Asegura el cumplimiento de los requerimientos, tanto los funcionales como los de calidad. Promueve el seguimiento de los estndares definidos Provee informacin sobre la calidad del proyecto a los stakeholders con menor conocimiento tcnico. Los desarrollos se vuelven ms predecibles, facilitando las estimaciones

Algunas operaciones de SQA

El SQA se puede identificar como un patrn de acciones planeado y sistemtico, que ayudan a asegurar alta calidad en el software de programas y aplicaciones. Hay diversas operaciones que vienen bajo SQA. stas se asocian generalmente a los siguientes dos conjuntos de personas:

Ingenieros de Software Grupo SQA

Es responsabilidad de los ing. de software ocuparse de todo el trabajo tcnico involucrado en actividades de aseguramiento y control de calidad.

De que manera los Ing. Se pueden ocupar del aseguramiento de la calidad?

2.2. Presencia de SQA

Muchas organizaciones empiezan a crear grupos de SQA. Estas personas actan como representantes interno del cliente. Es responsabilidad del grupo SQA ayudar a los Ing., a lograr una alta calidad en el programa o aplicacin de software determinado. Este grupo tiene una serie de actividades que se presentan a continuacin.

Preparacin de Plan SQA

Desarrollo de la descripcin del proceso de software

Revisin de software

Actividades SQA

Actividades de verificacin

Documentacin

Reporte de no conformidad

2.3. Actividades del SQA

SQA es una disciplina que est compuesta por una serie de actividades que acompaan al proceso de desarrollo. El objetivo de estas tareas es aumentar, administrar y monitorear la calidad de los entregables producidos. Para poder identificar estas actividades y el momento oportuno para realizarlas es necesario revisar el ciclo de vida de un proyecto.

2.3. Actividades del SQA

Para identificar las actividades se basa en el anlisis de fases/disciplinas/esfuerzo realizado en RUP por ser un proceso muy difundido en el mercado, aunque el mismo anlisis puede aplicarse a otros procesos de desarrollo.

2.3. Actividades del SQA

Analizando el diagrama, se aprecia que el esfuerzo de cada disciplina vara segn la fase del proyecto. De aqu se deriva que el momento para controlar la calidad de cada disciplina es cuando mayor esfuerzo se le dedica.

2.3. Actividades de SQA

Verificacin de requerimientos: esta actividad se concentra en validar la completitud, correctitud, claridad y no ambigedad de los requerimientos de un sistema. Validacin y verificacin de documentacin: esta actividad se encarga de controlar la correctitud, completitud y no ambigedad de la documentacin. La documentacin en UML es muy til para esta prctica por el poder semntico que tiene y por la posibilidad de validar sintcticamente la documentacin. Validacin de arquitectura: esta actividad es muy importante para evaluar la factibilidad de cumplir con los requerimientos no funcionales y detectar de forma temprana los principales riesgos asociados al proyecto.

2.3. Actividades de SQA

Control de cdigo: se subdivide en 2 actividades:

Control esttico del cdigo: es la validacin del cdigo contra un conjunto de reglas, mejores practicas y estndares predefinidos. Control dinmico del cdigo: el control se focaliza en el uso de los recursos que hace la aplicacin y la cobertura del cdigo que hacen las pruebas unitarias

Tareas

Es necesario tener en cuenta que para realizar algunas de estas actividades primero es necesario realizar otras actividades como ser:

Definicin de estndares y mejores practicas de desarrollo Eleccin de herramientas para documentar y desarrollar.

Estas tareas tienen que ver con el hecho que para poder validad la calidad de algo, es necesario contar, previamente, con la definicin, requerimiento o estndar contra el cual validar.

Por dnde empezar?


Implementar todas las actividades de SQA al mismo tiempo es costoso e imprctico. Es mejor empezar por las actividades en donde se vean resultados de forma ms rpida y efectiva. Una implementacin paulatina y retroalimentada ayudar a que el proceso sea ms armonioso y fcilmente aceptado. Si se est en las etapas iniciales del proyecto conviene empezar por la verificacin de requerimientos y la validacin de arquitectura, mientras que si ya se est avanzado, es mejor revisar el diseo o directamente el cdigo.

Trabajo

Investigar las diferentes herramientas CASE disponibles para la administracin de un proyecto de software (Se asignarn equipos y se realizar exposicin) Leer sobre algunos artculos de calidad (Se asignarn equipos y se realizar una exposicin)

Herramientas a investigar (sugerencias)

QPR HP Quality center Borland

Você também pode gostar