1: Introducción a UI

El objetivo de esta unidad es introducir al estudiante a la problemática del desarrollo de interfaces de usuario (UI, por sus siglas en inglés), brindando una primera visión general de cómo se construyen las vistas y cómo éstas participan en el contexto general de un sistema de software.

Material de Lectura

  • Definiciones iniciales
    • ¿Qué objetivos nos proponemos al programar una interfaz de usuario? Y ¿cuáles de esos objetivos atacamos en esta materia?
      • Mantener una separación entre la lógica de presentación y la lógica de negocio.
      • Separación entre diseño y tecnología.
    • Integración de la interfaz de usuario en la arquitectura de un sistema de software
      • Concepto de arquitectura de software
      • ¿Qué es una arquitectura? Diferentes tipos de arquitectura, en particular arquitectura de sofware y de sistema, que son las que aquí más nos interesan.
      • Integración arquitectural de una interfaz de usuario.
    • Conceptos básicos de diseño: 
      • Consecuencias de la duplicación de lógica.
    • ¿Por qué es tan difícil programar interfaces de usuario?
  • Decisiones de diseño para construir una aplicación
  • Relación con otras áreas de la programación

Ejemplos de clase 

Comenzaremos pensando el dominio de una de las aplicaciones más simples que podemos imaginar: un videoclub.  Como todavía no vimos cuestiones de diseño ni tecnológicas que nos permitan avanzar en la construcción de una interfaz de usuario, la idea es plantear cómo nos gustaría modelar sólo el dominio, para que nos sirva como guía cuando nos metamos en la construcción específica de los elementos de UI.

Material histórico

Los contenidos teóricos de esta unidad se agrupan en los siguientes módulos:
  1. Definiciones Iniciales
  2. Integración de la interfaz de usuario en la arquitectura de un sistema de software
  3. Clasificación de las interfaces de usuario
  4. Problemática general de las interfaces de usuario, elementos a tener en cuenta al programar interfaces de usuario. Criterios de calidad.