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.

martes, 13 de mayo de 2014

UML en 24 HRS Capítulo 16 “PRESENTANCIÓN DEL CASO POR ESTUDIAR” (Reseña)

DIAGRAMAS:






Al presentar el caso a estudiar, se debe tomar en cuenta la necesidad de la que surge este software, si queremos que sea exitosos debemos tomar en cuenta las consideraciones que hace nuestro usuario final para así poder satisfacerlas de la mejor manera posible.

APLICACIÓN  AL PROBLEMA
El proyecto deberá inicializar con la recopilación de necesidades, así como la asimilación de dominio.
·         Descubrir procesos del negocio.
·         Realzar análisis de dominio.
·         Identificar los sistemas cooperativos.
·         Descubrir los requerimientos del sistema.
·         Presentar los resultados al cliente.

DESCUBRIR LOS PROCESOS DEL NEGOCIO
El análisis del proceso de negocio inicia con una entrevista a un analista a un restaurantero, durante esta entrevista alguien deberá tomar nota de lo que se comenta y alguien más deberá ir identificando los procesos a realizar, modelando estos en una pizarra.
SERVIRA UN CLIENTE
En este apartado se plantea la entrevista y se van haciendo las preguntas que se consideran cruciales para conocer e identificar los procesos, es importante que esta sea hecha por un analista, y al mismo tiempo se van plasmando los procesos en un diagrama de actividades.
Esta sección puede llegar a ser un tanto repetitiva, sin embargo es muy preferible preguntar las veces que sea necesaria hasta entender por completo cada uno de los procesos que se llevan a cabo.
El ir planteando los esquemas de actividades recomendados servirá para que, tanto el analista, como el entrevistado, vayan verificando que uno está entendiendo los procesos, y el otro revise si en algún punto se le escapo cierto detalle de importancia. También se sugiere un diagrama con marcos de responsabilidad para delimitar las acciones a realizar por cada persona.
Para cada proceso es ideal realizar un diagrama con marco de actividades.
CONCLUSIONES
·         Si se pretende realizar el papel de un analista en una entrevista, es ideal ir resumiendo los pasos llevados a cabo cada cierto tiempo.
·         Aunque en ocasiones parezca que se carece de conocimiento, es recomendable preguntar las dudas por muy obvias que estas parezcan.
·         Se recomienda obtener un punto de vista del entrevistado respecto a los diagramas y quizás aquí surja una retroalimentación.









lunes, 21 de abril de 2014

MODELO DE DESARROLLO DE SOFTWARE PARA DICCIONARIOS ETNOBILINGÜES.

Reseña.

MODELO DE DESARROLLO DE SOFTWARE PARA DICCIONARIOS ETNOBILINGÜES. (Reseña)



En la lectura se plantea gran parte del proceso que se debió desarrollar para la creación de un software que cumpliera con la función de un diccionario etnobilingüe. En ésta se muestra gran parte del proceso y es de esta manera que podemos identificar las consideraciones que se deben hacer al crear cualquier tipo de software como lo son adentrarse en el tema del cual se quiere proponer una solución, puesto que ésta será la  única manera de ofrecer una solución efectiva, eficiente y confiable.



Para el caso del diccionario etnobilingüe, se tuvieron que adentrar a conocer más sobre las personas hacia quienes iría dirigido este software, así como las necesidades de estas mismas, con esto me refiero a que en una comunidad indígena no se cuenta con grandes recursos para invertir en proyectos de este tipo y es algo a lo que el ingeniero de software se debe acoplar, para este caso específico se busca desarrollar un software que sea capaz de funcionar de manera ágil en computadores con especificaciones técnicas muy bajas y sabemos que las interfaces deben ser muy amigables para este caso en particular, puesto que quienes sean colaboradores para conservar estas lenguas, quizás sean personas que anterior a este proyecto, no hayan tenido un acercamiento previo con una computadora.



Las herramientas empleadas para el desarrollo de este proyecto las proporcionan desde los fundamentos de ingeniería del software, con esto hago referencia al lenguaje UML, con diagramas de casos de uso, de clases, así como diagramas de secuencias.



Las distintas versiones de software que se crearon fueron de gran ayuda para que en base a esto mismo, hablantes nativos de esa lengua pudieran hacer una retroalimentación positiva al software con el fin de mejorarlo. El resultado final fue verse obligados a desarrollar este software no solo para tenerlo instalado en una computadora, sino para poder hacer consultas desde un navegador de internet.







Referencia:



“Modelo de desarrollo de software para diccionarios etnobilingües”.



Melchora Morales Sánchez y Erasmo Miranda,



Universidad Autónoma Indígena de México

Diciembre de 2010.


Preguntas 



1.       ¿Qué hicieron?
R. Un diccionario etnobilingüe.

2.       ¿Qué desarrollaron?
R. Software que permitiera la obtención de medios como el textual, visual y oral de una lengua.

3.       ¿Cómo lo desarrollaron?
R. Basándose en las herramientas que proporciona UML para un modelado de sistemas. De esta forma pueden describir las acciones que debe realizar cada parte del sistema, así como los actores.

4.       ¿Por qué lo desarrollaron?
R. Porque existen lenguas que se están dejando de hablar y quienes las conocen muchas veces no identifican todas sus palabras.

5.       ¿Qué herramientas se utilizaron?
R. Herramientas proporcionadas por fundamentos de ingeniería de software con diagramas de casos de uso, de secuencia, de cases y de arquitectura del sistema.

6.       ¿Qué resultado obtuvieron?
R. El resultado obtenido fue exitoso, puesto que de esta manera se busca conservar las lenguas nativas de los hablantes de esta región y se utiliza como medio de comunicación el español.
El resultado final fue el éxito de este proyecto viéndose obligados a no solo instalar el programa en un computador de la escuela, sino a desarrollar el diccionario en una página web.