Diseño de interfaz gráfica de usuario en el desarrollo de software
En el desarrollo de un producto software el diseño de la interfaz gráfica de usuario tiene un rol muy importante en el momento de establecer una buena comunicación con el cliente y usuario del sistema a construir. En un proceso de construcción de software moderno es necesario incluir al usuario del sistema en el proceso constructivo. En un proceso de desarrollo tradicional se consideraba solamente la realimentación entre las fases de desarrollo. Hay muchos modelos llamados ciclos de vida del desarrollo de software que no incluyen al usuario durante todo el proceso de desarrollo y tienen una mirada muy técnica, tecnológica, basada en normas, estándares y herramientas CASE.
Proceso constructivo tradicional de un producto software
Diseño de Interfaz de usuario
El diseño de interfaces de usuarios en el proceso de desarrollo de software brinda una oportunidad muy buena para establecer en cada fase del desarrollo una comunicación que ayude a mejorar la calidad del producto software que se está construyendo.
Proceso constructivo moderno de desarrollo de un producto software basado en el diseño de la interfaz para usuario
Muchas metodologías orientadas a la gestión de proyectos de construcción de productos software tienen un conjunto de principios que las caracterizan. El conjunto de principios se centran en el cliente.
Los métodos ágiles promueven los siguientes principios y valores
- Valores: http://agilemanifesto.org/iso/es/manifesto.html
- Individuos e interacciones sobre procesos y herramientas
- Software funcionando sobre documentación extensiva
- Colaboración con el cliente sobre negociación contractual
- Respuesta ante el cambio sobre seguir un plan (Los clientes cambian los requerimientos)
- Principios: http://agilemanifesto.org/iso/es/principles.html
- Satisfacer al cliente mediante la entrega temprana y continua de software con valor.
- Aceptar que los requisitos cambian, aprovechar el cambio para proporcionar ventaja competitiva al cliente.
- Entregas de productos software al cliente que sea funcional en tiempos cortos.
- El cliente y usuarios trabajamos juntos de forma cotidiana durante todo el proyecto.
- Los proyectos se desarrollan con clientes, usuarios y equipos de desarrollo motivados.
- Clientes, usuarios y equipos de desarrollo se comunican verbalmente y cara a cara. El software funcionando y probado por el cliente es la medida principal de progreso.
- Los procesos Ágiles promueven el desarrollo sostenible, continuo e indefinido. Los desarrolladores, usuarios y cliente trabajan de forma continua.
- La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
- La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, son esenciales.
- Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
- A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.
El método RUP promueve los siguientes principios
- Principios: https://es.wikipedia.org/wiki/Proceso_Unificado_Racional
- Adaptar el proceso
- El proceso deberá adaptarse a las necesidades del cliente ya que es muy importante interactuar con él.
- Equilibrar prioridades
- Los requisitos de los diversos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados.
- Demostrar valor iterativamente
- Los proyectos se entregan al cliente, aunque sea de un modo interno, en etapas iteradas.
- Colaboración entre equipos
- El desarrollo de software no lo hace una única persona sino múltiples equipos.
- Enfocarse en la calidad
- El control de calidad no debe realizarse al final de cada iteración, sino en todos los aspectos de la producción, entregas funcionales y continuas al cliente.
- Elevar el nivel de abstracción (Usar representaciones visuales para el cliente, usuarios y desarrolladores)
- Este principio dominante motiva el uso de conceptos reutilizables tales como patrones de diseño del software, lenguajes 4GL o esquemas (frameworks) por nombrar algunos. Estos se pueden acompañar por las representaciones visuales de la arquitectura, por ejemplo con UML (Lenguaje Unificado de Modelado), GUI (Interfaz Gráfica de Usuario).
Conclusión
Las interfaces gráficas de usuarios irrumpieron en la sociedad en la década de los 90’ del siglo pasado, tienen más de 30 años de crecimiento y de desarrollo de ingeniería informática. Deben ser valorizadas dentro del proceso de desarrollo de software tradicional y unir a dicho proceso las metodologías modernas de gestión de proyectos.
- Ingeniería del software (cascada, espiral, prototipo, etc.)
- Interfaces gráficas de usuario, GUI (Valorizar el diseño de GUI como herramienta de comunicación con el cliente)
- Proceso de construcción de software ágil (SCRUM, KANBAN, XP, etc.)
- Procesos de construcción de software modernos RUP
- Procesos de modelados de software modernos UML
- Uso de herramientas CASE modernas que brinden soporte a todo el ciclo de vida del desarrollo de software
- JDeveloper 12g de Oracle
- Otras tecnologías …
FIN del artículo.