Funcionalidad
Funcionalidad es lo que
un producto puede hacer. Probar la funcionalidad significa asegurar que el
producto funciona tal como estaba especificado.
Corrección
Es la capacidad de los productos de software para realizar con exactitud
las tareas expresadas en su especificación.
Grado en que un programa satisface sus especificaciones y logra los
objetivos marcados por el usuario.
Confiabilidad
Es la aplicación de métodos de ingeniería y analíticos a la evaluación,
predicción y aseguramiento de un comportamiento libre de problemas durante el
tiempo de vida de un producto o sistema bajo estudio.
Las técnicas utilizadas
en el análisis de confiabilidad frecuentemente requieren de la utilización de
métodos estadísticos para tratar las incertidumbres, características aleatorias
o probabilidades de ocurrencia a lo largo del tiempo.
El análisis de
confiabilidad abarca otras técnicas que se enfocan en la naturaleza física y la
causa de falla y la prevención o reducción de fallas.
Eficiencia
Capacidad de un Sistema
de Software para exigir la menor cantidad posible de Recursos.
Casi sinónimo de
eficiencia es la palabra rendimiento.
Ejemplo
Steve McConnell, en su
obra Rapid Development, analiza cuáles son las claves o pilares que consiguen
que un proyecto software o un desarrollo sea eficiente. Y por eficiente el
autor se refiere a estar por encima de la media en la capacidad de terminar un
proyecto en tiempo, dentro de coste y con la funcionalidad necesaria incluida.
Usabilidad
Usabilidad significa que las personas, al usar un
producto, pueden hacer sus tareas de forma rápida y fácil. La usabilidad se
funda en cuatro puntos:
Centrado en los usuarios: Para desarrollar un producto usable, tienes que saber,
entender y trabajar con personas que representen a usuarios actuales o
potenciales. Un diseñador, un responsable de proyecto, un supervisor o un
cliente sólo se representan a sí mismos y no pueden sustituir a los usuarios
finales.
Productividad: La gente considera que un producto es «fácil de usar y
aprender» después de valorar el tiempo que necesita, el número de pasos que ha
de dar y el éxito en predecir las acciones adecuadas. Si quieres diseñar un
producto usable, debes entender los objetivos de tus usuarios.
Usuarios ocupados: El software es una herramienta de trabajo u ocio, y las
personas somos poco proclives a dedicar tiempo a aprender y utilizar herramientas.
El usuario decide: Los usuarios, y no los diseñadores o desarrolladores,
determinan cuándo un producto es fácil de usar. Cada persona estima el esfuerzo
y el tiempo necesario para obtener algo.
Piensa en todas las funciones que tiene tu móvil,
ordenador, programa, equipo de música o aparato de tecnología que NO USAS y el
tiempo que estarías dispuesto a dedicar a aprender a usarlo todo.
Mantenibilidad
La mantenibilidad es
la propiedad de un sistema que representa la cantidad de esfuerzo
requerida para conservar su funcionamiento normal o para restituirlo una vez se
ha presentado un evento de falla. Se dirá que un sistema es Altamente
mantenible cuando el esfuerzo asociado a la restitución sea bajo. Sistemas
poco mantenibles o de Baja mantenibilidad requieren de grandes
esfuerzos para sostenerse o restituirse.
La mantenibilidad está
inversamente relacionada con la duración y el esfuerzo requerido por las
actividades de mantenimiento.
Portabilidad
Se define como la
característica que posee un software para ejecutarse en diferentes plataformas,
el código fuente del software es capaz de reutilizarse en vez de crearse un
nuevo código cuando el software pasa de una plataforma a otra (ver la nota, a
continuación de este párrafo). A mayor portabilidad menor es la dependencia del
software con respecto a la plataforma.
Ejemplo
Para entender un poco la
portabilidad, un ejemplo de portabilidad de base de datos se ve con SQLite:
puede ser ejecutado en diferentes sistemas operativos, como Windows, Linux, BSD, Mac OS X, Solaris, HPUX,
AIX o en muchos otros como QNX, VxWorks, Symbian, Palm OS, Windows CE. Se pude
notar que muchos de ellos trabajan a 16, 32 y 64 Bits.
Desde hace tiempo
Mozilla_Firefox usa SQLite para almacenar, por ejemplo, las cookies, los
favoritos, el historial, las direcciones de red válidas.
Oportunidad
Capacidad de un Sistema
de Software de ser lanzado cuando los usuarios lo desean, o antes.
Ejemplo
Se puede mencionar la
Verificación y Validación independiente, es decir grupos independientes,
pudiendo ser de empresas externas especializadas o propios, dedicados a
actividades de revisión (de documentación y código), pruebas, análisis de
rendimiento, etc. Es un hecho que es una actividad con un retorno de inversión
alto y casi indispensable para asegurar la calidad en grandes proyectos, pero
casi inexistente, especialmente en el sector público.
Disponibilidad
Probabilidad que un paquete de SW esté trabajando según
los requerimientos en un punto dado del Tiempo
La disponibilidad suele
medirse en “nueves”. Por ejemplo, una solución cuyo nivel de disponibilidad sea
de “tres nueves” es capaz de realizar su función prevista el 99,9 por ciento
del tiempo, lo que equivale a un tiempo de inactividad anual de 8,76 horas por
año sobre una base de 24x7x365 (24 horas al día, siete días a la semana, 365
días al año). En la tabla siguiente se muestran los niveles de disponibilidad
frecuentes que muchas organizaciones intentan conseguir.
No hay comentarios:
Publicar un comentario