PROGRAMA
CARTILLA DE TRABAJO PARA INGENIERÍA DE SOFTWARE II (DISEÑO DE SISTEMAS)
PRIMERA SESIÓN
Elaborada por JORGE RODRÍGUEZ Ingeniero de Sistemas
DEPARTAMENTO DE PUBLICACIONES PROGRAMAS TÉCNICOS LABORALES POR
COMPETENCIAS BOGOTÁ D.C.
2014
CUADRO 1. CONTROL DEL DOCUMENTO CARTILLA PARTICIPANTE
S NOMBRE CARGO DEPENDENCIA FECHA
Autor Jorge
Rodríguez
Docente Académica 01/04/2014
Revisión
Fernando calderón
Coordinador Diseño Curricular
02/04/2014
Aprobación
Franky Carrillo
Coordinador programa
Académica 03/04/2014
CUADRO 2. CONTROL DE ESTADO DE PREPARACIÓN DE LA CARTILLA PRODUCCIÓN DE IMPRESOS
VERSIÓN No.
FECHA DE FINALIZACIÓN
DE SU ELABORACIÓN
DESCRIPCIÓN DEL CAMBIO
SOLICITADO POR:
01 13 de Abril de 2014
Construcción de las cartillas de INGENIERÍA DE SOFTWARE II (Diseño de Sistemas) en
la Corporación
Iberoamericana de Estudios CIES en función a su cadena de valor con el fin de asegurar la calidad de sus servicios.
Consejo Superior.
NOMBRE : _______________________________________
C.C. : _______________________________________
CARRERA :_______________________________________
JORNADA : MARTES Y MIÉRCOLES ( ) AM____ PM____
JUEVES Y VIERNES ( ) AM____PM____
SÁBADOS ( ) AM____ PM____
DOMINGOS ( )
NOMBRE DEL PROFESOR : ________________________
FECHA : ________________________
CALIFICACIÓN : ________________________
_____________________
Firma Docente
Sr. Docente: No firme la cartilla sino está debidamente diligenciada en todos sus campos.
DERECHOS DEL ESTUDIANTE EN EL AULA DE CLASE
Exigir el uso de la cartilla
Exigir firma y sello de la cartilla por parte del docente.
Exigir sus notas al final del módulo.
NINGUNA RECLAMACIÓN SERÁ ACEPTADA SI SU CARTILLA NO ESTÁ DILIGENCIADA EN TODOS SUS CAMPOS, CON FIRMA Y SELLO DEL
DOCENTE CORRESPONDIENTE.
TABLA 1. PRESENTACIÓN NORMA DE COMPETENCIA COLOMBIANA (SENA)
A DESARROLLAR EN EL COMPONENTE INGENIERÍA DE SOFTWARE II COMPONENTE INGENIERÍA DE SOFTWARE II
COMPETENCIA NCL 220501067 Diseñar de acuerdo con el concepto.
ELEMENTOS
220501006.01 Determinar características del diseño de acuerdo con el concepto.
220501006.02 Crear el flujo del diseño de acuerdo con las características definidas.
CAPACIDAD
1. Mejorar el desempeño de trabajadores en las competencias para el diseño de software y su fortalecimiento y crecimiento socioeconómico a nivel nacional.
TABLA 2. SABERES A DESARROLLAR EN EL COMPONENTE INGENIERÍA DE SOFTWARE II
SABER SABER HACER SER
1. Conocimiento
sobre la
metodología y técnicas de diseño de soluciones al usuario.
1. Planea y realiza el diseño
de acuerdo a los
requerimientos de los usuarios.
2. Hace el seguimiento del diseño de acuerdo a una de las tipologías.
3. Evalúa los resultados obtenidos al aplicar el diseño en la solución para el usuario.
Valorar el manejo de la información y de la herramienta de diseño.
Valora el desempeño en equipos de trabajo y acepta de manera cordial las sugerencias realizadas por sus compañeros y su tutor.
CONTENIDO
Pág.
INTRODUCCIÓN………. 6
1. DISEÑO METODOLÓGICO SESIÓN UNO……… 7
1.1 OBJETIVO………. 7
1.2 JUSTIFICACIÓN………... 7
1.3 METODOLOGÍA……… 7
2. CONCEPTUALIZACIÓN SOBRE DISEÑO DE SISTEMAS………….…….. 8
2.1 CONCEPTOS Y PRINCIPIOS……… 8
2.1.1 Diseño……….………. 8
2.2 TIPOS DE DISEÑO LOGICO………. 8
3. DISEÑO LÓGICO DE LA INTERFACE………... 13
3.1 CONCEPTO DE INTERFAZ……… 13
3.2 CLASIFICACIÓN………. 14
3.3 CARACTERÍSTICAS HUMANAS DEL DISEÑO DE INTERFAZ………... 19
3.3.1 Factores Humanos……….. 19
3.3.2 Adecuación……… 20
3.3.3 Funcionalidad……….. 20
3.3.4 Pasos para el diseño de interfaz……… 21
3.3.5 Pasos para el diseño en tareas……… 21
3.4 TÉCNICAS Y PASOS EN EL DISEÑO DE INTERFACES DE USUARIO. 22 3.5 CARACTERISTICAS DE UNA INTERFAZ………. 24
3.5.1 Tipos de Usuarios……….. 24
3.5.2 Aspectos de Diseño……… 24
3.5.3 Herramientas de Implementación……… 26
3.5.4 Evaluación del Diseño……… 26
3.5.5 Guías para el diseño de Interfaces……….. 26
3.5.6 Estandarización de Interfaces……….. 27
3.6 EJEMPLO DE UNA INTERFACE LOGICA……… 28
3.7 EJEMPLO DE UNA INTERFACE FISICA……….. 29
3.8 ACTIVIDAD TOTAL DE APRENDIZAJE……… 30
4. BIBLIOGRAFIA Y WEBGRAFIA……… 31
INTRODUCCIÓN
La determinación de los requerimientos de un sistema requiere analizar los hechos que se tienen a la mano. Las descripciones y la documentación desarrollada como resultado del esfuerzo de búsqueda de hechos, se estudian con la finalidad de evaluar el funcionamiento del sistema en uso y establecer los obligaciones que debe cumplir un nuevo diseño. Las conclusiones obtenidas durante esta actividad forman la base para la transición hacia el diseño así como de otras actividades de desarrollo.
El diseño del sistema es una solución, realiza la conversión de los requerimientos en formas que los satisfagan. El diseño determina el éxito del sistema. A través del diseño se puede tener gran influencia sobre la efectividad de un usuario, ya sea para el manejo de transacciones o para la administración de la organización.
Algunos diseños son más efectivos que otros.
Al considerar los objetivos de diseño, se observa que éstos van desde el satisfacer las necesidades de la empresa hasta el empleo eficaz de la tecnología de cómputo. La esencia del diseño de sistemas es la selección y especificación de las características de un sistema de información.
AGRADECIMIENTO: El autor de esta cartilla con fines académicos, agradece a todas las Instituciones Universitarias y a su Personal Docente, por el apoyo y contribución del material didáctico presentado en ésta, que en forma directa como
indirecta nos han brindado para la divulgación del conocimiento relacionado con los temas de la INGENIERÍA DE SOFTWARE II, específicamente Diseño de
Sistemas, para los alumnos y docentes de CIES.
1. DISEÑO METODOLÓGICO SESIÓN UNO
1.1 OBJETIVOS
Corresponder la importancia y los objetivos del diseño de sistemas.
Exponer una vista del diseño general de sistemas y su papel en el desarrollo de sistemas de información.
Examinar la importancia que tienen los usuarios en el diseño de sistemas.
Referenciar la responsabilidad de los usuarios y del analista de sistemas en el diseño de sistemas.
1.2 JUSTIFICACIÓN
Esta sesión proporciona una gran utilidad para percibir las debilidades y requerimientos del sistema. Así mismo, identifica las estrategias a seguir para satisfacer los requerimientos establecidos, como base a la transición al diseño de sistema.
Cierta información tal como la finalidad de cada paso, puede parecer, a primera vista, como detalles de fondo que describen un sistema pero que parecen ser críticos para su análisis. Por ejemplo número de copias elaboradas en un documento puede ser el indicio de que pasos que están omitiendo si algunas de las copias siempre se descartan sin que le hayan dado uso alguno. También existe una relación entre el conocimiento que tienen los individuos de los pasos específicos a seguir en un determinado flujo de trabajo y la forma en que ellos efectúan dichos pasos.
1.3. METODOLOGÍA.
El modulo de Ingeniería de Software II (Diseño de Sistemas) será desarrollado en cuatro (4) sesiones; cada sesión tendrá una duración de cuatro (4) horas; todas ellas dirigidas por el profesor de la asignatura quien orientará en conceptos y despejará inquietudes a los estudiantes; el alumno deberá consultar e investigar permanentemente, desarrollar las practicas y organizar el portafolio virtual. Con esta metodología el estudiante tendrá la oportunidad de practicar el 100% los conocimientos aprendidos en clase y poder desarrollar con destreza, además de las prácticas y actividades de la guía en cualquier aplicación. La responsabilidad y el cumplimientos del estudiante es básico en el proceso de aprendizaje de la asignatura, con ello cubriría un 50% la evolución del aprendizaje, y el restante 50% está apoyada por la orientación del docente.
Consulte el sitio repositorio respectivo de este módulo, para consultar sobre teoría, talleres, manuales, cartillas, software y manuales:
http://sites.google.com/site/ciesingsoftwareii/documentacion
DESARROLLO SESIÓN UNO
2. CONCEPTUALIZACIÓN SOBRE DISEÑO DE SISTEMAS
2.1 CONCEPTOS Y PRINCIPIOS 2.1.1 Diseño
Se define como el proceso de aplicar ciertas técnicas y principios con el propósito de definir un dispositivo, un proceso o un sistema, con suficientes detalles como para permitir su interpretación y realización física.
Es un conjunto de pasos repetitivos que permiten al diseñador describir todos los aspectos del sistema a construir.
El diseño debe implementar todos los requisitos explícitos contenidos en el modelo de análisis y debe acumular todos los requisitos implícitos que desea el cliente.
El diseño debe proporcionar una idea completa de lo que es el software
Es una solución; es decir, es la traducción de los requerimientos en forma que los satisfagan.
El diseño de sistemas incluye dos niveles de actividad que se conocen como diseño lógico y diseño físico.
Diseño Lógico. Durante el diseño lógico, los analistas desarrollan las especificaciones (los planos) del nuevo sistema, Incluyendo los detalles de la salida, entrada, archivos y procedimientos.
Diseño Físico. Las especificaciones presentadas en papel durante el diseño lógico, las utilizan los programadores y administradores de Bases de Datos quienes las traducen al diseño físico, mediante los lenguajes de programación y sistemas administradores de bases de datos.
2.2 TIPOS DE DISEÑO LOGICO
Diseño de los datos. Con base en el análisis del sistema e información que necesita tanto los usuarios como los clientes, los diseñadores crean estructuras de datos (tablas, nombres de campos, longitudes, tipo de datos, rangos) necesarios para implementar el software.
Diseño Arquitectónico. Define la relación entre cada uno de los elementos estructurales del programa (Ejemplo relación entre las tablas, relación entre los módulos).
Diseño de la Interfaz. Describe como se comunica:
El software consigo mismo a través de sus diferentes opciones (menús, iconos)
El software con otros sistemas (aplicaciones automatizadas)
El software con los usuarios.
Diseño de Procedimientos. Permite establecer la calidad del sistema que se está desarrollando, a través de verificar:
El diseño debe ser modular, es decir que se pueda hacer una partición lógica de los elementos del sistema.
Debe producir módulos que presenten características de funcionamiento independiente.
Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y el entorno exterior.
Diseño de la salida. Se refiere a:
Los resultados e informaciones generadas por el sistema.
Decidir si la información será presentada en forma visual, impreso y seleccionar el medio de salida.
Disponer la presentación de la información en formatos previamente diseñados.
Definir la salida (datos a presentar) de acuerdo al tipo de usuario.
El término “salida” se aplica a cualquier información producida por un sistema, ya sea impresa, enviada a un archivo o desplegada en la pantalla.
Cuando los analistas diseñan la salida, seleccionan los métodos para representar la información y crear documentos, informes u otros formatos que contienen información producida por el sistema.
Diseño de la entrada y sus controles. Especifica la forma en la cual los datos entran al sistema para su procesamiento. Del diseño de la entrada depende la confiabilidad de los datos que se procesan y se generan. Entre los objetivos que pretende el diseño de la entrada están:
Controlar la cantidad de entrada que se requiere.
Evitar la demora.
Controlar los errores.
Mantener sencillos los pasos (evitar pasos extra).
Mantener sencillo el proceso.
Diseño de Archivos. Entre las decisiones que se toman durante el diseño de archivos, se encuentran las siguientes:
Los campos que harán parte del registro de cada archivo.
La longitud de cada registro, con base en las características de los datos que contenga.
Secuencia o disposición de los registros dentro del archivo (indexada, secuencial, relativa)
Definir en que tipo de Archivo debe estar almacenada la información (maestro, transacciones, tablas, archivo de informes.
3. DISEÑO LOGICO DE LA INTERFACE
Describe como se comunica:
El software consigo mismo a través de sus diferentes opciones (menús, iconos)
El software con otros sistemas (aplicaciones automatizadas)
El software con los usuarios.
3.1 CONCEPTO DE INTERFAZ
Las interfaces básicas de usuario son aquellas que incluyen aspectos tales como menús, ventanas, teclado, ratón y algunos otros sonidos que la computadora hace, en general, todos aquellos canales por los cuales se permite la comunicación entre el hombre y la computadora.
La idea fundamental en el concepto de interfaz es el de mediación, entre hombre y máquina. La interfaz es lo que "media", lo que facilita la comunicación, la interacción, entre dos sistemas de diferente naturaleza, típicamente el ser humano y una máquina como el computador. Esto implica, además, que se trata de un
sistema de traducción, ya que los dos "hablan" lenguajes diferentes: verbal en el caso del hombre y binario en el caso del procesador electrónico.
De una manera más técnica se define a Interfaz de usuario, como conjunto de componentes empleados por los usuarios para comunicarse con las computadoras. El usuario dirige el funcionamiento de la máquina mediante instrucciones, denominadas genéricamente entradas. Las entradas se introducen mediante diversos dispositivos, por ejemplo un teclado, y se convierten en señales electrónicas que pueden ser procesadas por la computadora. Estas señales se transmiten a través de circuitos conocidos como bus, y son coordinadas y controladas por la unidad de proceso central y por un soporte lógico conocido como sistema operativo. Una vez que la CPU ha ejecutado las instrucciones indicadas por el usuario, puede comunicar los resultados mediante señales electrónicas, o salidas, que se transmiten por el bus a uno o más dispositivos de salida, por ejemplo una impresora o un monitor.
Resumiendo entonces podemos decir que, una interfaz de software es la parte de una aplicación que el usuario ve y con la cual interactúa. Está relacionada con la estructura, la arquitectura, y el código que hace el trabajo del software, pero no se confunde con ellos. La interfaz incluye las pantallas, ventanas, controles, menús, la ayuda en línea, la documentación y el entrenamiento. Cualquier cosa que el usuario ve y con lo cual interactúa es parte de la interfaz. Una interfaz inteligente es fácil de aprender y usar. Permite a los usuarios hacer su trabajo o desempeñar una tarea en la manera que hace más sentido para ellos, en vez de tener que ajustarse al software. Una interfaz inteligente se diseña específicamente para la gente que la usará.
3.2 CLASIFICACIÓN
Dentro de las Interfaces de Usuario se distinguir básicamente dos tipos:
Una interfaz de hardware, a nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratón y pantalla visualizadora.
Una interfaz de software, destinada a entregar información acerca de los procesos y herramientas de control, a través de lo que el usuario observa habitualmente en la pantalla.
De esta clasificación general se puede ir desprendiendo algunas, así por ejemplo según su evolución tenemos:
La evolución de las interfaces de usuario corre en paralelo con la de los sistemas operativos; de hecho, la interfaz constituye actualmente uno de los principales elementos de un sistema operativo. A continuación se muestran las distintas interfaces que históricamente han ido apareciendo, ejemplificándolas con las sucesivas versiones de los sistemas operativos más populares.
A. Interfaces de línea de mandatos (command-line user interfaces, CUIs). Es el característico del DOS, el sistema operativo de los primeros PC, y es el estilo más antiguo de interacción hombre-máquina. El usuario escribe órdenes utilizando un lenguaje formal con un vocabulario y una sintaxis propia (los mandatos en el caso del DOS). Se usa un teclado, típicamente, y las órdenes están encaminadas a realizar una acción.
El usuario no suele recibir mucha información por parte del sistema (ejemplo:
indicador del DOS), y debe conocer cómo funciona el ordenador y dónde están los programas (nada está oculto al usuario). El modelo de la interfaz es el del programador, no el del usuario. Ejemplo del DIR-DEL-DIR, por la falta de información de respuesta del DOS. Otras veces, en cambio, es excesiva: etiqueta del volumen en el DIR.
Inconveniente. Carga de memoria del usuario (debe memorizar los mandatos;
incluso la ayuda es difícil de leer nombres no siempre adecuados a las funciones, significado de los mandatos mal comprendido a veces (varios mandatos con el mismo o parecido significado, como DEL y ERASE); inflexible en los nombres (DEL y no DELETE).
Ventajas. Potente, flexible y controlado por el usuario, aunque esto es una ventaja para usuarios experimentados. La sintaxis es estricta, y los errores pueden ser graves.
En resumen, un CUI es adecuado para usuarios expertos, no para novatos. Para aquellos resultan más rápidos, por lo que se puede diseñar un CUI como parte de una interfaz, para que se pueda utilizar una vez que se tenga experiencia.
B. Interfaces de menús. Un menú es una lista de opciones que se muestran en la pantalla o en una ventana de la pantalla para que los usuarios elijan la opción que deseen. Los menús permiten dos cosas: navegar dentro de un sistema, presentando rutas que llevan de un sitio a otro, y seleccionar elementos de una lista, que representan propiedades o acciones que los usuarios desean realizar sobre algún objeto.
Las interfaces de menús aparecen cuando el ordenador se vuelve una herramienta de usuario y no sólo de programadores. Las actuales interfaces gráficas u orientadas a objetos siguen utilizando este tipo de interfaces (los distintos estilos de interfaces no son mutuamente exclusivos).
Existen distintos tipos de menús. Los primeros fueron los menús de pantalla completa, estructurados jerárquicamente.
Menú de pantalla completa. Los menús de barra, situados en la parte superior de la pantalla, son profusamente utilizados en las aplicaciones actuales.
Contienen una lista de acciones genéricas que dan paso a menús desplegables donde se concretan.
Menú de barra y menú desplegable. Estos menús pueden llevar a su vez a otros: son los menús en cascada. Pueden cambiar dinámicamente, y deshabilitar opciones que no estén disponibles en un momento dado (marcándolas habitualmente en gris).
Las paletas o barras de herramientas. Son menús gráficos con acciones, herramientas y opciones que se pueden colocar en la pantalla. Se utilizan mucho en programas gráficos.
Los menús contextuales o menús pop-up. Son los más recientes. Se llaman así porque el contenido del menú depende del contexto de trabajo del usuario.
Contienen únicamente las opciones que son aplicables al objeto seleccionado, más algunas de uso frecuente que también son accesibles desde el menú de barra.
En resumen las interfaces de menús, bien estructuradas, son buenas para usuarios novatos o esporádicos. Son fáciles de aprender y de recordar. Pueden existir menús simples y avanzados, para adaptarse al tipo de usuario.
Precauciones. No ocupar demasiado espacio de la pantalla, recordar la información acumulada de menús precedentes, no colocar demasiados elementos en el menú, agruparlos de manera lógica (no en orden alfabético, por ejemplo; esto ayuda a recordarlos), permitir la personalización por parte del usuario, usar una terminología adecuada y consistente dentro del programa y con otros programas (Exit, Quit, Escape, Close, Return, Back). Las interfaces de menús serán utilizadas normalmente en conjunción con los otros estilos de interfaces.
C. Interfaces gráficas (graphical user interfaces, GUIs). Desarrolladas originalmente por XEROX (sistema Xerox Star, 1981, sin éxito comercial), aunque popularizadas por Apple (Steven Jobs se inspiró en los trabajos de Xerox y creó el Apple Lisa, 1983, sin éxito, y Apple Macintosh, 1984, con éxito debido en gran medida a su campaña publicitaria)
Un GUI es una representación gráfica en la pantalla del ordenador de los programas, datos y objetos, así como de la interacción con ellos. Un GUI proporciona al usuario las herramientas para realizar sus operaciones, más que una lista de las posibles operaciones que el ordenador es capaz de hacer.
Características de un GUI.
a. Posee un monitor gráfico de alta resolución.
b. Posee un dispositivo apuntador (típicamente un ratón).
c. Promueve la consistencia de la interfaz entre programas.
d. Los usuarios pueden ver en la pantalla los gráficos y textos tal como se verán impresos.
e. Sigue el paradigma de la interacción objeto-acción.
f. Permite la transferencia de información entre programas.
g. Se puede manipular en la pantalla directamente los objetos y la información.
h. Provee elementos de interfaz estándar como menús y diálogos.
i. Existe una muestra visual de la información y los objetos (iconos y ventanas).
j. Proporciona respuesta visual a las acciones del usuario.
k. Existe información visual de las acciones y modos del usuario/sistema (menús, paletas).
l. Existen controles gráficos (widgets) para la selección e introducción de la información.
m. Permite a los usuarios personalizar la interfaz y las interacciones.
n. Proporciona flexibilidad en el uso de dispositivos de entrada (teclado/ratón).
Una característica importante es que el GUI permite manipular los objetos e información de la pantalla, no sólo presentarla.
Para usar un GUI, los usuarios deben conocer (o aprender) una serie de conceptos:
Organización del sistema (ficheros, directorios en Win95).
Diferentes tipos de iconos y efecto de las acciones sobre ellos.
Elementos básicos de una ventana, uso de los controles del GUI.
Uso del ratón.
Los GUI usan el estilo objeto-acción, en contraposición a la acción-objeto de los CUI o las interfaces de menú. El usuario selecciona un objeto, y después la acción a realizar sobre dicho objeto. Los objetos son el principal foco de atención del usuario, lo cual resulta más natural y próximo a su modelo mental.
D. INTERFACES ORIENTADAS A OBJETOS (OBJECT ORIENTED USER INTERFACES, OOUIS)
Su aspecto es similar al de las GUIs. La diferencia estriba en el modelo subyacente: las GUIs son interfaces orientadas a la aplicación, mientras que las OOUIs están orientadas al objeto. El objetivo de la OOUI es que el usuario se concentre en sus tareas en lugar de en el ordenador y cómo utilizar las aplicaciones y ficheros necesarios para cumplir sus objetivos. Por ello se esconde la organización del sistema al usuario (Ejemplo de los accesos directos en Windows95-OS/2).
El estilo de interacción de los OOUIs es el de objeto-acción (también se da en los GUIs, aunque mezclado con el estilo acción-objeto). La ventana es un objeto ventana, no una ventana de aplicación; desaparecen pues los menús de barra y ganan terreno los contextuales. Los objetos se pueden clasificar en tres categorías: datos, contenedores y dispositivos. Sobre ellos se definen distintas vistas (por ejemplo, la ayuda constituye una vista del objeto). Definir los objetos y las vistas es lo más complicado del diseño de la interfaz. El objeto debe ser familiar al usuario (encajar con su modelo mental, apoyado en su vida diaria), y estar relacionado con el mundo real: uso de las metáforas.
Un ejemplo de lo que se pretende con una interfaz OOUI es el considerar un documento como un objeto sobre el cual realizar tareas tales como incorporar gráficos y textos, sin necesidad de usar programas distintos para cada una de ellas. Estos programas suelen tener funciones que se solapan, con el consiguiente gasto extra en espacio y dinero. Actualmente existe una mezcla de productos orientados a la aplicación y al objeto, aunque se está produciendo una migración a estos últimos. Las aplicaciones están dejando paso a conjuntos de objetos.
3.3 CARACTERÍSTICAS HUMANAS DEL DISEÑO DE INTERFAZ
3.3.1 Factores Humanos. La interfaz es el mecanismo a través del cual se establece un dialogo entre el programa y el usuario, y en el diseño de esta deben intervenir los sistemas visual, táctil y auditivo. El sistema visual está relacionado con la forma en la cual el usuario extrae la información de la interfaz. El tamaño del texto, el tipo de letra, la longitud de la línea, las mayúsculas, el sitio y el color influyen en la facilidad con la que se realiza esa extracción. Esa información deberá ser almacenada para ser usada posteriormente y además el usuario podría tener que recordar órdenes, secuencias de operación, alternativas, situaciones de error y otra información tediosa.
Muchos diseñadores no aplican un razonamiento de tipo inductivo o deductivo formal cuando se enfrentan a un problema. En lugar de eso, aplican un conjunto de heurísticas (consejos, reglas y estrategias recogidas en el tiempo) basadas en su comprensión de problemas similares. Posiblemente, una interfaz completamente aceptable para un Ingeniero, pueda ser inadecuada para un trabajador sin preparación. Una interfaz utilizada por dos individuos con la misma educación y preparación, pero con personalidades completamente diferentes, pueda ser vista por uno como “amistosa” y “poco amigable” por el otro.
El concepto de reusabilidad, acompaña el diseño de la interfaz, instando a estandarizar todos los elementos posibles: mensajes, colores, botones, pantallas, fonts, etc. No se necesita generar una pantalla nueva cada vez que se desarrolla una función. No debemos confundir al usuario, más bien acostumbrarlo a que su trabajo tenga una conducta regular. Además, a la hora de mantener un sistema, debemos saber con qué nos vamos a encontrar, si es que queremos bajar tiempos y costos.
Al diseñar interfaces de usuario deben tenerse en cuenta las habilidades cognitivas y de percepción de las personas, y adaptar el programa a ellas.
Así, una de las cosas más importantes que una interfaz puede hacer es reducir la dependencia de las personas de su propia memoria, no forzándoles a recordar cosas innecesariamente (por ejemplo, información que apareció en una pantalla anterior) o a repetir operaciones ya realizadas (por ejemplo, introducir un mismo dato repetidas veces).
La persona tiene unas habilidades distintas de la máquina, y ésta debe utilizar las suyas para contrarrestar las de aquella (como por ejemplo la escasa capacidad de la memoria de corto alcance).
Velocidad de Aprendizaje. Se pretende que la persona aprenda a usar el sistema lo más pronto posible.
Velocidad de Respuesta. El tiempo necesario para realizar una operación en el sistema.
Tasa de errores. Porcentaje de errores que comete el usuario.
Retención. Cuánto recuerda el usuario sobre el uso del sistema en un período de tiempo.
Satisfacción. Se refiere a que el usuario esté a gusto con el sistema.
3.3.2 Adecuación
Características Físicas. Cada persona tiene diferentes características físicas.
Hay algunas personas que no les gustan los teclados mientras que a otras sí.
Es por eso que hay teclados ergonómicos. Lo mismo sucede con el mouse.
Ambiente. El lugar donde va a ser usado el sistema. Cada interfaz tiene que adecuarse al lugar.
Visibilidad. Tomar en cuenta la cantidad de iluminación del lugar. ¿Se refleja el brillo en la pantalla?
Personalidad. De acuerdo a la edad, nivel socio-económico, etc.
Cultura. Los japoneses no tienen las mismas pantallas, ventanas, etc. Este factor es importante si el mercado para el sistema es a nivel internacional.
3.3.3 Funcionalidad
Sistemas Vitales. Son de vida o muerte; muchas personas dependen de ellos.
Ejemplo: un sistema para reactores nucleares. Este sistema trabaja en tiempo real, y es de suma importancia la seguridad y efectividad del mismo.
Sistemas Comerciales e Industriales. Sirven para aumentar la productividad y vender más.
Sistemas de Oficina, Hogar y Juegos. Factor importante: el mercado a quien está dirigido; tienen que ser muy amigables y satisfacer al cliente.
Sistemas de Investigación. Realizan tareas muy específicas y tratan de imitar el medio en el que se desenvuelve el usuario.
3.3.4 Pasos para el diseño de interfaz. En el proceso de diseño de una interfaz de usuario se pueden distinguir cuatro fases o pasos fundamentales:
a. Reunir y analizar la información del usuario. Es decir concretar a través de técnicas de levantar requerimientos, qué tipo de usuarios van a utilizar el programa, qué tareas van a realizar los usuarios y cómo las van a realizar, qué exigen los usuarios del programa, en qué entorno se desenvuelven los usuarios (físico, social, cultural).
b. Diseñar la interfaz de usuario. Es importante dedicar tiempo y recursos a esta fase, antes de entrar en la codificación. En esta fase se definen los objetivos de usabilidad del programa, las tareas del usuario, los objetos y acciones de la interfaz, los iconos, vistas y representaciones visuales de los objetos, los menús de los objetos y ventanas. Todos los elementos visuales se pueden hacer primero a mano y luego refinar con las herramientas adecuadas.
c. Construir la interfaz de usuario. Es interesante realizar un prototipo previo, una primera versión del programa que se realice rápidamente y permita visualizar el producto para poderlo probar antes de codificarlo definitivamente.
d. Validar la interfaz de usuario. Se deben realizar pruebas de usabilidad del producto, a ser posible con los propios usuarios finales del mismo.
3.3.5 Pasos para el diseño en tareas. Existen 11 pasos en el proceso de diseño
"centrado en las tareas", similar al anterior pero que desglosa algunas actividades implícitas en otras, así:
a. Entender quien usará el sistema para hacer qué.
b. Elegir tareas representativas para el diseño.
c. Plagiar o copiar.
d. Bosquejar un diseño.
e. Pensar acerca del diseño.
f. Crear un prototipo.
g. Evaluarla con los usuarios.
h. Repetir.
i. Construirla.
j. Rastrearla.
k. Cambiarla.
3.4 TÉCNICAS Y PASOS AVANZADOS PARA EL DISEÑO DE INTERFACES DE USUARIO
A. Presentación de información. No se deben colocar demasiados objetos en la pantalla, y los que existen deben estar bien distribuidos.
B. Cada elemento visual. Influye en el usuario no sólo por sí mismo, sino también por su combinación con el resto de elementos presentes en la pantalla. Cada elemento nuevo que se añade influye más de lo que se piensa en el usuario.
Elementos de diseño de pantalla y su percepción visual
C. Análisis de Color. Es probablemente el elemento de la interfaz que con más frecuencia es mal utilizado. El color comunica información, no es sólo decorativo (ejemplo: reforzar mensajes de error). Deben utilizarse combinaciones adecuadas (por ejemplo, las paletas proporcionadas por los sistemas operativos). El color debe atraer la atención, pero no cansar después de un rato de trabajo. Es especialmente importante seguir las líneas de diseño existentes. Principio básico: diseñar primero en blanco y negro, y luego añadir el color.
D. Análisis Audio. Primero es preciso ver cuándo es más apropiado que la información visual. Segundo, determinar el sonido adecuado. Tercero, permitir la personalización (volumen y desactivación). Como en el caso de los colores existen guías de uso. En lugares de trabajo abiertos, puede ser poco efectivo;
además, puede ser embarazoso para algunas personas. El sonido debe usarse para informar, no cuando no añade nada nuevo (por ejemplo, un mensaje de aviso de correo o de bienvenida, respectivamente, al iniciar una sesión de trabajo).
E. Análisis Animación. Se define como un cambio en el tiempo de la apariencia visual de un elemento gráfico. Ejemplos de su uso: progreso de acciones (copia de ficheros en Windows 95, instalación de programas), estado de procesos (iconos de impresora), acciones posibles (cambios en el cursor al desplazar el ratón). La animación puede ayudar a subrayar iconos importantes, mostrar el estado de un objeto particular o explicar su comportamiento.
Diseño internacional. Debe hacerse un uso adecuado de la terminología. Hay mucho trabajo en este campo. Debe tenerse cuidado con las diferencias culturales (gestos, terminología, dibujos, formatos de teléfonos o calendarios, etc.).
Análisis y Elección de controles. Muchas veces existe la duda de qué controles utilizar.
En realidad no existe una única forma correcta. Un aspecto a considerar es la escalabilidad (menú de 10/1000 elementos; ejemplo: programas del menú inicio de Windows 95).
Ejemplo de alternativas: usar un menú de barra o de paleta, permitir arrastrar objetos o no (problema: no existe indicación visual de que se pueda arrastrar el objeto: ¿qué objetos se pueden arrastrar? ¿A dónde se pueden arrastrar? ¿qué ocurrirá cuando lleguen allí? ¿Se podrá deshacer la acción?).
Guías de Expertos. Existen diversas guías de diseño sacadas de expertos y comités, que complementan a las mencionadas anteriormente. Por citar algunas de ellas:
Demasiada simetría puede hacer las pantallas difíciles de leer.
Si se ponen objetos sin alinear, hacerlo drásticamente.
Asimetría=activo, simetría=sereno.
Elementos de tamaño y color similares se perciben como pertenecientes a un grupo.
Asumir errores en la entrada del usuario.
Diseñar para el usuario, no para demostrar los propios conocimientos tecnológicos.
Unos gráficos espectaculares no salvarán a una mala interfaz.
3.5 CARACTERISTICAS DE UNA INTERFAZ
Facilidad de aprender.
Simple de utilizar.
Directa.
No muy estricta.
Como consecuencia de ellas el usuario podrá hacer un buen uso de lo que hay detrás de ella.
3.5.1 Tipos de Usuarios
Principiantes. Sin conocimiento de los mecanismos de interacción requeridos de la funcionalidad general de la aplicación y de utilización de una computadora.
Irregulares. Con capacidad de aprender, conocimiento razonable de la funcionalidad pero poca memorización de lo necesario para utilizarla.
Frecuentes. Con capacidad de aprender, buen conocimiento funcional y de los mecanismos de interacción.
3.5.2 Aspectos de Diseño. Paralelamente a la evolución del diseño, hay tres aspectos comunes que se mantienen y que condicionan la evaluación del producto desde el punto de vista del usuario:
Tiempo de respuesta del sistema
Facilidades de ayuda al usuario
Manejo de la información de error
Estos aspectos deberán ser considerados desde el comienzo del diseño, cuando no es difícil hacer cambios y los costos son bajos.
A. Tiempo de respuesta. Tiene dos características:
Retardo. Si el retardo de la respuesta es demasiado largo, resultará en la frustración del usuario. Un retardo demasiado corto, puede forzar al usuario a ir más rápido y cometer más errores.
Variabilidad. Desviación del tiempo de respuesta medio. Es preferible un retardo constante de un segundo en todas las respuestas, frente a uno irregular que varíe entre 0.1 y 2.5 segundos. En este último caso, el usuario siempre está desconcertado, preguntándose si ha ocurrido algo “diferente” a lo esperado.
B. Facilidades de Ayuda al usuario. Alguno de nosotros, nunca necesito ayuda para hacer cosas?. En algunos casos, frente a un sistema interactivo, una simple pregunta a la persona de al lado puede resolver el problema, otras veces, la consulta de una serie de “manuales de usuario” también la resolverá.
La ayuda interactiva permite al usuario obtener una respuesta sin abandonar la interfaz, pero, algo que nosotros los profesionales olvidamos, es que, muchos de los usuarios no son “nerds”, y realmente prefieren preguntarle a su compañero antes que seguir mirando nuestra seductora pantalla.
De todas formas, existen dos tipos de facilidades de ayuda: la integrada y la añadida. La integrada se diseña en el software desde el principio. La añadida es aquella que se incorpora al sistema después de haber sido construido.
Aspectos a tener en cuenta en el diseño de ayudas:
Ayuda disponible para todas las funciones del sistema
Como llamar a la ayuda
Presentación de la ayuda: Ventana separada, referencia a un documento impreso (no recomendada), sugerencias expresada en una o dos líneas en una posición fija.
Como volver a la operativa anterior
Estructuración de la ayuda: texto plano, jerarquía de capas mostrando temas a medida que se pasa por la estructura de ellos, hipertexto.
C. Manejo de la Información de error
Normalmente, los mensajes de error, avisos o advertencias constituyen malas noticias para los usuarios. Para que este criterio no sea tan categórico indicamos algunas características que estos deberían tener:
a. Debe describir el problema en un lenguaje que el usuario comprenda b. Debe proporcionar información constructiva para solucionar el problema c. Debe indicar las consecuencias negativas o positivas del error (dañe o no
algo)
d. Debe ir acompañado de una clave visual o audible e. No debe emitir juicios (no culpar al usuario)
3.5.3 Herramientas de Implementación. Es adecuado pensar que, no hay necesidad de desarrollar grandes individualidades y aceptar la masificación y estandarización de las interfaces, gracias a que el software generalmente proporciona ayudas para la creación de las mismas, estas ayudas permiten:
Control de los dispositivos de Ingreso
Validación de los ingresos de información
Manejo de errores y visualización de los mismos
Ayudas e indicaciones
Manejo de ventanas y campos
Establecimiento de conexiones entre el software de aplicación y la interfaz
Aislamiento de la aplicación de las funciones de manejo de interfaz
3.5.4 Evaluación del Diseño. El diseño de la interface deberá ser evaluado para determinar si satisface las necesidades del usuario. Para ello se han desarrollado algunos criterios de evaluación:
a. La longitud y complejidad de la especificación escrita del sistema y de su interfaz proporciona una indicación de la cantidad de aprendizaje requerido por los usuarios.
b. El número de órdenes especificado y el número medio de argumentos por orden, proporcionan una indicación del tiempo de interacción, y de la eficiencia global del sistema.
c. El número de acciones, órdenes y estados del sistema, indicados en el modelo de diseño indican la carga de memorización de los usuarios.
d. El estilo de la interfaz, las facilidades de ayuda y el protocolo de manejo de errores proporcionan una indicación general de la complejidad de la interfaz y del grado de aceptación por parte de los usuarios.
3.5.5 Guías para el diseño de Interfaces. Normalmente el diseño de interfaces, recae en la experiencia del diseñador, sumado a los artículos y libros relacionados con el tema. En esta sección incorporamos algunas guías, a las que hemos decidido dividirlas en tres grandes categorías: Interacción General, Visualización de Información e Ingreso de Datos.
Interacción General
Ser consistente
Ofrecer feedback garantizando la comunicación bidireccional
Pedir confirmación ante acciones destructivas no triviales
Permitir volver atrás ante cualquier tipo de ejecución
Reducir la cantidad de información que se debe memorizar entre acciones
Categorizar las actividades en base a su función y organizar la distribución de la pantalla convenientemente
Proporcionar facilidades de ayuda
Utilizar verbos de acción simples para nombrar las órdenes
Visualización de Información
Mostrar solo aquella información relevante en el momento actual
Producir mensajes de error significativos
Permitir al usuario mantener el contexto visual
Utilizar ventanas para distribuir la información según tipos
Mostrar el avance de la ejecución si la misma demora
Ingreso de datos
Minimizar el número de acciones de ingreso de datos que debe realizar el usuario
Mantener consistencia entre la misma información visualizada y datos a ingresar
Permitir al usuario personalizar su interfaz de ingreso de datos
Desactivar órdenes que sean inapropiadas en el contexto actual
Proporcionar ayuda en todos los datos a ingresar
3.5.6 Estandarización de Interfaces. Siempre es conveniente para el usuario y su aprendizaje de nuevos sistemas, mantener estándares de presentación y ritmo de interacción de interfaces ya usados. Además la estandarización permite, ante un cambio y ante nuevas implementaciones, una mantenibilidad rápida, efectiva y de bajo costo del producto.
3.6 EJEMPLO DE UNA INTERFACE LOGICA
El diseño lógico se puede hacer en una hoja de papel y un lápiz o hacer uso de herramientas de ofimática tales como Word, Excel o Power Point.
TELEFO
IDENTIFICACIÓN DEL CLIENTE
CÓDIGO POSTAL CIUDAD
DIRECCIÓN
CARGO DEL CONTACTO DE LA COMPAÑÍA CONTACTO DE LA COMPAÑÍA
NOMBRE DE LA COMPAÑÍA
SALIR
NUEVO REGISTRO REGISTRO ANTERIOR ELIMINAR REGISTRO GUARDAR REGISTRO
?
3.7 EJEMPLO DE UNA INTERFACE FISICA
El diseño físico se debe hacer en una herramienta de programación tal como Access, visual Basic, visual fox, entre otros.
Observe que el diseño físico realizado es muy similar al diseño lógico que se planeó.
3.8 ACTIVIDAD TOTAL DE APRENDIZAJE
Realizar un mapa mental en Xmind (todo concepto con imagen) o en cualquier otro software sobre el contenido teórico de la cartilla.
Seleccione un proceso detectado en el análisis de la empresa relacionado en forma específica (nomina, inventarios, contabilidad, etc.), realice el diseño lógico (interfaz lógica) en Word o Power Point (o cualquier otro software de dibujo) de por lo menos 2 interfaces (menús, botones, etc.), aplicando los conceptos vistos. Publíquelos en el blog del grupo y envíe la dirección del mismo al correo del docente encargado; plazo hasta 24 horas antes de la siguiente sesión.
4. BIBLIOGRAFIA Y WEBGRAFIA
4.1 BIBLIOGRAFÍA
DOMINGUEZ COUTIÑO, Luis Antonio. Análisis de Sistemas de Información.
Kendall Edgard, Kendall Julia. Análisis y Diseño de Sistemas. Ed Pearson Education. México. 997.
Senn James. Análisis y Diseño de Sistemas. Ed. Mc Graw Hill. México. 2001.
Martin, James y Odell James. Análisis y Diseño Orientado por Objetos. Ed.
Prentice Hall. México. 1995.
Yourdon E., Análisis estructurado moderno, Hispanoamericana, México, Prentice- Hall,Prentice Hall, 1993.
Senn, James A., Análisis y diseño de sistemas de información, México, McGraw- Hill, 1993.
Whiten, J. L., Análisis y diseño de sistemas de información, Buenos Aires, Santafé de Bogotá, McGraw-Hill, 1996.
Silberschatz, Abraham, Fundamentos de base de datos, Madrid, España, McGraw-Hill, 2002.
4.2 WEBGRAFÍA
http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060030/html/conteni do.html
http://sites.google.com/a/udo.edu.ve/adsi/contenido-general-del-curso www.youtube.com