Calidad Del Software (Expo) PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Que es la calidad de software?

Es el conjunto de caractersticas y funcionalidades que garantizan la


usabilidad y eficiencia de un software.
David sugiere que la calidad es un concepto complejo y de facetas
mltiples que puede describirse desde cinco diferentes puntos de vista:
El punto de vista trascendental dice (como Persig) que la calidad es algo
que se reconoce de inmediato, pero que no es posible definir explcitamente.
El punto de vista del usuario concibe la calidad en trminos de las metas
especficas del usuario final. Si un producto las satisface, tiene calidad.
El punto de vista del fabricante la define en trminos de las
especificaciones originales del producto. Si ste las cumple, tiene calidad.
El punto de vista del producto sugiere que la calidad tiene que ver con las
caractersticas inherentes (funciones y caractersticas) de un producto.
Por ltimo, el punto de vista basado en el valor la mide de acuerdo con lo
que un cliente est dispuesto a pagar por un producto.
La calidad del diseo
Se refiere a las caractersticas que los diseadores especifican para un
producto. El tipo de materiales, tolerancias y especificaciones del
desempeo, todo contribuye a la calidad del diseo. Si se utilizan mejores
materiales, tolerancias ms estrictas y se especifican mayores niveles de
desempeo, la calidad del diseo de un producto se incrementa si se fabrica
de acuerdo con las especificaciones.
En el desarrollo del software, la calidad del diseo incluye el grado en el
que el diseo cumple las funciones y caractersticas especificadas en el
modelo de requerimientos.
La calidad de la conformidad
Se centra en el grado en el que la implementacin se apega al diseo y en
el que el sistema resultante cumple sus metas de requerimientos y
desempeo.
Calidad del software

Proceso eficaz de software que se aplica de manera que crea un producto


til que proporciona valor medible a quienes lo producen y a quienes lo
utilizan.
Resultados finales:
Mayores utilidades por el producto de software
Ms rentabilidad cuando una aplicacin apoya un proceso de
negocios
Mejor disponibilidad de informacin, que es crucial para el negocio.
Dimensiones de la calidad de Garvin
David Garvin sugiere que la calidad debe tomarse en cuenta, adoptando un
punto de vista multidimensional que comience con la evaluacin de la
conformidad y termine con una visin trascendental (esttica).
Rendimiento: una caracterstica operativa primaria de un producto/de
un servicio (p.ej., el rendimiento Dimensiones de la de la aceleracin
de un vehculo, el confort de un usuario que utiliza lentes de contacto
de larga duracin).
Caractersticas: Conjunto de propiedades que tiene un software. Ej.:
Es portable, usable, flexible, til.
Confiabilidad: Es la habilidad de que el software desarrolles las
tareas para lo que fue creado sin presentar errores. Si est disponible
cuando se le necesita. Es la probabilidad de operacin libre de fallas
de un programa de computadora en un entorno determinado y durante
un tiempo especfico (p. ej., que no se apagu por s solo, que la
batera dure el tiempo estimado).
Conformidad: el grado en que el diseo de un producto y sus
caractersticas operativas cumplen las normas establecidas (p. ej., la
prueba de un producto muestra que el producto est en un margen de
0,001 pulgadas respecto a la norma).
Durabilidad: medida M tiempo de vida de un producto
Utilidad: rapidez y facilidad de reparacin (p. ej., un panel que puede
ser reemplazado por un usuario no capacitado).

Esttica: el aspecto, tacto, gusto y olor de un producto (p. ej., una rosa
tiene un tacto delicado, un color deseado y un aroma distintivo).
Calidad percibida: la calidad tal como la percibe un consumidor, un
cliente o un estudiante (p. ej., un padre utiliza un paal desechable
porque es higinico, prctico y deprecio razonable)
Factores de la calidad de McCall
McCall, Richards y Walters proponen una clasificacin til de los factores
que afectan la calidad del software. stos se centran en tres aspectos
importantes del producto de software: sus caractersticas operativas, su
capacidad de ser modificado y su adaptabilidad a nuevos ambientes.

Correccin. Grado en el que un programa satisface sus especificaciones y


en el que cumple con los objetivos de la misin del cliente.
Confiabilidad. Es la habilidad de que el software desarrolles las tareas
para lo que fue creado sin presentar errores. Si est disponible cuando se
le necesita. Es la probabilidad de operacin libre de fallas de un programa
de computadora en un entorno determinado y durante un tiempo especfico
Eficiencia. Es lo que define la usabilidad correcta y/o satisfactoria de algn
sistema.
Integridad. Grado en el que es posible controlar el acceso de personas no
autorizadas al software o a los datos.
Usabilidad. Esfuerzo que se requiere para aprender, operar, preparar las
entradas e interpretar las salidas de un programa.
Facilidad de recibir mantenimiento. Esfuerzo requerido para detectar y
corregir un error en un programa.
Flexibilidad. Un aplicativo capaz de adaptarse a las necesidades de
nuestra empresa. Un software de funcionalidad simple pero que pueda
crecer a medida que lo necesitemos.
Susceptibilidad de someterse a pruebas. Esfuerzo que se requiere para
probar un programa a fin de garantizar que realiza la funcin que se
pretende.

Portabilidad. : Portabilidad en programacin de alto nivel es la capacidad


de uso del mismo software en diferentes entornos.
.
Reusabilidad. Grado en el que un programa (o partes de uno) pueden
volverse a utilizar en otras aplicaciones (se relaciona con el empaque y el
alcance de las funciones que lleva a cabo el programa).
Interoperabilidad: Habilidad de un sistema o producto de trabajar con otro
sistema sin esfuerzo especial por parte del usuario.
Factores de la calidad ISO 9126
El estndar ISO 9126 se desarroll con la intencin de identificar los
atributos clave del software de cmputo. Este sistema identifica seis
atributos clave de la calidad:
Funcionalidad. Grado en el que el software satisface las necesidades
planteadas segn las establecen los atributos siguientes: adaptabilidad,
exactitud, interoperabilidad, cumplimiento y seguridad.
Confiabilidad. Cantidad de tiempo que el software se encuentra
disponible para su uso, segn lo indican los siguientes atributos: madurez,
tolerancia a fallas y recuperacin.
Usabilidad. Grado en el que el software es fcil de usar, segn lo indican
los siguientes subatributos: entendible, aprendible y operable.
Eficiencia. Es lo que define la usabilidad correcta y/o satisfactoria de algn
sistema.
Facilidad de recibir mantenimiento. Facilidad con la que pueden
efectuarse reparaciones al software, segn lo indican los atributos que
siguen: analizable, cambiable, estable, susceptible de someterse a
pruebas.
Portabilidad. Portabilidad en programacin de alto nivel es la capacidad
de uso del mismo software en diferentes entornos.
Factores de calidad que se persiguen
Las dimensiones y factores de la calidad presentados anteriormente
pueden utilizarse como indicacin general de la calidad de una aplicacin.

Un equipo de software puede desarrollar un conjunto de caractersticas de


la calidad y las preguntas asociadas correspondientes que demuestren el
grado en el que se satisface cada factor. Por ejemplo, McCall identifica la
usabilidad como un factor importante de la calidad. Si se pidiera revisar una
interfaz de usuario para evaluar su usabilidad, cmo se hara? Se
comenzara con los subatributos propuestos por McCall entendible,
aprendible y operable pero en un sentido prctico: qu significan stos?
Para hacer la evaluacin, se necesita determinar atributos especficos y
medibles (o al menos reconocibles) de la interfaz.
Intuitiva: que puede ser utilizada eficazmente por alguien que nunca la ha
utilizado.
Eficiencia: Es lo que define la usabilidad correcta y/o satisfactoria de algn
sistema.
ROBUSTEZ: Es la capacidad de los productos software de reaccionar
apropiadamente ante condiciones excepcionales. La robustez es la
habilidad del sistema para manejar elegantemente entradas invlidas. No
debera ser posible para ninguna entrada del usuario abortar el sistema o
corromper la informacin, incluso si la entrada del usuario es anormal,
inesperada, o maliciosa.
Riqueza. Grado en el que la interfaz provee un conjunto abundante de
caractersticas. Ej: Puede personalizarse la interfaz segn las necesidades
especficas del usuario?

EL DILEMA DE LA CALIDAD DEL SOFTWARE


Entrevista Bertran Meyer: Si desarrollamos un software de mala calidad,
nadie lo querr comprar. Por otro lado si dedicamos demasiado tiempo y
dinero desarrollando un software perfecto el valor de inversin es este ser
tan caro que tampoco se podr vender.

Lo que debemos hacer es tratar de desarrollar un producto que sea lo


suficiente mente bueno para no ser rechazado, pero que tampoco queramos
hacerlo perfecto porque sera una inversin muy grande de tiempo y dinero.
Software suficientemente bueno
El software suficientemente bueno es aquel que tiene caractersticas y
funciones de alta calidad que esperan los usuarios, pero tambin
contienen sus pequeos errores que el desarrollado espera que el usuario
perdone debido a que este tiene funcionalidad.
El software suficientemente bueno es aquel que tiene caractersticas y
funciones de alta calidad que esperan los usuarios, pero tambin contienen
sus pequeos errores que el desarrollado espera que el usuario perdone
debido a que este tiene funcionalidad. Si el lector trabaja para una compaa
pequea, debe tener cuidado con esta filosofa. Al entregar un producto
suficientemente bueno (defectuoso), corre el riesgo de causar un dao
permanente a la reputacin de su compaa. Tal vez nunca tenga la
oportunidad de entregar una versin 2.0 porque los malos comentarios quiz
ocasionen que las ventas se desplomen y que la empresa desaparezca.

El costo de la calidad
Sabemos que la calidad es importante, pero cuesta tiempo y dinero
demasiado tiempo y dinero lograr, pero la mala calidad tambin lo tiene
no slo para los usuarios finales que deban vivir con el software
defectuoso, sino tambin para la organizacin del software que lo elabor
y que debe darle mantenimiento. La pregunta real es sta: por cul
costo debemos preocuparnos?
El costo de la calidad incluye todos los costos en los que se incurre al buscar
la calidad o al realizar actividades relacionadas con ella y los costos
posteriores de la falta de calidad. Para entender estos costos, una
organizacin debe contar con unidades de medicin que provean el
fundamento del costo actual de la calidad, que identifiquen las
oportunidades para reducir dichos costos y que den una base normalizada
de comparacin.

Se incurre en costos internos de falla cuando se detecta un error en un


producto antes del envo.
El costo requerido por efectuar repeticiones (reparaciones para corregir un
error).
El costo en el que se incurre cuando una repeticin genera
inadvertidamente efectos colaterales que deban mitigarse.
Los costos asociados con la coleccin de las unidades de medida de la
calidad que permitan que una organizacin evale los modos de la falla.
Los costos externos de falla se asocian con defectos encontrados despus
de que el producto se envi a los consumidores.
Algunos ejemplos de costos externos de falla son los de solucin de quejas,
devolucin y sustitucin del producto, ayuda en lnea y trabajo asociado con
la garanta. La mala reputacin y la prdida resultante de negocios es otro
costo externo de falla que resulta difcil de cuantificar y que, sin embargo,
es real. Cuando se produce software de mala calidad, suceden cosas malas.
Riesgos
La implicacin es que el software de mala calidad aumenta los riesgos tanto
para el desarrollador como para el usuario final. En la subseccin anterior
se analiz uno de dichos riesgos (el costo).
Pero lo perjudicial de las aplicaciones mal diseadas e implementadas no
siempre se mide en dlares y tiempo. Un ejemplo extremo [Gag04] servir
para ilustrar esto.
En el mes de noviembre de 2000, en un hospital de Panam, 28 pacientes
recibieron dosis masivas de rayos gama durante su tratamiento contra
diversos tipos de cncer. En los meses que siguieron, 5 de estos pacientes
murieron por envenenamiento radiactivo y 15 ms sufrieron complicaciones
serias. Qu fue lo que ocasion esta tragedia? Un paquete de software,
desarrollado por una compaa estadounidense, que fue modificado por
tcnicos del hospital para calcular las dosis de radiacin para cada paciente.
Los tres mdicos panameos que pellizcaron el software para que diera
capacidad adicional fueron acusados de asesinato en segundo grado. La

empresa de Estados Unidos enfrent litigios serios en los dos pases. Gage
y McCormick comentan lo siguiente:
ste no es un relato para prevenir a los mdicos, aun cuando luchen por
estar fuera de la crcel si no entienden o hacen mal uso de la tecnologa.
Tampoco es la narracin de cmo pueden salir heridos, o algo peor, los
seres humanos a causa del software mal diseado o poco explicado, aunque
hay muchos ejemplos al respecto. sta es la alerta para cualquier creador
de programas de cmputo: la calidad
Negligencia y responsabilidad
La historia es muy comn. Una entidad gubernamental o corporativa
contrata a una compaa importante de desarrollo de software para que le
desarrolle un sistema. El trabajo comienza con las mejores intenciones por
ambas partes, pero en el momento en el que el sistema se entrega, las
cosas han marchado mal. El sistema va retrasado, no da los resultados y
funciones deseadas, comete errores y no cuenta con la aprobacin del
cliente. Comienzan los litigios.
El cliente afirma que el desarrollador ha sido negligente (en cuanto a la
manera en la que aplic las prcticas del software), por lo que no merece el
pago. Es frecuente que el desarrollador diga que el cliente ha cambiado
repetidamente sus requerimientos y trastornado de diversas maneras los
acuerdos para el trabajo.
Calidad y seguridad
A medida que aumenta la importancia crtica de los sistemas y aplicaciones
basados en web, la seguridad de las aplicaciones se ha vuelto ms
importante. En pocas palabras, el software que no tiene alta calidad es fcil
de penetrar por parte de intrusos y, en consecuencia, el software de mala
calidad aumenta indirectamente el riesgo de la seguridad, con todos los
costos y problemas que eso conlleva.
Para construir un sistema seguro hay que centrarse en la calidad, y eso debe
comenzar durante el diseo. Los conceptos y mtodos analizados en la
parte 2 del libro llevan a una arquitectura del software que reduce las fallas.
Al eliminar las fallas de arquitectura (con lo que mejora la calidad del
software) ser ms difcil que intrusos penetren en el software.

LOGRAR LA CALIDAD DEL SOFTWARE


La calidad del software no slo se ve. Es el resultado de la buena
administracin del proyecto y de una correcta prctica de la ingeniera de
software. La administracin y prctica se aplican en el contexto de cuatro
actividades principales que ayudan al equipo de software a lograr una alta
calidad en ste:
Mtodos de la ingeniera de software
Tcnicas de administracin de proyectos
Acciones de control de calidad y
Aseguramiento de la calidad del software
Resumiendo
Se define la calidad como un proceso eficaz del software aplicado de modo
que crea un producto til que da un valor medible a quienes lo generan y a
quienes lo utilizan. Se han propuesto varias dimensiones y factores de
calidad del software. Todos ellos tratan de definir un conjunto de
caractersticas que, si se logran, llevarn a un software de alta calidad. Toda
organizacin de software se enfrenta al dilema de la calidad del software.
En esencia, todos quieren elaborar sistemas de alta calidad, pero en un
mundo dirigido por el mercado, sencillamente no se dispone del tiempo y el
esfuerzo requeridos para producir software perfecto. Sin importar el
enfoque que se elija, la calidad tiene un costo que puede estudiarse en
trminos de prevencin, evaluacin y falla. La calidad del software se
consigue por medio de la aplicacin de mtodos de ingeniera de software,
prcticas adecuadas de administracin y un control de calidad exhaustivo,
todo lo cual es apoyado por la infraestructura de aseguramiento de la
calidad.

También podría gustarte