Documente Academic
Documente Profesional
Documente Cultură
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/228794986
CITATIONS
READS
109
5 authors, including:
Pedro Valderas
Marta Ruiz
14 PUBLICATIONS 73 CITATIONS
SEE PROFILE
SEE PROFILE
Manoli Albert
Vicente Pelechano
SEE PROFILE
SEE PROFILE
Resumen
Este artculo (1) presenta una aproximacin para el modelado orientado a objetos de soluciones Web
que proporciona mecanismos para la especificacin de sistemas de informacin dinmicos hipermediales y
de comercio electrnico, (2) propone una estrategia para la generacin automtica de aplicaciones Web a
partir de estas especificaciones conceptuales y finalmente (3) presenta un caso de estudio real en el que se ha
aplicado el mtodo para el desarrollo de un portal web para un departamento universitario.
1. Introduccin
Hoy en da, con la rpida expansin de Internet y los avances en el rea de las tecnologas Web, han
aparecido un nuevo tipo de aplicaciones en estos entornos, cada vez ms complejas y dinmicas, comnmente
conocidas como aplicaciones Web [6] . Adems, debido al acelerado crecimiento y la alta competitividad
de las actividades comerciales en la Red, estos sistemas son construidos en periodos temporales muy cortos,
sin el apoyo de herramientas de trabajo adecuadas y utilizando soluciones ad-hoc, lo que est llevando a
construir sistemas software de baja calidad y de difcil mantenimiento y evolucin.
En los ltimos aos han surgido gran cantidad de aproximaciones metodolgicas (OOHDM [1], WebML
[2] , UWE [14], WSDM [5], AutoWeb [4] , etc.) que intentan ayudar en la sistematizacin de la construccin
de soluciones en ambientes Web, proporcionando mecanismos de abstraccin que faciliten la
conceptualizacin y el desarrollo de estos sistemas. Estos mecanismos permiten especificar caractersticas
hipermediales, (hiper (navegacin) + media (multimedia)) y funcionales, dando soporte a la gestin de
usuarios (diferentes tipos, adaptacin, personalizacin, etc.). Adems, se estn intentando definir marcos de
trabajo integrados que proporcionen herramientas adecuadas para dar soporte a la construccin de estos
sistemas en todas sus fases. Como resultado de estos trabajos, surge lo que tambin hoy en da est acuado
como Ingeniera Web [3].
Nuestra intencin es definir un mtodo de desarrollo que permita especificar sistemas software para
ambientes Web que (1) capture las necesidades de estos sistemas web mediante especificaciones conceptuales
y (2) permita obtener prototipos operacionales a partir de estas especificaciones de manera automtica. Para
conseguirlo, hemos extendido un mtodo OO existente, OO-Method [7], que permite capturar las propiedades
funcionales del sistema que se consideran relevantes para construir una especificacin textual OO y formal de
manera automtica. En este contexto se han concentrado muchos esfuerzos hacia el desarrollo de nuevos
modelos para enriquecer este mtodo de produccin de software orientado a objetos con la expresividad
necesaria para especificar caractersticas navegacionales y de presentacin de informacin orientadas a las
aplicaciones Web. Estas especificaciones formales OO (con caractersticas hipermediales) constituyen un
repositorio de informacin de alto nivel del sistema que ser utilizado como entrada a un compilador de
modelos conceptuales, que utilizando una estrategia de traduccin basada en patrones (de la especificacin a
la implementacin), hacen posible la construccin de una implementacin operacional, generando un
prototipo del sistema completo (incluyendo caractersticas estticas y dinmicas) en la plataforma destino del
sistema. Esta extensin del mtodo OO-Method con capacidades navegacionales y de presentacin es lo que
llamamos OOWS [8] [9] (Object Oriented Web Solution).
Elicitacin de los requisitos funcionales del sistema. Utilizando una aproximacin basada en casos
de uso [10] se propone un proceso guiado semi-automtico de obtencin de esquemas conceptuales
(Diagrama de Clases, Modelo Dinmico y Funcional) de OO-Method [10]1.
Especificacin de navegacin y presentacin de informacin. Mediante nuevos modelos aadidos a
OO-Method se captura la semntica navegacional de las aplicaciones web (Modelo de Navegacin) y
de presentacin de informacin (Modelo de Presentacin).
Este trabajo est siendo fruto de una fuerte investigacin en nuestro grupo de investigacin, ya que no se trata de un problema trivial.
relevancia para la definicin de aspectos navegacionales. Las siguientes secciones presentan cada uno de estos
modelos usando el caso de estudio del portal web.
Departamento
-Investigacin
1
-Nombre
-Contacto
-Telfono
-Fax
-Reglamento
-Infraestrcutura
-Miembros
-Nombre
-Apellidos
-Inicial_Ap
-Nombre Completo
-Categoria
-Telfono
-Correo Electrnico
-Fotografa
-Despacho
1
Despacho
-Cdigo
-Extensin
-Tipo
Tutora
1
-Docencia
-Da
-Hora Inicio
-Hora Fin
*
-Tutoras
Asignatura
-Cdigo
-Nombre
-Crditos Teora
-Crditos Prctica
-Ciclo
*
-Tutorias
Profesor
-Profesores
Tcnico
Becario
Administracin
*
-
-Asignaturas
Grupo de Investigacin
Lnea de Investigacin
-Nombre
-Descripcin
-Nombre
-Presentacin
-Direccin Postal
-Pgina Web
- *
-Profesores
1
-Becarios
1
-Lineas de investigacin
Figura 1. Vista parcial del diagrama de clases del portal Web departamental.
Agentes instanciables. Los agentes de este tipo constituirn los usuarios que la aplicacin Web
reconocer. Pueden ser de dos tipos: (1) aquellos que necesitan identificarse en el sistema (representados
con el smbolo ) y (2) aquellos que pueden conectarse al sistema sin identificarse (smbolo ?).
Agentes abstractos. Este tipo de agente representa a agentes sin instancias directas. Es utilizado para
llevar a cabo los mecanismos de especializacin.
En la figura 2 se pueden apreciar los usuarios detectados para el portal
web: los Internautas anonimos, que corresponden con los usuarios que no
pertenecen al personal del departamento (y no requieren identificacin);
los Miembros del Departamento (agente abstracto) que tienen todos los
privilegios de los internautas (de ah su especializacin) y poseen adems
nuevas propiedades navegacionales; y por ltimo los Profesores,
Becarios, Personal Administracin, Tcnicos y Equipo Directivo. Todos
estos usuarios requerirn identificacin para usar el sistema y compartirn
todos ellos los mismos privilegios como miembros del departamento. Sin
embargo, cada uno tendr propiedades navegacionales diferentes al
definir su mapa navegacional propio.
Internauta
Is a
Miembro Departamento
Is a
1.2.1
Profesor
Becario
P. Administracin
Tcnico
Directivo
Figura 2. Diagrama de
usuarios del portal Web
departamental.
Internauta
H
E
DEPARTAMENTO
DOCENCIA
DIRECTORIO
INVESTIGACIN
INTRANET
ENLACES
DSIC INFO
de Exploracin (etiquetados con una E) representan nodos alcanzables desde cualquier otro nodo
(ver figura 3, contexto enlaces). Este tipo de contexto define unos enlaces de navegacin implcitos
(lneas discontinuas) que surgen del agente hasta el contexto. Uno de estos enlaces pueden marcarse
como default o home (con la etiqueta H), indicando que este contexto ser alcanzado directamente
cuando el usuario se conecte al sistema (contexto DSIC info de la figura 3).
de Secuencia (etiquetados con una S) aquellos que slo pueden alcanzarse a travs de un
determinado camino de navegacin.
En el diseo de aplicaciones Web complejas surge la necesidad de poder organizar o estructurar los
distintos contextos navegacionales que se hayan definido. Para ello introducimos una nueva primitiva, el
subsistema de navegacin. Los subsistemas de navegacin (estereotipados con la palabra reservada
subsystem) permiten realizar una agrupacin lgica de contextos navegacionales u otros subsistemas de
navegacin que estn estrechamente relacionados entre s y que comparten propiedades navegacionales (ver
figura 3, subsistemas departamento, docencia, directorio, investigacin e intranet). De la misma manera que
los contextos navegacionales, los subsistemas de navegacin pueden ser de dos tipos, de Exploracin o de
Secuencia, segn su alcanzabilidad.
Los enlaces navegacionales (arcos del grafo) representan la alcanzabilidad entre nodos navegacionales,
indicando los caminos navegacionales vlidos por el sistema para un determinado usuario. Las nuevas
caractersticas navegacionales detectadas al construir el portal web departamental nos han conducido a refinar
dicha primitiva. En concreto, ha sido necesario definirle una nueva propiedad, el cambio de rol (grficamente
representada mediante un actor UML sobre el enlace navegacional) , que nos permite modelar un cambio de
tipo de agente interactivo con el sistema para poder acceder al nodo destino. En la figura 3, para acceder a la
intranet, el usuario deber identificarse como tcnico, personal de administracin, becario o profesor.
Decimos que es necesario que se identifique ya que para acceder al subsistema intranet, debe cambiar a un
tipo de agente que en el diagrama de agentes se ha modelado como instanciable previa identificacin.
Internauta
PERSONAL
COLABORADORES
S
<< context >>
TUTORAS
S
<< Context >>
Personal
view
Miembro Departamento
-Fotografa
-Nombre Completo
-Correo Electrnico
Consultas y Tutoras
view
Profesor
[Tutoras]
Tutoras
view
Profesor
-Fotografa
-Nombre Completo
Asignatura
-Nombre
view
Despacho
-Cdigo
-Extensin
Tutora
FILTER Apellido
ATTRIBUTE Apellidos
TYPE APROXIMATE
-Da
-Hora Inicio
-Hora Fin
Un ndice proporciona un acceso indexado (por alguna propiedad propia o de un objeto relacionado)
a los objetos principales del contexto (objetos de la clase directora). Los ndices crean una lista de
informacin resumida permitiendo al usuario elegir una instancia de la lista. Esta seleccin provoca
que el tem elegido se convierta en la instancia activa del contexto navegacional. En nuestra
aproximacin existen dos tipos de ndices: (1) ndices de atributos (ATRIBUTES-INDEX) que se
definen sobre uno o varios atributos de la clase directora y (2) ndices de relacin (RELATIONINDEX), que se definen sobre uno o varios atributos de una clase relacionada en el diagrama de
clases con la clase directora del contexto. En este caso, se crear un ndice con todos los valores de
atributos de los objetos de la clase relacionada. Si existe ms de una relacin entre la clase directora
y la clase del ndice ser necesario especificar un atributo de rol para eliminar la ambigedad. En
ambos tipos de ndices es necesario que al menos uno de los atributos sobre los que se define sea
especificado como atributo de enlace (atributo/s que servir/n para activar el ndice). Por otro lado,
No puede existir ninguna clase navegacional en un contexto que no est relacionada con ninguna otra clase navegacional.
se puede indicar que no aparezcan duplicados (DISTINCT VALUES) para que slo se recuperen los
valores distintos.
En la figura 5 se ha definido un ndice (letra_apellido) para obtener los miembros del departamento
cuyo primer apellido empiece por una letra especfica.
2.
Mecanismos de bsqueda, expresados como filtros de informacin. Estos filtros permiten restringir
el espacio de objetos de la clase directora recuperados en funcin de una condicin sobre alguna
propiedad de la clase directora u obtenida por una relacin entre clases. Esta expresin se puede
especificar en tiempo de modelado o puede ser introducida por el usuario en tiempo de ejecucin. Se
pueden definir tres tipos: exacto (devuelve el conjunto de instancias de la clase directora cuyo valor
de atributo coincida exactamente con el valor indicado), aproximado (devuelve el conjunto de
instancias de la clase directora cuyo valor de atributo sea semejante al valor indicado) y rango
(devuelve el conjunto de instancias de la clase directora cuyo valor de atributo est entre un par de
valores mximo y mnimo).
En la Figura 5 se ha definido un filtro aproximado para buscar miembros del departamento por los
apellidos. Como en el filtro no se ha definido una condicin de poblacin, la aplicacin deber pedir al
usuario que proporcione en tiempo de ejecucin un valor para el nombre del atributo.
3.2.3. Modelado de la Presentacin
Una vez definido el modelo de navegacin debemos especificar las caractersticas de presentacin del
sistema. Para este propsito se introduce el Modelo de Presentacin, que complementa la informacin
capturada en el modelo de navegacin para la creacin de interfaces Web con informacin de presentacin
(layout). Este modelo utiliza los nodos o contextos navegacionales como entidades bsicas para definir las
propiedades de presentacin de informacin.
La manera de especificar los requisitos de presentacin se basa en el uso de patrones de presentacin
simples que se podrn asociar a los distintos elementos que forman un nodo de navegacin. Existirn
propiedades de presentacin que podrn ser aplicadas a nivel de un contexto de navegacin, a nivel de
estructuras de acceso y/o mecanismos de bsquedas (filtros), y a relaciones (navegacionales) entre clases. Los
patrones de presentacin de informacin que se pueden especificar son:
1.
2.
Ordenacin. Este patrn permite definir una ordenacin de la poblacin de una clase segn el valor
de uno o ms atributos sobre los que se aplica. La ordenacin puede ser: ascendente (asc) o
descendente (desc). Este patrn se puede aplicar a clases navegacionales, indicando cmo se van a
ordenar las instancias de la clase (los atributos sobre los que se ordene deben aparecer especificados
en el contexto) y a estructuras de ndices o filtros de bsqueda, ordenando los resultados obtenidos
por alguno/s de los atributo/s especificado/s por estos mecanismos.
3.
Personal
<<view>>
Miembro Departamento
Tutoras
Pattern: Register
<<view>>
Profesor
Pattern: Register
<<view>>
Profesor
Pattern: Tabular
<<view>>
Asignatura
Pattern: Master-Detail
Pattern: Register
Pagination Info:
Cardinality: Static, 4
Sequential
<<view>>
Despacho
Pattern: Register
Pattern: Register
Pattern: Register
<<view>>
Tutora
Pattern: Register
ATTRIBUTE INDEX letra_apellido
Ordering: ASC
departamento que pertenezcan a la clase especializada profesor ya que son las nicas que pueden
navegar por la relacin de asociacin profesor-tutora (ver diagrama de clases de la figura 1).
En cuanto a la zona de navegacin (secciones 3,4,5 y 6), ha sido implementada de la siguiente forma:
- men navegacional (seccin 3) formado por todos los enlaces a los contextos o subsistemas de
exploracin (departamento, directorio, docencia, investigacin, intranet, enlaces, personal,
colaboradores y mapa sede dsic) en la parte izquierda de la pgina Web
- filtro de bsqueda (seccin 4) definido para encontrar a miembros del departamento por sus apellidos
tambin en la parte izquierda de la pgina Web
- los ndices que pueden ser activados (seccin 5) estn implementados tambin en la zona superiorderecha de la pgina
- el camino recorrido por el usuario (seccin 6) se especifica en la zona superior-derecha.
Cuando un usuario desde la pgina Web de la figura 11 seleccione el enlace Consultas y Tutoras
asociado a algn miembro del departamento alcanzar la pgina que se muestra en la figura 12 (contexto
tutoras ver figuras 6 y 8). Al seleccionar este enlace el usuario est activando la relacin de contexto
miembro departamento-profesor y provocando una navegacin con informacin contextual desde el contexto
personal al contexto tutoras. La informacin contextual que viaja de un contexto a otro corresponde con la
instancia del miembro departamento seleccionado. Una vez en el contexto destino, se mostrar la informacin
especificada en su definicin para la instancia que ha recibido.
funcionalidad, permitiendo definir estructuras de acceso y mecanismos de bsqueda que faciliten el acceso a
la informacin deseada; un Modelo de Presentacin, que refleja las caractersticas esenciales de presentacin
de informacin de los nodos navegacionales mediante (unos pocos) patrones bsicos de presentacin.
Se han propuesto nuevas primitivas (subsistema, cambio de rol, tipos de agentes en diagrama de agentes,
etc.) y se han incorporado dentro del mtodo OOWS. Se ha aplicado el mtodo a un caso de estudio real, que
contina siendo desarrollado, siguiendo el proceso propuesto de construccin de un sistema Web.
Adicionalmente, se han realizado trabajos orientados a dar soporte a la introduccin de caractersticas de
personalizacin a nivel de modelado conceptual y la definicin de operadores conceptuales orientados al
reso conceptual. Los resultados de la aplicacin de un paradigma de programacin automtica de cdigo
(OOWS) han provocado que las continuas modificaciones en los requisitos del sistema se hallan realizado de
manera ms adecuada ya que slo ha sido necesario modificar la especificacin y generar el prototipo.
Actualmente se est rediseando la estrategia de generacin de cdigo para adaptarla a una arquitectura
software basada y orientada en servicios Web.
Reconocimientos. Este trabajo ha sido parcialmente subvencionado por el proyecto VII.18 WEST del programa
CYTEC, el proyecto MCYT con ref. TIC2001-3530-C02-01 y por la Universitat Politcnica de Valncia, Espaa.
Referencias
[1] Schwabe D., Rossi G. and Barbosa D.J. Systematic Hypermedia Application Design with OOHDM. Proc. ACM
Conference on Hypertext. pp.166. 1996.
[2] Ceri S., Fraternali P., Bongio A. Web Modeling Language (WebML): a Modeling Language for Designing Web Sites.
In WWW9, Vol. 33 (1-6), pp 137-157. Computer Networks, 2000.
[3] Muruguesan, S., Desphande, Y.: Web Engineering. Software Engineering and Web Application Development.
Springer LNCS Hot Topics (2001).
[4] Paolini P. and Fraternali P. A Model-Driven Development of Web Applications: the Autoweb System. ACM
Transactions on Office Information Systems, 2000, Vol. 18, Number 4.
[5] De Troyer O. and Leune C. WSDM: A user-centered design method for Web sites. In Proc. of the 7th International
World Wide Web Conference, 1997.
[6] Baresi L., Garzotto F., Paolini P. From Web Sites to Web Applications: New Issues for Conceptual Modeling. ER2000
Workshop on Conceptual Modeling and the Web, LNCS 1921. Springer-Verlag, 2000.
[7] Pastor O., Gmez J., Insfrn E. and Pelechano V. The OO-Method Approach for Information Systems Modelling:
From Object-Oriented Conceptual Modeling to Automated Programming. Information Systems. Elsevier Science. Vol.
26, pp 507-534, Number 7, 2001.
[8] Pastor O., Abrahao S., and Fons J. J. An Object-Oriented approach to automate web applications development. In 2nd
International Conference on Electronic Commerce and Web Technologies (EC-Web'01), Springer-Verlag, LNCS 2115.
ISBN: 3-540-42517-9. Munich, Germany, Septiembre, 2001
[9] Pastor O., Abrahao S., and Fons J. Building E-Commerce Applications from Object-Oriented Conceptual Models.
Newsletter of the ACM SIGecom Exchanges, volume 2.2,ACM Press, pp. 24-32. June, 2001
[10] Insfrn E., Pastor O., Wieringa R. Requirements Engineering-Based Conceptual Modelling. Requirements
Engineering (RE02). Springer-Verlag. ISSN: 0947-3602 (printed version) ISSN: 1433-010X (electronic version), pp.6172. March 2002.
[11] Fons, J., Valderas, P., Pastor, O. Specialization in Navigational Models. Argentine Conference on Computer Science
and Operacional Research. Subserie ICWE, Iberoamerican Conference on Web Engineering. Volume 31 of Anales JAIO.,
SantaFe, Argentina (2002) 16-31 ISSN: 1666-6526.
[12] Abrahao S., Fons J., Gonzalez M. and Pastor O. Conceptual Modeling of Personalized Web Aplications. In 2nd
International Conference on Adaptive Hipermedia and Adaptive Web Based Systems, Malaga, Spain, 2002.
[13] Object Management Group. Unified Modeling Language Specification Version 1.4 draft. Technical report,
www.omg.org, February 2001.
[14] Koch, N., Wirsing, M.: Software Engineering for Adpatative Hypermedia Applications. In: 3rd Workshop on
Adaptative Hypertext and Hypermedia (2001).