Debemos tomar conciencia que la informtica tiene un carcter estratgico. Sus
aplicaciones ya han afectado prcticamente todas las actividades humanas, modificando las estructuras de produccin y comercializacin, la organizacin de instituciones, la generacin de nuevas tecnologas y la difusin de conocimientos, as como la prestacin de servicios. A todo ello se estn sumando transformaciones igualmente importantes en el mbito social, bsicamente en la forma en que se llevan a cabo innumerables actividades cotidianas y personales.
En la actualidad, la informacin, obtenida en forma completa y oportuna dentro de cualquier tipo de organizacin, constituye un elemento esencial que garantiza la gestin eficaz de los recursos de la misma, as como la calidad de los servicios que presta y la adecuacin constante al entorno que lo rodea. A medida que se difunde con gran rapidez el uso de las Computadoras dentro de una Organizacin, surgen muchas inquietudes acerca de la forma de usarlas para mejorar la productividad y objetivos de la Organizacin.
La filosofa implcita en la Metodologa, es que el Anlisis y Diseo de Sistemas es un Proceso en el que se aplican muchas tcnicas orientadas a mejorar el negocio mediante la implantacin o el cambio de los sistemas de informacin existentes. La Metodologa propuesta, tiene sus fundamentos en la Teora General de Sistemas (TGS), y debe de considerarse como herramienta y gua para asegurar su efectividad.
Los sistemas interactivos se caracterizan por la importancia del dilogo con el usuario. La interfaz de usuario es por tanto, una parte fundamental en el proceso de desarrollo de cualquier aplicacin y por tanto se tiene que tener en cuenta su diseo desde el principio. La interfaz es la parte (hardware y software) del sistema informtico que facilita al usuario el acceso a los recursos del ordenador. En este sentido, THIMBLEBY [THI90] sugiere que la interfaz determinar en gran medida la percepcin e impresin que el usuario poseer de la aplicacin. El usuario no est interesado en la estructura interna de la aplicacin, sino en cmo usarla. No se puede realizar la especificacin, disear las funciones y estructuras de datos y escribir el cdigo y una vez casi terminado el proceso de desarrollo de la aplicacin plantearse el diseo de la interfaz de usuario. Siguiendo esta forma de trabajo lo ms seguro es que se obtengan diseos de interfaces muy dependientes de los diseos que se han realizado de las datos y de las funciones, sin tener en cuenta que esos datos han de ser obtenidos y representados por y para el usuario.
Una vez tenemos hecha la especificacin, propuesto un diseo y el cdigo est implantado, es muy difcil cambiar las caractersticas de la interaccin y presentacin de la informacin, excepto pequeas cosas. Por tanto, deberemos empezar con un idea clara de cmo queremos la interfaz y como sern las interacciones con el usuario para despus, desarrollar las especificaciones funcionales que sirvan de gua al diseo posterior.
En el desarrollo de aplicaciones interactivas se podrn aplicar las tcnicas de la ingeniera de software, pero teniendo en cuenta que hemos de modificar algunos aspectos de los mtodos de diseo clsico para adaptarlos a las peculiaridades de estos sistemas. Hay que tener en cuenta que un aspecto fundamental es el anlisis y diseo de la parte interactiva, y que para realizarlo, necesitaremos aplicar de tcni-cas de anlisis y diseo especficas.
El desarrollo de un sistema interactivo deber tener en cuenta a los participantes que van a intervenir en el mismo: el usuario, que posee la capacidad de eleccin y actuacin, la computadora, que ofrece un programa y mecanismos para su acceso, y el diseador, el encargado de anticipar las posibles acciones del usuario y codificarlas en el programa. Todo ello se articula a travs de la interfaz de Usuario de la aplicacin.
Participantes de un sistema interactivo
La tendencia hacia interfaces de usuarios fciles de usar provoca que su diseo sea cada vez ms complejo. La interfaz de usuario, como medio de comunicacin entre el humano y la computadora se caracteriza por su apariencia (presentacin) y su capacidad de gestin del dilogo. Podemos encontrar multitud de productos que permiten la descripcin y generacin automtica de la apariencia externa de una aplicacin mediante la utilizacin de paletas de recursos (botones, mens, etc.) herramientas visuales, toolkits, etc. Sin embargo, estas herramientas no suministran suficiente ayuda en el anlisis del comportamiento dinmico de la interfaz, en su descripcin y sobre todo, no aseguran su correccin. A continuacin introduciremos una aproximacin de ingeniera para el diseo de sistemas interactivos.
1 Aproximaciones al diseo El desarrollo de Sistemas Interactivos es una tarea compleja para la cual necesitaremos de herramientas y metodologas que nos permitan realizar un diseo satisfactorio centrado en el usuario. Existen dos aproximaciones para realizar el di-seo: Aproximacin emprica. El diseo se basa en la propia experiencia del diseador o bien en la de otros diseadores que se recoge mediante compendios de recomendaciones (guas, reglas de oro, estndares, etc.) ms o menos relevantes para la construccin de un interfaz con xito. Estos resultados generalmente estn avalados por unos estudios de evaluacin por el usuario (tests de usabilidad). Aproximacin metodolgica. Se basa en unos fundamentos tericos y en la aplicacin de una serie de pasos para la realizacin del diseo. La aproximacin metodolgica posee bastantes aportaciones de otras disciplinas, sobre todo de las teoras cognitivas ya que aportan mecanismos para la descripcin del conocimiento que el usuario posee del sistema. De hecho, la aproximacin emprica se basa en las aportaciones ms relevantes (enunciadas como reglas de diseo) de las aportaciones tericas (ver captulo Estndares y guas). En este captulo nos centraremos en una aproximacin metodolgica para el desarrollo de sistemas Diseador Usuario Computadora I U interactivos, analizando las peculiaridades de este tipo de sistemas y los mecanismos existentes para su anlisis y diseo.
En el mbito de los sistemas interactivos se ha utilizado el trmino diseo con muchas connotaciones. De hecho, el concepto de diseo abarca desde aspectos de anlisis (de usuarios, tareas, del entorno, propiedades), aspectos de modelado (arquitectura) hasta cuestiones relativas propiamente de diseo (apariencia, codificacin, etc.). Modelo mental y modelo conceptual Un aspecto muy importante en el diseo de sistemas interactivos es el factor humano (ver captulo El factor humano), por lo que deberemos partir de modelos cognitivos que nos permita estudiar y representar cmo es asimilada y procesada la informacin por una persona. La obtencin del conocimiento acerca de una aplicacin basada en ordenadores se realiza mediante un aprendizaje. Para ello, se introducen dos trminos para identificar el grado de asimilacin y comprensin del usuario del entorno: Modelo conceptual: Es una abstraccin externa que describe, mediante diagramas y notaciones ms o menos formales, el conocimiento que debe poseer una persona acerca de un sistema. Este modelo es realizado por el analista y debe ser completo, consistente y exacto (sin ambigedad). Modelo mental (o modelo de usuario): Es la abstraccin del conocimiento interno que posee el usuario. Este modelo nos da una medida real de lo que el usuario piensa/conoce acerca del sistema informtico. Este modelo gua las intenciones del usuario para realizar una tarea en el sistema. Adems, este modelo mental se puede ir modificando conforme se interacciona con el sistema. El modelo conceptual est basado en un conjunto de elementos y de relaciones que se pueden observar en un determinado sistema, representando el conocimiento que cualquier usuario debera adquirir sobre el sistema. Este modelo se deber definir mediante una notacin formal y comprensible que evite la ambigedad del lenguaje.
Figura 1 Inconsistencia en el modelo mental El modelo conceptual debe suministrar informacin al usuario acerca de qu hace el sistema y los mecanismos para llevarlo a cabo. Su importancia radica en que debe favorecer el aprendizaje del sistema, es una gua para predecir el comportamiento del sistema, y adems, el usuario utilizar este modelo para establecer estrategias encaminada a resolver sus problemas. Los principios en los que debe estar basado el modelo conceptual sern por tanto que sea asimilable (mediante el uso de conceptos familiares), consistente (coherente y bien formulado) y simple (uso de descripciones comprensibles por un usuario medio).
Figura 2 Modelo conceptual (con notacin formal)
Para poder realizar el modelo conceptual de un sistema, deberemos conocer y aplicar modelos tericos cognitivos que estn fundamentados en el mecanismo de razonamiento humano. Los ms relevantes son: Modelo de procesador humano CARD y MORAN [CAR83] presentan este modelo en el que se expone la forma de percibir, procesar y manipular la informacin. Este modelo identifica diferentes procesadores y sistemas de memoria, donde cada uno de ellos tiene asignado parmetros cuantitativos importantes como ciclos de tiempo o capacidades. El modelo del procesador humano est compuesto de tres sistemas: el sistema perceptual, que maneja los estmulos sensoriales externos, el sistema motor, que controla las acciones y por ltimo, el sistema cognitivo, que suministra el conocimiento suficiente para conectar ambos. Modelo de desarrollo de tareas Norman, en 1986, propone un modelo de desarrollo de tareas que identifica siete etapas de ejecucin y evaluacin de acciones de usuario. El modelo representa las etapas de actividad mental que implica que el usuario alcance un objetivo y que son: 1) establecer el objetivo que se quiere alcanzar, 2) formalizar la intencin para la accin que alcanzar el objetivo, 3) especificar la secuencia de accin correspondiente a la intencin, 4) ejecutar la accin, 5) percibir el estado del sistema, 6) interpretar el estado, y por ltimo 7) evaluar la interpretacin del estado con respecto al objetivo inicial. Este modelo proporciona una base para representar y entender las consecuencias cognitivas de diseos particulares. Modelo objetoaccin sintcticosemntico (SSOA) Este modelo descrito originalmente por SHNEIDERMAN en 1980 [SHN92], propone que los usuarios poseen un conocimiento sintctico y semntico del dominio del problema y de los mecanismos de interaccin. En este conocimiento se almacenan detalles de los dispositivos (tipos, modo de uso), conocimientos semnticos sobre las actividades y conceptos del ordenador. Este conocimiento se estructura mediante una coleccin de objetos que componen el sistema (cursor, icono, ventana..) y de las acciones que se pueden llevar a cabo sobre cada uno de esos objetos (mover, cambiar, redimensionar, etc.). Estructura del modelo conceptual El modelo conceptual es muy importante, ya que permiten identificar, organizar y realizar razonamientos sobre los componentes y comportamiento de un sistema interactivo, ser la gua para el proceso de diseo del software y puede usarse posteriormente como una referencia para evaluar un diseo particular, razonar sobre la solucin realizada y el posible espacio de soluciones existente. Por tanto, la correcta especificacin del modelo conceptual ser crucial en toda la etapa del proceso de diseo. Algunas de estas notaciones del modelo conceptual estn basadas en mtodos formales (con un fundamento basado en lgica matemtica), lo que permitir una descripcin precisa y sin ambigedad. Partiendo de las teoras cognitivas presentadas anteriormente, se podra realizar la descripcin conceptual del sistema mediante uno de estos modelos: Modelo de caja negra: El usuario no tiene idea del funcionamiento interno, y simplemente conoce que ciertas entradas producen una serie de resultados. Este es una visin mgica del sistema, en la cual el usuario no tiene bases para predecir nuevos comportamientos ni causas que provocan los errores. El usuario se ve forzado a considerar los resultados verdaderos, y no sabe cmo juzgar su validez. Modelo funcional jerrquico: Las funciones suministradas por el sistema se agrupan en jerarquas, permitiendo reducir la complejidad del sistema mediante la aplicacin de tcnicas de particin en el dominio del problema (mtodo de divide y vencers). Modelo basado en estados: El sistema se define como un conjunto de estados. Las transiciones son provocadas por eventos claramente definidos. El usuario puede observar los cambios en el estado del sistema. Un ejemplo es el sistema de comunicacin por telfono (diferentes pitidos para estados del sistema: ocupado, llamada, etc.) Modelo basado en objetos y acciones: Se trabaja directamente sobre entidades (fsicas o abstractas), sobre las cuales podemos realizar acciones. El usuario debe conocer la existencia de objetos, de sus posibles atributos y acciones aplicables. Por ejemplo, los iconos (acciones asociadas y atributos). Con estas posibles estructuraciones de la informacin que residen en el modelo conceptual, podramos optar por centrarnos en la descripcin del conocimiento que el usuario debe tener del sistema (siendo irrelevante la arquitectura del sistema) o viceversa (dando ms importancia al modelo del sistema respecto al conocimiento del usuario). A menudo, estas son dos alternativas (en algunos casos complementarias) para el diseo de sistemas interactivos. Una descripcin basada en el conocimiento del usuario nos llevar a un modelo de tareas, mientras que una descripcin del sistema nos conducir a un modelo arquitectnico. Los modelos de tareas analizan y describen el conocimiento que el usuario debe poseer acerca del sistema para su correcta utilizacin. En ese sentido, se ha trabajado en dos vertientes. Por un lado, se debe caracterizar el proceso de adquisicin de la informacin por parte del usuario, y por otro, se busca un mecanismo para expresar el rendimiento humano para la ejecucin de unas determinadas actividades. Estos mtodos se basan en el anlisis de tareas y generalmente usan una descripcin funcional jerrquica. Los modelos arquitectnicos representan la estructura interna del sistema. Se describe la composicin del sistema en base a una descripcin modular que facilita la composicin de componentes simples para la definicin de elementos ms
complejos. Estos modelos se basan en el concepto de interador, objeto activo o agente interactivo como un objeto especializado que va a formar parte del sistema interactivo y que posee un estado y reacciona ante eventos (estmulos externos al Objeto). Normalmente se usa una descripcin basada en estados o bien en objetos y acciones (aproximacin que se adapta bien a las metodologas orientadas a objetos existentes). Otra alternativa diferente son los modelos abstractos (basados en un modelo de caja negra), los cuales se utilizan para describir las propiedades ms relevantes del sistema (consistencia, visibilidad, etc.) en base a las entradas y salidas que se producen en el sistema, y sin tener en cuenta su estructura interna. El modelo PIE propuesto por A. DIX [DIX91] es el ms conocido. Estos tres modelos no tienen por qu ser excluyentes entre s, ya que bsicamente se diferencian los aspectos relevantes del estudio y en el nivel de abstraccin con el que se analiza el sistema. Conceptos y principios: El Diseo de Sistemas se define el proceso de aplicar ciertas tcnicas y principios con el propsito de definir un dispositivo, un proceso o un Sistema, con suficientes detalles como para permitir su interpretacin y realizacin fsica. La etapa del Diseo del Sistema encierra cuatro etapas: 1. El diseo de los datos. Trasforma el modelo de dominio de la informacin, creado durante el anlisis, en las estructuras de datos necesarios para implementar el Software. 2. El Diseo Arquitectnico. Define la relacin entre cada uno de los elementos estructurales del programa. 3. El Diseo de la Interfaz. Describe como se comunica el Software consigo mismo, con los sistemas que operan junto con el y con los operadores y usuarios que lo emplean. 4. El Diseo de procedimientos. Transforma elementos estructurales de la arquitectura del programa. La importancia del Diseo del Software se puede definir en una sola palabra Calidad, dentro del diseo es donde se fomenta la calidad del Proyecto. El Diseo es la nica manera de materializar con precisin los requerimientos del cliente. El Diseo del Software es un proceso y un modelado a la vez. El proceso de Diseo es un conjunto de pasos repetitivos que permiten al diseador describir todos los aspectos del Sistema a construir. A lo largo del diseo se evala la calidad del desarrollo del proyecto con un conjunto de revisiones tcnicas: El diseo debe implementar todos los requisitos explcitos contenidos en el modelo de anlisis y debe acumular todos los requisitos implcitos que desea el cliente. Debe ser una gua que puedan leer y entender los que construyan el cdigo y los que prueban y mantienen el Software. El Diseo debe proporcionar una completa idea de lo que es el Software, enfocando los dominios de datos, funcional y comportamiento desde el punto de vista de la Implementacin.
Para evaluar la calidad de una presentacin del diseo, se deben establecer criterios tcnicos para un buen diseo como son: Un diseo debe presentar una organizacin jerrquica que haga un uso inteligente del control entre los componentes del software. El diseo debe ser modular, es decir, se debe hacer una particin lgica del Software en elementos que realicen funciones y subfunciones especficas. Un diseo debe contener abstracciones de datos y procedimientos. Debe producir mdulos que presenten caractersticas de funcionamiento independiente. Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los mdulos y el entorno exterior. Debe producir un diseo usando un mtodo que pudiera repetirse segn la informacin obtenida durante el anlisis de requisitos de Software. Estos criterios no se consiguen por casualidad. El proceso de Diseo del Software exige buena calidad a travs de la aplicacin de principios fundamentales de Diseo, Metodologa sistemtica y una revisin exhaustiva. Cuando se va a disear un Sistema de Computadoras se debe tener presente que el proceso de un diseo incluye, concebir y planear algo en la mente, as como hacer un dibujo o modelo o croquis. 3.2. Diseo de la Salida. En este caso salida se refiere a los resultados e informaciones generadas por el Sistema, Para la mayora de los usuarios la salida es la nica razn para el desarrollo de un Sistema y la base de evaluacin de su utilidad. Sin embargo cuando se realiza un sistema, como analistas deben realizar lo siguiente: Determine qu informacin presentar. Decidir si la informacin ser presentada en forma visual, verbal o impresora y seleccionar el medio de salida. Disponga la presentacin de la informacin en un formato aceptable. Decida cmo distribuir la salida entre los posibles destinatarios. 3.3. Diseo de Archivos. Incluye decisiones con respecto a la naturaleza y contenido del propio archivo, como si se fuera a emplear para guardar detalles de las transacciones, datos histricos, o informacin de referencia. Entre las decisiones que se toman durante el diseo de archivos, se encuentran las siguientes: Los datos que deben incluirse en el formato de registros contenidos en el archivo. La longitud de cada registro, con base en las caractersticas de los datos que contenga. La secuencia a disposicin de los registros dentro del archivo (La estructura de almacenamiento que puede ser secuencial, indexada o relativa). No todos los sistemas requieren del diseo de todos los archivos, ya que la mayora de ellos pueden utilizar los del viejo Sistema y solo tenga que enlazarse el nuevo Sistema al Archivo maestro donde se encuentran los registros. 3.4. Diseo de Interacciones con la Base de Datos. La mayora de los sistemas de informacin ya sean implantado en sistemas de cmputos grandes o pequeos, utilizan una base de datos que pueden abarcar varias aplicaciones, por esta razn estos sistemas utilizan u administrador de base de datos, en este caso el diseador no construye la base de datos sino que consulta a su administrador para ponerse de acuerdo en el uso de esta en el sistema. 3.5 Herramientas para el Diseo de Sistemas. Apoyan el proceso de formular las caractersticas que el sistema debe tener para satisfacer los requerimientos detectados durante las actividades del anlisis: 3.5.1 Herramientas de especificacin. Apoyan el proceso de formular las caractersticas que debe tener una aplicacin, tales como entradas, Salidas, procesamiento y especificaciones de control. Muchas incluyen herramientas para crear especificaciones de datos. 3.5.2 Herramientas para presentacin. Se utilizan para describir la posicin de datos, mensajes y encabezados sobre las pantallas de las terminales, reportes y otros medios de entrada y salida. 3.5.3 Herramientas para el desarrollo de Sistemas. Estas herramientas nos ayudan como analistas a trasladar diseos en aplicaciones funcionales. 3.5.4 Herramientas para Ingeniera de Software. Apoyan el Proceso de formular diseos de Software, incluyendo procedimientos y controles, as como la documentacin correspondiente. 3.5.5 Generadores de cdigos. Producen el cdigo fuente y las aplicaciones a partir de especificaciones funcionales bien articuladas. 3.5.6 Herramientas para pruebas. Apoyan la fase de la evaluacin de un Sistema o de partes del mismo contra las especificaciones. Incluyen facilidades para examinar la correcta operacin del Sistema as como el grado de perfeccin alcanzado en comparacin con las expectativas. La revolucin del procesamiento de datos de manera computarizada, junto con las practicas de Diseo sofisticadas estn cambiando de forma dramtica la manera en que se trasladan las especificaciones de Diseo d Sistemas de Informacin funcionales. En Conclusiones Generales. En una organizacin o Empresa, el anlisis y Diseo de Sistemas, es el proceso de estudiar su Situacin con la finalidad de observar cmo trabaja y decidir si es necesario realizar una mejora; el encargado de llevar a cabo estas tareas es el analista de sistemas. Antes de comenzar con el desarrollo de cualquier proyecto, se conduce un estudio de Sistemas para detectar todos los detalles de la situacin actual de la empresa. La informacin reunida con este estudio sirve como base para crear varias estrategias de Diseo. Los administradores deciden que estrategias seguir. Los Gerentes, empleados y otros usuarios finales que se familiarizan cada vez ms con el uso de computadoras estn teniendo un papel muy importante en el desarrollo de sistemas. Todas las organizaciones son Sistemas que actan de manera recproca con su medio ambiente recibiendo entradas y produciendo salidas. Los Sistemas que pueden estar formados por otros Sistemas de denominan Sub-sistemas y funcionan para alcanzar los fines de su Implantacin.