Está en la 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.

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

Walt Disney

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

Mejora de la calidad

Mejoras en los procesos


de la organizacin
Peticin de nuevas
evaluaciones o
auditoras

Necesidades de la org.
y objetivos del negocio

Objetivos de mejora tras


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

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

1
2
3

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 no-conformidad 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

También podría gustarte