ATRIBUTOS
DE CALIDAD
Atributos de calidad (también cualidades del
software) son características no funcionales que se consideran deseables en un
sistema de software. Sin embargo, no todos los sistemas de software deben tener
en cuenta todos estos atributos o cualidades, algunas serán más importantes que
otras dependiendo del sistema, y ciertamente no se pueden maximizar todas a la
vez.
1. Simplicidad:
Es la ausencia de complejidad o dificultades.
En el desarrollo de software puede resultar de interés diferenciar entre
complejidades esenciales y accidentales.
1.1.Complejidad esencial: las que son propias o intrínsecas al
problema que se desea solucionar. Es natural que un problema complejo tenga
soluciones con algún grado de complejidad.
1.2.Complejidades accidentales: aquellas que surgen por malas
decisiones de diseño. Naturalmente, se intentará evitar diseñar soluciones que
sean más complejas de lo que el problema requiere.
Determinar si una dificultad en un diseño o programa es esencial o accidental, nos permite atacar las dificultades accidentales, buscando soluciones más simples.
2. Correctitud, consistencia, completitud:
2.1.Correctitud: Ausencia de errores.
2.2.Consistencia: Coherencia entre las operaciones que realiza el usuario.
2.3.Completitud: Capacidad del sistema para realizar todas las operaciones
que usuario podría requerir.
3. Robustez
3. Robustez
Robusto es un sistema que goza de buena salud
y que brinda garantías de que va a continuar teniendo buena salud. Algunos
síntomas de un sistema robusto son:
3.1.la capacidad de ser modificado sin introducir errores (opuesto
a error prone)
3.2.durabilidad del sistema funcionando correctamente (no aparecen errores
aleatorios)
Diferentes usuarios tendrán diferentes
visiones de la robustez del sistema.
4. Flexibilidad
4. Flexibilidad
También llamada modificabilidad, es la
capacidad para admitir cambios que pueden ser necesarios tanto por un cambio de
requerimientos como por la detección de un error que debe ser corregido. Una
variante de flexibilidad es la extensibilidad, es decir, la posibilidad de
agregar nuevos requerimientos.
5. Performance
5. Performance
La performance es una medida de la eficiencia
en el uso de recursos del sistema ejecutándose, por ejemplo:
- Uso de procesador
- Memoria
- Almacenamiento permanente (discos rígidos, etc).
- Uso de redes
- … o cualquier otro recurso físico.
Es la capacidad de un sistema para trabajar
con diferentes cantidades de trabajo, como cambios en el volumen de datos o
flujo de pedidos. Con frecuencia se estudia la escalabilidad de un
sistema hacia arriba, es decir, se mide la capacidad del sistema para
manejar, por ejemplo, un mayor volumen de datos. La medida de escalabilidad no
requiere que el sistema funcione intacto en las nuevas condiciones, en cambio
es una medida de la facilidad con la que se lo puede adaptar al nuevo entorno,
por ejemplo, si está preparado para que yo agregue un servidor más a
un cluster eso se podría considerar escalable.
También puede ser de utilidad analizar la
flexibilidad hacia abajo, es decir, la posibilidad de un sistema de
adaptarse a un entorno más sencillo. En estos casos, se analiza, por ejemplo,
la posibilidad de evitar el uso de recursos que encarecen el sistema y podrían
no ser indispensables, por ejemplo, ejecutar toda la aplicación en un único
servidor en lugar de cada capa en uno distinto o bien reemplazar
determinados componentes adquiridos por otros de menor costo de licencia.
Un error común es confundir escalabilidad con
extensibilidad.
7. Seguridad
7. Seguridad
Algunas visiones de la seguridad son:
7.1.Comprobar la identidad de las personas que intentan acceder al sistema.
7.2.Garantizar que sólo las personas específicamente autorizadas pueden ver
determinada porción de la información del sistema
7.3.Garantizar que sólo las personas específicamente autorizadas pueden
modificar determinada porción de la información del sistema o bien realizar
determinadas acciones
8. Usabilidad
8. Usabilidad
La facilidad con la que el sistema o
componente se puede utilizar o bien aprender a utilizar.
9. Constructibilidad
No hay comentarios:
Publicar un comentario