Você está na página 1de 8

Cmo evaluar la calidad un Software Web?

Para poder evaluar la calidad de un software de ambito web (tambin conocido


como aplicacin cliente-servidor osistema transaccional remoto) es necesario considerar
sus:

Cualidades Externas (se refieren a factores esperables que son tiles o


aprovechables por los usuarios finales de un sistema)
Cualidades Internas (aquellas que permitirn una labor sencilla, productiva,
ordenada, y eficiente, a los desarrolladores del sistema, o a quienes deseen reprogramarlo, mantenerlo, etc)

Atributos de calidad de software web


Hay ms de 18 atributos, de los cuales priorizar aqu los ms importantes que a mi
entender son ms aplicables o esperables en mbitos web, puesto que en la prctica es
muy difcil que un software complejo pueda superarlos todos (a menos que se trate de un
software desarrollado por Sun Microsystems, Microsoft, etc).
La mayora de estos atributos de calidad no pueden ser evaluados a priori (cuando el
software todava no ha sido programado), pero conocerlos de antemano te permitir
evaluar la profesionalidad y competencia de los desarrolladores / programadores

Disponibilidad: define la proporcin del tiempo que el sistema es funcional y


trabaja. Puede ser medido como un porcentaje del tiempo total en que el sistema
estuvo cado en un periodo predefinido. La disponibilidad puede verse afectada
por errores del sistema, problemas de infraestructura, ataques o carga del sistema.

Integridad: Conceptual define la consistencia y coherencia del diseo total. Esto


incluye la forma en que los componentes o mdulos han sido diseados, as como
factores como el estilo de codificacin y la nomenclatura de las variables.

Flexibilidad: es la habilidad del sistema para adaptarse a ambientes y situaciones


variables y para soportar cambios en polticas de negocios y reglas de negocio. Un
sistema flexible es uno que es fcil de reconfigurar o que se adapta en respuesta a
los diferentes requerimientos de usuarios y del sistema.

Interoperabilidad: es la habilidad de que diversos componentes de un sistema


diferentes sistemas funcionen correctamente al intercambiar informacin,
comnmente por medio de servicios. Un sistema interoperable hace fcil
intercambiar y usar informacin interna y externamente.

Capacidad de mantenimiento: es la habilidad de un sistema para permitir


cambios en sus componentes, servicios, caractersticas e interfaces en la medida
en que dichos cambios son requeridos cuando se adiciona o cambia la
funcionalidad, se corrigen errores o se suplen nuevos requerimientos de negocios.

Capacidad de Administracin: define que tan fcil es gestionar la aplicacin,


usualmente a travs de una instrumentacin suficiente y adecuada que se expone
en un sistema de monitoreo para efectos mejoramiento del rendimiento e
identificacin de errores.

Rendimiento: es un indicador de la capacidad de respuesta del sistema para


ejecutar una accin dentro de un intervalo de tiempo dado. Puede ser medida en
trminos de latencia o de respuesta. Latencia es el tiempo que tarda en responder
a un evento, respuesta en es el numero de eventos que tiene lugar en una
cantidad dada de tiempo.

Confiabilidad: es la habilidad de un sistema para mantener operacional en el


tiempo. La confiabilidad se mide como la probabilidad de que un sistema no falle
en ejecutar la funcin para la que fue construido dentro de un periodo especifico
de tiempo.

Capacidad de Re-Uso define la capacidad de un componente y un subsistema


para ser usado por otras aplicaciones en otros escenarios. La capacidad de re-uso
minimiza la duplicacin de componentes as como el tiempo de implementacin.

Escalabilidad es la habilidad de un sistema para funcionar bien cuando se


presentan cambios en la demanda o en la carga del mismo. Tpicamente el
sistema ser capaz de extenderse a un nmero mayor o ms poderoso de
servidores al incrementarse la demanda o la carga.

Seguridad define la forma en que el sistema es protegido de perder o suministrar


informacin y la posibilidad de xito de un ataque. Un sistema seguro trata de
proteger sus actives y previene la modificacin de informacin de fuentes no
autorizadas.

Capacidad de Soporte define que tan fcil es para los operadores,


desarrolladores, y usuarios entender y usar la aplicacin as como que tan fcil es
resolver los errores que se presentan cuando la aplicacin falla.

Capacidad de Pruebas es una medida de que tan fcil es crear un criterio de


pruebas para el sistema y sus componentes y como ejecutar estos test en un
orden que permita determinar si el criterio se cumpli. Una buena capacidad de
pruebas hace ms comn que las falas en el sistema puedan ser aisladas de una
forma rpida y efectiva.

Usabilidad: define que tan bien la aplicacin cumple con los requerimientos de los
usuarios y los consumidores al ser intuitiva, fcil de localizar y globalizar, y capaz
de proveer acceso correcto para usuarios con discapacidad as como una
experiencia general Buena para el usuario.

Test de calidad de Software Web


Con una serie de preguntas determinaremos si un software web cumple los requisitos
mnimos de calidad o no. Algunas son obvias y hasta intuitivas para cualquier cliente que
no entiende de sistemas informticos, pero otras no lo son tanto.

Cualidad

Importancia

Preguntas para evaluar el


atributo

Correctitud

fundamental

Usabilidad

fundamental

al someter al
programa a diversas
tareas bsicas, cumple
este el/los
requerimiento/s del/los
usuario/s?
realiza las tareas de
manera tal que el
resultado de las
mismas sea correcto?
es sencillo de
entender y manejar el
software para los
usuarios a los cuales
est destinado su uso?
es intuitivo, y posee la
informacin y ayudas
adecuadas como para
que el usuario no tenga
que depender de
alguien que explique
cmo utilizar cada
funcin?
son cmodos los
menes, los botones,
las ventanas de
interfaces, los cuadros
de dilogo, los
formularios, etc?las
jerarquas visuales son
correctas?
es sencillo buscar y
filtrar informacin
dentro del programa?

Oportunidad y
Economa

fundamental

Documentacin y esperable
Visibilidad

Compatibilidad

esperable

el software puede ser


(o ha sido) entregado
en tiempo y forma por
sus desarrolladores?
pueden los
desarrolladores
establecer tiempos
razonables de trabajo
en relacin a la
complejidad del
mismo?
es capaz de ser
desarrollado
ptimamente sin utilizar
ms recursos que los
previstos (presupuesto
estimado)?
es capaz el
desarrollador de
establecer un precio
justo de desarrollo,
implementacin y
soporte,
previsiblemente
amortizable segn su
productividad, y no
inflado en relacin al
estndar del mercado?
posee el proyecto una
buena documentacin
interna y externa (del
cdigo fuente, y de la
ayuda al usuario). (esto
est relacionado a otros
factores, como la
usabilidad y la
comprensibilidad).
Hay transparencia
hacia afuera en las
etapas de desarrollo
(ciclo de vida), estn
documentadas y
disponibles para el
cliente?
puede interactuar el
software con otras
aplicaciones que

Comprensibilidad

esperable

Confiabilidad

fundamental

Eficiencia

fundamental

complementan tareas,
o procesos que
necesita abarcar el
usuario?
sus reportes y datos
estn en archivos
compatibles con
aplicaciones de uso
comn y popular (por
ejemplo planillas de
excel, que es el
estandar de las hojas
de clculo)?
es amigable el
software para los
desarrolladores?
pueden comprender
su estructura lgica,
sus funciones de
ejecucin y
procesamiento, su
cdigo fuente es
fcilmente legible y
comprensible?
es confiable el
software para el usuario
final?
despus de un buen
periodo de uso: sucede
a veces que el usuario
desconfa porque en
ocasiones anteriores ha
perdido datos
importantes que le ha
llevado tiempo cargar?
cundo falla, son
fallas graves o leves,
segn las
consecuencias que
provocan?
cuando el volumen de
datos crece dentro de
lo contemplado, el
software se vuelve
lento?

Escalabilidad

esperable

Funcionalidad

fundamental

Mantenibilidad

fundamental/esperable

es capaz el software
de procesar/almacenar
datos de manera
eficiente?
comienza a insumir
muchos recursos de
hardware?
se ve afectada la
productividad de los
usuarios por esta
lentitud?
Escalabilidad
funcional: es sencillo
y relativamente breve
implementar al software
nuevas funcionalidades
y servicios, a medida
que surgen nuevos
requerimientos?
(legibilidad,
comprensibilidad,
documentacin).
Escalabilidad por
crecimiento en
volumen de
datos: (ver eficiencia)
hay operaciones que
el software podra
realizar internamente y
sin embargo hay que
hacerlas a mano o en
otras aplicaciones?
son muy limitadas o
incompletas las
funciones que realiza el
software?
resuelve casi todos
los problemas de
operatividad y gestin
de la informacin?
Reparabilidad: es
sencillo corregir errores
del software (bugs o
funcionalidades mal
definidas)? (esto
depende del grado de

Portabilidad

esperable

Disponibilidad /
Recuperabilidad

fundamental

modularidad del
software) si el software
es modular se asla
problemas fcilmente y
se gana tiempo
encontrando y
corrigiendo errores.
Flexibilidad: es
sencillo hacer
adaptaciones cuando
se alteran levemente
los requerimientos
iniciales? es sencillo
adaptar el software si
se modifica su entorno
de aplicacin, si se
actualiza el sistema
operativo o el
hardware?
Evolucionabilidad:
es sencillo
perfeccionar el software
en un proceso evolutivo
viable?
Extensibilidad: es
sencillo extender el
software hacia nuevas
funcionalidades sin
tener que modificar el
cdigo existente?
el software es portable
a diferentes sistemas
operativos y
plataformas?
es sencillo "trasladar"
el software de una
intranet a otra, o de un
dominio/servidor a otro
sin mayores problemas,
y configurando tan solo
unos pocos
parmetros?
el sistema, se cae
muy a menudo?
es preciso inhabilitarlo
por mucho tiempo cada
vez que hay que hacer

Reusabilidad

Robustez

esperable

es el cdigo fuente del


software, reusable?

esperable

reacciona bien el sistema


ante situaciones o casos no
previstos o no contemplados
en los requerimientos?

Seguridad

tareas de
mantenimiento?
cunto tiempo demora
el sistema en arrancar
hasta su estado
funcional?

fundamental

estn protegidos los


datos que manipula el
sistema, ya sea en su
tiempo de proceso y
trnsito, como as
tambin en su estado
de almacenamiento?
es muy vulnerable al
ataque de hackers /
crackers?
tiene contemplado un
sistema de
recuperacin, ante
prdida de datos?

Você também pode gostar