Beruflich Dokumente
Kultur Dokumente
Captulo 3
HERRAMIENTAS DE DISEO
3.1 Un vistazo al OOHDM
El Object-Oriented Hypermedia Design Method [Schwabe98a] y [OOHDM00], es un enfoque basado en modelos para construir grandes aplicaciones de hipermedia. Este enfoque ha sido utilizado para el diseo de diferentes tipos de aplicaciones tales como: sitios Web y sistemas de informacin, kioscos interactivos, presentaciones de multimedia, etc. OOHDM comprende cuatro actividades diferentes denominadas: Diseo Conceptual Conceptual Design; Diseo de Navegacin Navegational Design; Diseo de Interfaz Abstracta Abstract Interface Design e Implementacin Implementation. Durante cada actividad un conjunto de modelos orientados a objetos que describen aspectos de diseo en particular es construido o enriquecido por la iteracin previa. Considerar a los diseos conceptual, de navegacin y de interfaz como actividades separadas no solamente nos permite concentrarnos en diferentes aspectos, de uno en uno, sino principalmente obtener un framework para razonar sobre el proceso de diseo, encapsulando experiencia de diseo especfica a cada actividad. [Rossi99c]. La figura3.1 ofrece un bosquejo de las actividades y los modelos que resultan de las mismas en OOHDM [Schwabe98b].
MODELO CONCEPTUAL
MODELO DE NAVEGACIN
MODELO CONCEPTUAL
SERVICIO mamamamamamama
DIVISI
- Captulo 3 -
Las primitivas de diseo se pueden reflejar fcilmente sobre lenguajes o entornos de implementacin no orientados a objetos (tales como HTML o Toolbook). Consecuentemente, OOHDM puede ser usado sin tener en cuenta si el sistema objetivo es un entorno orientado a objetos puro o un hbrido (tales como los que usualmente se encuentran en Internet) [Schwabe99].
ABOGADO
nomAbo: String antecedentes: [ Text+ , Photo: Image]
aCargo
TIPOJUICIO
nomTipo: String descripcin: String tribunales: Set of String
clasifica
Figura 3.2: Esquema conceptual correspondiente al sitio Web del estudio de abogados Winners
- Captulo 3 -
DISEO DE NAVEGACIN En OOHDM, una aplicacin se visualiza como una vista de navegacin sobre el modelo conceptual. Esta caracterstica refleja una de las mayores innovaciones del enfoque OOHDM, el cual reconoce que los objetos que el usuario navega no son los objetos conceptuales, sino otro tipo de objetos que son construidos de uno o ms objetos conceptuales [Schwabe99]. El modelo de navegacin se expresa en dos esquemas: Esquema de Clases de Navegacin Navigational Class Schema Este esquema es el encargado de definir los objetos navegables de una aplicacin de hipermedia y sus clases reflejan la vista seleccionada sobre el dominio de aplicacin. En OOHDM existe un conjunto de tipos predefinidos de clases de navegacin: nodos, links, anchors y estructuras de acceso. La semntica de los nodos, links y anchors es la usual de las aplicaciones de hipermedia, y las estructuras de acceso, tales como ndices, representan posibles formas de comenzar la navegacin y acceder los nodos [Rossi99c] y [Schwabe98a]. La figura3.3 ofrece el Esquema de Clases de Navegacin del sitio Web para el estudio de abogados Winners, cuyo Modelo Conceptual ilustra la figura3.2. Las clases de navegacin (llamadas nodos) se indican como clases con una caja cuadrada en la esquina superior derecha. Observar en este diseo que: los atributos multivaluados en el esquema conceptual han sido representados sobre diferentes atributos de las clases de navegacin (nodos) Juicio y Abogado; el nodo Juicio es actualmente un vista sobre las clases conceptuales Juicio y TipoJuicio; el nodo Juicio incluye un atributo nomTipoJuicio cuyo valor es tomado del atributo nomTipo de la clase conceptual TipoJuicio, ms todos los otros atributos propios de la clase conceptual Juicio; el nodo Juicio ofrece una lista de anchors a el/los nodo/s de su/s abogado/s; el nodo Abogado ofrece un ndice a el/los nodo/s de su/s juicio/s; el link entre los nodos Abogado y Juicio est definido sobre la relacin Abogado aCargo Juicio.
JUICIO
idJuicio: String caratula: String descripcin: Text+ photo: Image* nomTipoJuicio: t.nomTipo where t: TipoJuicio and t clasifica Juicio(self) abogado/sDelJuicio: list of anchor ( a: Abogado where a aCargo Juicio(self ) )
0..* 1..*
ABOGADO
nomAbo: String antecedentes: Text+ photo: Image* ndiceJuiciosAbogado: IdxJuicios by Abogado(self)
aCargo
Figura 3.3: Esquema de Clase de Navegacin correspondiente al sitio Web del estudio de abogados Winners
Es importante destacar que el enfoque OOHDM permite definir una estructura de navegacin diferente para cada perfil de usuario, que reflejar los objetos y relaciones en el esquema conceptual, de acuerdo con las tareas que este tipo de usuario deba ejecutar. Es decir, que diferentes aplicaciones (sobre el mismo dominio) pueden contener diferentes topologas de enlace links, de acuerdo al perfil del usuario [Rossi99c]. Por ejemplo, el sitio Web para el estudio de abogados, puede incluir la informacin del tipo de juicio para los expertos (abogados), y no incluir esta informacin para el resto de los usuarios casuales. La diferencia ms notable entre el enfoque OOHDM y los dems que usan mecanismos de visualizacin de objetos, es que mientras los ltimos consideran las pginas Web principalmente como interfaces de usuario, que son construidas de la observacin de objetos conceptuales, en
10
- Captulo 3 -
OOHDM se propicia claramente un representacin explcita de los objetos de navegacin (nodos y links) durante el diseo [Rossi99c]. Esquema de Contexto de Navegacin Navigational Context Schema En OOHDM, la principal primitiva de estructuracin del espacio de navegacin es la nocin de contexto de navegacin. Un contexto de navegacin es un conjunto de: nodos, links, clases de contexto, otros contextos de navegacin anidados y estructuras de acceso asociadas. Puede ser definido por comprensin o por extensin, es decir, ya sea definiendo una propiedad comn a todos los nodos y links que el contexto posee, o mediante la enumeracin de todos sus miembros. En resumen, un contexto se compone de: los elementos que contiene; la especificacin de su estructura interna de navegacin; un punto de entrada; restricciones de acceso en trminos de clases de usuarios y operaciones; y estructuras de acceso asociadas. Existen seis diferentes formas de definir contextos a las cuales es posible asociar estructuras de acceso (ndices). Debido a que este tem, aspira a ser solamente una presentacin que sintetice las principales ideas subyacentes al enfoque OOHDM, para ms detalles sobre tipos de contextos y estructuras de acceso, cartas CRC, etc., remitirse a [Rossi99c] [Scwabe98a, 99].
Abogado
ABOGADOS
by nomAbo
Juicio
CARTULAS MENU HOME PAGE ESTUDIO JUICIOS
by cartula
by idJuicio by Abogado
TIPOS
by TipoJuicio
Figura 3.4 : Esquema de Contexto de Navegacin correspondiente al sitio Web del estudio de abogados Winners
La figura3.4 ofrece el Esquema de Contexto de Navegacin del sitio Web para el estudio de abogados Winners, cuyos esquemas Conceptual y de Clase de Navegacin ilustran las figuras3.2. y 3.3 respectivamente. Observar en este diseo que el men principal (home page del estudio Winners) tiene los cuatro diferentes ndices siguientes: Abogados que permite acceder a una lista alfabtica de los abogados del estudio, la cual puede ser atravesada en algn orden; este men puede ser accedido desde cualquier punto de la aplicacin; Juicios que permite acceder a los juicios que lleva el estudio por idJuicio (cdigo de identificacin del juicio); Cartulas que permite acceder a los juicios del estudio agrupados por cartula; Tipos que permite acceder a los juicios del estudio por TipoJuicio;
11
- Captulo 3 -
Observar adems que: los juicios pueden tambin agruparse de acuerdo con el abogado que este a cargo de ellos; este contexto solamente puede ser accedido desde otro contexto, tal como Abogados; el smbolo indica que los ndices Abogados y Juicios pueden ser accedidos desde cualquier nodo de la aplicacin [Rossi99a], (captulo3 tem3.2, Patrn de Diseo de Hipermedia Landmark). DISEO DE INTERFAZ ABSTRACTA En la actividad de Diseo de la Interfaz Abstracta se especifica cules objetos de interfaz el usuario percibir y cmo la interfaz se comportar. Para cada atributo de nodo (ya sean contenidos o anchors) se debe definir su apariencia. Por medio de la distincin entre diseo de navegacin e interfaz se pueden construir interfaces distintas para la misma aplicacin y paralelamente alcanzar independencia de implementacin [Rossi99c]. La especificacin de la Interfaz Abstracta incluye la forma en la cual los diferentes objetos de navegacin lucirn, cuales objetos de interfaz activarn la navegacin, la forma en la cual los objetos de interfaz de multimedia estarn sincronizados y qu transformaciones de interfaz tendrn lugar [Schwabe99]. Es importante enfatizar que la construccin de un modelo formal de la interfaz de las aplicaciones Web es una actividad que gratifica, ya que las interfaces de usuario tienden a cambiar ms rpidamente que las topologas de navegacin. Por lo tanto, claramente se necesita una especificacin de diseo precisa que permita afrontar los cambios suavemente [Rossi99c]. IMPLEMENTACIN Durante la actividad de Implementacin, reflejamos los objetos conceptuales, de navegacin y de interfaz, sobre el entorno de ejecucin destinatario. Cuando el entorno de implementacin no es totalmente orientado a objeto, tenemos que reflejar los objetos conceptuales, de navegacin y de interfaz abstracta sobre objetos concretos, es decir, aquellos disponibles en el entorno de implementacin seleccionado. Esto puede requerir definir pginas HTML (o, por ejemplo, objetos Toolbook en entornos no basados en la Web), cdigo en cierto lenguaje, preguntas a bases de datos relacionales, etc. Observar que an en entornos orientados a objeto, puede no existir diferencias significativas entre objetos conceptuales y de navegacin, los cuales actuarn como modelos de interfaces Smalltalk. Mientras tanto, en un entorno ms hbrido, los objetos conceptuales se reflejarn en un almacenamiento persistente (archivos y bases de datos relacionales) y los objetos de navegacin y de interfaz se implementarn como pginas Web convencionales [Rossi99c].
12
- Captulo 3 -
ACTIVIDADES
PRODUCTOS
FORMALISMOS
MECANISMOS
ASPECTOS DE DISEO
CAPTURA LOS REQUERIMIENTOS DE LOS STAKEHOLDERS PARA LA APLICACIN.
CAPTURA
DE REQUERIMIENTOS
ANLISIS DE ESCENARIOS, DIAGRAMAS DE ESCENARIOS Y CASOS DE USO, ENTREVISTAS, INTERACCIN DE USUARIO USER UIDS INTERACTION CORRESPONDIENTES DIAGRAMS - UIDS -, AL MODELO PATRONES DE DISEO. CONCEPTUAL. CONSTRUCTORES DE MODELADO ORIENTADOS A OBJETO (CLASES, RELACIONES, CASOS DE USO), PATRONES DE DISEO. VISTAS ORIENTADAS A OBJETO; DIAGRAMAS DE ESTADO ORIENTADOS A OBJETO; CLASES DE CONTEXTO; ESCENARIOS CENTRADOS EN EL USUARIO; PATRONES DE DISEO. VISTAS DE DATOS ABSTRACTA ABSTRACT DATA VIEWS - ADVS - ; DIAGRAMAS DE CONFIGURACIN; DIAGRAMAS ADV; PATRONES DE DISEO. CLASIFICACIN, AGREGACIN, GENERALIZACIN Y ESPECIALIZACIN.
MODELADO CONCEPTUAL
DISEO
DE NAVEGACIN
TIENE EN CUENTA PERFIL DEL USUARIO Y TAREA. ENFASIS SOBRE LOS ASPECTOS COGNITIVOS. CONSTRUYE LA ESTRUCTURA DE NAVEGACIN DE LA APLICACIN.
DISEO
DE
INTERFAZ ABSTRACTA
IMPLEMENTACIN
PERFORMANCE, COMPLETITUD.
13
- Captulo 3 -
14
- Captulo 3 -
NEWS
PROVEE FCIL ACCESO A NUEVOS TEM DE INFORMACIN A MEDIDA QUE EL WIS CRECE. PERMITE DESTACAR LAS NOVEDADES DEL SITIO.
LANDMARK
PROVEE ACCESO DIRECTO A SUB-SISTEMAS CRTICOS (DIFERENTES E INCLUSIVE NO RELACIONADOS) EN EL WIS. POSIBILITA EL DISEO DE ACCESOS DIRECTOS (CONJUNTOS DE LANDMARKS) QUE SEAN VISIBLES DESDE TODOS LOS NODOS DE LA RED. PERMITE DEFINIR DIFERENTES NIVELES DE ACCESOS DIRECTOS (CONJUNTOS DE LANDMARKS ORGANIZADOS JERRQUICAMENTE) DE ACUERDO CON EL REA DEL SITIO QUE SE EST VISITANDO.
PORTAL
PERMITE EL DISEO DE HOMES COMO AGREGADOS DE DIFERENTES TEM DE INFORMACIN (QUE PUEDEN O NO ESTAR SEMNTICAMENTE CONECTADOS), ANCHORS Y ESTRUCTURAS DE ACCESO. BRINDA UNA SOLUCIN DE DISEO OPORTUNISTA PARA INCREMENTAR EL NMERO DE VISITANTES DEL SITIO.
[ROSSI99B] [ROSSI00A]
SHOPPING BASKET
MANTIENE REGISTRO DE LAS SELECCIONES QUE EFECTA EL USUARIO DURANTE LA NAVEGACIN, HACIENDO ESTAS
SELECCIONES PERSISTENTES PARA PROCESARLAS DESPUS CUANDO EL USUARIO LO DECIDE.
[ROSSI99B] [ROSSI00A]
15
- Captulo 3 -
ACTIVE REFERENCE
DEFINE NDICES COMO HERRAMIENTAS DE ORIENTACIN ACTIVAS EN SUB-REAS DE TODO EL HIPERESPACIO. HACE QUE ESTOS NDICES CO-EXISTAN CON LOS OBJETOS OBJETIVO.
[ROSSI99B] [ROSSI00A]
NODE IN CONTEXT
LA REPRESENTACIN DE LOS OBJETOS DE ACUERDO AL CONJUNTO DENTRO DEL CUAL ESTN SIENDO ACCEDIDOS. PERMITE QUE EL MISMO OBJETO APAREZCA EN DIFERENTES CONJUNTOS, MODIFICANDO SU APARIENCIA Y CONEXIONES CON OTROS OBJETOS DE ACUERDO AL CONJUNTO EN CURSO.
PERSONALIZA
[ROSSI99B] [ROSSI00A]
16
- Captulo 3 -
PATRN
Y TIPO DE PERSONALIZACIN
INTENCIN
MECANISMOS
EJEMPLO
OTRAS REFERENCIAS
ROLE-BASED
VISTAS ENTRE LOS DIFERENTES TIPOS DE MODELOS CONCEPTUAL Y USUARIOS ACCEDIENDO LA MISMA INFORMACIN DE CLASES DE BASE. NAVEGACIN; CONTEXTOS; POR EJEMPLO, PERFIL CLASES EN CONTEXTO INCONTEXT CLASSES; PROFESOR Y PERFIL FILTROS. OTROS EN LA APLICACIN WEB PARA EL INSTITUO DE INGLS FIRST (CAPTULO5). CLASES DE NAVEGACIN; CONTEXTOS; CLASES EN CONTEXTO INCONTEXT CLASES; FILTROS; DESACOPLAMIENTO DEL LINK ENDPOINT COMPUTATION. COMPORTAMIENTOS
ASOCIADOS CON LOS OBJETOS USUARIO.
[SCHWABE02] [ROSSI01B]
LINK
RECOMENDACIONES EN
LOS ALMACENES VIRTUALES.
DIFERENTES INDIVIDUOS
CON DIFERENTES DERECHOS DE ACCESO.
POR EJEMPLO, EL PROFESOR ACCEDE A INFORMACIN DE LOS CURSOS QUE L DICTA, EN LA APLICACIN WEB PARA EL INSTITUO DE INGLS FIRST (CAPTULO5). DIFERENTES PRECIOS
PARA EL MISMO PRODUCTO DE ACUERDO CON LA CATEGORA DE CADA USUARIO INDIVIDUAL.
CONTENT
PROVEE AL USUARIO
DE CONTENIDOS PERSONALIZADOS EN LOS NODOS.
CLASES DE NAVEGACIN; CONTEXTOS; CLASES EN CONTEXTO INCONTEXT CLASES; FILTROS; MODELO DE USUARIO EXPLCITO. ACOPLAMIENTO DE
INFORMACIN SIGNIFICATIVA CON LOS OBJETOS USUARIO.
CURSOS QUE
17
- Captulo 3 -
STRUCTURE
LIGA EL ESPACIO DE
NAVEGACIN A LOS ASPECTOS EN LOS QUE EL USUARIO EST INTERESADO.
AGREGACIN RECURSIVA DE LAS CLASES DE NAVEGACIN. AGREGACIN SIMILAR EN EL MODELO CONCEPTUAL. RELACIONES ENTRE ESAS
CLASES Y LOS OBJETOS USUARIO.
PORTALES DE INFORMACIN (TALES COMO NETSCAPE, YAHOO, CNN, ETC.) QUE PROVEEN CARACTERSTICAS MYPORTAL.
BEHAVIOR
CLASES DE NAVEGACIN; CONTEXTOS; CLASES EN CONTEXTO INCONTEXT CLASSES; FILTROS; MODELO DE USUARIO EXPLCITO. DESACOPLAMIENTO DE
ALGORITMOS DEL MODELO DE APLICACIN.
DIFERENTES PROCEDIMIENTOS DE COBRO EN LOS ALMACENES VIRTUALES, DE ACUERDO A LA HISTORIA PREVIA. DIFERENTES ALGORITMOS DE RECOMENDACIONES DE ACUERDO A CADA USUARIO. APLICACIONES QUE
PROVEEN PERSONALIZACIN REMOTA, PERMITINDOLE A SUS CLIENTES PERSONALIZAR SERVICIOS (TALES COMO CNN, BLOOMBERG, AMAZON, ETC.)
[SCHWABE02]
CLIENT-SIDE
PERMITE A UNA APLICACIN WEB PROVEER INFORMACIN PERSONALIZADA DIFERENTE CUANDO ES ACCEDIDA DESDE SITIOS DE CLIENTE DIFERENTES.
VISTO DESDE LOS SITIOS DE CLIENTE ESTE PATRN ES SIMILAR A STRUCTURE Y LINK;
EL LADO DEL PROVEEDOR DEL SERVICIO REFLEJA EL MISMO DESACOPLAMIENTO QUE EL PATRN DE DISEO OBSERVER[GAMMA95].
[ROSSI01A]
ROLE OBJECT
ADAPTA UN OBJETO A
LAS DIFERENTES NECESIDADES DEL USUARIO MEDIANTE LA INCORPORACIN DE OBJETOS ROL, CADA UNO REPRESENTANDO UN ROL QUE EL OBJETO DEBE JUGAR EN EL CONTEXTO DEL USUARIO.
MODELO DE USUARIO EXPLCITO CON ROLES / PERFILES. INCORPORANDO LA ESTRUCTURA DE CLASES DEL ROLE OBJECT EN EL MODELO CONCEPTUAL.
APLICACIONES EN LAS CUALES CADA USUARIO PUEDE JUGAR DIFERENTES ROLES / PERFILES.
[BUMER00]
18
- Captulo 3 -
3.3 Qu es un UID?
Un User Interaction Diagram (UID) [Vilain00], es una herramienta grfica para representar la interaccin entre el usuario y el sistema. Recordar que, se denomina interaccin a la actividad de comunicacin que tiene lugar entre el usuario y el sistema, mediante la cual es posible identificar la informacin manipulada por el sistema y la funcionalidad que el sistema debe ofrecer. Los UIDs han probado ser un instrumento sumamente efectivo para recopilar requerimientos, ya que ellos describen el intercambio de informacin usuario/sistema. Adems, permiten trabajar en un alto grado de abstraccin, ya que no toman en consideracin los aspectos especficos de interfaz de usuario y los detalles de diseo. Esta tcnica grfica, retrata con claridad la informacin de interaccin que textualmente describe el caso de uso.
3.3.2 Notacin
La figura3.8 incluye la notacin para los diferentes tipos de informacin en la representacin de la interaccin usuario/sistema con UIDs.
19
- Captulo 3 -
TIPO DE INFORMACIN
DESCRIPCIN
REPRESENTACIN GRFICA
INTERACCIN INICIAL
INTERACCIN
REPRESENTA UNA INTERACCIN ENTRE EL USUARIO Y EL SISTEMA. LA INFORMACIN DADA POR EL USUARIO Y RETORNADA POR EL SISTEMA SE MUESTRA ADENTRO DE LA ELIPSIS. REPRESENTA UNA INTERACCIN QUE
DEPENDE DE LA INTERACCIN PREVIA. DE ACUERDO CON EL RESULTADO DE LA INTERACCIN PREVIA, ESTA INTERACCIN PUEDE O NO OCURRIR. SI NO OCURRE, LA SALIDA DE LA INTERACCIN PREVIA SER DIRECTAMENTE LA ENTRADA DE LA SIGUIENTE INTERACCIN.
INTERACCIN OPCIONAL
INTERACCIONES ALTERNATIVAS
ENTRADA
DE
ELEMENTO
Y SUS ITEMS DE DATOS
REPRESENTA UN ELEMENTO Y SUS TEM DE DATOS. LOS TEM DE DATOS SON OPCIONALES.
20
- Captulo 3 -
CONJUNTO
DE ELEMENTO
CONJUNTO DE ELEMENTO. LOS TEM DE DATOS ASOCIADOS AL ELEMENTO SON TAMBIN PRESENTADOS.
REPRESENTA UN
ELEMENTO ESPECFICO
REPRESENTA EL ELEMENTO ESPECFICO SELECCIONADO O INGRESADO POR EL USUARIO EN LA INTERACCIN PREVIA. REPRESENTA ALGUNOS DATOS ADICIONALES QUE PARTICIPAN DE LA INTERACCIN. REPRESENTA ALGUNOS DATOS OPCIONALES QUE PARTICIPAN DE LA INTERACCIN.
ELEMENTO X
TEXTO
XXXX
TEXTO OPCIONAL
XXXX *
NUEVA INTERACCIN
REPRESENTA UNA NUEVA INTERACCIN QUE OCURRE DESPUS DE QUE EL USUARIO HA INGRESADO LOS DATOS Y EL SISTEMA HA RETORNADO OTRA INFORMACIN EN LA INTERACCIN PREVIA. REPRESENTA QUE PREVIO A LA NUEVA INTERACCIN, N ELEMENTOS DEBEN SER SELECCIONADOS.
SELECCIN DE N ELEMENTOS
Y NUEVA INTERACCIN
INVOCACIN DE LA OPERACIN Z
Y NUEVA INTERACCIN
(Z)
SELECCIN DE N ELEMENTOS
E INVOCACIN DE LA OPERACIN Z Y NUEVA INTERACCIN
N(Z)
21
- Captulo 3 -
SELECCIN DE N ELEMENTOS
E INVOCACIN DE LA OPERACIN Z
N(Z)
INVOCACIN DE LA OPERACIN Z
(Z)
Es importante destacar, que con posterioridad a la utilizacin de los UIDs en esta tesis, la notacin de esta herramienta grfica evolucion, incrementando su expresividad y por lo tanto facilitando la representacin de la interaccin usuario/sistema [Vilain02].
22