miércoles, 21 de mayo de 2014

LEY DE FITTS

La ley de Fitts expresa que el tiempo para llegar a un objetivo (visual) es una función de la distancia a dicho objetivo y su tamaño. En otras palabras: El tiempo que se requiere para alcanzar a pulsar un objetivo depende de una relación logarítmica entre su superficie y la distancia a la que se encuentra.
La siguiente ecuación permite calcular el tiempo con cierta precisión:


T = a + b log2 ( D / S + 1 )


T: es el tiempo medio necesario para completar el movimiento.
a: representa el tiempo de inicio / parada en segundos para un dispositivo determinado
b: mide la velocidad inherente del dispositivo
D: es la distancia desde el punto inicial hasta el centro del objetivo.
W: es el ancho del objetivo medido sobre el eje del movimiento. También puede entenderse W como la tolerancia de error permitida en la posición final, dado que el punto final del movimiento debe quedar a +/- W/2 del centro del objetivo.

1º.- Lo más importante debe ser más grande o estar más cerca (si es tan obvio ¿por qué no lo hacemos?)

Las acciones más habituales o más importantes para los usuarios de un sitedeben estar lo más cerca posible de la posición previa del cursor y tener una superficie clicable mayor (a este respecto ten en cuenta también el epígrafe siguiente).
Ejemplo común de mala práctica: al completar el último campo en un proceso de registro, nos encontramos con que el botón “enviar” está más lejos de ese punto que otros botones del formulario y su tamaño es exactamente el mismo (¡mal!).

2º.- El concepto de “ancho” es más relativo de lo que crees

Si aumentamos el tamaño de los enlaces, debemos tener en cuenta cuál es la dirección de movimiento del cursor más probable cuando éstos se usan, ya que lo que cuenta es el recorrido útil sobre el eje de desplazamiento del cursor. Si el movimiento es predominantemente vertical, por ejemplo, será la altura del botón, y no su ancho, la medida a potenciar.

3º.- Atención al despliegue de menús jerárquicos

En los menús jerárquicos, asegúrate de que las opciones que aparecen quedan cerca de la posición original y que no se cambia la dirección del desplazamiento.
Veamos un ejemplo de práctica “mejorable”, muy habitual en prensa online: en el menú superior, tras hacer clic (o colocar el cursor sobre) una sección, se despliegan las sub-secciones horizontalmente sobre una estrecha banda, de modo que en ocasiones hay que recorrer toda la pantalla para hacer clic el destino elegido, manteniendo además la componente horizontal del desplazamiento (y eso, tras haberlo encontrado visualmente).
Esta discutible práctica está muy extendida, incluso en sitios web “importantes”. En algunos casos es una decisión consciente y deliberada, que se debe probablemente al deseo de evitar que los menús se desplieguen sobre los contenidos y la publicidad, ocultándolos o creando solapamientos no deseado.

4º.- Pon el diseño al servicio de tus usuarios, y no al revés

No suele ser una buena idea sacrificar el tamaño y la ubicación de los enlaces por criterios meramente estéticos o de economía de espacio; quizás tengamos una buena razón para hacerlo en determinadas ocasiones, pero debemos sopesar antes los pros y los contras con detenimiento

5º.- Si se lo ponemos más fácil al usuario, que se note

Si ampliamos el espacio sobre el que el usuario puede hacer clic en un enlace, sus límites deben ser claramente perceptibles, ya que de lo contrario esto no servirá de nada; por lo que al usuario respecta, la superficie clicable es la que él percibe como tal.

6º.- No te lo tomes a la tremenda

La fórmula nos dice que cada incremento en el tamaño del objeto conlleva una mejora progresivamente menor (un matemático nos diría que esto se debe a la naturaleza logarítmica de la función). La traducción es que hacer enlaces grandes ayuda, pero hacerlos “enormes” no aporta ningún beneficio adicional.

No olvides la variable “distancia”. Quizás no puedas (o no quieras) hacer más grande un objeto, pero posiblemente sí puedes ubicarlo más cerca.
 
 

METODOLOGÍAS DE DESARROLLO DE SOFTWARE (CASCADA, ESPIRAL Y DCU)



MODELO EN CASCADA


En ingeniería de software el desarrollo en cascada, también llamado modelo en cascada, es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software.
Un ejemplo de una metodología de desarrollo en cascada es:

1. Análisis de requisitos.

2. Diseño del Sistema.

3. Diseño del Programa.

4. Codificación.

5. Pruebas.

6. Implantación.

7. Mantenimiento.


De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto.


Si bien ha sido ampliamente criticado desde el ámbito académico y la industria, sigue siendo el paradigma más seguido al día de hoy.

MODELO EN ESPIRAL


El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986, utilizado generalmente en la Ingeniería de software. Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.


Este modelo fue propuesto por Boehm en 1988. Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riegos.

En cada vuelta o iteración hay que tener en cuenta:

· Los Objetivos: qué necesidad debe cubrir el producto.

· Alternativas: las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser:

1. Características: experiencia del personal, requisitos a cumplir, etc.

2. Formas de gestión del sistema.

3. Riesgo asumido con cada alternativa.

4. Desarrollar y Verificar: Programar y probar el software

Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades:

Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular:

1. Angular: Indica el avance del proyecto del software dentro de un ciclo.

2. Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollando.

CLI, GUI Y NUI

CLI (Command Line Interface) (CLI [interfaz de línea de comandos])

Utilidad que ofrece un método alternativo para ejecutar comandos ESM en entornos de UNIX y Windows NT. Se admiten en CLI (del inglés Command Line Interface) casi todos los comandos ESM disponibles en la consola de ESM. Asimismo, es posible crear registros de agente, eliminar módulos o ejecutar archivos por lotes que contengan comandos CLI desde la interfaz de línea de comandos.

GUI (Graphical User Interface) (GUI [interfaz gráfica de usuario])

Es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador

NUI (Natural User Interface) (NUI [interfaz natural de usuario])

Es aquella en las que se interactúa con un sistema, aplicación, etc. sin utilizar sistemas de mando o dispositivos de entrada de las GUI como sería un ratón, teclado alfanumérico, lápiz óptico, Touchpad, joystick etc. y en su lugar, se hace uso de movimientos gestuales tales como las manos o el cuerpo es el mismo mando de control, en el caso de pantallas capacitivas multitáctiles la operación o control es por medio de la yemas de los dedos en uno o varios contactos, también se está desarrollando control de sistemas operativos por medio de voz humana y control cercano a la pantalla pero sin tocarla.