Está en la página 1de 41

La obtencin de un software con calidad implica la

utilizacin de metodologas o procedimientos


estndares para el anlisis, diseo, programacin y
pruebas del software que permitan uniformar la
filosofa de trabajo, en reas de lograr una mayor
confiabilidad, mantenibilidad y facilidad de prueba,
a la vez que eleven la productividad, tanto para la
labor de desarrollo como para el control de la
calidad del software.

INTRODUCCION
El principio tecnolgico
define las tcnicas a utilizar en el proceso de
desarrollo del software.
El principio administrativo
contempla las funciones de planificacin y control del
desarrollo del software, as como la organizacin del
ambiente o centro de ingeniera de software.
El principio ergonmico
Define la interfaz entre el usuario y el ambiente
automatizado.
PRINCIPIOS BASICOS
QUE ES CALIDAD?
Para Juran (1993) la calidad se define como adecuacin al uso, esta
definicin implica una adecuacin del diseo del producto o servicio (calidad
de diseo) y la medicin del grado en que el producto es conforme con dicho
diseo (calidad de fabricacin o conformidad). La calidad de diseo se refiere
a las caractersticas que potencialmente debe tener un producto para
satisfacer las necesidades de los clientes y la calidad de conformidad apunta a
cmo el producto final adopta las especificaciones diseadas.
QUE ES CALIDAD?
Calidad como excelencia: en este caso se
define como lo mejor en sentido absoluto.
Cabra que los responsables de la
organizacin definan el concepto de
excelencia aun con el riesgo de no ser igual a
la concepcin que tendran los clientes.
Calidad como valor: en este caso se
segmenta el concepto segn el tipo de
cliente. Calidad es lo mejor para cada tipo de
consumidor.
Calidad como ajuste a las
especificaciones: La calidad significa
asegurar que el producto final es tal como se
ha determinado que sera, esto es, en base a
unas especificaciones previas. A partir de
este concepto surge el control estadstico de
la produccin.

Calidad como respuesta a las expectativas
de los clientes: La principal aportacin es
que se reconoce la importancia de los deseos
de los consumidores a la hora de determinar
los parmetros que determinan la calidad de
un producto o servicio.
Reeves y Bednar (1994) :
no existe una definicin
universal y global de
calidad
Genichi Taguchi
la calidad consiste en la reduccin de la variacin en un
producto.
La Real Academia Espaola
Propiedad o conjunto de propiedades inherentes a algo, que
permiten juzgar su valor.
ISO en la norma 8402:1994
Totalidad de propiedades y caractersticas de un producto,
proceso o servicio que le confiere su aptitud para satisfacer
unas necesidades expresadas o implcitas.
QUE ES CALIDAD DE SOFTWARE?
La calidad del software es el grado con el que un sistema,
componente o proceso cumple los requerimientos
especificados y las necesidades o expectativas del cliente o
usuario. (IEEE, Std. 610-1990).

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, 1998)
La calidad del software es una preocupacin a la
que se dedican muchos esfuerzos. Sin embargo, el
software casi nunca es perfecto. Todo proyecto tiene
como objetivo producir software de la mejor calidad
posible, que cumpla, y si puede supere las
expectativas de los usuarios.

Cada vez es ms evidente la importancia de la calidad
del software debido a que est presente en muchos de
los productos y servicios con los que interactuamos
diariamente.

Cada vez que se produce un fallo en los productos o
servicios que utilizamos, en muchas ocasiones es por
falta de calidad del software.

LA IMPORTANCIA DE LA CALIDAD DEL SOFWARE EN LA
ACTUALIDAD :
bugs o
fallos
Errores de
programacin
Errores en
las dosis
Fallos en software
comercial o
industrial
Fallos de
software de
equipamiento
Ejemplos:
Fallo en la unidad de coma flotante del Pentium (Error de
divisin en coma flotante)







Phobos 1

La Mariner 1 (1962)
Therac-25 (1985-1987)
MIM-104 Patriot (1991)
Ariane-5 (1996)
The Mars Climate Orbiter (1999)
Osprey (2000).
Multidata Systems/Cobalt 60 (2001)

a) ACCIDENTES GRAVES
AT&T (1990): La empresa AT&T perdi unos $60 millones de
dlares al dejar aproximadamente a 60.000 clientes sin
comunicacin en llamadas de larga distancia. El motivo de
esta cada fue debido a los interruptores que se reseteaban
cada pocos segundos debido a un fallo en una actualizacin
del software. Este fallo provocaba una caida cascada entre los
diferentes interruptores.

Chips Pentium (1994): Un error en el juego de instrucciones en
los chip Pentium repercuti en la empresa $475 millones de
dlares de costes en recogida y reenvo de procesadores. El
error se reproduca al realizar una divisin con coma flotante
en el que a partir del cuarto dgito decimal no daba valores
correctos. Este fallo empez a llamarse bug de FDIV.

b) FALLOS MULTIMILLONARIOS
FACTORES DE CALIDAD DE SOFTWARE
CAPACIDAD PARA SER
MODIFICADO
Facilidad de mantenimiento: Puedo
corregirlo?
Flexibilidad:Puedo cambiarlo?
Facilidad de prueba:Puedo probarlo?
CAPACIDAD DE TRANSICION O
DE ADAPTACION A OTROS
ENTORNOS
Portabilidad: Podre usarlo en otra
maquina?
Reusabilidad:Podre reusar alguna
parte del software?
Interoperabilidad:Podre hacerlo
interactuar con otro sistema?
Factores de
calidad del
software de
McCall
CAPACIDAD DE OPERACION
Correccion: Hace lo que quiero?
Fiabilidad:Lo hace de forma fiable todo el tiempo?
Eficiencia:Se ejecutaran en mi hardware lo mejor que pueda?
Integridad:Es seguro?
Facilidad de Uso:Esta diseado para ser usado?

FUNCIONALIDAD:
Evaluacin del conjunto de caractersticas y de
posibilidades del programa, la generalidad de las
funcionales que se entregan y la seguridad de todo
el sistema.
FACILIDAD DE USO:
Se calcula considerando los factores
humanos , la esttica global, la consistencia y
la documentacin.
FIABILIDAD:
Se calcula midiendo la frecuencia de
fallos y su importancia , la eficacia
de los resultados de salida, el
tiempo medio entre fallos, la
posibilidad de recuperarse a los
fallos y la previsibilidad del
programa.
FURPS
(Hewlett
Packard)
RENDIMIENTO:
Se mide mediante la evaluacin de la
velocidad de proceso, el tiempo de respuesta,
el consumo de recursos, el rendimiento total
de procesamiento y la eficiencia.
CAPACIDAD DE SOPORTE:
Mide la facilidad de mantenimiento,
facilidad de prueba , compatibilidad,
la posibilidad de configuracin, la
facilidad con la que se pueden
localizar los problemas.
FACTORES DE CALIDAD
ISO 9126
MODELO DE DROMEY
modelo de Boehm 1978
Control de calidad: "Conjunto de tcnicas y actividades
de carcter operativo, utilizadas para verificar los
requerimientos relativos a la calidad del producto o
servicio".

Control de la calidad del software: Tcnicas y actividades
de carcter operativo, utilizadas para verificar los
requisitos relativos a la calidad, centradas en mantener
bajo control el proceso de desarrollo y eliminar las causas
de los defectos en las diferentes fases del ciclo de vida.

COMO CONTROLAR Y GARANTIZAR LA CALIDAD DEL
SOFTWARE?
MEDIDAS QA CONSTRUCTIVAS:
Si mejor hago esta parte (construccin) menos
errores habr en el software.
Modelos de proceso de software
Herramientas de desarrollo
Lenguaje de programacin
Documentacin
Factores humanos
Estndar

MEDIDAS QA CONSTRUCTIVAS Y MEDIDAS QA
ANALITICAS:
MEDIDAS QA ANALITICAS: Es la prueba continua del
software, los fallos que no se corrigen en el principio
aparecern al final.

Pruebas estticas (sin ejecucin)
Son manuales , (revisiones tcnicas , informales) ; juntar
una serie de expertos que validen el documento.

Pruebas dinamicas (ejecucin)
Cuando se prueba un software que ya esta en ejecucin
compreden desde las pruebas funcionales , pruebas de
rendimiento , pruebas de seguridad , de usabilidad.

La calidad del proceso indica si se esta aplicando
correctamente la metodologa de desarrollo y la
calidad del producto indica si este se ajusta a los
requisitos especficos y los implcitos .

Todas las actividades de control de la calidad del
producto deben estar contempladas dentro del
proceso de desarrollo. Pero esto no es suficiente , es
necesario medir la calidad del proceso y la calidad del
producto de forma independiente.

CALIDAD DE PROCESO VERSUS CALIDAD DE PRODUCTO:
Una auditoria es una evaluacin independiente de un
producto o proceso software para constatar el
cumplimiento de estndares, guas, especificaciones y/o
procedimientos, basada en criterios objetivos.

Adems de auditar los procesos de desarrollo de software,
es fundamental certificar antes del paso a produccin, que
un producto o servicio cumple con los requisitos
especificados, y esta actividad tambin debera ser
realizada mediante una evaluacin independiente.

LA INDEPENDENCIA COMO FACTOR DE CALIDAD
Las reas de negocio deben aceptar el software antes de su
paso a produccin , esto significa normalmente hacer
pruebas.

Pero , Quin certifica que el software es el correcto?
Los integradores prueban pero no certifican
Los usuarios deberan aceptar productos previamente
certificados

Debe de existir en la organizacin una oficina o grupo de
certificacin independiente especializado en esta actividad.


UNA ORGANIZACION ADECUADA PARA CONSEGUIR LA CALIDAD
DEL SOFTWARE
OBJETIVO: confirmar que el producto software cumple con
los requisitos especificados.

APLICACIONES:
Aceptar o rechazar entregas de software de los
integradores.
Servir de elemento de decision para el paso a la fase de
pruebas de aceptacin
Medir la calidad del producto
Medir la calidad del proceso
Medir la calidad de integradores

OFICINA DE CERTIFICACION
La certificacin de productos software se puede realizar
de forma mas o menos exhaustiva:

Menos exhaustiva (uso de checklist):

Constatando que se han seguido los procesos y
metodologas. (se ha construido de la manera correcta)
Constatando que se ahn realizado las pruebas necesarias
mediante anlisis de documentacin de pruebas :
diseos , ejecuciones e informes de resultados.

Mas exhaustiva:

Realizando pruebas estticas en cada fase de desarrollo
, para validar que los requisitos , diseos y cdigo
programado cumplen con la calidad requerida en base a
estandares y libros blancos.

Realizando pruebas dinmicas antes de la aceptacin de
usuario, en un entorno controlado lo mas parecido al
entorno de produccin (El software construido es el
correcto).

ESTANDARES Y NORMAS:

Un estndar es un documento tcnico que , en general ,es
accesible , creado por grupos de profesionales de entidades con
un inters en el tema que refleja un conocimiento colectivo . Los
estndares estn basados en resultados suministrados por la
ciencia y la tcnica con el objeto de ayudar al bien comn.
(Definicin de British StandardsInstitute )

Las normas son establecidas, en general, por una serie de
entidades que comparten el inters por armonizar/estandarizar
artefactos materiales e inmateriales para el bien comn . la
participacin en la creacin de normas no debera conducir a una
ventaja individual (DIN 820 , Normalizing Principles ).

LA IMPORTANCIA DE LAS METODOLOGIAS Y
HERRAMIENTAS
OBJETIVOS USO DE NORMAS :
Armonizacin de procedimientos
Suministrar resultados compatibles y comparables.
Resultados mas fciles de planificar y evaluar .
Mejor orientacin .
Capacidad de cambio con respecto al personal.

ISO:

Son un conjunto de Normas editadas por International
Organization for Srandarization para ser aplicadas en el
desarrollo de la Gestin de la Calidad de una organizacin.
Estas especifican todos los elementos que son requeridos
para poder implementar un Sistema de Calidad.
ESTANDARES :
DIN:

DIN (Deustcher Industrie Normen (Normas de la Industria
Alemana) es el Instituto Alemn para la Estandarizacin.

Las normas DIN representan regulaciones que operan sobre
el comercio, la industria, la ciencia e instituciones pblicas
respecto del desarrollo de productos alemanes. DIN es un
acrnimo de DeutschesInstitutfrNormung, o bien,
Instituto Alemn de Normalizacin, que es la institucin,
con sede en Berln y establecida en 1917, que se ocupa de la
normalizacin alemana. Esta organizacin es reconocida en
Alemania como el cuerpo de estndares nacional.

Necesitamos utilizar un modelo de calidad, ya sea a medida o
basado en un estndar , para poder definir el conjunto de
mtricas de calidad del software a utilizar .

Si no hay medicin no hay evaluacin ni mejora

Debemos medir la calidad delos procesos y la calidad de los
productos.

Las mtricas nos ayudan a entender tanto el proceso que se
utiliza para desarrollar un producto software, como el propio
producto.

METRICAS DE LA CALIDAD DEL SOFTWARE :
METRICAS DE SOFTWARE
Aplicacin continua de mediciones en el
proceso de desarrollo del software y sus
productos , para suministrar informacin
relevante .
Mejorar tanto los procesos
como los productos.
CLASIFICACION DE LAS METRICAS DE SOFTWARE

Puntos Funcion : para poder predecir el tamao de un sistema
que se va a obtener de un modelo de anlisis

La Metrica Bang: para desarrollar una indicacin del tamao del
software a implementar como consecuencia del modelo de
anlisis.

Metricas de la Calidad de Especificacion : existe una lista de
caractersticas para poder valorar la calidad del modelo de
anlisis y la correspondiente especificacin de requisitos :
Especificidad , correcion , complecin , comprensin , capacidad
de verificacin , consistencia externa e interna , capacidad de
logro , concisin , traza habilidad , capacidad de modificacin ,
exactitud y capacidad de reutilizacin.

METRICAS DEL MODELO DE ANALISIS

Metricas de diseo de alto nivel : estas se concentran en las
caractersticas de la estructura del programa dndole nfasis
a la estructura arquitectnica y en la eficiencia de los
modulos.

Metricas de diseo en los componentes : las mtricas de
diseo a nivel de componentes se concentran en las
caractersticas internas de los componentes del software e
incluyen medidas de la cohesion , acoplamiento y
complejidad del modulo.
Mtricas de cohesin
Mtricas de acoplamiento
Mtricas de complejidad

Metricas de diseo de interfaz


METRICAS DEL MODELO DEL DISEO



METRICAS DEL CODIGO FUENTE

METRICAS PARA PRUEBAS
La mayora de las mtricas utilizadas se concentran en el
proceso de pruebas, no en las caractersticas tcnicas
de las pruebas mismas.

METRICAS DE MANTENIMIENTO
ndice de madurez del software

MODELOS A MEDIDA:
De una organizacin
De una industria o
dominio
Ejemplos:
SAP Product
Standards
Medical Product Software
FDA Regulations



ESTANDARES DE
CALIDAD:
De la industria del SW
Aplicables a diferentes
dominios
Ejemplos:
McCall
Boehm
Dromey
HP FURPS/FURPS+
ISO 9126 ISO 14598
ISO 25000

MODELOS DE CALIDAD
El software es cada dia mas presente en la mayoria de servicios y
productos que utilizamos y por tanto la falta de calidad del software
puede suponer riesgos con un impacto alto en las organizaciones
.
La calidad del software es cosa de todos ,los integradores y usuarios
tiene que hacer pruebas , pero debe existir una organizacin
independiente que certifique la calidad del software .

Las oficinas o grupos de certificacin son organizacin adecuadas
ara asegurar la calidad del software

Se deben adoptar metodologas y herramientas en la organizacin
basados en estndares de referencia .

Si no hay medicin no hay evaluacin ni mejora de calidad del
software , es necesario medir la calidad de los procesos y la calidad
de los productos de forma independiente.

CONCLUSIONES

También podría gustarte