Anda di halaman 1dari 5

Conceptos de 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 quienes lo utilizan.

Un proceso eficaz de software establece la infraestructura que da apoyo a cualquier


esfuerzo de elaboracin de un producto de software de alta calidad.

Un producto til entrega contenido, funciones y caractersticas que el usuario final


desea; sin embargo, de igual importancia es que entrega estos activos en forma
confiable y libre de errores.

Al agregar valor para el productor y para el usuario de un producto, el software de


alta calidad proporciona beneficios a la organizacin que lo produce y a la comunidad
de usuarios finales

Factores de la calidad ISO 9126

El estndar ISO 9126 se desarroll con la intencin de identificar los atributos clave del
software de cmputo.

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. Grado en el que el software emplea ptimamente los recursos del sistema,
segn lo indican los subatributos siguientes: comportamiento del tiempo y de los
recursos.

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. Facilidad con la que el software puede llevarse de un ambiente a otro


segn lo indican los siguientes atributos: adaptable, instalable, conformidad y sustituible.

Factores de calidad que se persiguen

Para hacer la evaluacin, se necesita determinar atributos especficos y medibles (o al


menos reconocibles) de la interfaz. Por ejemplo [Bro03]:

Intuitiva. Grado en el que la interfaz sigue patrones esperados de uso, de modo que
hasta un novato la pueda utilizar sin mucha capacitacin.
Eficiencia. Grado en el que es posible localizar o iniciar las operaciones y la
informacin.

Robustez. Grado en el que el software maneja entradas errneas de datos o en el que


se presenta interaccin inapropiada por parte del usuario.

Riqueza. Grado en el que la interfaz provee un conjunto abundante de caractersticas.

El dilema de la calidad del software

En una entrevista publicada en la web, Bertrand Meyer analiza lo que se denomina el


dilema de la calidad:

Si produce un sistema de software de mala calidad, usted pierde porque nadie lo querr
comprar. Por otro lado, si dedica un tiempo infinito, demasiado esfuerzo y enormes
sumas de dinero para obtener un elemento perfecto de software, entonces tomar tanto
tiempo terminarlo y ser tan caro de producir que de todos modos quedar fuera del
negocio. En cualquier caso, habr perdido la ventana de mercado, o simplemente habr
agotado sus recursos. De modo que las personas de la industria tratan de situarse en
ese punto medio mgico donde el producto es suficientemente bueno para no ser
rechazado de inmediato, no en la evaluacin, pero tampoco es un objeto perfeccionista
ni con demasiado trabajo que lo convierta en algo que requiera demasiado tiempo o
dinero para ser terminado.

qu significa suficientemente bueno? El software suficientemente bueno contiene las


funciones y caractersticas de alta calidad que desean los usuarios, pero al mismo
tiempo tiene otras ms oscuras y especializadas que contienen errores conocidos. El
vendedor de software espera que la gran mayora de usuarios finales perdone los
errores gracias a que estn muy contentos con la funcionalidad de la aplicacin.

El costo de la calidad

La calidad tiene un costo que puede estudiarse en trminos de prevencin, evaluacin


y falla. Los costos de prevencin incluyen todas las acciones de la ingeniera de software
diseadas para prevenir los defectos. Los costos de evaluacin estn asociados con
aquellas acciones que evalan los productos del trabajo de software para determinar su
calidad. Los costos de falla incluyen el precio interno de fallar y los efectos externos que
precipitan la mala calidad.

Lograr la calidad del software

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.

Mtodos de la ingeniera de software: ser capaz de crear un diseo que est de


acuerdo con el problema y que al mismo tiempo tenga caractersticas que lleven al
software a las dimensiones y factores de calidad.
Tcnicas de administracin de proyectos: Las implicaciones son claras: si 1) un
gerente de proyecto usa estimaciones para verificar que las fechas pueden cumplirse,
2) se comprenden las dependencias de las actividades programadas y el equipo resiste
la tentacin de usar atajos, 3) la planeacin del riesgo se lleva a cabo de manera que
los problemas no alienten el caos, entonces la calidad del software se ver influida de
manera positiva.

Control de calidad: El control de calidad incluye un conjunto de acciones de ingeniera


de software que ayudan a asegurar que todo producto del trabajo cumpla sus metas de
calidad.

Aseguramiento de la calidad: El aseguramiento de la calidad establece la


infraestructura de apoyo a los mtodos slidos de la ingeniera de software, la
administracin racional de proyectos y las acciones de control de calidad, todo de
importancia crucial si se trata de elaborar software de alta calidad. La meta del
aseguramiento de la calidad es proveer al equipo administrativo y tcnico los datos
necesarios para mantenerlo informado sobre la calidad del producto, con lo que obtiene
perspectiva y confianza en que las acciones necesarias para lograr la calidad del
producto funcionan.

TCNICAS DE REVISIN

Las revisiones del software son un filtro para el proceso del software. Es decir, se
aplican en varios puntos durante la ingeniera de software y sirven para descubrir errores
y defectos a fin de poder eliminarlos. Las revisiones del software purifican los
productos del trabajo de la ingeniera de software, incluso los modelos de requerimientos
y diseo, cdigo y datos de prueba.

Amplificacin y eliminacin del defecto

Para ilustrar la generacin y deteccin de errores durante las acciones de diseo y


generacin de cdigo de un proceso de software, puede usarse un modelo de
amplificacin del defecto. En la figura se ilustra esquemticamente el modelo. Un cuadro
representa una accin de la ingeniera de software. Durante la accin, los errores se
generan de manera inadvertida. La revisin puede fracasar en descubrir los errores
nuevos que se generan y los cometidos en etapas anteriores, lo que da como resultado
cierto nmero de errores pasados por alto. En ciertos casos, los errores de etapas
anteriores ignorados son amplificados (en un factor x de amplificacin) por el trabajo en
curso. Las subdivisiones de los cuadros representan a cada una de estas caractersticas
y al porcentaje de eficiencia de la deteccin de errores, que es una funcin de la
profundidad de la revisin.
MTRICAS DE REVISIN Y SU EMPLEO

Aunque se han definido muchas mtricas para las revisiones tcnicas, un conjunto
relativamente pequeo da una perspectiva til. Las siguientes mtricas para la revisin
pueden obtenerse conforme se efecte sta:

Esfuerzo de preparacin, Ep: esfuerzo (en horas-hombre) requerido para revisar un


producto del trabajo antes de la reunin de revisin real.

Esfuerzo de evaluacin, Ea: esfuerzo requerido (en horas-hombre) que se dedica a la


revisin real.

Esfuerzo de la repeticin, Er: esfuerzo (en horas-hombre) que se dedica a la correccin


de los errores descubiertos durante la revisin.

Tamao del producto del trabajo, TPT: medicin del tamao del producto del trabajo que
se ha revisado (por ejemplo, nmero de modelos UML o nmero de pginas de
documento o de lneas de cdigo).

Errores menores detectados, Errmenores: nmero de errores detectados que pueden


clasificarse como menores (requieren menos de algn esfuerzo especificado para
corregirse).

Errores mayores detectados, Errmayores: nmero de errores encontrados que pueden


clasificarse como mayores (requieren ms que algn esfuerzo especificado para
corregirse).

Estas mtricas pueden mejorarse, asociando el tipo de producto del trabajo que se
revis con las mtricas obtenidas.

Anlisis de las mtricas

Antes de comenzar el anlisis deben hacerse algunos clculos sencillos. El esfuerzo


total de revisin y el nmero total de errores descubiertos se definen como sigue:

Erevisin =Ep + Ea + Er

Errtot =Errmenores + Errmayores

La densidad del error representa los errores encontrados por unidad de producto del
trabajo revisada.

Densidad del error= Errtot / TPT

Si las revisiones se llevan a cabo para varios tipos distintos de productos del trabajo (por
ejemplo, modelo de requerimientos, modelo del diseo, cdigo, casos de prueba, etc.),
el porcentaje de errores no descubiertos por cada revisin se confronta con el nmero
total de errores detectados en todas las revisiones. Adems, puede calcularse la
densidad del error para cada producto del trabajo.
Una vez recabados los datos para muchas revisiones efectuadas en muchos proyectos,
los valores promedio de la densidad del error permiten estimar el nmero de errores por
hallar en un nuevo documento (an no revisado).

Eficacia del costo de las revisiones

Es difcil medir en tiempo real la eficacia del costo de cualquier revisin tcnica. Una
organizacin de ingeniera de software puede evaluar la eficacia de las revisiones y su
relacin costo-beneficio slo despus de que stas han terminado, de que las unidades
de medida de la revisin se han recabado, de que los datos promedio han sido
calculados y de que la calidad posterior del software ha sido medida (mediante pruebas).

Anda mungkin juga menyukai