El documento describe los conceptos básicos de interfaz de usuario en C++, incluyendo el diseño de interfaz de usuario, su importancia, y las reglas para un buen diseño como dejar el control al usuario, reducir la carga de memoria y hacer la interfaz consistente. También introduce la librería wxWidgets para desarrollo de interfaces gráficas en C++ y presenta ejemplos básicos como una calculadora gráfica y una aplicación de bienvenida.
2. Interacción y Usabilidad.
➔ Vivimos en un mundo de productos de alta
tecnología, y virtualmente todos ellos requieren
interacción humana.
➔ Si un producto ha de alcanzar el éxito, debe tener
buena usabilidad: medición cualitativa de la
facilidad y eficiencia con la que un humano emplea
las funciones y características que ofrece el
producto de alta tecnología.
➔ La usabilidad importa, ya sea en una interfaz para
un reproductor de MP3 o un sistema espacial.
3. ¿Qué es el diseño de
interfaz de usuario?
➔ El diseño de la interfaz de usuario crea un medio
eficaz de comunicación entre los seres humanos y
la computadora.
➔ Siguiendo un conjunto de principios de diseño de la
interfaz, el diseño identifica los objetos y acciones
de ésta y luego crea una plantilla de pantalla que
constituye la base del prototipo de la interfaz de
usuario.
4. ¿Por qué es importante la
interfaz de usuario?
➔ Porque si el software es difícil de usar, fuerza al
usuario a cometer errores, o si frustra sus
esfuerzos para alcanzar las metas, entonces no le
gustará, sin que importe el poder computacional
que tenga, el contenido que entregue o las
funciones que ofrezca.
➔ La interfaz tiene que estar bien hecha porque
moldea la percepción que el usuario tiene del
software.
5. Las Reglas del Diseño.
1. Dejar el control al usuario.
2. Reducir la carga de memoria del usuario.
3. Hacer que la interfaz sea consistente.
6. 1.Dejar el control al usuario
“Es mejor diseñar la experiencia del usuario que
corregirla.”
Se preguntó a una usuaria, acerca de la interfaz gráfica:
“Lo que realmente me gustaría”, “es un sistema que lea
mi mente. Que sepa lo que quiero hacer antes de que
necesite hacerlo y que sea fácil.
No hay nada descabellado en la solicitud de la usuaria.
Un sistema que reacciona a sus necesidades y la ayuda
para que las cosas se hicieran.
7. 2. Reducir la necesidad de
que el usuario memorice
➔ Entre más cosas tenga que recordar el usuario,
más fácil será que cometa errores.
➔ Es por esto que una interfaz de usuario bien
diseñada no sobrecarga la memoria del usuario.
➔ Siempre que sea posible, el sistema debe
“recordar” la información pertinente y ayudar al
usuario con un escenario de interacción que lo
ayude a recordar.
8. 3. Hacer consistente la
interfaz
➔ Toda la información debe organizarse de acuerdo
con reglas de diseño que se respeten en todas las
pantallas desplegadas.
➔ Los mecanismos de entrada se limitan a un
conjunto pequeño usado en forma consistente en
toda la aplicación.
➔ Los mecanismos para pasar de una tarea a otra se
definen e implementan de modo consistente.
9. ¿Qué es la Usabilidad?
Es una medida de cuán bien un sistema:
➔ Facilita el aprendizaje.
➔ Ayuda a quienes lo emplean a recordar lo
aprendido.
➔ Reduce la probabilidad de cometer errores.
➔ Permite ser eficientes a los usuarios.
10. Usabilidad
Ventajas
1. Mayor competitividad.
2. Repercusión automática en los medios.
3. Recomendaciones de boca en boca.
4. Menores costos de apoyo.
5. Más productividad del usuario final.
6. Menos costos de capacitación y documentación.
7. Disminución de la probabilidad de litigios por parte
de clientes insatisfechos.
13. Sistema Informático 1.0
1. Agregar 1 botón: Cambiar el nombre: “Salir”
2. Agregar 1 wxStaticText: Cambiar el Nombre: “Sistema
Informático 1.0”
14. Evento Click del Botón
➔ Haciendo click en Salir, hay que llamar a la función Close.
15. Programación por Eventos.
➔ Es un paradigma de programación en el que tanto la
estructura como la ejecución de los programas van
determinados por los sucesos que ocurran en el
sistema, definidos por el usuario.
➔ Al comenzar la ejecución del programa se llevarán a
cabo las inicializaciones y demás código inicial y a
continuación el programa quedará bloqueado hasta que
se produzca algún evento.
➔ Cuando alguno de los eventos esperados por el
programa tenga lugar, el programa pasará a ejecutar el
código del correspondiente administrador de evento.
18. 2.Calculadora Gráfica
1. Agregar 4 botones: suma, resta, multiplicación, división.
2. Agregar 2 TextCtrl y 1 StaticText.
3. Cambiar los nombres de los botones, y otros.
19. Calculadora Gráfica
Doble click sobre el botón de suma:
Se abre automáticamente el evento click de botón:
Agregar el siguiente código:
Repetir el proceso con las demás operaciones.
wxString valor1 = TextCtrl1->GetValue();
wxString valor2 = TextCtrl2->GetValue();
int numero1 = wxAtoi(valor1);
int numero2 = wxAtoi(valor2);
int resultado=numero1 - numero2;
wxString resultado2;
resultado2 << resultado;
StaticText1->SetLabel (_("Resultado:") + resultado2);
20. Superclase y Subclase.
Definiciones.
➔ Una subclase es una clase que desciende de otra
clase. Una subclase hereda el estado y el
comportamiento de todos sus ancestros.
➔ El término superclase se refiere a la clase que es el
ancestro más directo, así como a todas las clases
ascendentes.
21. Herencia en C++.
➔ Consiste en crear nuevas clases partiendo de clases
existentes, que tendrán todas los atributos y los
métodos de su 'superclase' o 'clase padre' y además
se le podrán añadir otros atributos y métodos propios.
➔ Las relaciones de herencia forman estructuras
jerárquicas en forma de árbol.
➔ Una superclase existe en una relación jerárquica con
sus subclases.
➔ En algunos casos, una clase es tanto superclase
como subclase.
22. Ejemplo: Figuras.
➔ Esta jerarquía empieza con la superclase Figura.
➔ Se extiende con FiguraBidimensional y Tridimensional.
➔ El tercer nivel contiene tipos más específicos.
Por ejemplo, un Triángulo es FiguraBidimensional.