miércoles, 16 de agosto de 2017

Cuáles son aspectos más importantes que se deben tener en cuenta para el diseño de los sitios Web?

Funcionalidad, definitivamente es uno de los aspectos más importantes y se resume en que algo puede ser feo pero si funciona, es útil o interesante para el público objetivo y además brinda una información, permite resolver un problema y ofrece un servicio con exactitud y confianza, sin duda será un éxito y este aspecto es fundamental. La usabilidad es el aspecto que determina que las personas puedan usar el sitio web fácilmente que sea fácil de navegar y que les resulte sencillo cumplir los objetivos trazados para el usuario, además este aspecto también se relaciona con el diseño gráfico del sitio web y la posibilidad de ofrecer una experiencia de usuario a las personas que usan el sitio, quiere decir esto que una persona cuando usa el sitio sienta que entiende lo que está haciendo, se sienta seguro de hacerlo y se divierta haciéndolo. Otro aspecto también importante es el de accesibilidad, es decir, la capacidad que brinda el sitio web de permitir el acceso a personas con discapacidades físicas (auditivas y visuales) así como discapacidades cognitivas (problemas para aprender) para esto es especial hacer evaluación tanto a nivel de arquitectura y contenido como de código o programación para este último existen herramientas como http://www.tawdis.net/ que evalúan el código de un sitio web de acuerdo con los lineamientos de los niveles A, AA y AAA. Otro aspecto que creo que no se puede dejar por fuera es la compatibilidad que deben tener los sitios web con los diferentes navegadores en los que se despliegan tanto en equipos de escritorio como Smartphone un sitio web debe tener la capacidad de adaptarse (ser responsivo) de acuerdo con el dispositivo que hace la solicitud. Por último la confiabilidad, en una época en la que la gente usa los sitios web para hacer transacciones de todo tipo, especialmente de dinero, los sitios web deben ser confiable, es decir que deben poseer características de seguridad como sistemas criptográficos o certificados SSL.

Plan de pruebas que se llevarán a cabo de acuerdo a las características de usabilidad

Plan de pruebas que se llevarán a cabo de acuerdo a las características, sub características y métricas seleccionadas para evaluación desde el punto de vista de la funcionalidad y usabilidad

Característica
Sub-característica
Tipo de Prueba
1. Arquitectura de Información
1.1  Objetivos del sitio web
Que existan los objetivos y un documento que los explique claramente
1.2 Personajes y escenarios
Confirmar que el sitio cuente con un estudio de Personajes y Escenarios, en donde se consideren por lo menos cinco usuarios de cada grupo representativo, y en el que se identifiquen las características, motivaciones, y escenarios de uso.
1.3 Necesidades de los usuarios
Validar la definición de motivaciones y grupos de usuario a los que está enfocado la web. Debe existir un documento en el cual se consignen dichas necesidades incluyendo los antecedentes y el proceso llevado a cabo para su identificación y conceptualización.
1.4 Evaluación constante
Test con usuarios, evaluación de las páginas más visitadas, encuestas a usuarios, pruebas A/B.
Debe existir un documento que contenga la "política de evaluación" donde este consignado la periodicidad y tipo de evaluaciones a realizar.
1.5 Evaluación de la Arquitectura de Información
Realizar pruebas con usuarios para verificar la Arquitectura de Información del sitio.
1.6 Navegación global consistente
Verificar  que la navegación global aparece en la mayoría de las páginas del sitio, y que además preserva su estructura, nombres de enlaces y orden.
1.7 Navegación de contexto
Verificar que exista la opción de navegación contextual en todas las páginas que lo requieren
1.8 Ruta de migas
Verifique que sea visible, reconocible, y que corresponda fielmente a la jerarquía de contenidos del sitio
1.9 URL Limpios
Visitar varias páginas del sitio y verificar que los URL son limpios, es decir que no incluyen caracteres especiales y corresponden de manera adecuada con la jerarquía de contenidos del sitio.
1.10 Ubicación del usuario
Deben estar correctas:
*Navegación de contexto
*Navegación global
*Ruta de migas
*URL limpias
1.11 Tagline
Verificar que el tagline debe ser claro y útil para los usuarios
1.12 Enlaces bien formulados
Verificar que los enlaces queden bien formulados
1.13 Memoria a corto plazo
Se debe verificar lo siguiente:
Que los elementos de navegación sean consistentes
Que los enlaces cambien de color cuando se visitan
Que los diseños de interfaces sean sencillos
Que se suministre recordatorios visibles
2. Diseño de Interfaz de Usuario
2.1 Ubicación de logotipo
Revisar la ubicación del logotipo e intente hacer clic en él, debe dirigirse a la página de inicio
2.2 Diseño ordenado y limpio
Revisar que el orden del diseño está determinado por factores como el uso adecuado del espacio en blanco, el manejo acertado de la tipografía, el uso de colores cromáticamente armónicos y una composición clara que permita al usuario establecer relaciones entre los elementos de contenido.
2.3 Interfaces en movimiento
Revisar que no existan interfaces en movimiento
2.4 Contenido que parece publicidad
Que no existan en las instancias finales contenido que parezca publicad o publicitario
2.5 Contraste en brillo y color
Garantizar que haya contraste entre el color de las letras de los textos e imágenes y su fondo
2.6 Información trasmitida a través del color
El evaluador debe identificar si en el sitio web existe alguna página que transmita información a través del color. En aquellas páginas que lo hagan, se debe observar si existe algún elemento gráfico o informativo que redunde la información transmitida a través del color.
2.7 Justificación del texto
Verificar que el texto este alineado a la izquierda
2.8 Ancho del cuerpo del texto
Copiar un renglón cualquiera (ni el más largo ni el más corto), del párrafo a evaluar. Péguelo en su procesador de texto (Word, OpenOffice, etc.) y vaya al menú Herramientas > Contar palabras. Saldrá un recuadro con la información de caracteres. Si supera 80 ó está por debajo de 60, no cumple con la directriz.
2.9 Fuentes tipográficas comunes
Abrir las hojas de estilo (para ello sugerimos usar la barra ―Web Developer Toolbar en Firefox). Seleccione CSS > Ver código CSS.Para valorar el cumplimiento de esta directriz usted debe buscar todas las fuentes asignadas y compararlas con la tabla anterior.

Se debe asegurar el uso de fuentes comunes como "Trebuchet MS", Verdana, Arial, sans-serif
2.10 Texto subrayado
Verificar que el subrayado solo para hipervinculos
2.11 Uso adecuado del espacio en blanco
Asegurar que el espacio en blanco es usado de manera eficiente. Un usuario debería poder identificar rápidamente y sin dificultad, los diferentes bloques o grupos de contenido que componen la interfaz.
2.12 Desplazamiento horizontal
Verificar la resolución mínima para monitores de computador que debe tenerse en cuenta en la actualidad para los sitios del Estado colombiano, es de 1024 x 768 pixeles. Sobre esta medida, el diseñador debe probar su diseño para que en ningún navegador aparezca la barra de desplazamiento horizontal.
2.13 Vínculo a la página de incio
Verificar la imagen y título: inicio
2.14 Tareas clave en la página de inicio
Verificar que en la página de inicio exista solo contenido importante, parte de la funcionalidad de la Entidad
2.15 Contenidos de ejemplo en la página de inicio
Se debe evaluar a través de la comprensión de la estructura del sitio web y —preferiblemente— a partir de la lectura de los documentos de la planeación del sitio web (Arquitectura de Información), determinará si esta directriz se cumple o no.
2.16 Hojas de estilo para diferentes formatos
Se debe verificar la apariencia gráfica a múltiples salidas de la información:

· Diseño para pantalla
· Diseño para impresión en papel
· Diseño para dispositivos de mano
· Diseño para braile
· Entre otros…
2.17 Independencia del navegador
Se debe verificar que el sistemas no sea dependiente del navegador
2.18 Vínculos visitados
Se debe verificar que los vínculos visitados sean visibles
2.19 Calidad del código
Se debe verificar que el código no tenga demasiados errores y que no existan errores críticos
3. Diseño de interacción
3.1 Campos obligatorios
Verificar que los campos obligatorios identificables
3.2 Asociación de etiquetas y campos
Verificar que el sitio web ubique las etiquetas de los campos reservando un espacio en blanco considerable para separar unos campos de otros
Cuando emplee listas de selección no provea etiquetas, haga que el valor predeterminado del campo sea la etiqueta
3.3 Validación dinámica de datos
Verificar que el sistema es capaz de reproducir una alerta sutil que recuerde la ausencia de datos.
3.4 Error de página no encontrada
Asegúrese de que esta página indica que el contenido que busca no se encuentra en el sitio, y que proporciona opciones para que el usuario retome la navegación o encuentre contenidos relacionados
3.5 Ventanas emergentes
Garantizar que la ventana emergente no sea intrusivo
3.6 Botón atrás
Garantizar que el usuario tenga la forma de volver atrás
3.7 Tiempo de carga de las páginas
Garantizar que la pagina cargue en un tiempo no mayor a 10s
3.8 Ejemplo en los campos de formularios
Cerciórese de que aquellos campos que deben ser diligenciados de forma especial, o que pueden ser confusos cuentan con un ejemplo que clarifique el modo en que un usuario debe llenar dicho campo.
3.9 páginas de confirmación
Asegúrese de que el sitio web provee páginas de confirmación para las acciones más frecuentes de los usuarios.
4. Búsqueda
4.1 Motor de búsqueda y ubicación
Verificar que exista y este ubicado en todas las páginas, que acepte mínimo 27 caracteres.
4.2 Búsqueda con términos similares y errores de digitación
Se requiere que el buscador permita realizar búsquedas con términos similares y errores de digitación
4.3 Sugerencias de búsqueda
Se requiere que la página web contenga sugerencias de búsqueda
4.4 Ubicación en los primeros 10 resultados
Garantizar que los resultados de la búsqueda sean como mínimo 10
5. Pruebas de usabilidad
5.1 Evaluación heurística
Verificar  que en el sitio web se llevan a cabo Evaluaciones Heurísticas cada vez que se añaden funcionalidades o se rediseñan secciones del sitio. Y se mantiene un registro de todos los reportes y evaluaciones realizadas, así como de los cambios realizados al portal web de acuerdo con las recomendaciones derivadas de la evaluación.
5.2 Test de usuario
Se debe verificar y aplicar un test de usuario cada vez que se realicen desarrollos que afecten estructuralmente las secciones del sitio Web
5.3 Diseño y evaluación iterativos
Se debe verificar que en todo el proceso de diseño y desarrollo del sitio web se realicen pruebas y evaluaciones de usabilidad para mejorar el diseño de forma iterativa. Genere un plan de pruebas y evaluaciones, en el que se especifiquen el tipo de pruebas y fases del diseño en las que se realizarán dichas pruebas.
6. Contenido
6.1 Contenido útil
Revisar la documentación de Arquitectura de Información del sitio y determine si las necesidades de contenido de los usuarios son satisfechas en el desarrollo del sitio actual. En caso de no existir documentación, el evaluador deberá establecer las necesidades para evaluar la utilidad del contenido.
6.2 Pirámide invertida
Garantizar que se dé más relevancia a lo importante, ubicándolo de arriba a abajo
6.3 Títulos y encabezados
Se debe mantener la jerarquía de los títulos de acuerdo a las etiquetas H1 … H6
6.4 listas
Identifique en el cuerpo del texto si hay agrupaciones de elementos que sean susceptibles de estructurar en cualquiera de los tres formatos de lista disponibles en HTML. Verifique si se están utilizando las etiquetas adecuadas para cada tipo de lista: <ol>, <ul> y <dl>.
6.5 Escaneo de contenido
Se debe revisar el código fuente para establecer si hay un adecuado uso de las etiquetas de HTML, en función de su significado y no de su forma.
6.6 Vínculos rotos
Se debe utilizar validadores automáticos de vínculos rotos, como el del W3C para establecer el número de vínculos no disponibles que tiene determinada página. Realice este mismo procedimiento con una muestra de páginas internas del sitio web.
6.7 Contenido encontrable
Verifique que los contenidos de sus sitios están optimizados para ser encontrados en motores de búsqueda. Para ello, consulte las principales frases empleadas por los usuarios para buscar sus contenidos, e intente incluirlas de forma armónica en los contenidos de su sitio. Utilice todo tipo de información relacionada con la forma como buscan los usuarios, ya sean estadísticas de google, historial de búsquedas en su sitio, o cualquier otra, que le permita optimizar los títulos y el lenguaje empleado en su sitio.


Portal web seleccionado

Portal web comercial que tenga implementado los servicios de pedidos y transacciones de pagos por internet de hipermercados, supermercados, y empresas comerciales que ofertan productos por internet.

www.croydon.com.co


miércoles, 9 de agosto de 2017

Metodología de evaluación de software para portales web o software de aplicación

Web Quality Model (WQM)

Porque fue desarrollado para atender las necesidades de las aplicaciones web. Para ello se definió un modelo de calidad para la web y un conjunto de métricas para cubrir, en lo posible, la mayor parte de tipos de sitios web. Este modelo propone tres dimensiones en la evaluación de un sitio web:

características de calidad,
de sitio web y
de ciclo de vida.
Sin embargo, dentro de las características de calidad se encuentran sub-características similares a las abordadas por los modelos basados en ISO 9126:

funcionalidad,
fiabilidad,
usabilidad,
eficiencia,
portabilidad y
mantenibilidad.

ó el Modelo Web-QEM

Propone la metodología Web-QEM que se basa en un enfoque cuantitativo y sistemático para evaluar y comparar sitios web, tanto en la fase de desarrollo como operativa. Su objetivo principal consiste en comprender el grado de cumplimiento de un conjunto de características y subcaracterísticas en base a los requerimientos de calidad establecidos. La metodología Web-QEM se compone de las siguientes fases:

1) Definición y especificación de requerimientos de calidad

2) Definición e implementación de la evaluación elemental

3) Definición e implementación de la evaluación parcial/global; y

4) Análisis de resultados, conclusión y documentación.

Explicación de la Norma ISO/IEC 25000


Cuadro comparativo de los modelos de calidad


Modelo
Ventajas
Desventajas
El modelo CMMI (Capability Maturity Model Integration)
  • Mejor organización interna y homogeneización
  • Temprana detección de errores en el desarrollo del producto
  • Importante reducción del número de incidencias
  • Control continuo de los proyectos, en cuanto a: Riegos, Recursos, Esfuerzo, Costos, Plazos.
  • Obtención de un importante caudal de datos históricos susceptibles de ser Analizados
  • Creación de una cultura para compartir conocimientos.
  • Mejor servicio a nuestros clientes
  • Nuevas oportunidades de negocio.
  • Plazo de implantación del proyecto.
  • Se utiliza para empresas grandes.
  • Tamaño y complejidad mucho mayor que modelos vigentes.
  • El proceso de avaluación es más costoso en tiempo y esfuerzo.
  • La complejidad de la evaluación continua puede atentar contra la definición de objetivos concretos de madurez
Modelo ISO/ IEC 15504 (SPICE)
  • Específico para el desarrollo y mantenimiento de software.
  • Definido como un conjunto de procesos.
  • Orientado a mejorar los procesos para contribuir a los objetivos del negocio.
  • Tiene solamente lineamientos para un mecanismo de evaluación.
  • Todavía no es una norma internacional.
  • No es un modelo específico para la industria de software. 
Modelo ISO/IEC 9126
  • Define 6 características de calidad y describe un modelo de procesos para la evaluación de productos de software
  • Define un marco conceptual que considera calidad del proceso,  calidad del producto software, calidad en el uso.
  • Depende totalmente de la determinación de las métricas.
  • Terminología sobre productos de software medición de la calidad está plenamente alineado con el clásico terminología de medición en las ciencias y en ingeniería
Modelo IT Mark
  • Aumenta el servicio de las organizaciones (desde el punto de vista técnico y administrativo).
  • Ganar reconocimiento en el mercado en cuanto a capacidades de TI.
  • Alcanza a ser un indicador del mercado por medio de un sello de excelencia o Visibilidad al interior de sus propias capacidades de desarrollo de TI, identificando fortalezas y debilidades, así como oportunidades de mejora., o Ruta de mejora a través de los grados sucesivos de madurez y su compatibilidad y complementariedad con otros modelos existentes.
  • Económico, rápido y rentable.
  • El programa incluye valoraciones en Gestión del Negocio y en Seguridad Informática, ignoradas por otros modelos, por encima de los procesos de Software y Sistemas.
  • Basado en modelos reconocidos mundialmente y solidas metodologías probadas, repetibles, confiables y útiles para compararse competitivamente.
  • Plazo de implantación del proyecto.
  • Se utiliza para empresas grandes.
  • Orientado a PYMES es una desventaja si se trata de una gran empresa.

¿Qué se busca con la implementación de los modelos de calidad del software?

Los modelos de calidad guían a las empresas o industrias a la mejora continua y la competitividad de los servicios, productos y procesos ya que brindan las especificaciones para aumentar el nivel de ellos. Un modelo de calidad es un conjunto de buenas prácticas para los ciclos de vida del software, enfocado en los procesos y proyectos. Los modelos descomponen las características de calidad del software y determinan una lista de comprobación de las mismas para validar la calidad.

Hay que tener en cuenta que la calidad del software es el conjunto de cualidades medibles y específicas que varía de un sistema a otro, dependiendo de tipo de software que se va a desarrollar, para determinar su utilidad y existencia. Este desarrollo debe ser confiable, mantenible y flexible para disminuir los costos de mantenimiento y perfeccionamiento durante el tiempo de utilización y durante las etapas del ciclo de vida del software.

jueves, 27 de julio de 2017

Explicación de la Norma ISO/IEC 14598 y tipos de Pruebas de Software


Tipos de pruebas

La importancia de la utilización de los tipos de pruebas consiste en que nos permite realizar las validaciones desde diferentes perspectivas y/o ámbitos, desde las técnicas de codificación del producto de software, hasta el diseño funcional. Algunas de los tipos de pruebas más importantes son:

Pruebas de unidad o unitaria, es una forma de comprobar el correcto funcionamiento de una unidad de código, esto sirve para asegurar que cada unidad funcione correctamente y eficientemente por separado.

Pruebas de integración, son aquellas que se realizan en el ámbito del desarrollo de software una vez que se han aprobado las pruebas unitarias y lo que prueban es que todos los elementos unitarios que componen el software, funcionan juntos correctamente probándolos en grupo. Se centra principalmente en probar la comunicación entre los componentes y sus comunicaciones ya sea hardware o software. Existen dos formas de realizar las pruebas.


  • Incremental, ascendente (Observando las funcionales básicas hasta la funcional) y descendente (Desde lo funcional a lo general)
  • No Incremental


Pruebas del sistema,  se enfocan en requisitos que puedan ser tomados directamente de casos de uso y reglas y funciones o reglas de negocios.

Pruebas de aceptación, en esta prueba se evalúa el grado de calidad del software con relación a todos los aspectos relevantes para que el uso del producto se justifique.

Otros tipos de pruebas importantes son a nivel de seguridad, recuperación y resistencia.

Importancia de elaborar y aplicar el plan de pruebas en un proyecto de desarrollo de software


Para la realización de las pruebas se debe aplicar un plan de pruebas que posea las siguientes características:

Repetible, que se pueda aplicar una vez para un determinado caso y que se pueda aplicar las veces necesarias para proyectos similares.

Reproducible, que en unas determinadas condiciones se pueda reproducir sin necesidad de incurrir en la necesidad de realizar un nuevo plan de pruebas

Imparcial, el plan de pruebas debe ser imparcial es decir, no tiene ningún interés en el objeto del proceso ni en el resultado de las pruebas. La imparcialidad sostiene que las decisiones deben tomarse atendiendo a criterios objetivos, sin influencias de sesgos, prejuicios o tratos diferenciados por razones

Objetivo, el plan de pruebas debe ser objetivo desde el inicio hasta el final

Se debe evaluar los productos finales como los intermedios en las fases de desarrollo, adquisición y/o evaluación

Importancia de las pruebas de software

Las pruebas buscan garantizar la exactitud, integridad y la calidad del producto de software, se deben establecer las condiciones específicas de cada una de las pruebas y se debe documentar cada uno de los errores encontrados. La importancia radica en que los errores encontrados pueden y/o deben ser corregidos si es posible antes de salir con el software a producción o ser implementado así buscar garantizar que el producto de software esté libre de defectos.

Es importante que un producto de software esté libre de errores porque existen productos de software críticos en el cual una falla puede causar grandes pérdidas materiales y hasta humanas.

Para realizar esta pruebas se realiza un proceso de evaluación de software que consta de las siguientes partes:

  • Establecimiento de requisitos
  • Especificación de la evaluación
  • Diseño de la evaluación (Plan de pruebas)
  • Ejecución de la evaluación
  • Conclusiones 

Toda esta información debe quedar registrada en un informe final para tener documentado todo el proceso.

martes, 27 de junio de 2017

Ensayo sobre Calidad del Software

Para hablar de calidad de software voy a tomar como referencia 5 puntos que no son solamente importantes sino mas bien pilares, los considero obligatorios a la hora de hablar de este tema ya que en la mayoria de los casos se fracasa a lo hora de hacer un desarrollo o implementarlo por desantender alguno de estos, todos son fundamentales, todos requieren atención pues ningun software que se haga llamar de calidad desatiende alguno de estos.

Primero, la planeación basado en el uso o la gestión que se va a dar al software y es que como dicen por ahí "primero la primaria" y primero en cualquier desarrollo o implementación se planea. Parece obvio pero cuentas veces instalamos software pensando que nos va a servir para algo cuando no es asi, el software como sistema informatico puede ser muy bueno, desarrollado con los mejores lenguajes y estandares pero si no sirve para lo que quiero simplemente no sirve. Por eso debo planear el uso que le voy a dar pues puedo incurrir en grandes costos para darme cuenta que una hoja de excel puede resultar mas sencillo y simple de usar.

Una vez planeado lo que quiero y lo que necesito, diseño la solución y hablo de solución porque aveces lo que necesito ya esta echo "programado, codificado" pero tengo que hacer un diseño de su implementación, su uso en la empresa o la entidad, su "cumstomización" y estudio con las areas involucradas. Si definitivamente tengo que desarrollar de cero o extender un desarrollo debo tener en cuenta el tercer pilar, el ciclo de vida del software, que si en cascada o espiral es lo de menos lo importante es definir bien cada una de las etapas y cualquier sea el modelo, que se cumplan sobre todo si el desarrollo implica un contrato con un tercero o con un proveedor ya que lo que aqui queremos es terminar lo que se empieza en cada uno de los bucles o ciclos.

Nuestro cuarto pilar es uno de lo que menos gustan a los compradores de software (Directivos, Gerentes etc), el soporte. En un mundo ideal en donde nada falla esto no seria necesario, pero lejos de ser idealistas cada solución de software necesita un soporte, alguien que entienda su comportamiento, que pueda modificar y corregir errores.

Por ultimo la gestión de la calidad y seguridad, cada software tiene una función y normalmente esta función esta ligada con la gestion de información o datos, tan importante entonces como la capacidad que tiene el software de procesar estos datos es la capacidad que tiene de proteger los datos y sobre todo de que estos datos se conserven integros para esto un software de calidad debe asegurar que esta libre de vulnerabilidades.

Si como ingenieros tenemos en cuenta estos 5 pilares seguramente estaremos asegurando la calidad en los proyectos de software.

Diseño de Interfaz de Usuario (GUI)

Es el diseño de computadoras, aplicaciones, máquinas, dispositivos de comunicación móvil, aplicaciones de software, y sitios web enfocado en la experiencia de usuario y la interacción. Normalmente es una actividad multidisciplinar que involucra a varias ramas del diseño y el conocimiento como el diseño gráfico, industrial, web, de software y la ergonomía; y está implicado en un amplio rango de proyectos, desde sistemas para computadoras, vehículos hasta aviones comerciales.

Objetivo
Su objetivo es que las aplicaciones sean más atractivos y además, hacer que la interacción con el usuario sea lo más intuitiva posible, conocido como el diseño centrado en el usuario. En este sentido las disciplinas del diseño industrial y diseño gráfico se encargan de que la actividad a desarrollar se comunique y aprenda lo más rápidamente, a través de recursos como la gráfica, los pictogramas, los estereotipos y la simbología, todo sin afectar el funcionamiento técnico eficiente.

Principios para el Diseño de IU
Existen principios relevantes para el diseño e implementación de IU, ya sea para las IU gráficas, como para la Web.
  • Familiaridad del usuario: Utilizar términos y conceptos que se toman de la experiencia de las personas que más utilizan el sistema. 
  • Consistencia: Siempre que sea posible, la interfaz debe ser consistente en el sentido de que las operaciones comparables se activan de la misma forma. 
  • Mínima sorpresa: El comportamiento del sistema no debe provocar sorpresa a los usuarios. 
  • Recuperabilidad: La interfaz debe incluir mecanismos para permitir a los usuarios recuperarse de los errores. 
  • Esto puede ser de dos formas: Confirmación de acciones destructivas.Proveer de un recurso para deshacer 
  • Guía al usuario: Cuando los errores ocurren , la interfaz debe proveer retroalimentación significativa y características de ayuda sensible al contexto. 
  • Diversidad de usuarios: La interfaz debe proveer características de interacción apropiada para los diferentes tipos de usuarios. 

Prototipos en la implementación del Diseño de IU 
  • Prototipos Estáticos: son aquellos que no permiten la alteración de sus componentes, pero sirven para identificar y resolver problemas de diseño. En esta categoría se incluyen las presentaciones sobre reproductores, papel u otro medio de visualización. 
  • Prototipos Dinámicos: permiten la evaluación de un modelo del sistema sobre una estación de trabajo o una terminal. Estos prototipos involucran aspectos de diseño mas detallados que los prototipos estáticos, incluyendo la validación del diseño del sistema en términos de requerimientos no funcionales, por ejemplo de performance. 
  • Prototipos Robustos: deben ser relativamente completos en la simulación de las características dinámicas de la interfaz (presentación de mensajes de error, entrada y edición de datos, etc.). Esta categoría puede ser utilizada para validar los objetivos de diseño. 
El nivel de sofisticación del prototipo debería incrementarse a lo largo del proceso de diseño de interfaces de usuario. La información recolectada durante las tareas de análisis del sistema y la especificación de los requisitos del usuario constituyen los datos clave para el proceso de prototipación.

Interacción del usuario en el Diseño de IU 
Una interfaz coherente debe integrar la interacción del usuario y la presentación de la información. Shneiderman (1998) clasifica la interacción en 5 estilos primarios:
  • Manipulación directa: Interacción directa con los objetos de la pantalla. Rápida e intuitiva. Fácil de aprender. 
  • Selección de menús: El usuario selecciona un comando de una lista de posibilidades. Evita errores del usuario. Se requiere teclear poco. Lenta para usuarios experimentados. 
  • Llenado de formularios: Introducción de datos sencilla en los campos de un formulario. Fácil de aprender. Ocupa mucho espacio en la pantalla. 
  • Lenguaje de comandos: Los usuarios emiten un comando especial y los parámetros asociados para indicar al sistema que hacer. Poderoso y flexible. Difícil de aprender. Administración de errores pobre. 
  • Lenguaje Natural: El usuario emite comandos en lenguaje natural. Accesible a usuarios casuales. Fácil de ampliar. Se requiere teclear más. Los sistemas de comprensión de lenguaje natural no son fiables. 

Color en el Diseño de la IU 
El color ayuda y mejora la presentación de la interfaz , permitiendo al usuario comprender y manejar la complejidad. Shneiderman(1998) establece 14 lineamientos claves para la utilización efectiva del color.
Los mas relevantes:
  • Limitar el número de colores utilizados y ser conservador al momento de utilizarlos . No utilizar mas de 4 ó 5 colores diferentes en una ventana y no más de 7 en la interfaz total del sistema. 
  • Utilizar un cambio de color para mostrar un cambio en el estado del sistema. 
  • Utilizar el código de colores para apoyar la tarea que los usuarios están tratando de llevar a cabo. 
  • Utilizar el código de colores en una forma consciente y consistente. 
  • Ser cuidadoso al utilizar pares de colores 
  • Si se utilizan muchos colores o sin son muy brillantes , el despliegue puede ser confuso. 

Ventajas del Diseño de IU 
  • Fáciles de aprender y utilizar. 
  • Para interactuar con el sistema , los usuarios cuentan con pantallas múltiples. Se puede pasar de una tarea a otra sin perder de vista la información de la anterior. 
  • Interacción rápida y acceso inmediato a cualquier punto de la pantalla. 

Pautas para evaluar un Diseño de IU
  • Visibilidad del estado del sistema 
  • Semejanza del sistema al mundo real 
  • Control y libertad por parte del usuario 
  • Consistencia y estandarización 
  • Prevención de Errores 
  • Reconocimiento de acciones y opciones 
  • Flexibilidad y eficiencia en el uso 
  • Estética y diseño minimalista 
  • Reconocimiento de errores, diagnóstico y recuperación 
  • Ayuda y documentación 
Fuente: https://www.ecured.cu/Dise%C3%B1o_de_Interfaces_de_Usuario