Definiciones iniciales de ui

De Uqbar wiki

Interfaz de usuario

Es todo lo que permite a un usuario interactuar con el sistema. Una interfaz se implementa por lo general con una pantalla, pero no es el único dispositivo posible.

Interfaz de Usuario también se puede abreviar por sus siglas en inglés: UI (User Interface)

Modelo de dominio

Cuando le pedimos al sistema que haga algo, hay reglas que rigen el negocio que manejamos.

Si el cliente sólo puede pagar con cheque a 30/60/90 días, hay una regla de negocio que lo dice. Si un alumno no puede anotarse en un final porque debe una correlativa, hay otra regla de negocio que lo dice. Si un empleado cobra un 10% del sueldo básico por presentismo, hay otra regla de negocio que lo dice.

Lo que forma parte del dominio de mi aplicación es encontrar

public void pagar(TipoPago tipoPago, BigDecimal monto)

donde se resuelva esa responsabilidad

public void inscribirseAFinal(Materia materia)

donde se resuelva esa responsabilidad

O sea,

¿Qué objetivos nos proponemos al programar una interfaz de usuario?

Por supuesto que ande, pero además vamos a priorizar ciertas cualidades de diseño. En particular tratar de no mezclar ideas de presentación con negocio. O sea, separar la lógica para definir la interacción con el usuario y la lógica propia del dominio. ¿Por qué?

Conceptos básicos del diseño

¿Dónde interviene el acoplamiento al programar la UI? El componente de UI va a tener que conocer al componente que maneja la lógica de dominio, de otra manera la aplicación no va a funcionar. Pero tampoco es bueno que la interfaz defina lógica que es propia del cliente, o de la factura, o de un empleado o de un alumno (para más información ver Interacción entre la UI y el dominio del sistema). Es cierto que agregar un atributo que el usuario deba visualizar o modificar a través de la interfaz fuerza inevitablemente a un cambio en la UI, pero cambios en la lógica de negocio no deberían necesariamente afectar la UI. Así que otro de nuestros objetivos será minimizar el acoplamiento, no por ser puristas, sino porque nos traerá como beneficio no vernos impactados por cualquier tipo de cambio.

Requerimientos y casos de uso

Una buena UI va llevando al usuario a través de la secuencia que tiene un caso de uso, guiándolo y ayudándolo en el proceso.

Diseño gráfico vs. diseño de sistemas

También es importante distinguir el diseño gráfico de una aplicación: la iconografía, los logos, imágenes de fondo, etc. que realizan los diseñadores gráficos o bien personas que no necesariamente tengan conocimientos de sistemas y que trabajan en interrelación con las personas que desarrollan un producto de software. Este diseño se preocupa por la orientación de la interfaz de manera que sea cómoda e intuitiva para el usuario y ofrezca un mínimo de resistencia o de adaptación.

Por otra parte, el diseño de sistemas se preocupa por distribuir correctamente las responsabilidades de los componentes que forman una aplicación.

Links relacionados

Latest update on July 17, 2017 by GitHub