03. Info Chapter 03 Complete

Anuncio
UNIDAD III
APLICACIONES Y SERVICIOS
3.1 TECNOLOGÍAS DEL CLIENTE
Las tecnologías del lado del cliente, es decir, las que se ejecutan en el navegador del usuario son las páginas
dinámicas que se procesan en el cliente. En estas páginas toda la carga de procesamiento de los efectos y
funcionalidades la soporta el navegador. Usos típicos de las páginas de cliente son efectos especiales para webs
como rollovers o control de ventanas, presentaciones en las que se pueden mover objetos por la página, control y
validación de formularios, cálculos, etc. El código necesario para crear los efectos y funcionalidades se incluye
dentro del mismo archivo HTML y generalmente son scripts, activex o plugins. Cuando una página HTML contiene
alguna de las tecnologías de cliente, el navegador se encarga de interpretarlas y ejecutarlas para realizar los
efectos y funcionalidades. Las páginas del cliente son muy dependientes del sistema donde se están ejecutando y
esa es su principal desventaja, ya que cada navegador tiene sus propias características, incluso cada versión, y lo
que puede funcionar en un navegador puede no funcionar en otro. Como ventaja se puede decir que estas páginas
descargan al servidor algunos trabajos, ofrecen respuestas inmediatas a las acciones del usuario y permiten la
utilización de algunos recursos de la máquina local. Las páginas dinámicas de cliente principalmente se escriben en
dos lenguajes de programación: Javascript y Visual Basic Script (VBScript). También se puede hacer uso de las CSS o
XML para tecnologías como DHTML o AJAX. Existen tecnologías de cliente que se ejecutan a través plugins
instalados en el navegador. Algunas de las más conocidas son Flash y los Applet de Java.
3.2 TECNOLOGÍAS DEL SERVIDOR
Los primeros servidores web permitían visualizar exclusivamente información estática. Esto presentó pronto una
limitación; sobre todo desde el momento en el que la actividad publicitaria y comercial comenzó a concentrarse
también en Internet. La primera solución técnica realizada fue la posibilidad de que el servidor web ejecutase
programas residentes en la máquina de servicio. Esta tecnología, conocida como Common Gateway Interface (CGI)
permitía lanzar programas escritos principalmente en C o Perl.
Si bien la tecnología CGI resolvía el problema de la presentación exclusiva de información estática, al mismo
tiempo presentaba dos limitaciones importantes: el problema de seguridad que podía representar el hecho de que
mediante una petición se pudiesen ejecutar programas indeseados en el servidor y la carga del servidor (si una
página que lanzaba un programa era llamada desde 100 clientes simultáneamente, el servidor ejecutaba 100
procesos, uno por cada cliente que solicitaba dicha página).
Para resolver estos problemas, se buscó desarrollar una tecnología que permitiera ejecutar, en un único proceso
del servidor, todos los pedidos de ejecución de código sin importar la cantidad de clientes que se conectaban
concurrentemente. Así surgieron los denominados servlets, basados en la tecnología Java de Sun Microsystems, y
los filtros ISAPI de Microsoft. Éstos permitían ejecutar código en un único proceso externo que gestionaba todas
las llamadas realizadas por el servidor web, impidiendo al mismo tiempo que el servidor web pueda ejecutar
programas del sistema operativo.
No obstante, de este modo se limitaron los problemas de prestación y seguridad de la tecnología CGI, y no se
resolvió el problema representado por un desarrollo demasiado costoso en términos de tiempo. Asimismo, se hizo
necesario que dos figuras profesionales distintas trabajen en un único proyecto: el programador (que conoce el
lenguaje de programación utilizado del lado del servidor) y el diseñador web (que conoce la parte gráfica y el
lenguaje HTML). Para resolver estas limitaciones, fueron desarrollados lenguajes que pueden ser incluidos al
interno de archivos HTML. Estos comandos pueden ser interpretados (como por ejemplo las páginas ASP o PHP) o
precompilados (como en las páginas JSP o ASP.NET).
Lenguajes de scrip de servidor son los lenguajes que se ejecutan en el lado del servidor, como PHP, ASP, etc. Estos
lenguajes se utilizan para generar páginas dinamicas, facilitando el acceso a las bases de datos.
Con la utilización de esta tecnología se buscaba, también, desarrollar aptitudes de diseñador web en los
programadores y de programador en los diseñadores (se esperaba con ello el hacer más fácil y veloz el desarrollo
de scripts del lado del servidor).
EJEMPLOS DE TECNOLOGÍAS Y CARACTERÍSTICAS
TECNOLOGÍAS WEB DE CLIENTE Y SERVIDOR
Necesidad de complementar HTML
Contenido dinámico:

Personalizar el contenido.

Acceder a bases de datos.

Interaccionar con aplicaciones.
1

Mejorar la presentación.

Mejorar la interactividad.

Multimedia.

Soporte para nuevos tipos de datos.

Soporte para nuevos protocolos.
Alternativa cliente / servidor
Ejecución en el cliente:

El navegador descarga el código del servidor.

El navegador ejecuta en código en la máquina cliente.
Ejecución en el servidor:

El código se ejecuta en el entorno del servidor.

Genera dinámicamente los datos que se envían al cliente.
Soluciones híbridas:

Parte del código se ejecuta en el servidor, y parte del código en el cliente.
Comparativa cliente / servidor (I)
Escalabilidad:
La ejecución en cliente es más escalable, porque distribuye en uso de recursos (CPU, memoria) entre todos los
clientes.
Seguridad:
La ejecución en el cliente proporciona menor seguridad para el cliente, porque debe ejecutar código
potencialmente malicioso o defectuoso.
Comparativa cliente / servidor (II)
Compatibilidad / accesibilidad:
La ejecución en el cliente impide el uso de navegadores no compatibles con el código, especialmente desde
dispositivos de capacidad limitada.
Comportamiento distinto, ocasionalmente, del mismo programa en distintos navegadores.
2
TECNOLOGÍAS DE EJECUCIÓN EN EL CLIENTE

ECMAScript / JavaScript.

Applets Java.

Plug--ins.

Controles ActiveX.

Adobe Flash.

AJAX.

JavaScript
Características:

Sintaxis semejante a C y Java, tipado débil sin clases ni herencia.

Ejecución interpretada por el navegador.

Sometido a restricciones de seguridad.

Facilidad para modificar dinámicamente el documento HTML mediante DOM.
Algunos usos habituales:

Responder a eventos.

Comprobar datos de un formulario antes de enviarlos.
ECMAScript / JavaScript
Limitaciones:

Lenguaje de programación no estructurado, no apto para aplicaciones demasiado grandes.

Comportamiento dependiente del navegador.

Algunos navegadores no lo ejecutan.

Código fuente disponible para el cliente.
Applets Java
Programas Java que se ejecutan en el navegador:

El cliente descarga las clases (bytecodes).

El cliente ejecuta el código en una JVM.

Se ejecuta con restricciones de seguridad.

Incrustado en navegador o en ventana propia.
3
Algunos usos habituales:

Aplicaciones gráficas interactivas.

Animaciones.

Gestión de formularios complejos.
Applets Java
Algunos usos habituales (más):

Implementación de protocolos desconocidos por el navegador.

Comunicación con aplicaciones y bases de datos: HTTP,sockets, RMI, CORBA, etc.
Limitaciones:

Navegadores sin JVM o con distintas versiones.

Menor interacción con el documento HTML que JavaScript.
Plug--ins
Programas en código nativo que extienden la funcionalidad del navegador.
Usos habituales:

Visualizar o interaccionar con nuevos tipos de datos.

Acceder a funcionalidades básicas del navegador (carga de URLs, etc.)

Implementar nuevos protocolos de comunicación (por ejemplo, streaming multimedia).

Audio, vídeo, juegos, animaciones, 3D, etc.
Ejemplos:
Java, Flash, RealPlayer.
Limitaciones:

Dependencia con navegador, sistema operativo y arquitectura de la plataforma.

Seguridad: acceso libre a los

recursos de la máquina.

Necesidad de instalar el plug-in previamente.

Programación compleja.
AJAX
4
Acrónimo de Asynchronous JavaScript and XML.

Aplicaciones Web ejecutadas en el cliente con comunicación asíncrona con el servidor en segundo plano,
basadas en XML.

Aumenta significativamente la interactividad y velocidad de la aplicación.

Puede reducir la usabilidad y accesibilidad.
Combinación de tecnologías existentes previamente:

XHTML y CSS para presentación.

JavaScript para ejecución en cliente. Modifica el documento

XHTML mediante DOM.
Comunicación asíncrona con el servidor mediante
XMLHttpRequest.
La comunicación asíncrona suele basarse en intercambio de documentos XML.
Otras tecnologías de cliente
ActiveX (Microsoft)

Controles incrustables en páginas Web.

Requiere instalación.

Riesgos de seguridad elevados.

Sólo para MS--Windows.
Adobe Flash:
Multimedia, animaciones, juegos, 3D, etc.
Lenguaje de programación ActionScript.
TECNOLOGÍAS DE EJECUCIÓN EN EL SERVIDOR
Common Gateway Interface (CGI).
ColdFusion.

Active Server Pages (ASP / ASP.NET).

Server--Side JavaScript (SSJS).
5

PHP.

JSP.

Servlets.

Python.
Common Gateway Interface (CGI)
Interfaz común entre servidor Web y programas externos.
Funcionamiento:

El servidor recibe petición y detecta si se corresponde a un programa externo (CGI).

El servidor crea un nuevo proceso para el programa; le pasa los datos de la petición en variables de
entorno y entrada estándar.

El programa procesa la petición y devuelve la respuesta por salida estándar.

El servidor reenvía la respuesta al cliente.
Limitaciones:

Poco escalable / eficiente:

Nuevo proceso y entorno de ejecución para cada petición; datos de sesión en BD o disco.

Cálculo de todas las variables de entorno, aunque no las use el programa.

Para lenguajes interpretados, tiempo de carga del intérprete.

Código de programación entremezclado con código HTML.
Ejemplo (código):
#!/usr/local/bin/perl
use CGI;
$query = new CGI;
$nombre= $query->param('nombre');
if ($nombre eq " ") {$nombre="Mundo";}
print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>Hola Mundo CGI (Perl)</title>
</head>
<body>
<h1>Hola, $nombre</h1>
6
</body>
</html>
ASP / ASP.NET (Microsoft)
ASP nace como sistema de plantillas.
ASP.NET evoluciona hacia:

Entornos orientados a eventos.

Programación en cualquier lenguaje integrable en .NET.

Mayor eficiencia (DLLs cargadas en el servidor Web).
Otras características:

Acceso a componentes ActiveX.

Integración fácil con productos Microsoft.
ASP / ASP.NET (Microsoft)
Ejemplo (código):
<script runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
HelloWorld.Text = "Hello World!"
End Sub
</script>
<html>
<head>
<title>ASP.NET Hello World</title>
</head>
<body bgcolor="#FFFFFF">
<p><asp:label id="HelloWorld" runat="server" /></p>
</body>
</html>
PHP
Código libre.

Lenguaje de scripting con sintaxis basada en C.

Portado a las plataformas más extendidas.

Integrable con los servidores más utilizados.

Acceso potente a bases de datos.

Comunicación por red con otros recursos:

correo electrónico, servidores de directorio, etc.
7

Eficiente.
Ejemplo (código):
<html>
<head>
<title>Hola Mundo PHP</title>
</head>
<body>
<p>
<?
// Hello world in PHP
print("Hello World");
?>
</body>
</html>
Servlets (Java)
Programas Java que añaden funcionalidad en servidores.
Modelo de ejecución:

El servidor carga al inicio una JVM.

Se instancia un objeto por cada Servlet.

Para cada petición se crea / reutiliza un hilo y se invoca un método la instancia cargada del Servlet
asociado.

Cuando se para el servidor se destruyen los objetos.
Servlets (Java)
Principales características:

Funcionalidad semejante a CGI:

Recibe una petición a través del servidor y genera la respuesta adecuada.

Comunicación con el servidor HTTP mediante Servlet API

Respuesta mediante PrintWriter.
Ventajas:

Portabilidad: arquitecturas, sistemas operativos y servidores HTTP.

Potencia: disponibles todos los recursos Java:
8

APIs, bases de datos, comunicaciones, etc.

Elegancia: código fuente limpio, simple y orientado a objetos.

Integración: el servlet está integrado con el servidor, colaborando con éste más fácilmente que CGI.

Extensibilidad y flexibilidad.
Servlets (Java)
Más ventajas:
Eficiencia:

Máquina virtual permanentemente cargada en el servidor.

El servlet se instancia sólo una vez durante el tiempo de vida del servidor.

Creación de hilos más eficiente que procesos.

Acceso a recursos compartido.

Mantenimiento de sesión en memoria.
Desventajas:

Concurrencia: por ser un único objeto ejecutado desde varios
hilos, es necesario gestionar la
concurrencia.

Código del programa mezclado con código HTML del documento.

Cualquier cambio requiere recompilar el servlet.

Bastante limitado a lenguaje Java.
Ejemplo (código):
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<head><title>Hola Mundo Servlet</title></head>");
out.println("<body>");
out.println("<p>Hello World</p>");
out.println("</body></html>");
9
Java Server Pages (JSP)
Código insertado en el documento HTML en marcas especiales:

Directivas.

Elementos de scripting: declaraciones, expresiones, scriplets.

Comentarios.

Acciones.

Objetos implícitos: petición, respuesta, sesiones, etc.

Utilización de JavaBeans.

Normalmente compilado a servlets.
Java Server Pages (JSP)

Misma portabilidad, eficiencia y potencia que Servlets.

Elegancia: separación del código del documento del código de la aplicación (JavaBeans).

Facilidad de programación: gestiona automáticamente sesiones, atributos de peticiones y respuestas,
redirecciones, ciclo de vida de JavaBeans, etc.

Integrable con Servlets.

Java Server Pages (JSP)
Ejemplo (código):
<html>
<head>
<title>Hola Mundo JSP</title>
</head>
<body>
<p> <% String visitor = request.getParameter(“name”);
if (visitor == null) visitor = "World"; %>
Hola, <%= visitor %>!
</p>
</body>
</html>
Envío de datos de formularios
Envío de datos de formularios
Métodos y codificaciones de envío:

Método GET con codificación application/x--www--form--urlencoded.

Método POST con codificación application/x--www--form--urlencoded.
10

Método POST con codificación multipart/form--data.
Método GET

Los parámetros se envían en la línea de petición del mensaje

HTTP, concatenados a la cadena de ruta (path).

Parámetros visibles para el usuario en el navegador.

Permite enviar datos tanto desde formularios como desde hiperenlaces.

No adecuado para operaciones idempotentes.

No adecuado para el envío de ficheros.
Método POST con URL--encoded

Los parámetros se envían en el cuerpo de la petición HTTP.

Parámetros no visibles en la URL.

Únicamente se pueden enviar desde formularios.

No adecuado para el envío de ficheros.
Método POST con multipart
Los parámetros se envían en el cuerpo de la petición HTTP al estilo de MIME.

Parámetros no visibles en la URL.

Cada parámetro es una parte del cuerpo, separado del resto por cadenas de frontera.

Únicamente se pueden enviar desde formularios.

Adecuado para el envío de ficheros.

Gestión de sesiones

Sesiones. HTTP no tiene estado.

Necesidad de relacionar peticiones entre sí.

Concepto de sesión.

Mecanismos de gestión de sesiones

Campos ocultos de formularios.
Reescritura de URL:

Cadena de ruta (path) añadida.

Parámetro añadido.
11

A medida.

Cookies
3.3 COMUNICACIÓN CLIENTE-SERVIDOR
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los
proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza
peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se puede aplicar a programas que
se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario
distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más
importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la
separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta
necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de
servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus
propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes
programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del
sistema.
La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel
físico como a nivel lógico.
La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un
servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a
disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan
se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que
tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo
lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en
caso de que se este utilizando en una red mixta.
12
CARACTERÍSTICAS











En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo
maestro o amo).
Espera y recibe las respuestas del servidor.
Por lo general, puede conectarse a varios servidores a la vez.
Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
Al contratar un servicio de redes , se tiene que tener en la velocidad de conexión que le otorga al cliente y
el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en
la comunicación (dispositivo esclavo).
Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo
de peticiones puede estar limitado).
No es frecuente que interactúen directamente con los usuarios finales.
COMPARACIÓN DE LA ARQUITECTURA C/S CON OTRAS ARQUITECTURAS DE RED
COMPARACIÓN CON LAS REDES DE PARES
Las redes de pares, también conocidas como redes par-a-par o peer-to-peer (abreviado con las siglas P2PM) son
otro tipo de arquitectura de red.
COMPARACIÓN CON LA ARQUITECTURA CLIENTE-COLA-CLIENTE
Si bien la clásica arquitectura C/S requiere uno de los puntos terminales de comunicación para actuar como un
servidor, que puede ser algo más difícil de aplicar, la arquitectura Cliente-Cola-Cliente habilita a todos los nodos
para actuar como clientes simples, mientras que el servidor actúa como una cola que va capturando las peticiones
de los clientes (un proceso que debe pasar sus peticiones a otro, lo hace a través de una cola, por ejemplo, una
consulta a una base de datos, entonces, el segundo proceso conecta con la base de datos, elabora la petición, la
pasa a la base de datos, etc.). Esta arquitectura permite simplificar en gran medida la implementación de software.
La arquitectura P2P originalmente se basó en el concepto "Cliente-Cola-Cliente".
13
ARQUITECTURAS MULTI-CAPAS
La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores.
Consecuentemente, estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos
capas.
Algunas redes disponen de tres tipos de nodos:



Clientes que interactúan con los usuarios finales.
Servidores de aplicación que procesan los datos para los clientes.
Servidores de la base de datos que almacenan los datos para los servidores de aplicación.
Esta configuración se llama una arquitectura de tres-capas.
VENTAJAS
Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de
forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema. Esta centralización también
facilita la tarea de poner al día datos u otros recursos (mejor que en las redes P2P)..
Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede
ser aumentado (o mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red (clientes y/o
servidores).
Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores
independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus
clientes no se verán afectados por ese cambio (o se afectarán mínimamente). Esta independencia de los cambios
también se conoce como encapsulación.
Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que aseguran la
seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad de empleo.
DESVENTAJAS
La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran cantidad de
clientes envían peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para éste (a
14
mayor número de clientes, más problemas para el servidor). Al contrario, en las redes P2P como cada nodo en la
red hace también de servidor, cuanto más nodos hay, mejor es el ancho de banda que se tiene.
El paradigma de C/S clásico no tiene la robustez de una red P2P. Cuando un servidor está caído, las peticiones de
los clientes no pueden ser satisfechas. En la mayor parte de redes P2P, los recursos están generalmente
distribuidos en varios nodos de la red. Aunque algunos salgan o abandonen la descarga; otros pueden todavía
acabar de descargar consiguiendo datos del resto de los nodos en la red.
El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un
ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y
hardware específico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el
coste.
El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la aplicación es una Web,
no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la
ventana previa de impresión de los navegadores.
15
3.4 PORTALES CENTRADOS EN EL USUARIO
1. INTRODUCCIÓN
La consecución de los objetivos perseguidos a través de la puesta a disposición del público de cualquier aplicación
web está condicionada por la satisfacción del usuario final.
Los factores o atributos de calidad de una aplicación o sitio web que influirán en dicha satisfacción podemos
clasificarlos en aquellos relacionados con: la calidad y utilidad de los contenidos; la calidad del servicio y asistencia
del proveedor; y la calidad del diseño de la aplicación, atributo de calidad sobre el que versa el presente trabajo.
La importancia del diseño de la aplicación se basa en que éste será el que modele la interacción entre usuario y
aplicación, y por tanto posibilitará o no la consecución de los objetivos perseguidos por el usuario (encontrar
información, comprar, comunicarse, aprender...).
Tomemos como ejemplo el usuario que intenta completar una tarea de compra en un sitio web de comercio
electrónico. Del correcto diseño del sitio dependerá que el usuario consiga finalmente su objetivo (y
consecuentemente el proveedor también), o que por el contrario, frustrado por la dificultad de uso del sitio web,
decida abandonarlo en busca de otro donde llevar a cabo la compra sea más fácil.
Es fácil inferir que un buen diseño deberá ser comprensible, fácil de usar, amigable, claro, intuitivo y de fácil
aprendizaje para el usuario. Para poder asegurar que un diseño cumple con estos requisitos no basta simplemente
con una actitud empática del diseñador durante el desarrollo de la aplicación; es imprescindible la adopción por
parte de éste de técnicas, procedimientos y métodos que aseguren empíricamente la adecuación del diseño a las
necesidades, habilidades y objetivos del usuario.
En este artículo abordaremos cómo diseñar aplicaciones web usables y accesibles a través de la aplicación del
conjunto de técnicas y procedimientos englobados bajo el marco metodológico conocido como Diseño Centrado
en el Usuario. La estructura seguida en el artículo será: (2) Definición y explicación de los conceptos de usabilidad y
accesibilidad; (3) Introducción a la Arquitectura de la Información; (4) Propuesta de aplicación del Diseño Centrado
en el Usuario en el contexto del desarrollo Web, detallando procedimientos, técnicas, métodos y recomendaciones
de diseño; (5) Conclusiones y (6) Bibliografía.
16
2. USABILIDAD Y ACCESIBILIDAD
La usabilidad - anglicismo que significa "facilidad de uso" - como indican Bevan, Kirakowski, y Maissel (1991)
parece tener su origen en la expresión "user friendly", que es reemplazada por sus connotaciones vagas y
subjetivas.
Numerosos autores han propuesto diversas definiciones de usabilidad, normalmente a través de la enumeración
de los diferentes atributos o factores mediante los que puede ser evaluada, dependiendo finalmente cada
definición del enfoque con el que pretende ser medida (Folmer, Bosch; 2003).
Tomaremos para este trabajo la definición más extendida, que es la ofrecida por la ISO , y que define usabilidad
como el " grado de eficacia, eficiencia y satisfacción con la que usuarios específicos pueden lograr objetivos
específicos, en contextos de uso específicos ".
En la definición podemos observar que la usabilidad se compone de dos tipos de atributos:
Atributos cuantificables de forma objetiva: como son la eficacia o número de errores cometidos por el usuario
durante la realización de una tarea, y eficiencia o tiempo empleado por el usuario para la consecución de una
tarea.
Atributos cuantificables de forma subjetiva: como es la satisfacción de uso, medible a través de la interrogación al
usuario, y que tiene una estrecha relación con el concepto de Usabilidad Percibida.
Como se indica en la definición, la usabilidad de una aplicación debe ser entendida siempre en relación con la
forma y condiciones de uso por parte de sus usuarios, así como con las características y necesidades propias de
estos usuarios. Un diseño no es en sí mismo usable: " lo es para usuarios específicos en contextos de uso
específicos ".
Pretender que una aplicación web sea usable independientemente de quién y cómo la use se corresponde más con
una visión o enfoque universalista de la usabilidad (en ocasiones necesaria), que con una visión realista y práctica.
Esto es debido a que normalmente toda aplicación se diseña con la intención de satisfacer las necesidades de una
audiencia concreta y determinada, por lo que será más usable cuanto más adaptado esté su diseño a esta
audiencia específica, y por tanto menos lo esté para el resto de personas.
El concepto de usabilidad puede ser definido, además de como atributo de calidad de una aplicación,
consecuentemente, como disciplina o enfoque de diseño y evaluación. Se suele hablar entonces de Ingeniería de la
Usabilidad - conjunto de fundamentos teóricos y metodológicos que aseguren el cumplimiento de los niveles de
usabilidad requeridos para la aplicación-.
Un concepto íntimamente ligado al de usabilidad es el de accesibilidad. Éste ya no se refiere a la facilidad de uso,
sino a la posibilidad de acceso. En concreto a que el diseño, como prerrequisito imprescindible para ser usable,
posibilite el acceso a todos sus potenciales usuarios, sin excluir a aquellos con limitaciones individuales discapacidades, dominio del idioma,... - o limitaciones derivadas del contexto de acceso - software y hardware
empleado para acceder, ancho de banda de la conexión empleada, etc.- (Hassan Montero, Martín Fernández;
2003b)
17
Se da la paradoja de que mientras que un diseño usable requiere delimitar a su audiencia potencial con el fin de
diseñar para lo concreto, un diseño accesible implica la necesidad de diseñar para la diversidad y heterogeneidad
de necesidades de acceso presentadas por esta audiencia específica.
Cuando la audiencia para la que se diseña es muy amplia y presenta necesidades de acceso muy diferentes,
normalmente se hace necesaria la puesta a disposición de varias versiones del diseño o un diseño adaptable, como
son las conocidas "versiones solo texto" o versiones en varios idiomas.
3. ARQUITECTURA DE L A INFORMACIÓN
Aunque para la mayoría de los usuarios "la interfaz es la aplicación" puesto que es la parte que ven y a través de la
cual interactúan (Hartson; 1998) , debemos entender que la usabilidad de la aplicación depende no sólo del diseño
del interfaz, sino también de su arquitectura - estructura y organización -, en otras palabras, del componente no
visible del diseño.
Folmer y Bosch (2003) estudian este hecho en aplicaciones software concluyendo que el diseño a nivel de
arquitectura tiene una gran influencia en la usabilidad del sistema. En el entorno Web, que es el que nos ocupa en
este artículo, la Arquitectura de la Información (AI) es un enfoque de diseño que ha cobrado especial relevancia
estos últimos años por esta misma razón.
La AI es definida como el arte y la ciencia de organizar espacios de información con el fin de ayudar a los usuarios a
satisfacer sus necesidades de información. La actividad de organizar comporta la estructuración, clasificación y
rotulado de los contenidos del sitio web (Toub; 2000).
Hay dos aspectos de la AI que merece la pena resaltar: La Recuperación de la Información : El objetivo principal de
definir una correcta arquitectura de información es facilitar al usuario la recuperación de información. Esto se
consigue por un lado posibilitando que el usuario pueda encontrar información - diseño y definición de índices,
clasificaciones, taxonomías y sistemas de recuperación de información o sistemas de búsqueda en el sitio web -, y
por otro lado posibilitando que cada elemento de información pueda ser encontrado - descripción a través de
metadatos y optimización del sitio para buscadores-. Este segundo caso es lo que se denomina "findability",
"encontrabilidad" o visibilidad.
El diseño a nivel conceptual : Las técnicas propias de la AI, dentro del ciclo de vida del desarrollo del sitio, se ubican
en fases de diseño conceptual. Las fases de diseño visual están, en cambio, copadas por técnicas de Ingeniería de
la Usabilidad, Diseño de Interfaces y Diseño de Información.
18
4. DISEÑO WEB CENTRADO EN EL USUARIO
Para asegurar empíricamente que un sitio cumple con los niveles de usabilidad requeridos, el diseñador necesita
de una metodología, de técnicas y procedimientos ideados para tal fin.
En este trabajo proponemos la aplicación del marco metodológico conocido como Diseño Centrado en el Usuario o
User-Centered Design (Norman, Draper; 1986) adaptándolo a las características propias del desarrollo de
aplicaciones web.
El Diseño Web Centrado en el Usuario se caracteriza por asumir que todo el proceso de diseño y desarrollo del sitio
web debe estar conducido por el usuario, sus necesidades, características y objetivos. Centrar el diseño en sus
usuarios (en oposición a centrarlo en las posibilidades tecnológicas o en nosotros mismos como diseñadores)
implica involucrar desde el comienzo a los usuarios en el proceso de desarrollo del sitio; conocer cómo son, qué
necesitan, para qué usan el sitio; testar el sitio con los propios usuarios; investigar cómo reaccionan ante el diseño,
cómo es su experiencia de uso; e innovar siempre con el objetivo claro de mejorar la experiencia del usuario.
El proceso de Diseño Web Centrado en el Usuario propuesto en este trabajo se divide en varias fases o etapas,
algunas de las cuales tienen carácter iterativo. Sirva como aproximación el siguiente esquema:
Como indica el esquema, las fases de "diseño", "prototipado" y "evaluación" son cíclicas e iterativas. Esto quiere
decir que todo lo que se diseñe debe ser constantemente evaluado a través de su prototipado, para así poder
corregir errores de usabilidad desde los primeros momentos del desarrollo. Evaluar el sitio web únicamente una
vez finalizado su desarrollo haría mucho más costosa la reparación de errores de usabilidad, ya que siempre es más
económico reconducir un diseño que rediseñar completamente el sitio.
Los siguientes apartados de este trabajo se estructuran siguiendo este mismo esquema del proceso de diseño.
5. PLANIFICACIÓN
Todo proyecto debe comenzar por una correcta planificación. En esta etapa se identifican los objetivos del sitio, así
como las necesidades, requerimientos y objetivos de la audiencia potencial.
Confrontando esta información se definen los requerimientos del sitio web, entre los que podemos contar
requerimientos técnicos (back-end y front-end), recursos humanos y perfiles profesionales necesarios, y
adecuación del presupuesto disponible.
Se trata, pues, de establecer un equilibrio entre lo que puede ofertar el proveedor y lo que necesita el usuario. El
sitio web - sus contenidos y diseño - debe cumplir precisamente este cometido: servir de medio para la
consecución de objetivos por parte de proveedor y usuario.
19
El diseñador debe obtener información precisa tanto de las necesidades y objetivos del proveedor como del
usuario. En el primer caso, mediante entrevistas y reuniones con los responsables del sitio, será relativamente fácil
obtener dicha información. Más dificultoso, pero al mismo tiempo más importante, es obtener esta información
del usuario: Qué necesita, cuáles son sus objetivos, cómo se comporta y actúa, cuál será el contexto de uso y cómo
afectará a la interacción, experiencia y conocimientos previos,...
La respuesta a estas preguntas se resuelve estudiando a la audiencia a través de métodos de indagación. Éstos
engloban métodos de aproximación contextual, estudios de campo o etnográficos, métodos de aproximación por
grupos y métodos de aproximación individual (encuestas, cuestionarios y entrevistas). Cuanto más conozcamos a
la audiencia, más adaptado será el diseño y más satisfactoria la experiencia del usuario final.
Como se puede ver, la etapa de planificación se basa casi completamente en la recogida, análisis y ordenación de
toda la información posible, con el objetivo de tener una base sólida sobre la que poder tomar decisiones de
diseño en las siguientes etapas del proceso.
5.1. DISEÑO
La etapa de Diseño es el momento del proceso de desarrollo para la toma de decisiones acerca de cómo diseñar o
rediseñar, en base siempre al conocimiento obtenido en la etapa de planificación, así como a los problemas de
usabilidad descubiertos en etapas de prototipado y evaluación.
5.1.1. MODELADO DEL USUARIO
Toda la información obtenida de los estudios de usuarios realizados en la anterior fase de planificación debe servir
como base para comenzar el diseño, pero para ello se debe resumir y sintetizar dicha información.
Este paso se denomina modelado del usuario y consiste en la definición de clases o perfiles de usuarios en base a
atributos comunes. Los atributos sobre los que se hará la clasificación dependen de la información que se tenga de
la audiencia, pero normalmente se tratarán de atributos tales como necesidades de información, condiciones de
acceso, experiencia y conocimientos.
Mediante esta técnica, el diseñador tendrá en mente para quién diseña, qué espera encontrar el usuario y en qué
forma. El diseño del sitio web debe estar orientado al usuario, organizando y estructurando la información según
los modelos definidos de usuarios.
El problema de esta técnica de modelado de usuario es que cuando la audiencia es demasiado extensa y
heterogénea, la categorización total de la audiencia puede no ser viable. En estos casos es conveniente hacer uso
del enfoque 'persona', ideado por Cooper (1999).
Esta técnica de modelado del usuario se basa en la definición de arquetipos de usuarios que representan patrones
de conducta, objetivos y necesidades. Estos arquetipos, llamados "personas", son descripciones en forma narrativa
de usuarios, a los que se les da una identidad inventada: fotografía, nombre,... En cambio, todos los atributos,
20
características y necesidades del arquetipo deben estar basados en información real extraída de la audiencia
objetiva del sitio web, ya que si éstos fueran datos inventados la técnica perdería toda su utilidad.
Además se deben definir "scenarios" - descripciones de situaciones de uso del sitio - sobre los que poder
contextualizar la interacción persona-aplicación web.
Las "personas" definidas, al contrario de lo que se pretendía con la categorización de la audiencia, no pueden
representar al total de los usuarios del sitio web, pero es que ésta no es su misión.
La función de esta técnica es la de servir de soporte para la toma de decisiones en el diseño del sitio, permitiendo
al desarrollador realizar un diseño centrado en el usuario, o más correctamente, en "algún" usuario. Este usuario
podemos considerarlo 'real', ya que aunque no pertenece al mundo real, su descripción está basada sobre, y por
tanto representa a, un nutrido grupo de usuarios reales.
Es demasiado común que el diseñador se imagine a sí mismo usando el sitio y por tanto sea incapaz de
comprender por qué a alguien le puede resultar difícil, incomodo y hasta frustrante su uso. Estos arquetipos de
usuarios conseguirán precisamente que el diseñador tenga en mente a un usuario 'real', con limitaciones,
habilidades y necesidades reales.
5.1.2. DISEÑO CONCEPTUAL
El objetivo de la fase de Diseño Conceptual es definir el esquema de organización, funcionamiento y navegación
del sitio. No se especifica qué apariencia va a tener el sitio, sino que se centra en el concepto mismo del sitio: su
arquitectura de información.
Los sitios web son sistemas hipermedia formados por conjuntos de páginas interrelacionadas por enlaces
unidireccionales, pudiendo cada una de estas páginas contener sub-elementos con entidad propia, contenidos
multimedia y herramientas interactivas.
La "estructura" del sitio web se refiere precisamente a las conexiones y relaciones entre páginas, a la topología de
la red de páginas, así como a la granularidad de los elementos de información contenidos en las páginas; y la
"navegación" a las posibilidades y forma en que cada página presenta las opciones de desplazamiento hacia otras
páginas.
La definición de la estructura del sitio puede hacerse desde dos enfoques diferentes y complementarios:
aproximación descendente y ascendente. En la descendente se trata de estructurar del "todo" a las "partes",
dividir los contenidos en páginas y definir los enlaces entre páginas. En la Ascendente, por el contrario, se definen
los bloques mínimos de información, estructuración que va más allá de la propia segmentación de información en
páginas.
Una vez definida la estructuración del sitio es necesario documentarla, para así tener un modelo de referencia
sobre el que sustentar el desarrollo del sitio. La forma de documentar arquitecturas se suele hacer a través de
grafos y esquemas, con el objetivo de que sean de fácil y rápida comprensión por todos los miembros del equipo
de desarrollo.
21
Si la arquitectura es ascendente normalmente se documentará a través de diagramas entidad-relación. Por otro
lado, cuando la arquitectura a documentar es la descendente, para sitios web proponemos el uso del vocabulario
gráfico de Garret (2002). A través de unas sencillas convenciones gráficas para la diagramación de la arquitectura,
podemos definir la estructura de la información así como la navegación del sitio.
Otras tareas a llevar a cabo por el Arquitecto de Información o diseñador en la fase de Diseño Conceptual son:
Definir sistemas de clasificación para los contenidos; Elaborar índices y mapas del sitio; Aplicar metadatos a cada
una de las páginas y sub-elementos de información; y Definir el Sistema de Rotulado (Rosenfeld, Morville; 2002).
Entre las técnicas de Diseño Centrado en el Usuario a aplicar en la etapa de Diseño Conceptual destacamos, por su
utilidad y facilidad de ser llevada a cabo, la técnica de "card sorting" u ordenación de tarjetas. Ésta se basa en la
observación de cómo los usuarios agrupan y asocian entre sí un número predeterminado de tarjetas etiquetadas
con las diferentes categorías o secciones temáticas del sitio web. De esta forma, partiendo del comportamiento de
los propios usuarios, es posible organizar y clasificar la información de un sitio web conforme a su modelo mental.
(Hassan Montero et al.; 2004)
5.1.3. DISEÑO VISUAL Y DEFINICIÓN DEL ESTILO
En esta fase se especifica el aspecto visual del sitio web: composición de cada tipo de página, aspecto y
comportamiento de los elementos de interacción y presentación de elementos multimedia.
Con el objetivo de evitar la sobrecara informativa, en el diseño de cada interfaz se debe tener en cuenta el
comportamiento del usuario en el barrido visual de la página, distribuyendo los elementos de información y
navegación según su importancia en zonas de mayor o menor jerarquía visual - por ejemplo, las zonas superiores
del interfaz poseen más jerarquía visual que las inferiores-.
Además de la posición de cada elemento en la interfaz, existen otras técnicas para jerarquizar información como
son: uso del tamaño y espacio ocupado por cada elemento para otorgarle importancia en la jerarquía visual,
utilización del contraste de color para discriminar y distribuir información, uso de efectos tipográficos para
enfatizar contenidos, rotura de la simetría y uso de efectos de relieve / profundidad para resaltar elementos, etc.
Además de evitar la sobrecarga informativa jerarquizando los contenidos mediante las técnicas descritas, para
evitar la sobrecarga memorística se recomienda definir menús de navegación con un número de opciones
reducido, normalmente no más de nueve diferentes.
Otro aspecto importante en el diseño visual del sitio es la accesibilidad. En el uso de colores, por ejemplo, se debe
ofrecer suficiente contraste entre texto y fondo para no dificultar la lectura, e igualmente seleccionar
combinaciones de colores teniendo siempre en cuenta las discapacidades visuales en la percepción del color que
pudieran presentar nuestros usuarios.
Al utilizar imágenes en el diseño, por motivos de accesibilidad y comprensibilidad, se debe cuidar su resolución y
tamaño, así como en fotografías la no pérdida de significación o contexto por recorte o minimización excesiva de la
imagen.
22
Desde una perspectiva más amplia del diseño visual del sitio es importante mantener una coherencia y estilo
común entre todas las páginas, proporcionando una consistencia visual a todo el sitio. Para asegurar que esta
coherencia se cumple, es útil elaborar un libro o guía de estilo que sirva de documento referencia para todo el
equipo de desarrollo.
5.1.4. DISEÑO DE CONTENIDOS
En el diseño de contenidos hipermedia se debe mantener un equilibrio entre lo que serían contenidos que no
aprovechasen las nuevas posibilidades hipertexto y multimedia, y lo que serían contenidos caóticos o
desorientativos debido a un uso excesivo y no sosegado de las posibilidades hipermedia.
Sin prescindir de las capacidades que ofrece el nuevo medio, de lo que se trata es de diseñar contenidos
interrelacionados y vinculados, manteniendo cierta coherencia informativa, comunicacional y organizativa.
La escritura hipertextual se debe realizar de forma diferente a la tradicional. El nuevo medio y sus características
obligan a ser concisos, precisos, creativos y estructurados a la hora de redactar. Debemos conocer a quién nos
dirigimos y adaptar el lenguaje, tono y vocabulario utilizado al usuario objetivo.
Algunos consejos a seguir en el diseño y redacción de contenidos son:







Seguir una estructura piramidal : La parte más importante del mensaje, el núcleo, debe ir al principio.
Permitir una fácil exploración del contenido : El lector en entornos Web, antes de empezar a leer, suele
explorar visualmente el contenido para comprobar si le interesa.
Un párrafo = una idea : Cada párrafo es un objeto informativo. Se deben trasmitir ideas, mensajes...
evitando párrafos vacíos o varios mensajes en un mismo párrafo.
Ser conciso y preciso : Al lector no le gusta leer en pantalla.
Vocabulario y lenguaje : Se debe utilizar el mismo lenguaje del usuario, no el de la empresa o institución.
El vocabulario debe ser sencillo y fácilmente comprensible.
Tono : Cuanto más familiar y cercano (sin llegar a ser irrespetuoso) sea el tono empleado, más fácil será
que el lector preste atención.
Confianza : La mejor forma de ganarse la confianza del lector es permitiéndole el diálogo, así como
conocer cuanta más información posible acerca del autor.
5.2. PROTOTIPADO
La evaluación de la usabilidad del sitio web se debe realizar desde las primeras etapas de diseño, pero ¿cómo
evaluar un sitio web que no está implementado? A través de prototipos.
23
La etapa de prototipado se basa en la elaboración de modelos o prototipos de la interfaz del sitio. Su aspecto no se
corresponde exactamente con el que tendrá el sitio una vez finalizado, pero pueden servir para evaluar la
usabilidad del sitio sin necesidad de esperar a su implementación.
Según Floría Cortés (2000) , podemos clasificar los tipos de prototipado según el nivel de funcionalidad
reproducida:


Prototipado horizontal: Se reproduce gran parte del aspecto visual del sitio, pero sin que esos modelos de
interfaz estén respaldados por la funcionalidad real que tendrá finalmente el sitio.
Prototipado vertical: Se reproduce únicamente el aspecto visual de una parte del sitio, pero la parte
reproducida poseerá la misma funcionalidad que el sitio web una vez implementado.
Según el grado de fidelidad o calidad del prototipo se distingue entre:


Prototipado de alta fidelidad: El prototipo será muy parecido al sitio web una vez terminado.
Prototipado de baja fidelidad: El aspecto del prototipo distará bastante del que tenga el sitio web final.
En las primeras etapas de desarrollo del sitio web se puede hacer uso del prototipado en papel o de bajo coste,
que consiste en reproducir los aspectos básicos de la interfaz del sitio en papel.
Por ejemplo, podemos reproducir a través de bocetos cómo serán las diferentes páginas que conformarán el sitio a
desarrollar, cada una en una página de papel diferente. La reproducción suele ser a mano (lápiz y tijeras), por lo
que resulta una técnica de prototipado muy económica.
Otra forma de realizar prototipos es mediante la reproducción del aspecto del sitio a través de herramientas
software. Mediante el procesador de textos o un simple editor HTML podemos esbozar cómo será la interfaz del
sitio.
Hay que recordar que estos prototipos son reproducciones, no estados tempranos de implementación de la
interfaz. Una vez que el prototipo se ha utilizado se tira, no es parte del sitio web.
La utilidad real del prototipado se fundamenta en que no tendría sentido empezar a implementar una interfaz web
si no nos hemos asegurado antes de que el diseño es usable.
5.3. EVALUACIÓN
La evaluación de la usabilidad - la etapa más importante en el proceso de Diseño Centrado en el Usuario - se puede
realizar a través de varios métodos o técnicas y sobre diferentes representaciones del sitio (prototipos en papel,
prototipos software, sitio web implementado...).
Existe una gran diversidad de métodos para evaluación de usabilidad, aunque en el presente trabajo únicamente
se describirán aquellos que creemos de más utilidad y aplicabilidad real en el contexto del desarrollo de
aplicaciones web.
24
5.3.1. MÉTODO POR INSPECCIÓN: EVALUACIÓN HEURÍSTICA
Los métodos de inspección de la usabilidad de un sitio web son aquellos realizados por el experto en usabilidad, y
que se basan en el recorrido y análisis del sitio identificando errores y problemas de diseño.
La Evaluación Heurística es un tipo de método de inspección, que tiene como ventaja la facilidad y rapidez con la
que se puede llevar a cabo.
Este tipo de evaluación normalmente la lleva a cabo un grupo reducido de evaluadores que, en base a su propia
experiencia, fundamentándose en reconocidos principios de usabilidad (heurísticos), y apoyándose en guías
elaboradas para tal fin, evalúan de forma independiente el sitio web, contrastando finalmente los resultados con el
resto de evaluadores.
Diversos autores han propuesto diferentes conjuntos de heurísticos o principios de usabilidad a través de los
cuales evaluar la usabilidad. Nielsen (1994a) propone los siguientes:










Visibilidad del estado del sistema : El sistema (o sitio web) siempre debe informar al usuario acerca de lo
que está sucediendo. Por ejemplo, cuando en una interfaz tipo webmail se adjuntan ficheros a un
mensaje, el sistema debe informar del hecho mostrando un mensaje de espera.
Lenguaje común entre sistema y usuario : El sistema debe hablar el lenguaje del usuario, huyendo de
tecnicismos incomprensibles o mensajes crípticos.
Libertad y control por parte del usuario : El usuario debe tener el control del sistema, no se puede limitar
su actuación. Se debe ofrecer siempre al usuario una forma de "salida de emergencia", como por ejemplo
la representada por la opción para "saltar" animaciones de introducción (normalmente Flash).
Consistencia y estándares : La consistencia se refiere a, por ejemplo, no utilizar dos rótulos distintos para
referirse a un mismo contenido, o no usar estilos diferentes dentro de un mismo sitio. Además el sitio
web debe seguir estándares o convenciones de diseño ampliamente aceptados. Cuanto más se parezca un
diseño y su funcionamiento al resto de sitios web, más familiar y fácil de usar resultará para el usuario.
Prevención de errores : Mejor que un buen mensaje de error es un diseño que prevenga que ocurra el
error.
Es mejor reconocer que recordar : Este principio hace mención a la visibilidad de las diferentes opciones,
enlaces y objetos. El usuario no tiene por qué recordar dónde se encontraba cierta información, o cómo
se llegaba a determinada página.
Flexibilidad y eficiencia de uso : El sitio debe ser fácil de usar para usuarios novatos, pero también
proporcionar atajos o aceleradores para usuarios avanzados.
Diseño minimalista : Cualquier tipo de información que no sea relevante para el usuario y que
sobrecargue la interfaz debe ser eliminada.
Permitir al usuario solucionar el error : Por ejemplo, cuando un usuario introduce una consulta en un
buscador y no obtiene ningún resultado, se debe informar al usuario sobre cómo solucionar el problema,
por ejemplo con mensajes del tipo "introduzca algún sinónimo" o "quiso Ud. decir...". Además no se debe
borrar el contenido de la caja de búsqueda para que el usuario pueda rehacer la consulta.
Ayuda y Documentación : Siempre es mejor que un sitio web se pueda utilizar sin necesidad de ayuda o
documentación, aunque en sitios web extensos o en procesos de interacción complejos (como el
rellenado de un formulario), se debe proporcionar información de ayuda al usuario.
25
Hassan Montero y Martín Fernández (2003a) proponen el siguiente modelo de evaluación heurística:











Aspectos generales : Objetivos, look & feel, coherencia y nivel de actualización de contenidos.
Identidad e Información : Identidad del sitio e información proporcionada sobre el proveedor y la autoría
de los contenidos.
Lenguaje y redacción : Calidad de los contenidos textuales.
Rotulado : Significación y familiaridad del rotulado de los contenidos.
Estructura y Navegación : Idoneidad de la arquitectura de información y navegación del sitio.
Lay-out de la página : Distribución y aspecto de los elementos de navegación e información en la interfaz.
Búsqueda : Buscador interno del sitio.
Elementos multimedia : Grado de adecuación de los contenidos multimedia al medio web.
Ayuda : Documentación y ayuda contextual ofrecida al usuario para la navegación.
Accesibilidad : Cumplimiento de directrices de accesibilidad.
Control y retroalimentación : Libertad del usuario en la navegación.
5.3.2. MÉTODO DE TEST CON USUARIOS
El test con usuarios es una prueba de usabilidad que se basa en la observación y análisis de cómo un grupo de
usuarios reales utiliza el sitio web, anotando los problemas de uso con los que se encuentran para poder
solucionarlos posteriormente.
Como toda evaluación de usabilidad, cuanto más esperamos para su realización, más costoso resultará la
reparación de los errores de diseño descubiertos. Esto quiere decir que no sólo debemos realizar este tipo de
pruebas sobre el sitio web una vez implementado, sino también, sobre los prototipos del sitio.
Es una prueba complementaria a la evaluación heurística, pero un test con usuarios es más costoso, por lo que es
recomendable realizarlo siempre después de una evaluación heurística, ya que sería desperdiciar tiempo y dinero
utilizarlo para descubrir errores de diseño motivados por el no cumplimiento en el desarrollo de principios
generales de usabilidad (heurísticos).
La ventaja que ofrecen los test de usuarios frente a otro tipo de evaluaciones es que por un lado es una
demostración con hechos, por lo que sus resultados son más fiables, y por otro porque posibilitan el
descubrimiento de errores de diseño imposibles o difíciles de descubrir mediante la evaluación heurística.
Llevar a cabo un test de usuarios formal obligaría a alquilar un local (laboratorio) adecuado, contratar a
evaluadores especializados, así como a delegar en alguna empresa la selección y reclutamiento de los participantes
de la prueba. Realmente sería bastante costoso y poco viable para la gran mayoría de casos.
Existe otra forma de llevar a cabo un test con usuarios popularizada por Nielsen (1994b) , mucho más económica y
fácil de realizar, con resultados y utilidad similares, que son las denominadas pruebas informales o test de
'guerrilla'.
En (Hassan Montero, Martín Fernández; 2003c) se detalla cómo llevar a cabo este tipo de pruebas: reclutamiento
de participantes, elección del local y materiales, realización de la prueba y elaboración del informe final.
26
5.4. IMPLEMENTACIÓN Y LANZAMIENTO
En la implementación del sitio es recomendable utilizar estándares (HTML, XHTML...) para asegurar la futura
compatibilidad y escalabilidad del sitio. Esto se debe a que, aunque puede ser tentador utilizar tecnologías
propietarias, el panorama tecnológico puede hacerlas desaparecer o cambiar en poco tiempo.
Igualmente es recomendable separar en la implementación contenido de estilo, mediante el uso de hojas de estilo
(CSS) del lado del cliente y uso de bases de datos del lado del servidor. De esta forma se facilitará tanto el rediseño
del sitio como la posibilidad de adaptación dinámica del diseño a las necesidades de acceso de cada tipo de
usuario.
En esta etapa del desarrollo se debe llevar, así mismo, un control de calidad de la implementación, supervisando
que todo funcione y responda a cómo había sido planificado, ya que la usabilidad del sitio depende directamente
de la funcionalidad. Si algo no funciona, sencillamente no se puede usar.
Entre las técnicas para controlar la calidad de la implementación se pueden utilizar validadores automáticos de
código como los proporcionados por el W3C ( http://www.w3c.org ), así como validadores para testar de forma
semi-automática el cumplimiento de directrices de accesibilidad en el código, como el Test de Accesibilidad Web (
http://www.tawdis.net ).
Una vez implementado el sitio y testada su funcionalidad se procede al lanzamiento del sitio, que consiste en su
puesta a disposición para los usuarios. Se trata de un evento importante, muchas veces erróneamente apresurado
debido a la necesidad de cumplir plazos de entrega.
El primer encuentro entre usuario y el sitio web modelará en gran medida la percepción que el usuario tendrá del
sitio en posteriores visitas. Por ello es necesario que durante los primeros meses a partir del lanzamiento, el sitio
tenga un diseño y contenidos adaptados a este importante momento de su ciclo de vida. Es el momento de
explicar a los usuarios el sitio, de enseñarles a usarlo, darles la bienvenida, "vendérselo"...
Después de esos primeros meses de vida la audiencia del sitio habrá cambiado. Seguirá habiendo usuarios que
accedan por primera vez al sitio, pero ya no representarán a la mayoría de la audiencia. A los usuarios habituales
no se les puede seguir haciendo perder el tiempo dándoles la bienvenida o explicándoles qué es y en qué consiste
el sitio web.
Para asegurar que el sito llega a su audiencia potencial se hace uso de la promoción. La forma de llevar a cabo una
campaña de publicidad o promoción dependerá de la naturaleza y características del sitio web.
Se debe crear expectación, un conocimiento previo del sitio en los potenciales usuarios. Para ello es recomendable
que antes del lanzamiento, desde la misma URL que tendrá finalmente el sitio, se ofrezca una página web
explicativa de lo que será el sitio, cuándo estará disponible, así como información de contacto.
Una vez realizado el lanzamiento se deben utilizar técnicas de promoción para atraer a los usuarios hacia el sitio:


Banners publicitarios : Ya sea desde sitios web externos pero relacionados temáticamente con el sitio a
promocionar, o desde el mismo sitio web cuando lo que se promociona es un sub-sitio o sección interna.
Inclusión en buscadores y directorios : La inclusión del sitio web en índices y motores de búsqueda es la
técnica más eficiente para atraer usuarios. Si el sitio web es público (de acceso no limitado o controlado)
27

se debe haber diseñado de tal forma que facilite su indización automática. Si el sitio web no es público
(por ejemplo un master virtual), y los contenidos no son accesibles, se debe crear un mini-sitio público
que explique toda la información posible acerca del sitio, para que este sea indizado por los buscadores.
Campañas de correo electrónico : Si se posee una base de datos con correos electrónicos de usuarios
potenciales (y es legal la posesión y uso de esta información), se puede informar directamente a estos
usuarios del lanzamiento del sitio. Otro mecanismo muy útil es la promoción a través del envío de
mensajes a listas de correo relacionadas temáticamente con el sitio web.
5.5. MANTENIMIENTO Y SEGUIMIENTO
Un sitio web no es una entidad estática, es un objeto vivo cuyos contenidos cambian; cuya audiencia, necesidades
y perfiles cambian, y que por lo tanto requiere de continuos rediseños y mejoras.
Estos rediseños deben ser muy sutiles, no se puede cambiar el aspecto y diseño de forma drástica de un día para
otro, pues aunque estos cambios estén fundamentados en problemas de usabilidad descubiertos postlanzamiento, los cambios pueden resultar dramáticos para los actuales usuarios que ya estaban acostumbrados y
familiarizados con el actual diseño.
Los problemas de uso no detectados durante el proceso de desarrollo pueden descubrirse a través de varios
métodos, principalmente a través de los mensajes y opiniones de los usuarios, y su comportamiento y uso del sitio.
5.5.1. OPINIONES DE LOS USUARIOS
Esta información puede ser obtenida de forma pasiva - a través de los mensajes enviados por los usuarios acerca
de problemas que han tenido con el uso del sitio - o de forma activa - por medio de cuestionarios y encuestas
realizadas sobre la audiencia -.
Las opiniones expresadas por los usuarios indican posibles problemas de usabilidad, pero no son en sí mismas la
respuesta a estos problemas. Por ejemplo, si un usuario envía un email preguntando por qué desde la home page
no encuentra un enlace al recurso X, no significa que debamos implementar este enlace, sino que posiblemente el
recurso X sea poco visible o de difícil localización.
Igualmente, en los cuestionarios no se deben hacer preguntas del tipo "¿Preferiría que el diseño fuera de tal
forma?", sino del tipo "¿Ha tenido algún problema para localizar el recurso X?" ó "¿Le ha resultado fácil el uso de la
herramienta X?". Los resultados de los cuestionarios no indican la usabilidad del sitio, sino la satisfacción del
usuario. Si la satisfacción es baja, habrá que mejorar la usabilidad.
28
5.5.2. COMPORTAMIENTO DEL USUARIO Y USO DEL SITIO
Una vez que el sitio web ha sido lanzado y es usado diariamente, tenemos a nuestra disposición una nueva fuente
de información sobre el comportamiento del usuario: Los ficheros "log".
Estos, son extensos ficheros de texto plano que genera el servidor web, y en los que se registra cada una de las
peticiones de páginas realizadas por los clientes al servidor.
Por cada petición del cliente al servidor se suele registrar la siguiente información:










Dirección IP del cliente
Identidad del usuario (para sitios con identificación)
Password de acceso (para sitios con identificación)
Fecha y hora de la petición
Método
Path o directorio de la página en el servidor
Código que indica si la petición ha sido resuelta correctamente o no
Número de bytes trasferidos entre cliente y servidor
Página desde la que se pide el archivo al servidor (puede ser una URL interna si a la página se llega por un
enlace del mismo sitio web, o externa, en el caso de que sea a través de otro sitio web)
Información sobre el agente software (navegador) del cliente
A través del análisis de los ficheros logs se pueden responder preguntas como: ¿quién usa el sitio? ¿cuándo lo usa?
¿qué páginas suelen ser las más visitadas? ¿desde qué páginas se llega? ¿qué términos utiliza el usuario para
interrogar al buscador interno?...
Se trata realmente de una información muy valiosa que correctamente analizada (normalmente ayudándonos de
software específico), puede servirnos para la toma de decisiones sobre el rediseño en sitios web implementados.
6. CONCLUSIONES
En este trabajo se ha descrito, a grandes rasgos, cómo diseñar sitios web usables a través de la aplicación de
técnicas, recomendaciones de diseño, métodos y procedimientos de Diseño Centrado en el Usuario.
El Diseño Web Centrado en el Usuario es un marco metodológico y una filosofía de diseño claramente
multidisciplinar, por lo que en la práctica debería ser aplicado idealmente por equipos de desarrollo
interdisciplinares. En el contexto de estos equipos de desarrollo, el perfil del profesional de la documentación se
adecua especialmente con las tareas de Arquitectura de Información.
Es de esperar que ante la posibilidad de conquista de nuevos nichos de trabajo, todos estos nuevos conocimientos
se vayan integrando en los actuales planes de estudio de Biblioteconomía y Documentación, así como la
proliferación de cursos de formación especializada impartidos por investigadores de nuestra área.
29
3.5 DATA MINING
La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que reside de manera
implícita en los datos. Dicha información era previamente desconocida y podrá resultar útil para algún proceso. En
otras palabras, la minería de datos prepara, sondea y explora los datos para sacar la información oculta en ellos.
Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas encaminadas a la extracción de
conocimiento procesable, implícito en las bases de datos. Está fuertemente ligado con la supervisión de procesos
industriales ya que resulta muy útil para aprovechar los datos almacenados en las bases de datos.
Las bases de la minería de datos se encuentran en la inteligencia artificial y en el análisis estadístico. Mediante los
modelos extraídos utilizando técnicas de minería de datos se aborda la solución a problemas de predicción,
clasificación y segmentación.
PROCESO
Un proceso típico de minería de datos consta de los siguientes pasos generales:
Selección del conjunto de datos, tanto en lo que se refiere a las variables objetivo (aquellas que se quiere
predecir, calcular o inferir), como a las variables independientes (las que sirven para hacer el cálculo o
proceso), como posiblemente al muestreo de los registros disponibles.
Análisis de las propiedades de los datos, en especial los histogramas, diagramas de dispersión, presencia
de valores atípicos y ausencia de datos (valores nulos).
Transformación del conjunto de datos de entrada, se realizará de diversas formas en función del análisis
previo, con el objetivo de prepararlo para aplicar la técnica de minería de datos que mejor se adapte a los
datos y al problema, a este paso también se le conoce como preprocesamiento de los datos.
Seleccionar y aplicar la técnica de minería de datos, se construye el modelo predictivo, de clasificación o
segmentación.
Extracción de conocimiento, mediante una técnica de minería de datos, se obtiene un modelo de
conocimiento, que representa patrones de comportamiento observados en los valores de las variables del
problema o relaciones de asociación entre dichas variables. También pueden usarse varias técnicas a la
vez para generar distintos modelos, aunque generalmente cada técnica obliga a un preprocesado
diferente de los datos.
Interpretación y evaluación de datos, una vez obtenido el modelo, se debe proceder a su validación
comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de
haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en
busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados
esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos.
30
Si el modelo final no superara esta evaluación el proceso se podría repetir desde el principio o, si el experto lo
considera oportuno, a partir de cualquiera de los pasos anteriores. Esta retroalimentación se podrá repetir cuantas
veces se considere necesario hasta obtener un modelo válido.
Una vez validado el modelo, si resulta ser aceptable (proporciona salidas adecuadas y/o con márgenes de error
admisibles) éste ya está listo para su explotación. Los modelos obtenidos por técnicas de minería de datos se
aplican incorporándolos en los sistemas de análisis de información de las organizaciones, e incluso, en los sistemas
transaccionales. En este sentido cabe destacar los esfuerzos del Data Mining Group, que está estandarizando el
lenguaje PMML (Predictive Model Markup Language), de manera que los modelos de minería de datos sean
interoperables en distintas plataformas, con independencia del sistema con el que han sido construidos. Los
principales fabricantes de sistemas de bases de datos y programas de análisis de la información hacen uso de este
estándar.
Tradicionalmente, las técnicas de minería de datos se aplicaban sobre información contenida en almacenes de
datos. De hecho, muchas grandes empresas e instituciones han creado y alimentan bases de datos especialmente
diseñadas para proyectos de minería de datos en las que centralizan información potencialmente útil de todas sus
áreas de negocio. No obstante, actualmente está cobrando una importancia cada vez mayor la minería de datos
desestructurados como información contenida en ficheros de texto, en Internet, etc.
PROTOCOLO DE UN PROYECTO DE MINERÍA DE DATOS
Un proyecto de minería de datos tiene varias fases necesarias que son, esencialmente:





Comprensión del negocio y del problema que se quiere resolver.
Determinación, obtención y limpieza de los datos necesarios.
Creación de modelos matemáticos.
Validación, comunicación, etc. de los resultados obtenidos.
Integración, si procede, de los resultados en un sistema transaccional o similar.
La relación entre todas estas fases sólo es lineal sobre el papel. En realidad, es mucho más compleja y esconde
toda una jerarquía de subfases. A través de la experiencia acumulada en proyectos de minería de datos se han ido
desarrollando metodologías que permiten gestionar esta complejidad de una manera más o menos uniforme.
TÉCNICAS DE MINERÍA DE DATOS
Como ya se ha comentado, las técnicas de la minería de datos provienen de la Inteligencia artificial y de la
estadística, dichas técnicas, no son más que algoritmos, más o menos sofisticados que se aplican sobre un
conjunto de datos para obtener unos resultados.
LAS TÉCNICAS MÁS REPRESENTATIVAS SON:
31
Redes neuronales.- Son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que
funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que
colabora para producir un estímulo de salida. Algunos ejemplos de red neuronal son:
El Perceptrón.
El Perceptrón multicapa.
Los Mapas Autoorganizados, también conocidos como redes de Kohonen.
Regresión lineal.- Es la más utilizada para formar relaciones entre datos. Rápida y eficaz pero insuficiente en
espacios multidimensionales donde puedan relacionarse más de 2 variables.
Árboles de decisión.- Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia
artificial, dada una base de datos se construyen estos diagramas de construcciones lógicas, muy similares a los
sistemas de predicción basados en reglas, que sirven para representar y categorizar una serie de condiciones que
suceden de forma sucesiva, para la resolución de un problema. Ejemplos:
Algoritmo ID3.
Algoritmo C4.5.
Modelos estadísticos.- Es una expresión simbólica en forma de igualdad o ecuación que se emplea en todos los
diseños experimentales y en la regresión para indicar los diferentes factores que modifican la variable de
respuesta.
Agrupamiento o Clustering.- Es un procedimiento de agrupación de una serie de vectores según criterios
habitualmente de distancia; se tratará de disponer los vectores de entrada de forma que estén más cercanos
aquellos que tengan características comunes. Ejemplos:
Algoritmo K-means.
Algoritmo K-medoids.
Según el objetivo del análisis de los datos, los algoritmos utilizados se clasifican en supervisados y no supervisados
(Weiss y Indurkhya, 1998):


Algoritmos supervisados (o predictivos): predicen un dato (o un conjunto de ellos) desconocido a priori, a
partir de otros conocidos.
Algoritmos no supervisados (o del descubrimiento del conocimiento): se descubren patrones y tendencias
en los datos.
EJEMPLOS DE USO DE LA MINERÍA DE DATOS
NEGOCIOS
32
La minería de datos puede contribuir significativamente en las aplicaciones de administración empresarial basada
en la relación con el cliente. En lugar de contactar con el cliente de forma indiscriminada a través de un centro de
llamadas o enviando cartas, sólo se contactará con aquellos que se perciba que tienen una mayor probabilidad de
responder positivamente a una determinada oferta o promoción.
Por lo general, las empresas que emplean minería de datos ven rápidamente el retorno de la inversión, pero
también reconocen que el número de modelos predictivos desarrollados puede crecer muy rápidamente.
En lugar de crear modelos para predecir qué clientes pueden cambiar, la empresa podría construir modelos
separados para cada región y/o para cada tipo de cliente. También puede querer determinar qué clientes van a ser
rentables durante una ventana de tiempo (una quincena, un mes, ...) y sólo enviar las ofertas a las personas que es
probable que sean rentables. Para mantener esta cantidad de modelos, es necesario gestionar las versiones de
cada modelo y pasar a una minería de datos lo más automatizada posible.
HÁBITOS DE COMPRA EN SUPERMERCADOS
El ejemplo clásico de aplicación de la minería de datos tiene que ver con la detección de hábitos de compra en
supermercados. Un estudio muy citado detectó que los viernes había una cantidad inusualmente elevada de
clientes que adquirían a la vez pañales y cerveza. Se detectó que se debía a que dicho día solían acudir al
supermercado padres jóvenes cuya perspectiva para el fin de semana consistía en quedarse en casa cuidando de
su hijo y viendo la televisión con una cerveza en la mano. El supermercado pudo incrementar sus ventas de cerveza
colocándolas próximas a los pañales para fomentar las ventas compulsivas.
PATRONES DE FUGA
Un ejemplo más habitual es el de la detección de patrones de fuga. En muchas industrias —como la banca, las
telecomunicaciones, etc.— existe un comprensible interés en detectar cuanto antes aquellos clientes que puedan
estar pensando en rescindir sus contratos para, posiblemente, pasarse a la competencia. A estos clientes —y en
función de su valor— se les podrían hacer ofertas personalizadas, ofrecer promociones especiales, etc., con el
objetivo último de retenerlos. La minería de datos ayuda a determinar qué clientes son los más proclives a darse
de baja estudiando sus patrones de comportamiento y comparándolos con muestras de clientes que,
efectivamente, se dieron de baja en el pasado.
FRAUDES
Un caso análogo es el de la detección de transacciones de lavado de dinero o de fraude en el uso de tarjetas de
crédito o de servicios de telefonía móvil e, incluso, en la relación de los contribuyentes con el fisco. Generalmente,
estas operaciones fraudulentas o ilegales suelen seguir patrones característicos que permiten, con cierto grado de
probabilidad, distinguirlas de las legítimas y desarrollar así mecanismos para tomar medidas rápidas frente a ellas.
33
RECURSOS HUMANOS
La minería de datos también puede ser útil para los departamentos de recursos humanos en la identificación de las
características de sus empleados de mayor éxito. La información obtenida puede ayudar a la contratación de
personal, centrándose en los esfuerzos de sus empleados y los resultados obtenidos por éstos. Además, la ayuda
ofrecida por las aplicaciones para Dirección estratégica en una empresa se traducen en la obtención de ventajas a
nivel corporativo, tales como mejorar el margen de beneficios o compartir objetivos; y en la mejora de las
decisiones operativas, tales como desarrollo de planes de producción o gestión de mano de obra.
COMPORTAMIENTO EN INTERNET
También es un área en boga el del análisis del comportamiento de los visitantes —sobre todo, cuando son clientes
potenciales— en una página de Internet. O la utilización de la información —obtenida por medios más o menos
legítimos— sobre ellos para ofrecerles propaganda adaptada específicamente a su perfil. O para, una vez que
adquieren un determinado producto, saber inmediatamente qué otro ofrecerle teniendo en cuenta la información
histórica disponible acerca de los clientes que han comprado el primero.
TERRORISMO
La minería de datos ha sido citada como el método por el cual la unidad Able Danger del Ejército de los EE. UU.
había identificado al líder de los atentados del 11 de septiembre de 2001, Mohammed Atta, y a otros tres
secuestradores del "11-S" como posibles miembros de una célula de Al Qaeda que operan en los EE. UU. más de un
año antes del ataque. Se ha sugerido que tanto la Agencia Central de Inteligencia y sus homóloga canadiense,
Servicio de Inteligencia y Seguridad Canadiense, también han empleado este método.1
JUEGOS
Desde comienzos de la década de 1960, con la disponibilidad de oráculos para determinados juegos
combinacionales, también llamados finales de juego de tablero (por ejemplo, para las tres en raya o en finales de
ajedrez) con cualquier configuración de inicio, se ha abierto una nueva área en la minería de datos que consiste en
la extracción de estrategias utilizadas por personas para estos oráculos. Los planteamientos actuales sobre
reconocimiento de patrones, no parecen poder aplicarse con éxito al funcionamiento de estos oráculos. En su
lugar, la producción de patrones perspicaces se basa en una amplia experimentación con bases de datos sobre
esos finales de juego, combinado con un estudio intensivo de los propios finales de juego en problemas bien
diseñados y con conocimiento de la técnica (datos previos sobre el final del juego). Ejemplos notables de
investigadores que trabajan en este campo son Berlekamp en el juego de puntos-y-cajas (o Timbiriche) y John
Nunn en finales de ajedrez.
CIENCIA E INGENIERÍA
34
En los últimos años la minería de datos se está utilizando ampliamente en diversas áreas relacionadas con la
ciencia y la ingeniería. Algunos ejemplos de aplicación en estos campos son:
GENÉTICA
En el estudio de la genética humana, el objetivo principal es entender la relación cartográfica entre las partes y la
variación individual en las secuencias del ADN humano y la variabilidad en la susceptibilidad a las enfermedades.
En términos más llanos, se trata de saber cómo los cambios en la secuencia de ADN de un individuo afectan al
riesgo de desarrollar enfermedades comunes (como por ejemplo el cáncer). Esto es muy importante para ayudar a
mejorar el diagnóstico, prevención y tratamiento de las enfermedades. La técnica de minería de datos que se
utiliza para realizar esta tarea se conoce como "reducción de dimensionalidad multifactorial".
INGENIERÍA ELÉCTRICA
En el ámbito de la ingeniería eléctrica, las técnicas minería de datos han sido ampliamente utilizadas para
monitorizar las condiciones de las instalaciones de alta tensión. La finalidad de esta monitorización es obtener
información valiosa sobre el estado del aislamiento de los equipos. Para la vigilancia de las vibraciones o el análisis
de los cambios de carga en transformadores se utilizan ciertas técnicas para agrupación de datos (clustering) tales
como los Mapas Auto-Organizativos (SOM, Self-organizing map). Estos mapas sirven para detectar condiciones
anormales y para estimar la naturaleza de dichas anomalías
ANÁLISIS DE GASES
También se han aplicado técnicas de minería de datos para el análisis de gases disueltos (DGA, Dissolved gas
analysis) en transformadores eléctricos. El análisis de gases disueltos se conoce desde hace mucho tiempo como
herramienta para diagnosticar transformadores. Los Mapas Auto-Organizativos (SOM) se utilizan para analizar
datos y determinar tendencias que podrían pasarse por alto utilizando las técnicas clásicas DGA.
MINERÍA DE DATOS Y OTRAS DISCIPLINAS ANÁLOGAS
Suscita cierta polémica el definir las fronteras existentes entre la minería de datos y disciplinas análogas, como
pueden serlo la estadística, la inteligencia artificial, etc. Hay quienes sostienen que la minería de datos no es sino
35
estadística envuelta en una jerga de negocios que la conviertan en un producto vendible. Otros, en cambio,
encuentran en ella una serie de problemas y métodos específicos que la hacen distinta de otras disciplinas.
El hecho es, que en la práctica la totalidad de los modelos y algoritmos de uso general en minería de datos —redes
neuronales, árboles de regresión y clasificación, modelos logísticos, análisis de componentes principales, etc.—
gozan de una tradición relativamente larga en otros campos.
Ciertamente, la minería de datos bebe de la estadística, de la que toma las siguientes técnicas:






Análisis de varianza, mediante el cual se evalúa la existencia de diferencias significativas entre las medias
de una o más variables continuas en poblaciones distintos.
Regresión: define la relación entre una o más variables y un conjunto de variables predictoras de las
primeras.
Prueba chi-cuadrado: por medio de la cual se realiza el contraste la hipótesis de dependencia entre
variables.
Análisis de agrupamiento o clustering: permite la clasificación de una población de individuos
caracterizados por múltiples atributos (binarios, cualitativos o cuantitativos) en un número determinado
de grupos, con base en las semejanzas o diferencias de los individuos.
Análisis discriminante: permite la clasificación de individuos en grupos que previamente se han
establecido, permite encontrar la regla de clasificación de los elementos de estos grupos, y por tanto una
mejor identificación de cuáles son las variables que definan la pertenencia al grupo.
Series de tiempo: permite el estudio de la evolución de una variable a través del tiempo para poder
realizar predicciones, a partir de ese conocimiento y bajo el supuesto de que no van a producirse cambios
estructurales.
De la informática toma las siguientes técnicas:





Algoritmos genéticos: Son métodos numéricos de optimización, en los que aquella variable o variables
que se pretenden optimizar junto con las variables de estudio constituyen un segmento de información.
Aquellas configuraciones de las variables de análisis que obtengan mejores valores para la variable de
respuesta, corresponderán a segmentos con mayor capacidad reproductiva. A través de la reproducción,
los mejores segmentos perduran y su proporción crece de generación en generación. Se puede además
introducir elementos aleatorios para la modificación de las variables (mutaciones). Al cabo de cierto
número de iteraciones, la población estará constituida por buenas soluciones al problema de
optimización, pues las malas soluciones han ido descartándose, iteración tras iteración.
Inteligencia Artificial: Mediante un sistema informático que simula un sistema inteligente, se procede al
análisis de los datos disponibles. Entre los sistemas de Inteligencia Artificial se encuadrarían los Sistemas
Expertos y las Redes Neuronales.
Sistemas Expertos: Son sistemas que han sido creados a partir de reglas prácticas extraídas del
conocimiento de expertos. Principalmente a base de inferencias o de causa-efecto.
Sistemas Inteligentes: Son similares a los sistemas expertos, pero con mayor ventaja ante nuevas
situaciones desconocidas para el experto.
Redes neuronales: Genéricamente, son métodos de proceso numérico en paralelo, en el que las variables
interactúan mediante transformaciones lineales o no lineales, hasta obtener unas salidas. Estas salidas se
36
contrastan con los que tenían que haber salido, basándose en unos datos de prueba, dando lugar a un
proceso de retroalimentación mediante el cual la red se reconfigura, hasta obtener un modelo adecuado.
MINERÍA DE DATOS BASADA EN TEORÍA DE LA INFORMACIÓN
Todas las herramientas tradicionales de minería de datos asumen que los datos que usarán para construir los
modelos contienen la información necesaria para lograr el propósito buscado: obtener suficiente conocimiento
que pueda ser aplicado al negocio (o problema) para obtener un beneficio (o solución).
El inconveniente es que esto no es necesariamente cierto. Además, existe otro problema mayor aún. Una vez
construido el modelo no es posible conocer si el mismo ha capturado toda la información disponible en los datos.
Por esta razón la práctica común es realizar varios modelos con distintos parámetros para ver si alguno logra
mejores resultados.
Un enfoque relativamente nuevo al análisis de datos soluciona estos problemas haciendo que la práctica de la
minería de datos se parezca más a una ciencia que a un arte.
En 1948 Claude Shannon publicó un trabajo llamado “Una Teoría Matemática de la Comunicación”.
Posteriormente esta pasó a llamarse Teoría de la información y sentó las bases de la comunicación y la codificación
de la información. Shannon propuso una manera de medir la cantidad de información a ser expresada en bits.
En 1999 Dorian Pyle publicó un libro llamado “Data Preparation for Data Mining” en el que propone una manera
de usar la Teoría de la Información para analizar datos. En este nuevo enfoque, una base de datos es un canal que
transmite información. Por un lado está el mundo real que captura datos generados por el negocio. Por el otro
están todas las situaciones y problemas importantes del negocio. Y la información fluye desde el mundo real y a
través de los datos, hasta la problemática del negocio.
Con esta perspectiva y usando la Teoría de la información, es posible medir la cantidad de información disponible
en los datos y qué porción de la misma podrá utilizarse para resolver la problemática del negocio. Como un
ejemplo práctico, podría encontrarse que los datos contienen un 65% de la información necesaria para predecir
qué cliente rescindirán sus contratos. De esta manera, si el modelo final es capaz de hacer predicciones con un
60% de acierto, se puede asegurar que la herramienta que generó el modelo hizo un buen trabajo capturando la
información disponible. Ahora, si el modelo hubiese tenido un porcentaje de aciertos de solo el 10%, por ejemplo,
entonces intentar otros modelos o incluso con otras herramientas podría valer la pena.
La capacidad de medir información contenida en los datos tiene otras ventajas importantes.
Al analizar los datos desde esta nueva perspectiva se genera un mapa de información que hace innecesario la
preparación previa de los datos, una tarea absolutamente imprescindible si se desea buenos resultados, pero que
lleva enorme cantidad de tiempo.
Es posible seleccionar un grupo de variables óptimo que contenga la información necesaria para realizar un
modelo de predicción.
37
Una vez que las variables son procesadas con el fin de crear el mapa de información y luego seleccionadas aquellas
que aportan la mayor información, la elección de la herramienta que se usará para crear el modelo deja de tener
importancia, ya que el mayor trabajo fue realizado en los pasos previos.
TENDENCIAS
La Minería de Datos ha sufrido transformaciones en los últimos años de acuerdo con cambios tecnológicos, de
estrategias de marketing, la extensión de los modelos de compra en línea, etc. Los más importantes de ellos son:



La importancia que han cobrado los datos no estructurados (texto, páginas de Internet, etc.).
La necesidad de integrar los algoritmos y resultados obtenidos en sistemas operacionales, portales de
Internet, etc.
La exigencia de que los procesos funcionen prácticamente en línea (por ejemplo, que frente a un fraude
con una tarjeta de crédito).
Los tiempos de respuesta. El gran volumen de datos que hay que procesar en muchos casos para obtener un
modelo válido es un inconveniente; esto implica grandes cantidades de tiempo de proceso y hay problemas que
requieren una respuesta en tiempo real.
38
Descargar