miércoles, 20 de junio de 2012

Unidad 4: Diseño orientado a objetos.


Patrones de diseño.

El diseño orientado a objetos es una etapa fundamental en el desarrollo de sistemas orientados a objetos, sin embargo, por lo general, en la práctica se observa que no se le dedica el tiempo suficiente o bien es efectuada de una manera muy superficial. Es común observar una pequeña etapa de análisis de requisitos y un pasaje inmediato al proceso de programación.Algunas veces para justificar esta superficialidad en cuanto a la manera de trabajar en la etapa de diseño, se atribuye a la falta de tiempo como causa principal. Sin embargo, sería más que beneficioso aplicar las buenas prácticas en cuanto a desarrollo de software para lograr productos de calidad.Particularmente, durante la etapa de diseño se efectúan decisiones relativas a qué métodos se requerirán, dónde se los colocarán y cómo deberían interactuar los objetos, actividades nada triviales y muy importantes. Por tal motivo, sería altamente conveniente tener en cuenta algunos patrones de diseño fundamentales.En la tecnología de objetos, un patrón es una descripción del problema y la solución, a la que se da un nombre, y que se puede aplicar a nuevos contextos; idealmente, proporciona consejos sobre el modo de aplicarlo en varias circunstancias, y considera los puntos fuertes y compromisos.

Componentes.

El componente básico del OSM es la clase de objetos.

Se distinguen tres tipos de clases:

·         Objetos Entidad
·         Objetos de Interfaz
·         Objetos de Control.

Para cada clase identificada se describen:

·         Operaciones
·         Atributos
·         Restricciones

Adicionalmente el OSM describe las asociaciones entre objetos o clases de objetos. Se distinguen los siguientes tipos de asociaciones:

·         Relaciones Estáticas
·         Herencia
·         Agregación
·         Comunicación por mensajes.

Diseño de interfaz de sistema.

El diseño de interfaces de usuario es una tarea que ha adquirido relevancia en el desarrollo de un sistema. La calidad de la interfaz de usuario puede ser uno de los motivos que conduzca a un sistema al éxito o al fracaso. Los principios que se presentan son de utilidad para creación de interfaces funcionales y de fácil operación. A pesar de no ser capaces de resolver todos los aspectos propios del contexto con el que se esté trabajando, pueden ser combinados con la prototipación y la aplicación de heurísticas de evaluación para facilitar el proceso de diseño.
Si la IU está bien diseñada, el usuario encontrará la respuesta que espera a su acción. Si no es así puede ser frustrante su operación, ya que el usuario habitualmente tiende a culparse a sí mismo por no saber usar el objeto.
Los programas son usados por usuarios con distintos niveles de conocimientos, desde principiantes hasta expertos. Es por ello que no existe una interfaz válida para todos los usuarios y todas las tareas. Debe permitirse libertad al usuario para que elija el modo de interacción que más se adecúe a sus objetivos en cada momento. La mayoría de los programas y sistemas operativos ofrecen varias formas de interacción al usuario.
Existen tres puntos de vista distintos en una IU: el del usuario, el del programador y el del diseñador (analogía de la construcción de una casa). Cada uno tiene un modelo mental propio de la interfaz, que contiene los conceptos y expectativas acerca de la misma, desarrollados a través de su experiencia.
El modelo permite explicar o predecir comportamientos del sistema y tomar las decisiones adecuadas para modificar el mismo. Los modelos subyacen en la interacción con las computadoras, de ahí su importancia.

Notación de diseño.

La notación de diseño, junto con los conceptos de programación estructurada, permite al diseñador representar detalles procedimentales de manera que se facilite la traducción a código. Hay disponibles notaciones gráficas, tabulares y de texto.   


Gráfica del diseño.

Es incuestionable que las herramientas gráficas, tales como los diagramas de flujo o diagramas de caja, proporcionan una excelente forma gráfica que describen muy bien el detalle procedimental. Sin embargo, si se emplean mal las herramientas gráficas, una imagen incorrecta puede conducir a un software erróneo. El diagrama de flujo es un gráfico muy sencillo. Se usa una caja (cuadro/rectángulo) para indicar un paso del proceso. Un rombo representa una condición lógica y las flechas indican el flujo de control.

Notación tabular del diseño.

Las tablas de decisión proporcionan una notación de procedimientos a una forma tabular. Es difícil que la tabla se pueda interpretar mal, e incluso puede usarse como entrada interpretable por la máquina para un algoritmo manejado por tabla. La tabla se divide en cuatro secciones el cuadrante superior izquierdo contiene una lista de todas las condiciones. El cuadrante inferior izquierdo contiene una lista de todas las acciones posibles basándose en combinaciones de las condiciones. Los cuadrantes de la derecha forman una matriz que indican las combinaciones de las condiciones y las correspondientes acciones que se han de producir para cada combinación específica. Por lo tanto, cada columna de la matriz puede interpretarse como una regla de procesamiento.

Mediciones de los atributos del diseño.

La medición del software en las primeras etapas del ciclo de vida resulta insatisfactoria debido a las deficiencias que presentan las métricas y los sistemas predictivos existentes, en este trabajo se parte de la utilización de una metodología formalizada, que permite definir dos métricas que son validas desde el punto de vista teórico.Se construye un sistema predictivo premacov que permite predecir los valores de macov a partir del análisis del correspondiente diagrama de flujo de datos expandido.Se incluye también la validación de premacov según la teoría de la medición, así como un análisis de su aplicación practica mediante la recogida de valores en trabajos de alumnos y en dos aplicaciones profesionales de gestión.Este sistema predictivo es un medio de control de la consistencia entre el análisis y el diseño de un sistema software.

Métricas del diseño.

Permiten medir de forma cuantitativa la calidad de los atributos internos del software. Esto permite al ingeniero evaluar la calidad durante el desarrollo del sistema.

Análisis formal del diseño.

En la actualidad la mayoría de los usuarios de microcomputadoras tienen acceso a un sistema de información o forman parte del mismo. Todas las organizaciones cuentan con un sistema de información de algún tipo, que sus empleados deben utilizar. Cuando en cualquier organización se desea implantar un nuevo sistema, de tal forma que sus miembros sean más productivos, obteniendo un mayor provecho y apoyo del mismo, se requiere realizar una serie de acciones y previsiones.La creación o establecimiento de un nuevo sistema de información en la organización, puede ser una tarea compleja. Para encarar este tipo de situaciones existe un proceso de análisis y diseño de sistemas que auxilia en la resolución de tales problemas. El análisis y diseño de sistemas proporciona una guía útil que busca disminuir las situaciones de fracaso o errores al acometer estos procesos.

Razones para conocer el análisis y diseño de sistemas


Aunque pareciese que es tema sólo de profesionales, como usuario final, toda persona que usa una microcomputadora se beneficiará al conocer sobre este proceso. Puede ocurrir que, una vez contratado como miembro de una organización, se convierta en usuario de su sistema de información, entonces el conocimiento del análisis y diseño de sistemas, le permitirá aumentar su productividad personal, sirviéndole para resolver los problemas que surjan en su área de trabajo, determinando nuevos requerimientos de información y permitiéndole colaborar con los profesionales en informática en la resolución de tales situaciones.


Necesidad del análisis y diseño de sistemas

La instalación de un sistema sin la adecuada planeación puede conducir a grandes frustraciones y causar que el sistema sea subutilizado, o peor aún, deje de ser usado al no cumplir con las expectativas que le dieron origen. El análisis y diseño de sistemas es una guía que permite estructurar el proceso de desarrollo de sistemas de información. Tal proceso siempre representará un esfuerzo, inversión de tiempo y recursos por parte de la organización. Acometer tal esfuerzo de manera casual, presenta un alto grado de riesgo al no garantizar la culminación del proyecto con éxito. Este procedimiento permite reducir al mínimo el riesgo de fracaso de nuevos proyectos, pues es común que muchos errores surjan al utilizar nuevos sistemas de información, bien por no adaptarse correctamente a las necesidades reales o por desempeñarse de forma inadecuada.

Técnicas de reingeniería e ingeniería de reverso

La Reingeniería de Procesos es una técnica en virtud de la cual se analiza en profundidad el funcionamiento de uno o varios procesos dentro de una empresa con el fin de rediseñarlos por completo y mejorar radicalmente el funcionamiento de la organización en su conjunto.
La Reingeniería surge como respuesta a las ineficiencias propias de la organización funcional en las empresas y sigue un método estructurado consistente en:

·         Identificar los procesos clave de la empresa.
·         Asignar responsabilidad sobre dichos procesos a un "propietario".
·         Definir los límites del proceso.
·         Medir el funcionamiento del proceso.
·         Rediseñar el proceso para mejorar su funcionamiento.

Un proceso es un conjunto de actividades organizadas para conseguir un fin, desde la producción de un objeto o prestación de un servicio hasta la realización de cualquier actividad interna (por ejemplo, la elaboración de una factura). Los objetivos clave del negocio dependen de procesos de negocio interfuncionales eficaces, y, sin embargo, estos procesos comúnmente no se gestionan. El resultado es que los procesos de negocio se convierten en ineficaces e ineficientes, lo que hace necesario adoptar un método de gestión por procesos.
Durante muchos años, casi todas las organizaciones empresariales se han organizado verticalmente, por funciones. Actualmente, la organización por procesos permite prestar más atención a la satisfacción del cliente, mediante una gestión integral eficaz y eficiente: se produce la transición del sistema de gestión funcional al sistema de gestión por procesos.
Es en este nuevo contexto de gestión, y para lograr una correcta implementación de los procesos diseñados, que entran en juego las técnicas de las que se vale la Reingeniería de Procesos para realizar la reestructuración de la empresa.
Las mencionadas técnicas, que se describen y analizan a continuación, son:

·         Just In Time (o Justo a Tiempo)
·         Gestión de Calidad Total (o TQM – Total Quality Management)
·         Benchmarking
·         Outsourcing (o Tercerización)
·         Análisis de Valor.

El objetivo de la ingeniería inversa es obtener información o un diseño a partir de un producto accesible al público, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado.Los productos más comúnmente sometidos a ingeniería inversa son los programas de computadoras y los componentes electrónicos, pero, en realidad, cualquier producto puede ser objeto de un análisis de Ingeniería Inversa.
El método se denomina así porque avanza en dirección opuesta a las tareas habituales de ingeniería, que consisten en utilizar datos técnicos para elaborar un producto determinado. En general, si el producto u otro material que fue sometido a la ingeniería inversa fue obtenido en forma apropiada, entonces el proceso es legítimo y legal. De la misma forma, pueden fabricarse y distribuirse, legalmente, los productos genéricos creados a partir de la información obtenida de la ingeniería inversa, como es el caso de algunos proyectos de Software libre ampliamente conocidos.
El programa Samba es un claro ejemplo de ingeniería inversa, dado que permite a sistemas operativos UNIX compartir archivos con sistemas Microsoft Windows. El proyecto Samba tuvo que investigar información confidencial (no liberada al público en general por Microsoft) sobre los aspectos técnicos relacionados con el sistema de archivos Windows. Lo mismo realiza el proyecto WINE para el conjunto de API de Windows y OpenOffice.org con los formatos propios de Microsoft Office, o se hace para entender la estructura del sistema de archivos NTFS y así poder desarrollar drivers para la lectura-escritura sobre el mismo (principalmente para sistemas basados en GNU/Linux).
La ingeniería inversa es un método de resolución. Aplicar ingeniería inversa a algo supone profundizar en el estudio de su funcionamiento, hasta el punto de que podamos llegar a entender, modificar y mejorar dicho modo de funcionamiento.Pero este término no sólo se aplica al software, sino que también se considera ingeniería inversa el estudio de todo tipo de elementos (por ejemplo, equipos electrónicos, micro controlador, u objeto fabril de cualquier clase). Diríamos, más bien, que la ingeniería inversa antecede al nacimiento del software, tratándose de una posibilidad a disposición de las empresas para la producción de bienes mediante copiado1 desde el mismo surgimiento de la ingeniería.
En el caso concreto del software, se conoce por ingeniería inversa a la actividad que se ocupa de descubrir cómo funciona un programa, función o característica de cuyo código fuente no se dispone, hasta el punto de poder modificar ese código o generar código propio que cumpla las mismas funciones. La gran mayoría del software de pago incluye en su licencia una prohibición expresa de aplicar ingeniería inversa a su código, con el intento de evitar que se pueda modificar su código y que así los usuarios tengan que pagar si quieren usarlo.
La ingeniería inversa nace en el transcurso de la Segunda Guerra Mundial, cuando los ejércitos enemigos incautaban insumos de guerra como aviones u otra maquinaria de guerra para mejorar las suyas mediante un exhaustivo análisis.

Estándares de calidad.

Un estándar se define como el grado de cumplimiento exigible a un criterio de calidad. Dicho en otros términos, define el rango en el que resulta aceptable el nivel de calidad que se alcanza en un determinado proceso. Los estándares de calidad determinan el nivel mínimo y máximo aceptable para un indicador. Si el valor del indicador se encuentra dentro del rango significa que estamos cumpliendo con el criterio de calidad que habíamos definido y que las cosas transcurren conforme a lo previsto. Estamos cumpliendo con nuestro objetivo de calidad. Si, por el contrario, estamos por debajo del rango significa que no cumplimos nuestro compromiso de calidad y deberemos actuar en consecuencia (o bien la apuesta fue demasiado optimista para los medios disponibles). Por el contrario, si estamos por encima, o bien tendremos que redefinir el criterio o, desde luego, estamos gastando (en términos de esfuerzo) más de lo que pensábamos que era necesario (o fuimos pesimistas para fijar el rango o pecamos de inexpertos). El estándar, por consiguiente, determina el mínimo nivel que comprometería la calidad de ese proceso. Por debajo del estándar la práctica (producto o servicio) no reúne calidad suficiente. Una observación que no debe olvidarse es que los estándares no deben ser nunca del 100% en razón de que siempre sucederán imprevistos que impedirán tal cumplimiento. Además, cualquier auditor de calidad sospechará de que un estándar se logre al 100% una y otra vez, o que se supere año tras año. Esto normalmente solo indica que no estaban adecuadamente definidos.


Herramientas case.


Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras, que analizaba la relación existente entre los requisitos de un problema y las necesidades que éstos generaban, el lenguaje en cuestión se denominaba PSL (Problem Statement Language) y la aplicación que ayudaba a buscar las necesidades de los diseñadores PSA (Problem Statement Analyzer).
Las herramientas CASE alcanzaron su techo a principios de los años 90. En la época en la que IBM había conseguido una alianza con la empresa de software AD/Cycle para trabajar con sus mainframes, estos dos gigantes trabajaban con herramientas CASE que abarcaban todo el ciclo de vida del software. Pero poco a poco los mainframes han ido siendo menos utilizados y actualmente el mercado de las Big CASE ha muerto completamente abriendo el mercado de diversas herramientas más específicas para cada fase del ciclo de vida del software.   

Integrantes:


Ascanio, Maryeling.
Chouza, Jose.
Prado, Williana.
Torrealba, Anadilis.

 PNF. Informática, sección 4 (Nocturno).


domingo, 10 de junio de 2012

Unidad 3. Diseño de Interfaz de usuario (HCI, siglas en Inglés)


PRINCIPIOS Y ESTÁNDARES DE INTERFAZ

El diseño de la interfaz ha estado dirigido a evitar errores, teniendo en cuenta paralelamente la creación de interfaces útiles y amigables. Se ha buscado simplificar la validación de los datos garantizando una validación intrínseca de los mismos, procurando facilitar la corrección de errores lógicos tanto en la introducción de la información como en cualquier otro momento del tratamiento de la misma.
Los formularios manejan los datos en memoria y solo se actualiza en la base de datos cuando se indique salvarlos
§  . Los diseñadores no son expertos en estos temas y necesitan unos principios generales de diseño consensuados por los expertos
§  Estos principios son conceptos de muy alto nivel que se plasman en unas reglas de diseño que guían al diseñador con el fin de conseguir productos usables
§  Objetivo: conseguir un software más fácil y seguro, estableciendo unos requisitos mínimos de fabricación, eliminando inconsistencias y variaciones innecesarias en las interfaces
§   
 ESTÁNDARES
Son requisitos, reglas o recomendaciones basadas en principios probados y en práctica.


  • Los diseñadores no son expertos en estos temas y necesitan unos principios generales de diseño consensuados por los expertos
  • Estos principios son conceptos de muy alto nivel que se plasman en unas reglas de diseño que guían al diseñador con el fin de conseguir productos usables

 PRINCIPIOS PARA EL DISEÑO DE INTERFACES DE USUARIO.
Existen principios relevantes para el diseño e implementación de IU, ya sea para las IU gráficas, como para la Web.
Anticipación
Las aplicaciones deberían intentar anticiparse a las necesidades del usuario y no esperar a que el usuario tenga que buscar la información, recopilarla o invocar las herramientas que va a utilizar.

AUTONOMÍA
La computadora, la IU y el entorno de trabajo deben estar a disposición del usuario. Se debe dar al usuario el ambiente flexible para que pueda aprender rápidamente a usar la aplicación. Sin embargo, está comprobado que el entorno de trabajo debe tener ciertas cotas, es decir, ser explorable pero no azaroso.

PERCEPCIÓN DEL COLOR
Aunque se utilicen convenciones de color en la IU, se deberían usar otros mecanismos secundarios para proveer la información a aquellos usuarios con problemas en la visualización de colores

VALORES POR DEFECTO
No se debe utilizar la palabra "Defecto" en una aplicación o servicio. Puede ser reemplazada por "Estándar" o "Definida por el Usuario", "Restaurar Valores Iniciales" o algún otro término especifico que describa lo que está sucediendo. Los valores por defecto deberían ser opciones inteligentes y sensatas. Además, los mismos tienen que ser fáciles de modificar.
Para lograr una mayor consistencia en la IU se requiere profundizar en diferentes aspectos que están catalogados en niveles. Se realiza un ordenamiento de mayor a menor consistencia:

Interpretación del comportamiento del usuario: la IU debe comprender el significado que le atribuye un usuario a cada requerimiento. Ejemplo: mantener el significado de las los comandos abreviados (shortcut-keys) definidos por el usuario.
Estructuras invisibles: se requiere una definición clara de las mismas, ya que sino el usuario nunca podría llegar a descubrir su uso. Ejemplo: la ampliación de ventanas mediante la extensión de sus bordes.
Pequeñas estructuras visibles: se puede establecer un conjunto de objetos visibles capaces de ser controlados por el usuario, que permitan ahorrar tiempo en la ejecución de tareas específicas. Ejemplo: ícono y/o botón para impresión.
Una sola aplicación o servicio: la IU permite visualizar a la aplicación o servicio utilizado como un componente único. Ejemplo: La IU despliega un único menú, pudiendo además acceder al mismo mediante comandos abreviados.
Un conjunto de aplicaciones o servicios: la IU visualiza a la aplicación o servicio utilizado como un conjunto de componentes. Ejemplo: La IU se presenta como un conjunto de barras de comandos desplegadas en diferentes lugares de la pantalla, pudiendo ser desactivadas en forma independiente.
Consistencia del ambiente: la IU se mantiene en concordancia con el ambiente de trabajo. Ejemplo: La IU utiliza objetos de control como menúes, botones de comandos de manera análoga a otras IU que se usen en el ambiente de trabajo.
Consistencia de la plataforma: La IU es concordante con la plataforma. Ejemplo: La IU tiene un esquema basado en ventanas, el cual es acorde al manejo del sistema operativo Windows.
EFICIENCIA DEL USUARIO
Se debe considerar la productividad del usuario antes que la productividad de la máquina. Si el usuario debe esperar la respuesta del sistema por un período prolongado, estas pérdidas de tiempo se pueden convertir en pérdidas económicas para la organización. Los mensajes de ayuda deben ser sencillos y proveer respuestas a los problemas. Los menúes y etiquetas de botones deberían tener las palabras claves del proceso.
LEY DE FITT
El tiempo para alcanzar un objetivo es una función de la distancia y tamaño del objetivo. Es por ello, que es conveniente usar objetos grandes para las funciones importantes.
INTERFACES EXPLORABLES
Siempre que sea posible se debe permitir que el usuario pueda salir ágilmente de la IU, dejando una marca del estado de avance de su trabajo, para que pueda continuarlo en otra oportunidad.
OBJETOS DE INTERFAZ HUMANA
Los objetos de interfaz humana no son necesariamente los objetos que se encuentran en los sistemas orientados a objetos. Estos pueden ser vistos, escuchados, tocados o percibidos de alguna forma. Además, estos objetos deberían ser entendibles, consistentes y estables.
USO DE METÁFORAS
Las buenas metáforas crean figuras mentales fáciles de recordar. La IU puede contener objetos asociados al modelo conceptual en forma visual, con sonido u otra característica perceptible por el usuario que ayude a simplificar el uso del sistema.
CURVA DE APRENDIZAJE
El aprendizaje de un producto y su usabilidad no son mutuamente excluyentes. El ideal es que la curva de aprendizaje sea nula, y que el usuario principiante pueda alcanzar el dominio total de la aplicación sin esfuerzo.
REDUCCIÓN DE LATENCIA
Siempre que sea posible, el uso de tramas (multi-threading) permite colocar la latencia en segundo plano (background). Las técnicas de trabajo multitarea posibilitan el trabajo ininterrumpido del usuario, realizando las tareas de transmisión y computación de datos en segundo plano.
PROTECCIÓN DEL TRABAJO
Se debe poder asegurar que el usuario nunca pierda su trabajo, ya sea por error de su parte, problemas de transmisión de datos, de energía, o alguna otra razón inevitable.
AUDITORÍA DEL SISTEMA
La mayoría de los navegadores de Internet (browsers), no mantienen información acerca de la situación del usuario en el entorno, pero para cualquier aplicación es conveniente conocer un conjunto de características tales como: hora de acceso al sistema, ubicación del usuario en el sistema y lugares a los que ha accedido, entre otros. Además, el usuario debería poder salir del sistema y al volver a ingresar continuar trabajando en lugar dónde había dejado.
LEGIBILIDAD
Para que la IU favorezca la usabilidad del sistema de software, la información que se exhiba en ella debe ser fácil de ubicar y leer. Para lograr obtener este resultado se deben tener en cuenta alguna como: el texto que aparezca en la IU debería tener un alto contraste, se debe utilizar combinaciones de colores como el texto en negro sobre fondo blanco o amarillo suave. El tamaño de las fuentes tiene que ser lo suficientemente grande como para poder ser leído en monitores estándar. Es importante hacer clara la presentación visual (colocación/agrupación de objetos, evitar la presentación de excesiva información.
INTERFACES VISIBLES
El uso de Internet, ha favorecido la implementación de interfaces invisibles. Esto significa que el usuario siempre ve una página específica, pero nunca puede conocer la totalidad del espacio de páginas de Internet. La navegación en las aplicaciones debe ser reducida a la mínima expresión. El usuario debe sentir que se mantiene en un único lugar y que el que va variando es su trabajo. Esto no solamente elimina la necesidad de mantener mapas u otras ayudas de navegación, sino que además brindan al usuario una sensación de autonomía.

MODOS DE USO, NAVEGACIÓN, TÉCNICAS DE CODIFICACIÓN Y DISEÑO VISUAL (COLOR, ICONOS, FONDO DE LETRAS).

La primera impresión del usuario cuando visita una aplicación web la brinda el diseño de la interfaz. Es por ello que, para lograr la apariencia adecuada y que el usuario se sienta confortable, se tienen en cuenta varios aspectos, sobre todo relacionados con tipografía, colores, gráficos, navegación, composición del sitio, etc., que a continuación se detallan. En el sistema, el diseño de la interfaz está basado en páginas Web, se utilizan las tonalidades suaves y refrescantes. El vocabulario manejado es lo menos técnico posible, acercándose al utilizado por los usuarios.
Se utilizan imágenes identificativas como vínculos para la navegación dentro del sitio web. La letra utilizada en todo el sistema es Times New Roman (12, 16) lográndose un diseño estándar en todo el sitio. Los mensajes de error son pequeños y en Español.
Se utilizan pequeños íconos para una mayor comprensión de las acciones, aunque se seleccionaron imágenes consecuentes con el significado que se quiere trasmitir.
El fondo de las páginas es de color blanco para mayor frescura de la vista. Todo esto se ha hecho con el objetivo de que el uso del sitio brinde comodidad y confort al usuario.
La finalidad principal de la interfaz grafica es el de guiar a los usuarios de manera intuitiva a través del sistema y facilitarle la interacción con el mismo. El sistema se manejará por medio de interfaces así la información necesaria podrá ser procesada de manera eficiente y en corto tiempo el sistema tendrá la respuesta a los requerimientos del usuario, manejando además los errores en los que este pueda incurrir.
Los estándares definidos en este documento para la interfaz gráfica de usuario, serán tomados como base para el diseño de los módulos de manera que se cada modulo podrá realizar sus diseños de acuerdo a la necesidad, pero tomando como base los estándares de este documento.
Para mayor entendimiento se ha definido en este documento primero estándares de los objetos básicos y luego los compuestos solo con la finalidad de mejorar el entendimiento de este documento.

DISEÑO VISUAL.

El uso de tipografía, símbolos, color y otros gráficos estáticos y dinámicos son comúnmente usados para expresar hechos, conceptos y emociones. Esto compone un diseño gráfico sistemático orientado a la información que ayuda a la gente a comprender información compleja. La comunicación visual efectiva para este sistema se basa en algunos principios básicos de diseño gráfico.
Existen tres factores que pueden considerarse para el diseño de una interfaz de usuario correcta: factores de desarrollo, factores de viabilidad y factores de aceptación.
Los factores de desarrollo ayudan a mejorar la comunicación visual. Esto incluye toolkits y librerías de componentes, soportes para un rápido prototipado, y adaptabilidad.
COLOR
Las discusiones sobre el color suelen ser confusas porque científicos, artistas, diseñadores, programadores y profesionales del marketing describen el color de diferentes formas.
Algunas de estas formas difieren del rojo, verde y azul que basan el sistema de color “RGB”, familiar para los usuarios de periféricos con tubos de rayos catódicos (CRTs).
Los siguientes términos aclaran conceptos sobre esta manera de entender el color:
Matiz (Hue) es la composición espectral de longitud de onda que produce percepciones de ser azul, naranja, verde, etc. por ejemplo.
Valor (Value) es la cantidad relativa de claridad u oscuridad del color en un rango desde el negro al blanco (también llamado intensidad).
Saturación (Chroma) es la pureza del color en una escala desde el gris a la variante mas viva del color percibido.
Brillo (Brightness) es la cantidad de energía luminosa al crear el color.
La importancia del color es comunicar. Los códigos de colores deben respetar el uso profesional y cultural ya existente de determinados colores. Las connotaciones varían fuertemente respecto a los diferentes tipos de usuario, especialmente cuando son de diferentes culturas. Las connotaciones del color deben ser usadas con sumo cuidado.
ICONOS: Son pequeños gráficos hiperenlace que:
  • De forma aislada
  • Acompañados de un hipertexto
  • Acompañados de una etiqueta
  • Acompañados de un "tooltip"
Utilizar ideografías estándar para representar las acciones de navegación. No ser innovador a este respecto, al menos no en el concepto básico representado: generará cierto grado de confusión con seguridad.
Para acciones de navegación específicas de nuestro site: es preferible no utilizar iconos, o, de usarlos, acompañarlos de una etiqueta.
En la mayoría de casos aumenta la usabilidad un simple hipertexto, o un botón generado sólo con texto y las clases de estilo adecuadas para conferirle apariencia de botón.
Los tamaños pueden ser variables, aunque se ha demostrado la misma eficacia para los micro iconos y tienen un peso apreciablemente menor:
o    40 X 40 pixeles Peso < 1 KBytes
o    20 X 20 pixeles Peso < 300 Bytes
o    12 X 12 pixeles Peso < 100 Bytes

TIEMPO DE RESPUESTA O RETROALIMENTACIÓN
La retroalimentación se produce cuando las salidas del sistema o la influencia de las salidas de los sistemas en el contexto, vuelven a ingresar al sistema como recursos o información.
La retroalimentación permite el control de un sistema y que el mismo tome medidas de corrección en base a la información retroalimentada.
El tiempo de respuesta  del sistema es la primera queja  sobre muchas aplicaciones interactivas, en general se mide desde el punto en que el usuario  realiza alguna acción de control  el tiempo se respuesta del sistema tiene dos características importantes:

DURACIÓN: Si la respuesta del sistema  se demora mucho  la frustración y el estrés  del usuario son inevitables.

VARIABILIDAD: Es la desviación del tiempo de respuesta promedio. Una baja variabilidad permite que el usuario establezca  un ritmo de interacción, aunque el tiempo de respuesta sea relativamente largo.

MODALIDADES DE DISEÑO EN HCI, LOCALIZACIÓN E INTERNACIONALIZACIÓN.



INTERNACIONALIZACIÓN: Es la operación por medio de la cual se modifica un programa, o conjunto de programas en un paquete, para que pueda adecuarse a múltiples idiomas y convenciones culturales. 

LOCALIZACIÓN: nos referimos a la operación por la que, sobre un conjunto de programas que ya han sido internacionalizados, se le proporciona al programa toda la información necesaria para que pueda manejar su entrada y su salida de un modo que sea correcto respecto a determinados hábitos lingüísticos y culturales (por ejemplo el signo de la moneda de un país, el orden en que se expresan mes, día y año en una fecha.


MÉTODOS MULTIMEDIA, WEB, MODELOS METAFÓRICOS Y CONCEPTUALES

MULTIMEDIA

DirectX

Conjunto de interfaces de programación de aplicaciones  orientadas a la multimedia La distribución contiene:

Una librería en tiempo de ejecución que consta de varias las cuales pueden ser distribuidas con la aplicación un sistema de desarrollo asociado, el
DirectX SDK, con varios archivos de librería y de cabeceras.

GDI (Graphics Device Interface)
 Proporciona dibujo 2D y comandos de ventana no proporciona soporte multimedia.

 MCI (Media Control Interface) primer arquitectura multimedia de Microsoft  proporciona comandos para la ejecución multimedia (play, pause, stop, ...) para audio y vídeo no soporta captura y edición de vídeo

 VFW (Video For Windows)
 Primera arquitectura multimedia para Windows (1990)soporte de archivos AVI incluye herramientas para captura y compresión de vídeo Tecnologías Multimedia - Desarrollo de Aplicaciones Multimedia 5

 QTW (QuickTime for Windows) portada por Apple de Mac a Windows (1993)al principio solo soportaba reproducción, añadiendo posteriormente captura y compresión

ActiveMovie
 Reemplazo de VFW (1996) soporte de AVI, WAV y MPEG DirestShow
 Reemplazo de ActiveMovie (1998) soporta captura y compresión
 Integrada originalmente en la arquitectura DirectX (DirectX SDK)
(Actualmente disponible en Windows SDK) sustituida progresivamente por la nueva arquitectura Media Foundation

CONCEPTUALES: Son los que realmente no están en el plano, pero se pueden deducir:

Punto: Por ejemplo, una flor roja en un jardín de donde predomine el amarillo.
Línea: Una fotografía arquitectónica las refleja.
Plano: Una área de cualquier forma geométrica coloreada.
Volumen: Objetos que tengan profundidad volumétrica.

LA METÁFORA
Antes de comenzar a diseñar la interfaz es imprescindible pensar el concepto que se necesita expresar. Elegir una metáfora adecuada apoya y refuerza el concepto y el proceso de comunicación sin distraer, proporcionando una realidad “física” para el entorno abstracto en el que se tienen que introducir los usuarios.
Es una estrategia para el diseño de interfaces es el uso de metáforas. Un ejemplo clásico es el diseño de la interface con el usuario de las computadoras Macintosh. Antiguamente, para realizar cualquier operación con una computadora era necesario escribir una serie de comandos con una sintaxis perfecta. Desde que Apple Computer empezó a utilizar metáforas, es posible para usuarios no conocedores de lenguajes de programación realizar operaciones con la computadora. Ya no es necesario saber los comandos con los cuales se desecha un archivo. Ahora es posible simplemente tomar el archivo y llevarlo al bote de la basura. Gracias al uso correcto de interfaces, la tecnología resulta transparente al usuario.
La metáfora ha dado paso, sin embargo, a una nueva perspectiva: la virtualidad. Bajo la perspectiva de la virtualidad

PSICOLOGÍA EN HCI.

Las expectativas  extraídas de los estudios de la psicología cognitiva acerca de que las palabras con mayor índice de familiaridad serian más fáciles de aprender fueron contradichas por el hallazgo de que estas fueron las menos precisas de todas.
La psicología cognoscitiva ha jugado un papel importante en el diseño de interfaces pues provee las bases teóricas sobre cómo procesa información el ser humano. Sin embargo, las implicaciones del diseño de interfaz llegan más allá de lo estrictamente técnico o cognitivo, llegando a poner en duda la esencia misma de nuestras personas y nuestras relaciones. Este breve ensayo esboza la relación entre tecnologías de comunicación e identidad, a partir del análisis de la virtualidad como un fenómeno que ha trascendido su mera funcionalidad como estrategia para el diseño de interfaz. Las tecnologías, para ser usadas efectivamente, requieren ser transparentes. Transparencia significa "la cualidad de una configuración específica de medios (y no de los medios mismos) en la cual el usuario ignora la presencia de los componentes del sistema y es capaz de ver a través del sistema para concentrarse completamente en la función última.

Integrantes:
Ascanio, Maryeling.
Chouza, Jose.
Prado, Williana.
Torrealba, Anadilis.

PNF informática , sección 4.(NOCTURNO).