viernes, 19 de junio de 2020

Interfaces multimodales

Las interfaces multimodales permiten que los usuarios puedan interactuar con el computador o máquina mediante diversas formas al mismo tiempo como por ejemplo, mediante voz, gestos o tocando algún botón o teclas y recibir de la misma forma una respuesta que emplee diversos métodos visuales, auditivos y/o hápticos.

Esta se puede entender como un proceso de interacción con el entorno virtual y físico a través de diversos modos naturales de comunicación. Esto implica que la interacción multimodal permite una comunicación más libre y natural (usando la voz, movimientos y acciones táctiles), conectando a los usuarios con sistemas automatizados de entrada y salida.

Los sistemas multimodales pueden ofrecer un entorno flexible, eficiente y utilizable que permite a los usuarios interactuar a través de modalidades de entrada, como voz, escritura a mano, gestos y miradas, y recibir información del sistema a través de modalidades de salida, como síntesis de voz, gráficos inteligentes. y otras modalidades, oportunamente combinadas. Luego, un sistema multimodal tiene que reconocer las entradas de las diferentes modalidades combinándolas de acuerdo con restricciones temporales y contextuales para permitir su interpretación. Este proceso se conoce como fusión multimodal, y es objeto de varios trabajos de investigación desde los noventa hasta la actualidad.


Tópicos especiales de interacción

Computación afectiva

Se conoce así al estudio de sistemas y dispositivos que puedan tratar con emociones humanas, en este proceso se encuentras las siguientes disciplinas:
  • La psicología
  • Diseño gráfico
  • Electrónica
  • Ingeniería en ciencias computacionales
  • Ciencia cognitiva
  • Neurociencia
  • Sociología
  • Educación
  • Psicofisiología


En este campo, el sistema o dispositivo, que contendrá algoritmos dentro o haciendo un llamado externo, debe interpretar el estado emocional de una persona y con ello modificar su estado en respuesta a la emoción identificada.



Inteligencia ambiental

Se denomina así a los sistemas que engloban diversos dispositivos y periféricos sensibles a la presencia y estado de ánimo de las personas y responden a estas. Esta tiene aún una visión futurista y aún en prueba por la necesidad de diversos dispositivos que aún no son de uso público como los implantes de chip.

Emplea diversas tecnologías como:
  • Bluetooth
  • RFID
  • Sensores
  • Implantes de chip
Estos ambientes inteligentes pueden detectar a sus usuarios, y activarse de acuerdo a sus necesidades como por ejemplo, desbloquear la puerta al detectar a su dueño, pero no hacerlo si detecta a alguien sospechoso junto a él e informar a la policía, esa sería una de sus múltiples funciones en las que se apoyaría inclusive de la computación afectiva y diversos dispositivos y sensores.



Realidad Mixta

La realidad mixta fusiona dos entornos que son el mundo físico y virtual. Se considera una combinación entre la aplicación de la realidad virtual VR y la realidad aumentada RA. Esta posibilita al usuario una interacción tanto con los equipos como el entornos aprovechando ambas potencialidades.

  • La realidad aumentada es la superposición de gráficos en secuencias de vídeo del mundo físico.
  • La realidad virtual obstruye la visión para presentar un entorno digital. 

La realidad mixta aparece cuando se toma el mundo real y se virtualiza manteniendo al usuario dentro es este, de manera que esta inmerso en esa realidad virtual, pero que es el mundo físico con apariencia digital.

Sin embargo el ambito de la realidad mixta no implica usar ambos conceptos a la vez. Por ello, los dispositivos de esta permiten estar inmerso en una realidad totalmente virtual o agregar elementos digitales al entorno real. Abarca ambas.


Fuente: https://docs.microsoft.com/es-es/windows/mixed-reality/mixed-reality

Retos actuales

Los teléfonos móviles han sido un gran impedimento para el desarrollo de esta tecnología debido a la falta de de funcionalidades de reconocimiento de entorno, ya que no permite combinar la realidad física y la digital, pero poco a poco el mercado se va renovando y ya existen múltiples laboratorio y prototipos para aprovechar este.



Dispositivos

Poder emplear de la realidad mixta implica el uso de ciertos componentes o periféricos como dispositivos holográficos o envolventes, sensores de movimiento, sensores para reconocimiento de entornos, controles hápticos y auditivos.


Fuente: https://docs.microsoft.com/es-es/windows/mixed-reality/mixed-reality

Aplicaciones

Se podría emplear para prácticamente todo, desde simulación hasta apoyo visual o auditivo gracias a la capacidad de abarcar la realidad completamente virtual como la realidad con objetos digitales sobre esta.

Realidad Aumentada

La realidad aumentada es la superposición de imágenes electrónicas sobre el mundo real. De esta forma, la virtualidad y la realidad se encuentran juntas. Para ello, se debe emplear algún periférico que permita esta sincronía como la pantalla de un teléfono inteligente.

Las pantallas de visualización frontal en muchos aviones e incluso algunos automóviles pueden considerarse como un ejemplo de esto, pero los datos en tales pantallas no suelen estar conectados a los objetos que se ven a través de ellos y, por lo tanto, la combinación entre virtualidad y realidad es bastante débil.

En cambio en la aplicación Pokémon Go lanzada en el año 2016 la RA se puede apreciar como una fuerte conexión entre el mundo virtual y real. Esta aplicación emplea la cámara del smartphone de un jugador de manera que le da la sensación al usuario que los personajes de Pokémon están apareciendo en el mundo real.


Funcionamiento

La RA funciona superponiendo elementos digitales en dispositivos y objetos del mundo real. En sus inicios la realidad aumentada era un tópico de experimentación en el campo de la medicina que superponía el cuerpo del paciente con las imágenes de los Rayos X y diversos resultados de equipos de escaneo corporal a fin de proporcionarles mejores resultados y los lleve a mejores diagnósticos.


Retos y futuro

La gran dificultad con tales sistemas es asegurar que el mundo físico y virtual estén correctamente alineados, un problema llamado registro de manera que un objeto virtual interactúa eficientemente con el real. Por ejemplo, un objeto virtual no atraviese una pared.

Para ser útil en la práctica, a menudo se necesitarán técnicas de procesamiento de imágenes para determinar qué es cada objeto y luego se lo use para generar una imagen electrónica apropiada para superponer.


Aplicaciones

Se emplea en diversos campos como el control de tráfico aéreo para los controladores aéreos permitiéndoles reconocer fácilmente aviones aún en condiciones climatológicas como niebla o lluvia mediante la superposición de una imagen virtual fácilmente identificable sobre el ambiente real.

Se emplea actualmente en la navegación de vehículos como los que proveen diversas empresas como WayRay con sistemas holográficos que permiten al conductores recibir mejores ayudas visuales al conducir.

Es un mercado emergente en los videojuegos y donde el ejemplo más claro fue el de Pokemon Go, pero no se ha detenido ahí, su escalda viene suponiendo una aparición de nuevos videojuegos o la adaptación de antiguos videojuegos a este formato.

Continúa siendo un campo de experimentación en los campos de la medicina y en la educación, proveyendo de herramientas que permiten mejorar la experiencia de simulación.


Su aplicación puede ir desde tareas cotidianas hasta muy complejas permitiendo al humano un apoyo visual y de interacción natural.



Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Sharp, H., Rogers, Y. y Preece, J. (2019) INTERACTION DESIGN beyond human-computer interaction. (5a ed.) United States of America: Wiley.


Realidad virtual

La realidad virtual (VR) se refiere a la simulación generada por computadora de un mundo, o un subconjunto de él, en el que el usuario está inmerso. Representa el estado del arte en sistemas multimedia, pero se concentra en los sentidos visuales. La realidad virtual permite al usuario experimentar situaciones que son demasiado peligrosas o caras para ingresar "en persona". Los usuarios pueden explorar el mundo real a una escala diferente y con características ocultas visibles. Alternativamente, los mundos virtuales que se generan pueden sintetizarse por completo: realistas dentro de sí mismos, pero puramente una manifestación de estructuras electrónicas.

El término "realidad virtual" evoca una imagen de un usuario pesado con un casco o gafas, agarrándose, aparentemente a ciegas, al espacio vacío. El usuario, aislado dentro de su entorno virtual, se mueve a través de un paisaje simulado, recogiendo objetos en el camino. Esta es una realidad virtual totalmente inmersiva. Sin embargo, es solo una parte del espectro de la realidad virtual, que también incluye la realidad virtual de escritorio, las situaciones de comando y control y la realidad aumentada, donde la virtualidad y la realidad se encuentran.

Dado que el usuario tiene que "ver" un nuevo entorno, los auriculares generalmente se usan en una configuración de realidad virtual. Con pantallas independientes para cada ojo, con el fin de dar una imagen en 3D, el auricular es a menudo una pieza grande y relativamente engorrosa de equipo montado en la cabeza. Sin embargo, las gafas VR más pequeñas y livianas ahora están disponibles y pronto pueden convertirse en gafas de un tamaño ligeramente mayor.

Tener que producir y renderizar imágenes realistas en tiempo real requiere grandes cantidades de poder de cómputo, y los recursos para un realismo completo rara vez están disponibles; Puede que aún no existan. Esto significa que el mundo habitado por el usuario tiende a ser "bloqueado", con poca variación en la textura e iluminación plana. Esto hace que los cálculos sean mucho más simples y alcanzables. En lo que respecta a la entrada a los sistemas de realidad virtual, a menudo se usa una guante de datos que captura información gestual. La retroalimentación se puede incorporar al guante, de modo que se sienta resistencia al agarrar un objeto virtual. También se pueden incorporar sistemas de reconocimiento de voz y, en general, la retroalimentación de audio se utiliza de una forma u otra. Los auriculares estéreo son una pieza simple del kit de realidad virtual, pero en el otro extremo también está disponible una versión de todo el cuerpo de la guante de datos.

Usos

Se le puede encontrar múltiples usos a la RV entre ellos:

  • Educación: generar simulaciones que permitan a los estudiantes interactuar en un ambiente controlado y ser evaluados de manera mucho más detallada.
  • Medicina: los sistemas de simulación quirúrgica son en esencia los más deseados y que pueden servir tanto para la formación como en operaciones reales posteriormente.
  • Entretenimiento: es el campo más explotado de esta tecnología encontrando gran cantidad de videojuegos y simuladores de ocio.



Componentes requeridos

Para poder emplear esta tecnología se requiere de ciertos elementos como:
  • Gafas: para disfrutar de esta tecnología hacemos uso extensivo del sentido de la vista y por ello se requiere indispensablemente de estos dispositivos que nos muestran la realidad alterna.
  • Sensores de posición: permiten el movimiento a escala de manera que no ponemos en riesgo a una persona o limitamos su movimiento en la RV.
  • Mandos de control: se requiere de algún control háptico para la inmersión en esta tecnología como pueden ser mandos o guantes.
  • Software: acompaña a todos los componentes para conseguir que se ejecuten las rutinas, conexión con dispositivos de red, etc.

Ejemplo de aplicación: Half life Alyx

Half-Life: Alyx es un videojuego perteneciente al género de disparos en primera persona en realidad virtual desarrollado y publicado por Valve Corporation.

Archivo:Half-Life Alyx Logo.png - Wikipedia, la enciclopedia libre

Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.


Computación Ubicua

En un mundo lleno de nuevas tecnologías los humanos se han adaptado a las computadores y demás dispositivos tecnológicos, pero que sucedería si se invierten los papeles y los dispositivos fuesen lo que deben adaptarse e integrarse a la vida humana, en ese momento se comienza a tocar el tema de la computación ubicua.

Dentro del concepto de la computación ubicua, las personas interactúan naturalmente con su entorno mientras la tecnología se vuelve invisible, esto implica que no existe la necesidad de escribir mandatos, simplemente se requiere decir lo que se desea o realizar movimiento, incluso, de acuerdo con el ambiente en que se encuentre la persona, los ordenadores realizarán las tareas que estas necesiten como modificar la temperatura.


Origen

El concepto de computación ubicua surge a finales de la década de los ochenta siendo elaborado por Mark Weiser durante su trabajo en Seros Palo Alto Research Center como jefe de tecnología. Él junto con John Seely Brown, escribieron los primeros ensayos sobre la computación ubicua definiendo y esquematizando su importancia y alcances.


Definición

Mark Weiser acuñó en 1980 el término “ubiquitous computing” (“computación ubicua” o “informática ubicua”) para referirse al proceso por el cual los ordenadores se están integrando perfectamente en el mundo físico. Para Weiser resultaba obvio que cada vez más nos movemos hacia un ambiente de informática ubicua: la presencia de los ordenadores es menos visible, la nueva tecnología se entremezcla discretamente en nuestro día a día, a través de dispositivos integrados en los objetos más cotidianos. Esta tecnología penetrante está totalmente centrada en la persona, lo que implica una nueva forma de interactuar con los ordenadores.

La característica definitoria de la computación ubicua es el intento de romper con el paradigma de interacción de escritorio tradicional y mover la potencia computacional al entorno que rodea al usuario. En lugar de obligar al usuario a buscar y encontrar la interfaz de la computadora, la informática ubicua sugiere que la interfaz en sí misma puede asumir la responsabilidad de localizar y servir al usuario.


Objetivo

La computación ubicua tiene como su principal objetivo la comodidad del hombre, a partir de aquí es donde se especifican algunas propuestas e ideas para el futuro, en donde estas estarán relacionadas con algunos dispositivos que ya podemos conocer hoy en día, pues estos trabajan a mano con el recurso del Internet.

En su esencia, los modelos de computación ubicua comparten una visión donde pequeños dispositivos de cómputo, de bajo costo y con alta conectividad, se encuentran distribuidos en gran escala en elementos cotidianos de la vida diaria para satisfacer cualquier servicio. Por ejemplo: un sistema de refrigeración donde no solo esté consciente del contenido de alimentos, sino también, la capacidad de proponer menús acorde a su contenido y alertar a los usuarios de alimentos en estado de descomposición.


Aplicación: SmartCities

Estas son ciudades que utilizan las tecnologías de la información y comunicación (TIC) con el objetivo de crear mejores infraestructuras para los ciudadanos. Explotando al máximo el Internet de las cosas (IoT)

New Songdo City Parque Central - Foto gratis en Pixabay
Imagen de la ciudad coreana de Songdo, la primera SmartCity de Corea del Sur.


Aplicación: Forecast

Los diseñadores de la empresa Materius han creado Forecast, un paraguas que se conecta vía WiFi a Internet para recoger información sobre predicciones meteorológicas. Si considera que la probabilidad de que llueva es alta, cambia el color del mango, iluminándolo para indicar que sería recomendable salir con él de casa.






miércoles, 10 de junio de 2020

Tecnologías de interacción

Las tecnologías que permiten al ser humano interactuar con los sistemas computacionales la componen todas aquellas que transforman nuestras acciones físicas como pulsaciones, voz, movimientos, etc. en entradas que son procesadas para generar una o más salidas.

Los dispositivos que permiten que esto se lleve a cabo son los periféricos de entrada como:
  • Teclados
  • Ratones de computadora (Mouse)
  • Gamepad
  • Cámara
  • Micrófono
  • Pantallas táctiles

Estas tecnologías han evolucionado a lo largo de nuestra historia en el siguiente orden:

  1. CLI, la interfaz de línea de comandos permite al humano interactuar mediante textos con el computador enviando una serie de comandos, por teclado, con opciones y atributos para recibir una respuesta que generalmente es texto o un sonido.
  2. GUI, la interfaz gráfica de usuario fue la evolución al permitirle al ser humano interactuar usando el mouse y teclado con interfaces gráficas permitiendo una mayor interacción de los sistemas mediante el uso de imágenes y objetos gráficos que tienen como misión representar la información y acciones disponibles para que el usuario seleccione o realice tareas con ellos.
  3. NUI, la interfaz natural de usuario hace uso de tecnologías como las pantallas táctiles que permiten que mediante movimientos gestuales del cuerpo o de alguna de sus partes tales como las manos se realice la interacción. Además, estas son interfaces basadas en gestos.
  4. OUI, la interfaz de usuario orgánica se define como una interfaz de usuario con una pantalla no plana.


Interfaces tangibles (TUI)

El paradigma WIMP ha perdurado durante mucho tiempo en la interacción humano-computadora, este limita al usuario a trabajar en una computadora de escritorio, usando un mouse y un teclado para interactuar con ventanas, íconos, menús y punteros.

Mientras que el diseño detallado se estaba perfeccionando con gráficos cada vez más pulidos, las interfaces WIMP ha resultado en entes indiscutibles sin rivalidad hasta el auge de las tecnologías móviles, de forma que para el uso de estos sistemas, desde herramientas de productividad hasta juegos, se emplearon los mismos dispositivos de entrada genéricos como el teclado, el joystick o mouse, ya que no existían estilos de interacción alternativos.

Un emergente tipo de interfaz posterior a WIMP que se ocupa de proporcionar representaciones tangibles a la información y los controles digitales, lo que permite a los usuarios, literalmente, captar datos con sus manos. Implementados usando una variedad de tecnologías y materiales, las TUI aumentan computacionalmente los objetos físicos al acoplarlos a datos digitales. Sirviendo como representaciones directas y tangibles de la información digital, estos objetos físicos aumentados a menudo funcionan como dispositivos de entrada y salida que proporcionan a los usuarios bucles de retroalimentación paralelos: retroalimentación háptica física y pasiva que informa a los usuarios que cierta manipulación física está completa; y retroalimentación digital, visual o auditiva que informa a los usuarios de la interpretación computacional de su acción.

La interacción con las TUI, por lo tanto, no se limita a lo visual y sentidos auditivos, pero también se basa en el sentido del tacto. Además, las TUI no se limitan a imágenes bidimensionales en una pantalla; La interacción puede volverse tridimensional. Debido a que las TUI son un campo de investigación emergente, el espacio de diseño de las TUI está en constante evolución.


Realidad aumentada

En los sistemas de realidad aumentada, las imágenes electrónicas se proyectan sobre el mundo real: la virtualidad y la realidad se encuentran. Las pantallas de visualización frontal en muchos aviones e incluso algunos automóviles pueden considerarse como un ejemplo de esto, pero los datos en tales pantallas no suelen estar conectados a los objetos que se ven a través de ellos y, por lo tanto, la combinación entre virtualidad y realidad es bastante débil.

Se puede obtener una mayor sensación de conexión utilizando gafas semitransparentes. Los usuarios pueden moverse en el mundo real y ver objetos reales, pero las imágenes de la computadora se reflejan en el interior del vidrio y se superponen a los objetos físicos. Nuevamente, esto se puede usar para mostrar información no relacionada; Por ejemplo, algunas computadoras portátiles permiten a los usuarios leer su correo electrónico mientras caminan. Sin embargo, el verdadero sentido de la reunión de dos mundos se produce cuando la imagen proyectada de alguna manera vincula o hace referencia al objeto que superpone. Por ejemplo, un sistema experimental tiene bolas virtuales, que el usuario puede recoger y lanzar.

Fuente: Google Play Store - Pokemon GO


Ambientes inmersos

Los entornos digitales inmersivos podrían considerarse como sinónimos de realidad virtual, pero sin la implicación de que se está simulando una "realidad" real. Un entorno digital inmersivo podría ser un modelo de realidad, pero también podría ser una interfaz de usuario o abstracción de fantasía completa, siempre que el usuario del entorno esté inmerso en él. La definición de inmersión es amplia y variable, pero aquí se supone que significa simplemente que el usuario siente que es parte del "universo" simulado. El éxito con el que un entorno digital inmersivo puede realmente sumergir al usuario depende de muchos factores, como gráficos de computadora 3D creíbles, sonido envolvente, entrada interactiva del usuario y otros factores como la simplicidad, la funcionalidad y el potencial para el disfrute. Actualmente se están desarrollando nuevas tecnologías que afirman traer efectos ambientales realistas al entorno de los jugadores: efectos como el viento, la vibración de los asientos y la iluminación ambiental.



Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.
  • Shaer, O. y Hornecker, E. (2010) Tangible User Interfaces: Past, Present and Future Directions. Foundations and Trends in HCI (FnT in HCI) 3(1–2), 1–138.
  • Joseph Nechvatal, Immersive Ideals / Critical Distances. LAP Lambert Academic Publishing. 2009, pp. 48-60




WIMP

El éxito de los computadores personales y su rápida proliferación trajo consigo una necesidad de mejorar la forma como la cantidad creciente de usuarios interactúan con los programas. Las interfaces de línea de comandos permitían solo realizar una tarea a la vez (algo muy alejado de la realidad de un usuario).

La aparición de las interfaces WIMP aparecieron por primera vez en el mercado comercial en abril de 1981, cuando Xerox Corporation introdujo el 8010 Star Information System.

Xerox Star 8010 Information System - The Interface Experience ...

Fuente: http://interface-experience.org/objects/xerox-star-8010-information-system/

Este avance permitió que el usuario emplee la computadora personal de la misma forma como lo hace en el mundo físico al realizar múltiples tareas mediante varias ventanas (Windows), así se volvió tan flexible en su capacidad de "cambiar de tarea" como el humano.

Las interfaces WIMP son un tipo de interfaz gráfica de usuario (GUI) cuyas siglas significan:
  • Windows: secciones de la pantalla que se pueden desplazar, estirar, superponer, abrir, cerrar y mover usando un mouse.
  • Icons: pictogramas que representan aplicaciones, objetos, comandos y herramientas que se abren o activan al hacer clic en ellos.
  • Menus: listas de opciones que se pueden desplazar y seleccionar en la forma en que se usa un menú en un restaurante.
  • Pointing device: un mouse que controla el cursor como punto de entrada a las ventanas, menús e íconos en la pantalla.

Las GUI usan un concepto conocido como "What You See Is What You Get" (WYSIWYG) que significa los que tu ves es lo que tú obtienes que tiene como objetivo el de hacer más transparente las interfaces al usuario de manera que resultan mucho más intuitivas y los usuarios con menor experiencia aprendan a usar estos programas con mayor facillidad. Hoy en día, la interacción basada en ventanas, íconos, menús y punteros (WIMP) ahora es común en casi todo computador desde aplicaciones que permiten editar textos hasta videojuegos. Además, estas se han adaptado para dispositivos móviles y pantallas táctiles. De modo que en lugar de usar el mouse y teclado como entrada, la acción predeterminada para la mayoría de los usuarios es deslizar y tocar con un solo dedo al navegar e interactuar con las interfaces.



Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.
  • Sharp, H., Rogers, Y. y Preece, J. (2019) INTERACTION DESIGN beyond human-computer interaction. (5a ed.) United States of America: Wiley.


sábado, 6 de junio de 2020

Evaluación en la IHM

La evaluación no debe considerarse como una sola fase en el proceso de diseño (aún menos como una actividad agregada al final del proceso si el tiempo lo permite). Idealmente, la evaluación debería ocurrir durante todo el ciclo de vida del diseño, con los resultados de la evaluación retroalimentando las modificaciones al diseño.

Generalmente no es posible realizar extensas pruebas experimentales de forma continua a lo largo del diseño, pero se pueden y se deben usar técnicas analíticas e informales. A este respecto, existe un vínculo estrecho entre la evaluación y los principios y las técnicas de creación de prototipos que ya hemos discutido; tales técnicas ayudan a garantizar que el diseño se evalúe continuamente. Esto tiene la ventaja de que los problemas pueden resolverse antes de que se haya gastado un esfuerzo considerable y recursos en la implementación en sí: es mucho más fácil cambiar un diseño en las primeras etapas de desarrollo que en las etapas posteriores.

Se puede hacer una amplia distinción entre la evaluación realizada por el diseñador o un experto en usabilidad, sin la participación directa de los usuarios, y la evaluación que estudia el uso real del sistema. El primero es particularmente útil para evaluar los primeros diseños y prototipos; este último normalmente requiere un prototipo o implementación que funcione. Sin embargo, esta es una distinción amplia y, en la práctica, el usuario puede participar en la evaluación de ideas de diseño tempranas (por ejemplo, a través de grupos focales), y el análisis basado en expertos se puede realizar en sistemas completos, como una evaluación de usabilidad rápida y barata . Consideraremos las técnicas de evaluación bajo dos grandes títulos: análisis de expertos y participación de los usuarios.

Sin embargo, antes de analizar técnicas específicas, consideraremos por qué hacemos una evaluación y qué estamos tratando de lograr.


Objetivos de la evaluación

La evaluación tiene tres objetivos principales:
  • evaluar el alcance y la accesibilidad de la funcionalidad del sistema, 
  • evaluar la experiencia de los usuarios de la interacción e 
  • identificar cualquier problema específico con el sistema.


Why, What, Where, & When

La realización de evaluaciones implica comprender no solo por qué la evaluación es importante, sino también qué aspectos evaluar, dónde debe realizarse la evaluación y cuándo evaluar.


¿Por qué evaluar?

La experiencia del usuario involucra todos los aspectos de la interacción del usuario con el producto. Hoy en día, los usuarios esperan mucho más que un simple sistema utilizable: también buscan una experiencia agradable y atractiva de más productos. La simplicidad y la elegancia se valoran para que el producto sea una alegría de poseer y usar.


Qué evaluar

Qué evaluar abarca desde prototipos de baja tecnología hasta sistemas completos, desde una función de pantalla particular hasta todo el flujo de trabajo, y desde el diseño estético hasta las características de seguridad. Los desarrolladores de un nuevo navegador web pueden querer saber si los usuarios encuentran elementos más rápido con su producto.


Dónde evaluar

El lugar donde se realiza la evaluación depende de lo que se evalúa. Algunas características, como la accesibilidad web, generalmente se evalúan en un laboratorio porque proporciona el control necesario para investigar sistemáticamente si se cumplen todos los requisitos. Esto también es cierto para las opciones de diseño, como elegir el tamaño y la disposición de las teclas para un dispositivo portátil pequeño para jugar.


Cuando evaluar

La etapa en el ciclo de vida del producto cuando se realiza la evaluación depende del tipo de producto y del proceso de desarrollo que se sigue. Por ejemplo, el producto que se está desarrollando podría ser un concepto nuevo, o podría ser una actualización de un producto existente. También podría ser un producto en un mercado que cambia rápidamente y que necesita ser evaluado para ver qué tan bien el diseño satisface las necesidades actuales y previstas del mercado. Si el producto es nuevo, generalmente se invierte un tiempo considerable en la investigación de mercado y el descubrimiento de los requisitos del usuario.

jueves, 21 de mayo de 2020

Trabajo Cooperativo Asistido por Computadora (CSCW)

Por sus siglas en inglés significa: Computer-Supported Cooperative Work (CSCW).

Introducción al CSCW

En la informática durante la década de 1960 fue el establecimiento de las primeras redes de computadoras que permitieron la comunicación entre máquinas separadas. La informática personal se trataba de proporcionar a las personas suficiente potencia informática para que se liberaran de los terminales tontos que operaban en un sistema de tiempo compartido. Es interesante notar que a medida que las redes de computadoras se generalizaron, las personas retuvieron sus poderosas estaciones de trabajo, ¡pero ahora querían reconectarse con el resto de las estaciones de trabajo en su entorno de trabajo inmediato, e incluso en todo el mundo! Un resultado de esta reconexión fue el surgimiento de la colaboración entre individuos a través de la computadora, llamada trabajo cooperativo respaldado por computadora, o CSCW.


Sistemas CSCW y sistemas interactivos

La principal distinción entre los sistemas CSCW y los sistemas interactivos diseñados para un solo usuario es que los diseñadores ya no pueden descuidar la sociedad en la que opera un solo usuario. Los sistemas CSCW están diseñados para permitir la interacción entre humanos a través de la computadora y, por lo tanto, las necesidades de muchos deben estar representadas en un solo producto. Un buen ejemplo de un sistema CSCW es el correo electrónico (correo electrónico), otra metáfora por la cual las personas en ubicaciones separadas físicamente pueden comunicarse a través de mensajes electrónicos que funcionan de manera similar a los sistemas postales convencionales. Un usuario puede redactar un mensaje y "publicarlo" en otro usuario (especificado por su dirección de correo electrónico). Cuando el mensaje llega al sitio del usuario remoto, se le informa que ha llegado un nuevo mensaje a su "buzón". Luego puede leer el mensaje y responder como lo desee. Aunque el correo electrónico sigue el modelo de los sistemas postales convencionales, su principal ventaja es que a menudo es mucho más rápido que el sistema tradicional (en broma a los devotos por correo electrónico como "correo postal"). Los tiempos de comunicación entre sitios en todo el mundo están en el orden de minutos, en lugar de semanas.


Correo electrónico como parte del CSCW

El correo electrónico es una instancia de un sistema CSCW asíncrono porque los participantes en el intercambio electrónico no tienen que estar trabajando al mismo tiempo para que se entregue el correo. La razón por la que usamos el correo electrónico es precisamente por sus características asincrónicas. Todo lo que necesitamos saber es que el destinatario eventualmente recibirá el mensaje. Por el contrario, podría ser deseable para la comunicación sincrónica, que requeriría la participación simultánea del remitente y el destinatario, como en una conversación telefónica.


Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.


Ayudas y accesibilidad en la IHM

Tratar con la ayuda y accesibilidad en la interacción hombre-computador implica más que brindar soporte y apoyo a personas con cierta discapacidad para el uso de los sistemas computacionales. Este implica facilitar el uso de estos sistemas a todos los usuarios.

Para ello, una guía que se puede seguir es la de los principios del diseño universal de Ron Mace (Centro para el diseño universal, Universidad Estatal de Carolina del Norte):

Principio Descripción
Uso equitativo El diseño es útil y comercializable para personas con habilidades diversas
Flexibilidad de uso El diseño se adapta a una amplia gama de individuos, preferencias y habilidades.
Uso simple e intuitivo El uso del diseño es fácil de entender, independientemente de la experiencia, el conocimiento, las habilidades lingüísticas del usuario o nivel de concentración actual.
Información perceptible El diseño comunica la información necesaria efectivamente para el usuario, independientemente del ambiente condiciones o habilidades sensoriales del usuario.
Tolerancia al error El diseño minimiza los riesgos y los efectos adversos, consecuencias de acciones accidentales o no intencionadas.
Bajo esfuerzo físico. El diseño se puede utilizar de manera eficiente y cómoda con un mínimo de fatiga
Tamaño y espacio de aproximación y uso. Se proporciona el tamaño y el espacio adecuados para el acercamiento, el alcance, la manipulación y el uso, independientemente del tamaño del cuerpo, la postura o la movilidad del usuario.


En lo concerniente a las páginas web, la W3C propone una serie de guías y principios mediante la publicación de diversas de estas como la Web Content Accessibility Guidelines (WCAG) 2.1 que en forma resumida da estos 4 principios con sus respectivas pautas:
  • Principio 1: Perceptible
    • Proporcione alternativas de texto para contenido que no sea de texto.
    • Proporcione subtítulos y otras alternativas para multimedia.
    • Cree contenido que se pueda presentar de diferentes maneras, incluso mediante tecnologías de asistencia, sin perder el significado.
    • Facilite a los usuarios ver y escuchar contenido.
  • Principio 2: Operable
    • Haga que toda la funcionalidad esté disponible desde un teclado.
    • Dé a los usuarios suficiente tiempo para leer y usar contenido.
    • No use contenido que cause convulsiones o reacciones físicas.
    • Ayuda a los usuarios a navegar y encontrar contenido.
    • Facilite el uso de entradas que no sean el teclado.
  • Principio 3: Comprensible
    • Haga que el texto sea legible y comprensible.
    • Hacer que el contenido aparezca y funcione de manera predecible.
    • Ayuda a los usuarios a evitar y corregir errores.
  • Principio 4: Robusto
    • Maximice la compatibilidad con las herramientas de usuario actuales y futuras.


Las pautas que indican estos principios no garantizan una navegación o interacción eficiente entre los usuarios y los sistemas, pues recordemos que el usuario no debe ser tratado como un experto o parte del equipo de desarrollo y en casos particulares ser un problema medular en el uso del sistema. Por ello, se debe realizar pruebas en estos usuarios si fuese posible para mitigar estos problemas.



Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • World Wide Web Consortium [W3C]. (2008). WCAG 2.1 at a Glance. Recuperado de: https://www.w3.org/WAI/standards-guidelines/wcag/glance/ 
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.



sábado, 16 de mayo de 2020

Parte humana de la Interacción

Los humanos tienen una capacidad limitada para procesar información. Esto tiene implicaciones importantes para el diseño.

Se recibe información y se dan respuestas a través de una serie de canales de entrada y salida:
  • canal visual
  • canal auditivo
  • canal háptico
  • movimiento.



La información se almacena en la memoria:
  • memoria sensorial
  • memoria a corto plazo (de trabajo)
  • memoria a largo plazo.



La información se procesa y aplica:
  • razonamiento
  • resolución de problemas
  • adquisición de habilidades
  • error


La emoción influye en las capacidades humanas.

Los usuarios comparten capacidades comunes pero son individuos con diferencias, que no deben ignorarse.

La interacción de una persona con el mundo exterior se produce a través de la información que se recibe y se envía: entrada y salida. En una interacción con una computadora, el usuario recibe información emitida por la computadora y responde proporcionando información a la computadora: la salida del usuario se convierte en la entrada de la computadora y viceversa. En consecuencia, el uso de los términos entrada y salida puede generar confusión, por lo que borraremos un poco la distinción y nos concentraremos en los canales involucrados.

Este desenfoque es apropiado ya que, aunque un canal en particular puede tener un rol principal como entrada o salida en la interacción, es más que probable que también se use en el otro rol. Por ejemplo, la vista se puede usar principalmente para recibir información de la computadora, pero también se puede usar para proporcionar información a la computadora, por ejemplo, fijándose en un punto de pantalla particular cuando se usa un sistema de observación visual.

Visión

La visión humana es una actividad altamente compleja con un rango de limitaciones físicas y perceptivas, sin embargo, es la fuente principal de información para la persona promedio.
Podemos dividir aproximadamente la percepción visual en dos etapas: la recepción física del estímulo del mundo exterior y el procesamiento e interpretación de ese estímulo. Por un lado, las propiedades físicas del ojo y del sistema visual significan que hay ciertas cosas que el ser humano no puede ver; Por otro lado, las capacidades interpretativas del procesamiento visual permiten construir imágenes a partir de información incompleta.

Necesitamos entender ambas etapas ya que ambas influyen en lo que puede y no puede ser percibido visualmente por un ser humano, lo que a su vez afecta directamente la forma en que diseñamos los sistemas informáticos. Comenzaremos mirando el ojo como un receptor físico y luego consideraremos el procesamiento involucrado en la visión básica.

Las capacidades y limitaciones del procesamiento visual.

Al considerar la forma en que percibimos las imágenes, ya hemos encontrado algunas de las capacidades y limitaciones del sistema de procesamiento visual humano. Sin embargo, nos hemos concentrado principalmente en la percepción de bajo nivel.

El procesamiento visual implica la transformación e interpretación de una imagen completa, a partir de la luz que se arroja a la retina. Además, nuestras expectativas afectan la forma en que se percibe una imagen. Por ejemplo, si sabemos que un objeto es de un tamaño particular, lo percibiremos como ese tamaño sin importar cuán lejos esté de nosotros.

El procesamiento visual compensa el movimiento de la imagen en la retina que ocurre cuando nos movemos y el objeto que vemos se mueve. Aunque la imagen retiniana se está moviendo, la imagen que percibimos es estable. Del mismo modo, el color y el brillo de los objetos se perciben como constantes, a pesar de los cambios en la luminancia.

El oído humano

Así como la visión comienza con la luz, el oído comienza con las vibraciones en el aire o las ondas sonoras. El oído recibe estas vibraciones y las transmite, a través de varias etapas, a los nervios auditivos. El oído comprende tres secciones, comúnmente conocidas como oído externo, oído medio y oído interno.

Procesamiento de sonido

Como hemos visto, el sonido son cambios o vibraciones en la presión del aire. Tiene una serie de características que podemos diferenciar. Pitch es la frecuencia del sonido. Una frecuencia baja produce un tono bajo, una frecuencia alta, un tono alto. El volumen es proporcional a la amplitud del sonido; La frecuencia permanece constante. El timbre se relaciona con el tipo de sonido: los sonidos pueden tener el mismo tono y sonoridad, pero están hechos por diferentes instrumentos y, por lo tanto, varían en el timbre. También podemos identificar la ubicación de un sonido, ya que los dos oídos reciben sonidos ligeramente diferentes, debido a la diferencia de tiempo entre el sonido que llega a los dos oídos y la reducción en la intensidad causada por las ondas de sonido que se reflejan desde la cabeza.

El oído humano puede escuchar frecuencias de aproximadamente 20 Hz a 15 kHz. Puede distinguir cambios de frecuencia de menos de 1.5 Hz a bajas frecuencias, pero es menos preciso a altas frecuencias. Las diferentes frecuencias desencadenan actividad en las neuronas en diferentes partes del sistema auditivo y causan diferentes tasas de activación de los impulsos nerviosos.

Tacto

El tercero y último de los sentidos que consideraremos es el tacto o la percepción háptica. Aunque este sentido a menudo se considera menos importante que la vista o el oído, imagine la vida sin él. Touch nos proporciona información vital sobre nuestro entorno.

Nos indica cuándo tocamos algo caliente o frío y, por lo tanto, puede actuar como una advertencia. También nos proporciona retroalimentación cuando intentamos levantar un objeto, por ejemplo. Considere el acto de recoger un vaso de agua. Si solo pudiéramos ver el vidrio y no sentir cuando nuestra mano hizo contacto con él o sentir su forma, la velocidad y la precisión de la acción se reducirían. Esta es la experiencia de los usuarios de cierta realidad virtual.

juegos: pueden ver los objetos generados por computadora que necesitan manipular pero no tienen la sensación física de tocarlos. ¡Mirar a estos usuarios puede ser una experiencia informativa y divertida! Por lo tanto, el tacto es un medio importante de retroalimentación, y esto no es menos en el uso de sistemas informáticos. Sentir que se presionan los botones es una parte importante de la tarea de presionar el botón. Además, debemos ser conscientes de que, aunque para la persona promedio, la percepción háptica es una fuente secundaria de información, para aquellos cuyos otros sentidos están alterados, puede ser de vital importancia. Para dichos usuarios, las interfaces como el braille pueden ser la principal fuente de información en la interacción. Por lo tanto, no debemos subestimar la importancia del tacto.




Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.


sábado, 9 de mayo de 2020

Prototipos

La palabra prototipo se define como: "Primer ejemplar que se fabrica de una figura, un invento u otra cosa, y que sirve de modelo para fabricar otras iguales, o molde original con el que se fabrica."

Dentro de la ingeniería de Software y el desarrollo de este, se entiende a un prototipo como un modelo del comportamiento del sistema. Este modelo puede ser empleado para comprender el sistema completo o algunos de sus aspectos para refinar los requisitos.

Dentro de la IHC un prototipo es una representación de un sistema, aunque no es un sistema completo, posee las características del sistema final o parte de ellas. Por ello, se dice que es un diseño experimental, generalmente incompleto, que puede usarse de dos maneras según la etapa de diseño en que se lleva a cabo.
  • Al principio del proceso de diseño, se puede utilizar para comunicar y compartir ideas entre el diseñador de la interfaz de usuario y los usuarios y las partes interesadas, de modo que se puedan aclarar los requisitos.
  • Más adelante en el proceso de diseño, puede usarse para explorar y demostrar la interacción y la coherencia del diseño.

Propósitos de los prototipos

  • Comprobar la viabilidad de las ideas con los usuarios.
  • Comprobar la utilidad de la aplicación.
  • Permitir a los usuarios contribuir al diseño de la aplicación.
  • Permitir a los usuarios probar ideas
  • Validar los requisitos (es decir, revelar requisitos inconsistentes o incompletos)
  • Para negociar requisitos


Prototipo de baja fidelidad
Prototipo de alta fidelidad
Los prototipos de baja fidelidad generalmente se basan en papel e incluyen bocetos, maquetas de pantallas y guiones gráficos. Se pueden crear a mano, pero también se pueden crear usando un paquete de dibujo como Paint o PowerPoint y luego se imprimen para probar con los usuarios.

Los prototipos de baja fidelidad son útiles en la fase de recopilación de requisitos del diseño de la interfaz de usuario. Se pueden utilizar como medio de comunicación entre usted y los usuarios y las partes interesadas. Los prototipos de baja fidelidad también ayudan a los usuarios y partes interesadas a articular lo que quieren y necesitan de un sistema, ya que les resultará más fácil hablar sobre algo visual y concreto en lugar de ideas conceptuales (o mentales abstractas), que pueden ser más difíciles de compartir .

Los prototipos de baja fidelidad se pueden usar para ilustrar ideas de diseño, diseños de pantalla y alternativas de diseño. Si bien pueden dar a los usuarios una indicación de la apariencia de la interfaz de usuario, solo proporcionan detalles limitados sobre cómo funcionará la interfaz de usuario o cómo se pueden realizar las tareas.
Los prototipos de alta fidelidad, que se basan en software, proporcionan una versión funcional del sistema con la que los usuarios pueden interactuar. El usuario puede experimentar la apariencia del sistema final. Se pueden realizar pruebas de usabilidad.

En esencia, un prototipo de alta fidelidad se ve y se comporta como si fuera el producto final y puede usarse como una herramienta para comercializar el producto final. Anteriormente, la construcción de prototipos de alta fidelidad era costosa y lenta; Sin embargo, esto ya no es el caso. Las aplicaciones de software como Microsoft PowerPoint y lenguajes como Visual Basic y HTML han facilitado la producción de prototipos de alta fidelidad de forma económica y rápida.

Si es factible, la creación de prototipos de alta fidelidad puede cumplir un papel importante en la prueba de diseños con usuarios y en la validación de requisitos.


Los prototipos en papel son rápidos y económicos, y pueden proporcionar información valiosa. Pero no demuestran funcionalidad. Para esto, debemos recurrir a la creación de prototipos de alta fidelidad.

Asegurar que un sistema propuesto tenga la funcionalidad necesaria para las tareas que los usuarios desean realizar es una parte importante de la recopilación de requisitos y el análisis de tareas.

Las métricas de usabilidad también se pueden probar con un prototipo funcional.




Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.


Diseño de la interacción y de Software

En la construcción de Software, uno de los principales procesos que encontramos son: el análisis y diseño del software. Donde a grandes rasgos la función del análisis es la de dar soporte al desarrollo de un producto de software.


Diseño de software

Esta fase o parte del ciclo de desarrollo de Software que aparece prácticamente en todas las metodologías de desarrollo tiene como propósito el de especificar la estructura interna y los detalles de procesamiento de un sistema. Además, se encarga de proporcionar un estudio sobre porque son tomadas las decisiones en el diseño.

El objetivo de los diseñadores de software es el de producir un modelo o la representación de una entidad que se codificará posteriormente en las fases subsiguientes.


La interacción

Dentro de la IHC, el tema sobre el cuál gira todo es ​​en cómo el usuario humano usa a la computadora como si esta fuese una herramienta para llevar a cabo determinadas tareas, optimizarlas o como un soporte a estas. Para hacer posible que esto suceda, el usuario debe comunicar sus requisitos a la computadora de diversas formas que pueden incluir mucha o poca interacción. Por ello, resulta importante definir a la interacción en este contexto.

Se define así a la interacción en la IHC como la comunicación entre los usuarios y la computadora y/o sus programas.




Diseño de la interacción

El diseño de interacción consiste en crear intervenciones en situaciones a menudo complejas utilizando tecnología de muchos tipos, incluido el software para PC, la web y dispositivos físicos.

Para poder realizar un diseño de interfaz de usuario es de vital importancia entender como los usuarios interactúan con los sistemas computacionales. Por ello, es imperativo entender el "Ciclo de acción humana" y sus detalles.


Ciclo de acción humana
El flujo de las actividades en el ciclo de acción humana se ilustra en
  • Determina un objetivo.
  • Crea y ejecuta acciones para alcanzar dicho objetivo.
  • Percibe e interpreta el resultado de ejecutar acciones para ver si el objetivo se logrará como se esperaba.
  • Reconoce que si el objetivo no se puede lograr, es posible que deba reformularse y que se repita el ciclo para alcanzarlo.
El ciclo de acción humano involucra actividades cognitivas y físicas.


Es importante así, examinar primero los objetivos del usuario, y que la interfaz sea de utilidad para que alcance esos objetivos y pueda validarlos.


El proceso de diseño de la interacción
Similar al ciclo de desarrollo de Sofwtare se resume en algunas fases que son:


  • Requisitos: La pregunta principal aquí es: ¿Qué se quiere? La primera etapa es establecer qué se necesita exactamente.
  • Análisis: Luego de llevar a cabo una observación y entrevistas, sus resultados deben ordenarse de alguna manera para resaltar los problemas clave y comunicarse con las etapas posteriores del diseño.
  • Diseño: es una etapa central donde se busca pasar de lo que se quiere a cómo hacerlo posible. Para ello, existen una gran cantidad de reglas, estándares, métodos, etc. que se deben adaptar de acuerdo con el tipo de usuario.
  • Iteración y creación de prototipos. En esta fase debemos comprender que los humanos son complejos y no podemos esperar obtener diseños correctos la primera vez. Por lo tanto, necesitamos evaluar un diseño para ver qué tan bien está funcionando y dónde puede haber mejoras.
  • Implementación y despliegue: Una vez alcanzado un diseño favorable a nuestros objetivos, necesitamos crearlo e implementarlo. Esto implicará escribir código, tal vez hacer Hardware, escribir documentación y manuales, todo lo que entra en un sistema real que se puede dar a otros.


Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.


Usabilidad del Software

Para que un sistema interactivo cumpla sus objetivos tiene que ser usable y accesible a la mayor parte de la población humana

La Norma ISO 9241 que se encuentra enfocada a la calidad en usabilidad y ergonomía tanto de hardware como de software, define a la usabilidad como: "the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use."

Lo que nos indica que la usabilidad es el grado en que un producto puede ser utilizado por usuarios específicos para lograr determinados objetivos específicos cumpliendo con:

  • Efectividad
  • Eficiencia
  • Satisfacción 
Todo esto realizado dentro de un contexto de uso específico de dicho Hardware o Software.

Calidad de Software y la usabilidad

El estandar ISO/IEC 9126 menciona a la usabilidad como la capacidad de un software de ser comprendido, aprendido, usado y ser atractivo para el usuario, en condiciones específicas de uso. Posteriormente, este fue reemplazado en el 2005 por el estándar ISO/IEC 25000 SQuaRE (System and Software Quality Requirements and Evaluation) que es una familia de normas que tiene por objetivo la creación de un marco de trabajo común para evaluar la calidad del producto software y actualmente tienen una acepción de usabilidad en el contexto de la creación de Software idéntica a la del ISO 9241 indicando características de esta que son:

  • Reconocibilidad de adecuación: grado en que los usuarios pueden reconocer si un producto o sistema es apropiado para sus necesidades.
  • Capacidad de aprendizaje: grado en que usuarios específicos pueden usar un producto o sistema para lograr los objetivos específicos de aprender a usar el producto o sistema con efectividad, eficiencia, libertad de riesgos y satisfacción en un contexto de uso específico.
  • Operabilidad: grado en que un producto o sistema tiene atributos que facilitan su operación y control.
  • Protección contra errores del usuario: grado en que un sistema protege a los usuarios contra errores.
  • Estética de la interfaz de usuario: grado en que una interfaz de usuario permite una interacción agradable y satisfactoria para el usuario.
  • Accesibilidad: grado en que un producto o sistema puede ser utilizado por personas con la más amplia gama de características y capacidades para lograr un objetivo específico en un contexto de uso específico.

Usabilidad en el desarrollo de Software

Es sabido que la usabilidad se enfoca en medir la satisfacción del usuario, y dentro de las etapas de desarrollo de Software, de debe implementar según el modelo elegido en las etapas correspondientes (generalmente en la etapa de pruebas) o fases (como en las metodologías RUP o UP). Para ello, se emplean diversos métodos heurísiticos donde se evalúa a grupos de usuarios interactuando con el programa definiendo algunas reglas como márgenes de tiempo, criterios predefinidos, etc.

Es así que la usabilidad debería medir como prioridad lo relacionado a:

  • Interfaces de usuario
  • Adaptación del sistema a la tarea
  • Costo de aprendizaje
  • Adaptación a estándares
  • Documentación
Existen diversos estándares y normas que deben seguirse a fin de crear diversas herramientas que nos permiten evaluar la usabilidad de un Software o programa.



Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.


Diseño de interfaces de usuario

Para definir una interfaz de usuario, se debe recordad el significado de "interfaz" que dice: "superficie de contacto entre dos entidades", de forma que en nuestra vida estamos en contacto permanente con diversas interfaces como las puertas, timones, pedales, teclados, micrófonos, etc.

De estos ejemplos, se define a la interfaz de usuario (IU o UI) como el medio o espacio en que el usuario puede comunicarse con una máquina, es decir donde se produce la interacción para que el usuario pueda tener control o poder sobre la máquina.

Dentro de la computación e informática, las IU son las partes del sistema con las que el usuario
entra en contacto de forma física (interactúa con teclados, pantallas, etc) y cognitiva (El usuario debe comprender como interactuar). Además, podemos encontrar que tenemos interfaces de Software y de Hardware o híbridas que resultan en tres tipos fundamentales de interfaces que son:

  • Interfaz de línea de comandos - CLI, la interacción es principalmente textual mediante instrucciones.
  • Interfaz gráfica de usuario - GUI, la interacción se propicia gracias a la representación gráfica que el usuario puede visualizar en pantalla.
  • Interfaz natural de usuario - NUI, la interacción es inherente al mismo ser humano mediante voz, movimientos o táctil.

Toda UI debe ser usable, intuitiva y útil.


Importancia de las IU

Para todo tipo de programa o máquina la forma como el usuario se comunica es sumamente importante. Por ello, la interfaz de usuario es una parte vital en estos. Se han atribuido numerosos accidentes y desastres al diseño de la interfaz de usuario.

Una IU deficiente es la culpable de provocar mayores tasas de error, mayores costos de capacitación y un rendimiento reducido. Esto se transforma para las empresas en sobre-costos y en los usuarios genera estrés o que no se emplee la herramienta creada.


Diseño de interfaces de usuario

Partiendo de la palabra diseño, tenemos que se define como: "actividad creativa que tiene por fin proyectar objetos que sean útiles y estéticos", uniendo esto a las IU tenemos que es una disciplina que se encarga de definir la forma, función, utilidad, disposición y otros aspectos relevantes que afectan a la apariencia externa de las IU de una máquina o sistema con el objetivo de hacer que la interacción del usuario sea lo más simple y eficiente posible (usable).

El diseño de interfaces de usuario usables se cimienta en diversas disciplinas que incluyen la ciencia computacional, psicología cognitiva y diseño gráfico.


Diferencia entre el diseño de IU y la IHC

Ambos emplean a otras disciplinas como la psicología o la erganomía para sus fines, pero mientras que la IHC estudia como los humanos interactúan con las computadoras y sus sistemas, el diseño de IU es una disciplina orientada a la creación de IU que permiten una mejor interacción de los usuarios con los sistemas computacionales.




Fuentes:

  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.
  • Stone, D., Jarret, C., Woodroffe, M. y Minocha, S. (2005). User Interface Design and Evaluation. United States of America: Elsevier.


lunes, 27 de abril de 2020

Programación orientada a objetos

Para entender la programación orientada a objetos (POO) es necesario tener conocimiento de las definiciones de:
  • Arquitectura orientada a objetos
  • Análisis orientado a objetos
  • Diseño orientado a objetos
  • Lenguaje orientado a objetos
  • Metodología de desarrollo orientado a objetos
Para ver la definición de clases y objetos has clic aquí.


Arquitectura orientada a objetos

La arquitectura del software orientado a objetos da como resultado una serie de subsistemas en capas que encapsulan clases colaboradoras. Cada uno de estos elementos de sistema (subsistemas y clases) realiza funciones que ayudan a lograr los requerimientos del sistema.


Análisis orientado a objetos

analiza los requisitos desde una óptica de clases y objetos que encontrará durante los flujos de trabajo fundamentales de requisitos y análisis


Lenguaje orientado a objetos

Según el Institute of Electrical and Electronics Engineers (IEEE) son todos aquellos lenguajes de programación que permiten al usuario expresar un programa en términos de objetos y mensajes entre estos. Tenemos entre ellos a:
  • Java
  • PHP
  • C#
  • etc.

Diseño orientado a objetos

Según el IEEE el diseño orientado a objetos es una técnica de desarrollo de software en la cual un sistema o componente de este se expresa en términos de objetos y conexiones entre estos.


Metodología de desarrollo orientado a objetos

Es un enfoque de desarrollo que tiene como eje las abstracciones de objetos y clases, así como el uso de módulos para poder analizar y diseñar un software mediante el análisis y diseño orientado a objetos y posteriormente con ello desarrollar dicho sistema mediante la programación orientada a objetos que debe soportar como mínimo el encapsulamiento, herencia y polimorfismo. Para continuar luego con las demás fases de desarrollo.

Clases y objetos en POO

Objetos

Un objeto es:
  • La unidad básica de construcción en la programación orientada a objetos POO.
  • La abstracción de un concepto del mundo real contemplando sus atributos y las operaciones disponibles que realiza. 
  • Un módulo (identidad) que contiene atributos (estado) y métodos (comportamiento), visto como programa.
  • La instancia de una clase.

Atributos y métodos

  • Los atributos son las características o atributos que posee un objeto, deben declararse en la clase. Por ejemplo: el color, la profesión, número de hijos, edad, fecha de nacimiento, etc. son atributos de un objeto.
  • Los métodos son las operaciones o  comportamientos que posee un objeto, deben declararse en la clase. Por ejemplo: 

Clases

Las clases son:
  • Las definiciones de estructura y comportamiento abstracto que servirá posteriormente para la creación de objetos.
  • Abstracciones que definen a un determinado tipo de objetos, como si fueran plantillas.

Consideraciones

  • Cuando se crea un objeto, primero se debe definir a la clase.
  • Los objetos al crearse reciben un "nombre" que es su identidad y permanece inalterado aún cuando se realicen cambios en su estado. 
  • El proceso de creación de un objeto se conoce como instanciación.


domingo, 29 de marzo de 2020

Introducción al lenguaje unificado de modelado UML

Comprender que es exactamente el Lenguaje Unificado de Modelado (UML) resulta una tarea relativamente compleja si no realizamos una analogía a otras ciencias como la Ingeniería Civil, en ella se establece una serie de planos o documentos que especifican las características y demás de una obra que se va a construir. En las ciencias computacionales (Ing. de Software, Informática, etc.) se requiere artefactos similares que especifiquen las características, componentes y funcionamiento de un proyecto de software. De ahí parte una interrogante ¿Cómo estandarizar estos "planos"? Y la respuesta es un lenguaje gráfico de propósito general al que llamamos UML y que tiene como objetivos:
  • Especificar
  • Visualizar
  • Construir
  • Documentar
A todos los artefactos de un proyecto de software. Siendo independiente de la metodología de desarrollo de software a emplear. Aunque, la más empleada en conjunto es el Proceso Unificado de Desarrollo (UP o RUP).

UML incluye diversos conceptos semánticos, de notación y de principios generales que acompañan todas las fases de desarrollo. Este tiene partes estáticas, dinámicas, de entorno y organizativas. Se debe resaltar que la especificación de UML no define o pretende ser un proceso estándar, pues los métodos de desarrollo son casi únicos en cada proyecto a diferencia de lo que sucede en otras disciplinas que tienen antigüedades de hasta milenios, pero está orientado a dar apoyo a la mayoría de los procesos de desarrollo orientados a objetos existentes. Esto implica que esta íntimamente ligado a los lenguajes orientados a objetos.

UML nace al unificar tres metodologías de desarrollo orientado a objetos que son: OMT, Bootch y OOSE en una sola durante la década de los 90 que fue formalmente presentado en 1997.

Las versiones de UML fueron la 1.1, 1.5 y actualmente la 2.0 y posteriores hasta el 2015 con la versión 2.1.5

En UML existen tres áreas principales que se subdividen en vistas y estas tienen sus artefactos, llamados diagramas. Cada diagrama tiene sus propias características y sirven a determinados fines.

Área principal Vista Diagrama
Estructural Vista estática Diagrama de clases
Vista de diseño Estructura interna
Diagrama de colaboración
Diagrama de componentes
Vista de casos de uso Diagrama de casos de uso
Dinámica Vista de máquina de estado Diagrama de máquina de estados
Vista actividad Diagrama de actividad
Vista de interacción Diagrama de secuencia
Diagrama de comunicación
Física Vista de despliegue Diagrama de despliegue
Gestión del modelo Vista de gestión del proyecto Diagrama de paquetes

En conclusión, UML es un lenguaje gráfico que nos brinda un estándar en la construcción de los diversos artefactos de un sistema. Estos artefactos pueden describir los procesos del negocio, los componentes internos, la forma como interactúa con el usuario, los dispositivos, etc.


Fuentes:

  • Rumbaugh, J., Jacobson, I. y Booch, G. (2007). El lenguaje unificado de modelado: manual de referencia. (2a ed.). (Trad. Sánchez, S., San Juan, O. y García-Bermejo, R.). Madrid: Pearson Educación.
  • Alarcón, R. (2000). Diseño orientado a objetos con UML. Madrid: Grupo Eidos



miércoles, 18 de marzo de 2020

Interacción hombre-máquina y hombre-computadora

¿Qué es la interacción hombre-máquina y hombre-computadora?


La interacción hombre-máquina (IHM) es una disciplina que estudia el cómo los usuarios interactúan con las diversas tecnologías (incluyendo las computacionales) empleando principios psicológicos, sociales y de diseño.

La interacción hombre-computadora (IHC) es una disciplina relacionada con el diseño, implementación y evaluación de sistemas informáticos interactivos para uso de seres humanos.

En otras palabras la IHC estudia como los humanos interactúan con los sistemas computacionales teniendo como contribuidores a las disciplinas de: ingeniería, ergonomía, psicología y diseño gráfico principalmente.



Importancia y objetivos


Gran parte del éxito de un sistema informático está estrechamente relacionado con la facilidad y la comprensión natural del funcionamiento de este por parte del usuario. Esta facilidad se proporciona a través de las interfaces intuitivas con las que interactúa el usuario final.

Actualmente gran parte del código de un programa se dedica exclusivamente a la interfaz gráfica con la que el usuario interactúa, dependiendo del tipo de programa el porcentaje en líneas de código puede aumentar significativamente.

El objetivo de esta disciplina es desarrollar y/o mejorar la seguridad, utilidad, eficacia, eficiencia y usabilidad de sistemas que incluyan ordenadores (computadores de escritorio, portátiles, móviles, etc.).




Evolución


El desarrollo de software y hardware cada vez más sofisticado ha ido transformado la forma de trabajar, estudiar y jugar. Por ello, la IHM se ha convertido desde hace 4 décadas en una de las áreas de estudio en las ciencias de la información y administración de la tecnología en las que se desarrolla investigación y se le presta mayor atención.

Este estudio sistemático del desempeño humano comenzó en serio a principios del siglo pasado en las fábricas, con énfasis en las tareas manuales. Explícitamente en 1949 con la Segunda Guerra Mundial como antecedente que generó un impulso para estudiar la interacción entre humanos y máquinas, ya que cada bando durante este periodo se esforzó por producir armamento más efectivo, debido a esto se llevó a una ola de interés en el área entre los investigadores y a la formación de la Sociedad de Investigación de Ergonomía en 1949.

La ergonomía, una de las disciplinas en las que se apoya la IHM, pone énfasis en las características físicas de las máquinas y sistemas, y cómo afectan el rendimiento del usuario al utilizarlas. Los factores humanos (otra disciplina), incorporan estas preocupaciones y también las relacionadas a problemas cognitivos (entender el uso de la máquina o sistema).

La ergonomía y los factores humanos son disciplinas que están relacionadas con el rendimiento del usuario en el contexto de cualquier sistema, ya sea informático, mecánico o manual. A medida que el uso de la computadora se generalizó, un número cada vez mayor de investigadores se especializó en estudiar la interacción entre las personas y las computadoras, con respecto a los aspectos físicos, psicológicos y teóricos de este proceso. Este proceso de investigación se denominó originalmente como interacción hombre-máquina, pero el término se convirtió en interacción hombre-computadora en reconocimiento del interés particular en las computadoras y la composición de la población de usuarios.



Fuentes:


  • Dix, A., Finlay, J., Abowd, G. y Beale, R. (2004). Human–Computer Interaction (3a ed.). England: Pearson Education.



domingo, 9 de febrero de 2020

Ejercicios resueltos de pseudocódigos

Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. Elaborar un pseudocódigo que permita ingresar la cantidad de varones y mujeres y muestre el porcentaje de estos para su grupo de estudiantes.

SOLUCIÓN

Proceso procentajeAlumnos
 Definir varones, mujeres Como Entero
 Definir porcentajeVar, porcentajeMuj Como Real
 
 Escribir "Ingrese la cantidad de varones"
 Leer varones
 Escribir "Ingrese la cantidad de mujeres"
 Leer mujeres
 
 porcentajeVar <- varones / (varones + mujeres) * 100
 porcentajeMuj <- mujeres / (varones + mujeres) * 100
 
 Escribir "El porcentaje de varones es: ", porcentajeVar, "%"
 Escribir "El porcentaje de mujeres es: ", porcentajeMuj, "%"
FinProceso



Digite el importe de una compra, en caso de que el importe sea 150 o más, se le descontará el 12%. Mostrar el descuento otorgado y el importe de compra final

SOLUCIÓN

Proceso descuentos
 Definir impBase, dscto, impFinal Como Real 
 
 Escribir "Ingrese el importe"
 Leer impBase 
 
 dscto <- 0 
 Si impBase >= 150 Entonces
  dscto <- impBase * 0.12
 FinSi 
 impFinal <- impBase - dscto
 
 Escribir "Importe final S/", impFinal
FinProceso



Ingrese el nombre de un alumno y las notas de su examen parcial, examen final y el promedio de prácticas; muestre el nombre del alumno y su promedio final solo si el alumno está aprobado. Tenga en cuenta que para el cálculo del promedio la nota del examen final tiene peso doble. Considere que para aprobar se debe tener una nota de 11.5 o más.

SOLUCIÓN

Proceso aprobados
 Definir nombre Como Caracter
 Definir practicas, parcial, final Como Entero 
 Definir promedio Como Real
 
 Escribir "Ingrese el nombre"
 Leer nombre
 Escribir "Ingrese las notas de las prácticas"
 Leer practicas 
 Escribir "Ingrese la notas del parcial"
 Leer parcial  
 Escribir "Ingrese la notas del final"
 Leer final 
 
 promedio <- (practicas + parcial + 2*final)/4 
 
 Si promedio >= 11.5 Entonces  
  Escribir "Nombres ", nombre
  Escribir "Promedio ", promedio
 FinSi  
FinProceso



Ingrese un numero natural de dos cifras y muestre el mensaje “Es capicúa” o “No es capicúa” según sea el caso.

SOLUCIÓN

Proceso capicua2
 Definir num Como Entero
 
 Escribir "Ingrese un número de dos cifras"
 Leer num 
 
 Si num MOD 11 = 0 Entonces  
  Escribir num, " es capicúa"
 SiNo  
  Escribir num, " no es capicúa"
 FinSi  
FinProceso



Realizar un pseudocódigo que permita ingresar el nombre del cliente, la cantidad en soles a cambiar y el tipo de moneda a la que se desea cambiar, en este caso sólo será dólares o euros, se deberá visualizar la cantidad en la moneda extranjera cambiada. Tenga en cuenta el siguiente tipo de cambio $1 = S/ 2.35 y €1 = S/ 3.58.

SOLUCIÓN

Proceso divisas 
    Definir nombre, moneda Como Caracter      
    Definir monto, cambio Como Real      
    Escribir "Ingresa el nombre"  
    Leer nombre  
    Escribir "Ingrese el monto a cambiar en S/"  
    Leer monto  
    Escribir "Ingrese la moneda a cambiar dolares o euros"  
    Leer moneda          
    Si Mayusculas(moneda) = "DOLARES" Entonces   
        cambio <- monto/2.35   
    SiNo   
        Si Mayusculas(moneda) = "EUROS" Entonces    
            cambio <- monto/3.58    
        FinSi   
    FinSi      
    Escribir "Cambio ", cambio  
FinProceso 



Dado un número entero; determinar si el mismo es par, impar o nulo.

SOLUCIÓN

Proceso ceros 
    Definir num Como Entero 
    Escribir "Ingresa un número" 
    Leer num 
    Si num = 0 Entonces 
        Escribir "Es nulo" 
    SiNo 
        Si num MOD 2 = 0 Entonces 
            Escribir "Es par" 
        SiNo 
            Escribir "Es impar" 
        FinSi 
    FinSi 
FinProceso



A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000, por encima de 1000 hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. Calcular el descuento y sueldo neto que recibe el trabajador dado un sueldo.

SOLUCIÓN

Proceso descuentos  
    Definir sueldo, dscto, sneto Como Real      
    Escribir "Ingrese el sueldo"  
    Leer sueldo  
    Si sueldo <= 1000 Entonces   
        dscto <- 0.1*sueldo   
    SiNo           
        Si sueldo <= 2000 Entonces    
            dscto <- 0.05*(sueldo-1000)    
        SiNo    
            dscto <- 0.03*(sueldo-2000)                
        FinSi   
    FinSi  
    sneto <- sueldo - dscto  
    Escribir "Sueldo:       S/", sueldo  
    Escribir "Descuento:    S/", dscto  
    Escribir "Sueldo neto:  S/", sneto  
FinProceso 



Una agencia de seguros para autos asigna costos mensuales en base al sexo y edad del conductor. Los varones menores de 25 años pagan 1000 soles, los de 25 a más pagan 700 soles. Las mujeres de 21 años o menos pagan 500 y las que tienen más de 21 años paga 600 soles. Realizar un programa en pseudocódigo que solicite la edad y sexo de la persona, luego de acuerdo con lo mencionado muestre el costo mensual del seguro en pantalla.

SOLUCIÓN

Proceso seguros 
    Definir genero Como Caracter // V o M 
    Definir edad Como Entero 
    Definir precio Como Real 
    Escribir "Ingrese el genero V o M" 
    Leer genero 
    Escribir "Ingrese la edad" 
    Leer edad 
    Segun Mayusculas(genero) Hacer 
        "V": 
            Si edad < 25 Entonces 
                precio <- 1000 
            SiNo 
                precio <- 700  
            FinSi 
        "M": 
            Si edad >= 21 Entonces 
                precio <- 500 
            SiNo 
                precio <- 600                

            FinSi             
        De Otro Modo: 
            Escribir "ERROR" 
    FinSegun 
    Escribir "El pago es: S/", precio 
FinProceso



Hacer un pseudocodigo que imprima los números pares entre 0 y 100

SOLUCIÓN

Proceso pares1_100
    Para cont <- 1 Hasta 100 Con Paso 1 Hacer        
        Si cont MOD 2 = 0 Entonces 
            Escribir cont," - " Sin Saltar 
        FinSi          
    FinPara 
FinProceso



Proceso pares1_100
    Para cont <- 2 Hasta 100 Con Paso 2 Hacer
            Escribir cont," - " Sin Saltar     
    FinPara 
FinProceso



Calcular el salario total de un grupo de “n” trabajadores (el valor “n” se ingresa por teclado) dada la cantidad de horas trabajadas y la tarifa por hora para cada uno de los trabajadores.

SOLUCIÓN

Proceso sueldos 
    Definir horas, n Como Entero 
    Definir tarifa, sueldo, sueldoTotal Como Real     
    sueldoTotal <- 0//acumulador, aumenta de acuerdo a un valor "x" 
    Escribir "Ingrese el numero de trabajadores" 
    Leer n     
    Para cont <- 1 hasta n Con Paso 1 Hacer 
        Escribir "Ingrese las horas" 
        Leer horas 
        Escribir "Ingrese la tarifa por hora" 
        Leer tarifa 
        sueldo <- horas * tarifa 
        sueldoTotal <- sueldoTotal + sueldo 
    FinPara     
    Escribir "Sueldo del grupo: S/",sueldoTotal 
FinProceso 



Construir un programa que calcule el factorial de un número

SOLUCIÓN

Proceso factoriales 
    Definir n,fact,aux Como Entero 
    fact<-1 
    Escribir "Ingrese n" 
    Leer n 
    Para i<-1 hasta n Con paso 1 Hacer 
        fact<-fact*i 
    FinPara 
    Escribir n,"! = ", fact 
FinProceso

Proceso factoriales
    Definir n,fact,aux Como Entero 
    fact<-1 
    aux<-1 
    Escribir "Ingrese n" 
    Leer n   
    Mientras aux<=n Hacer 
        fact<-fact*aux 
        aux<-aux+1 
    FinMientras       
    Escribir n,"! = ", fact 
FinProceso



Dado un número entero positivo cualquiera, invertirlo y mostrarlo en pantalla

SOLUCIÓN

Proceso invertido  
    Definir num, cf, inv, aux Como Entero    
    Leer num  
    aux<-num  
    Mientras aux>0 Hacer   
        cf <- aux MOD 10   
        aux <- (aux - cf)/10  
        inv<-inv*10+cf   
    FinMientras      
    Escribir "numero inicial  :", num  
    Escribir "numero invertido:", inv 
FinProceso



Se desea crear un algoritmo para un sistema de votación. Supóngase en este caso que hay cuatro candidatos, con identificadores 1, 2, 3, 4. Usted habrá de calcular mediante un programa, el número de votos correspondiente a cada candidato y el porcentaje que obtuvo respecto al total de los votantes. El usuario ingresara los votos de manera desorganizada, tal y como se obtuvieron en la elección. El conteo de votos se detiene si se ingresa el valor cero. Observe, como ejemplo, la siguiente lista: 1 3 1 4 2 2 1 3 1 1 1 3 4 1 2 4 4 0

SOLUCIÓN

Proceso votaciones  
    Definir v,a,b,c,d Como Entero  
    // Contadores para cada cantidato
    a<-0  
    b<-0  
    c<-0  
    d<-0  
    Repetir   
        Escribir "ingrese voto"   
        leer v   
        Si v=1 Entonces    
            a<-a+1    
        FinSi   
        Si v=2 Entonces    
            b<-b+1    
        FinSi   
        Si v=3 Entonces   
            c<-c+1    
        FinSi   
        Si v=4 Entonces    
            d<-d+1    
        FinSi   
    Hasta Que v=0 //Se detiene si v es CERO
    Escribir "votos del candidato 1=", a 
    Escribir "votos del candidato 2=", b  
    Escribir "votos del candidato 3=", c  
    Escribir "votos del candidato 4=", d 
FinProceso



Construir un algoritmo que permita ingresar un número “n” de estudiantes (se cumple que: 1<=n<=50), cada uno de los cuáles cursa 5 materias. Para cada alumno se ingresa, clave y las 5 calificaciones. Escriba un algoritmo para calcular el promedio de cada estudiante luego de ingresar sus notas.

SOLUCIÓN

Proceso clase  
    Definir n, notas Como Entero  
    Definir clave Como Caracter  
    Definir prom Como Real  
    prom<-0  
    Repetir   
        Escribir "Ingrese la cantidad de alumnos"   
        Leer n 
 Hasta Que n>=1 Y n <=50
 Para i<-1 Hasta n Con Paso 1 Hacer
  Escribir "Ingrese la clave del alumno#",i
  Leer clave  
  Para j<-1 Hasta 5 Con Paso 1 Hacer  
   Repetir    
    Escribir "Ingrese la nota #",j     
    Leer notas  
   Hasta Que notas>=0 Y notas<=20
   prom<-prom+notas     
  FinPara    
  prom<-prom/5
  Escribir "Codigo: ", clave, " Promedio: ", prom     
  prom<-0
 FinPara   
FinProceso



Ejercicio con PseInt usando funciones

Las funciones dentro de PseInt se pueden crear mediante la palabra reservada SubProceso, SubAlgortimo o Función. Esto dependerá del estilo d...