Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
? ?
Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin
Modelo de Navegacin
? ?
? ?
Introduccin
Web Engineering
?
Los problemas encontrados en la construccin de aplicaciones web surgen a partir de los continuos avances en Internet y tecnologas web. ? Aumento de las actividades comerciales en la red ? Migracin de sistemas legados a ambiente web, etc... El alcance y la complejidad de las aplicaciones web actuales varan extensamente: ? de servicios en escala reducida y breve duracin a aplicaciones empresariales en larga escala distribuidas en la Internet a travs de intranets y extranets corporativos. La evolucin de las aplicaciones web tambin implica en el aumento de la complejidad en disear, desarrollar, mantener, y manejar estos sistemas de informacin. El diseo de una aplicacin web requiere un balance entre el contenido de la informacin, la esttica, y el rendimiento.
3
Introduccin
Web Engineering
?
Segn [Ginige et al]* las aplicaciones web pueden ser clasificadas en siete categoras:
1. Informacionales: peridicos online, catlogos de productos, neswsletters, manuales de servicios, clasificadores online, libros electrnicos. 2. Interactivos (informacin proporcionada por el usuario o acceso personalizado): formularios de registros, presentacin de informacin personalizada, juegos. 3. Transaccionales: tiendas electrnicas, rdenes de bienes y servicios, bancos electrnicos. 4. Flujo de Trabajo (Workflow): sistemas de planificacin y organizacin en lnea, gestin de inventarios, monitoreo de estatus. 5. Ambientes de trabajo colaborativos: Sistemas de autora distribuidos, herramientas de diseo colaborativo. 6. Comunidades en lnea, mercados: grupos de chat, ofertas y demandas de productos o servicios, mercados en lnea, subastas en lnea. 7. Portales Web: bsquedas, tiendas, intermediarios, etc.
*A. Ginige, S. Murusan Web Engineering: An Introduction, IEEE Multimedia, Jan-Mar 2001.
Introduccin
Web Engineering
?
Qu es Web Engineering? ? Es ms que un subconjunto de la Ingeniera de software ya que corresponde a un campo multidisciplinario donde se encuentran involucradas las reas de:
?
Anlisis y diseo de sistemas Ingeniera de software Ingeniera hipermedia y hipertexto Ingeniera de requisitos Interaccin hombre-maquina Desarrollo de interfaz del usuario Ingeniera de la informacin Recuperacin de informacin Pruebas, modelado y simulacin Gestin de proyectos Presentacin y diseo grfico.
La esencia de la ingeniera Web es manejar con xito la diversidad y la complejidad del desarrollo de las aplicaciones Web, para minimizar incidentes que pueden tener serias implicaciones.
5
Agenda
? ?
Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin
Modelo de Navegacin
? ?
? ?
Aplicaciones Web
Caractersticas y Arquitecturas (I)
?
poseer aspectos de las aplicaciones hipermediales (hipertexto / multimedia) & lgica de las aplicaciones tradicionales Complejidad: las aplicaciones web requieren transacciones cada vez ms complejas y con ms funcionalidad. Interaccin en tiempo real: las transacciones se realizan de manera online y requieren un tiempo de respuesta satisfactorio. Naturaleza Dinmica: las aplicaciones web son constantemente modificadas con la adicin de nuevos requisitos para la ejecucin de servicios, cambios de interfaz, etc.
Aplicaciones Web
Caractersticas y Arquitecturas (II)
?
Navegacin: hace referencia a las informaciones que sern presentadas y la posible navegacin entre ellas. Se determina de acuerdo con el tipo de usuario. Personalizacin: la necesidad de proporcionar informacin personalizada a los distintos tipos de usuarios. Presentacin: es necesario no solamente especificar qu objetos de presentacin sern implementados como tambin cmo estos objetos interactan con la aplicacin web. Seguridad: con el crescimiento de las aplicaciones de comrcio electrnico cada vez ms se requiere mecanismos para restringir la visibilidad sobre la informacin, restricciones en la estructura navegacional y la definicin de nivelesde seguridad.
8
Aplicaciones Web
Caractersticas y Arquitecturas (III)
?
Paginas web simple para presentar informacin textual El contenido de la informacin no cambia Navegacin Simple Sistemas independientes No se requiere alto rendimiento Desarrollado por una persona o un pequeo equipo Usado para diseminacin de informacin
Aplicaciones Web
Caractersticas y Arquitecturas (IV)
?
Paginas web complejas La informacin es dinmica, es decir, cambia segn el tiempo o necesidad de los usuarios Dificultad en navegar y encontrar la informacin deseada Integracin con Base de Datos u otros sistemas de planificacin, etc. Requiere alto rendimiento y disponibilidad continua Requiere un gran equipo de desarrollo con experiencia en distintas reas.
Aplicaciones Web
Caractersticas y Arquitecturas (V)
?
Para gestionar la complejidad y diversidad del desarrollo de las aplicaciones web es necesario un proceso de construccin que: ? posibilite el diseo y el desarrollo de una aplicacin web de una manera sistemtica y repetible. ? sea bien planeado y descrito en un conjunto de pasos que los desarrolladores deben seguir. ? sea interactivo para atender la naturaleza evolutiva de las aplicaciones web ? ayude a los desarrolladores a tratar las complejidades de los SIs para la Web: reduciendo los riesgos del desarrollo tratando las probabilidades de cambio y entregando las aplicaciones web en el tiempo mientras proporciona una retroalimentacin para la gerencia del proyecto.
11
12
Tcnicas de modelado conceptual proporcionan un enfoque metodolgico y sistemtico a la especificacin de aplicaciones tradicionales. Los mtodos de diseo orientados a objetos que utilizan tcnicas de modelado conceptual no proporcionan primitivas para especificacin de la navegacin, presentacin, etc. Como elicitar y representar la semntica navegacional en modelos conceptuales? Extensin de un mtodo de produccin OO para la construccin de aplicaciones web a travs de la incorporacin de un modelo que representa las caractersticas propias de las aplicaciones web ? Utilizacin de patrones conceptuales para representar los requisitos (navegacin, presentacin, etc..) de los usuarios. ? La semntica navegacional de una aplicacin web se captura en un Modelo de Navegacin
13
Agenda
? ?
Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin
Modelo de Navegacin
? ?
? ?
Modelo de Navegacin
Caractersticas Bsicas
?
Representa la semntica navegacional de una aplicacin web en base a un Modelo de Objetos y en requisitos de navegacin. ? Definicin de vistas navegacionales a partir de un Modelo de Objetos. Utiliza una notacin basada en UML. Considera el punto de vista de cada perfil de usuario identificado previamente en el Modelo de Objetos. Introduce primitivas de abstraccin que permiten: ? Representacin de la Navegacin ? Especificacin de Bsquedas ? Tratamiento de la visualizacin de la informacin (presentacin) ? Ejecucin de Servicios ? Personalizacin de informacin de los distintos usuarios Posibilita la generacin de una aplicacin web a travs de la especificacin de patrones de traduccin que establecen las caractersticas dependientes de la arquitectura elegida.
15
? ? ?
Modelo de Navegacin
Primitivas de Abstraccin Bsicas
?
Mapa Navegacional
Visin Global de una aplicacin web segn un perfil de usuario
Contexto de Navegacin
Conjuntos de objetos que el usuario ir navegar
Vnculo de Navegacin
Indica la navegacin entre contextos de navegacin
Clase Navegacional
Contenido de la informacin por el cual los usuarios navegarn
Relaciones
Maneras de navegar para acceder al contenido de la informacin
16
Modelo de Navegacin
Primitivas de Abstraccin I
?
Mapa Navegacional ? Representa la visin global del sistema para un agente en OO-Method ? Est compuesto por contextos navegacionales y vnculos navegacionales. El contexto donde se inicia la navegacin corresponde al Home
Agente
Internauta
E
<<Contexto>> Home
Vnculos de Navegacin
E
Contextos de Navegacin
<<Contexto>> Productos
S
<<Context>> CestaCompra
<<Contexto>> Libros
17
Modelo de Navegacin
Primitivas de Abstraccin II
?
Contexto de Navegacin
? ?
Es el punto de vista que un usuario tiene de un subconjunto del modelo de objetos (Unidad de Interaccin bsica del usuario). Se compone de un conjunto de clases navegacionales (clase directora y clase complementaria) y relaciones entre ellas.
<<Contexto>> Libros
<<view>> Libro
clase directora
clases navegacionales
<<view>> Review
descripcin
clases complementarias
<<view>> Autor
nombre
relaciones
18
Modelo de Navegacin
Primitivas de Abstraccin III
?
Vinculo de Navegacin
? ?
Indica la navegacin entre contextos (relacin de alcanzabilidad entre contextos de navegacin). Esta navegacin se define a partir de relaciones navegacionales definidas dentro de los contextos.
<<contexto>> Libros
<<contexto>> Autores
Vinculo de Navegacin
19
Modelo de Navegacin
Ejemplo de Mapa Navegacional
Contextos de Navegacin
Vnculos de Navegacin
20
Modelo de Navegacin
Primitivas de Abstraccin IV
?
Clases Navegacionales
? ?
Una clase navegacional se define como una proyeccin (vista) que se especifica sobre una clase del Modelo de Objetos. Incluye un dado subconjunto de atributos y mtodos.
<<view>>
Libro
ISBN titulo ao paginas crear() borrar()
21
Modelo de Navegacin
Primitivas de Abstraccin V
?
Relaciones entre clases navegacionales ? Es una relacin binaria unidireccional que se puede definir sobre relaciones de herencia o agregacin existentes entre clases del Modelo de Objetos. ? Complementa la informacin sobre la clase origen de la relacin. ? Pueden ser de dos tipos: de Contexto o de Dependencia Contextual
22
Modelo de Navegacin
Primitivas de Abstraccin V
?
Relacin de Contexto
? ? ?
Define un vnculo navegacional entre contextos y Indica la direccin de navegacin Implica necesariamente la existencia de un contexto navegacional (destino) en el que la clase directora es la clase destino de la relacin
<<view>> Libro <<view>> Autores
[Autores]
Se ver informacin de los libros y de sus autores (utilizando la relacin de agregacin existente en el modelo) y adems se permitir alcanzar el contexto Autores
23
Modelo de Navegacin
Primitivas de Abstraccin VI
?
Indica la existencia de una relacin entre dos clases de un contexto, pero no define una semntica navegacional entre ellas Se utiliza para proporcionar informacin complementaria de la clase directora
<<view>> Libro
nombre ao
<<view>> Autor
nombre
En este caso, slo se recuperar informacin de los libros y de sus autores (utilizando la relacin de agregacin existente en el modelo) pero no se proporcionar un enlace con otro contexto
24
Modelo de Navegacin
Ejemplo de Relacin de Contexto
<<view>> Book
ISBN title photo Price Availability Sales_rank
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
Cmo establecer criterios para seleccionar las instancias de una clase navegacional?
?
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
Los contextos de navegacin contienen las siguientes reas: ? rea de definicin de contexto: indica el tipo de contexto de navegacin que se est definiendo.
? ?
rea de navegacin: donde se definirn las clases navegacionales y las relaciones entre ellas. rea de caractersticas avanzadas: donde se definirn caractersticas relacionadas a la bsqueda y presentacin de la informacin.
E
<<contexto>> Libros
rea de Navegacin
<<view>> Libro
<<view>> Autor
Presentacin:
Cardinalidad: Ordenacin:
27
Modelo de Navegacin
Conceptos Avanzados de Modelado
? rea de Definicin de Contexto ? Se pueden clasificar dos tipos contextos: ? Exploracin: son accesibles desde cualquier ubicacin en la aplicacin
?
Secuencia: slo son accesibles siguiendo uno de los caminos de navegacin especificado
<<Contexto>> Home
Internauta
E
Contextos de Exploracin
E
<<Contexto>> Productos
S
<<Context>> CestaCompra
<<Contexto>> Libros
2001, Grupo OO-Method
Contextos de Secuencia
28
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
rea de Navegacin
?
Se especifica el cuerpo del contexto compuesto bsicamente de clases navegacionales y relaciones A cada uno de estos elementos se les puede especificar nuevas caractersticas, tales como: ? Clases navegacionales: Filtros y Enlaces de Servicio ? Relaciones: Atributos y Restricciones de Navegacin
E
<<contexto>> Libros
rea de Navegacin
<<view>> Libro
<<view>> Autor
Presentacin:
Cardinalidad: Ordenacin:
29
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
Clases Navegacionales
?
Filtro: indica seleccin de las instancias de los objetos de una clase navegacional. Su representacin se har mediante una expresin lgica de evaluaciones sobre atributos. E
<<Contexto>> Libros
<<view>> Libro
ISBN titulo ao paginas
<<view>> Autor
nombre
Navegacin a un contexto en el que se detalle informacin de todos los libros best-sellers (se consideran best-sellers los libros con ms de 1,000,000 de ventas)
30
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
Clases Navegacionales
? ?
Enlaces de Servicio: est asociado a un contexto de navegacin, e indica el contexto destino despus de la ejecucin del servicio. Son el vnculo de unin con el comportamiento definido por las clases del modelo. Definen adems la visibilidad de accin del agente. E
<<Contexto>> Libros
<<view>> Libro
ISBN titulo ao paginas crear() borrar()
COMPRAR()* [Cesta]
<<view>> Autor
nombre
Contexto Destino
Enlace de Servicio
2001, Grupo OO-Method 31
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
En una Relacin de Contexto se pueden especificar los siguientes atributos: ? Atributo de Contexto : especifica contexto de navegacin destino del enlace.
?
Atributo de Enlace: Indica qu atributo visible se usar en la conexin con la clase destino. Es opcional. Atributo de Filtro : indica un filtro sobre la poblacin de la clase destino. Es opcional. Existen tres tipos: Exacto, Aproximado y Rango Atributo de Rol: nombre de la relacin estructural del Modelo de Objetos la que se refiere la relacin. Slo es necesario en caso de ambigedad.
32
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
Ejemplo de los tipos de atributos que se pueden definir en una relacin de Contexto:
Atributo de Enlace <<view>> Autor
nombre
<<view>> Libro
Atributo de Filtro
Autor nombre
colabora escribe
Libro titulo ao
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
En una relacin de contexto tambin se puede definir ? Restriccin de Navegacin: permiten especificar condiciones que deben satisfacerse para que se pueda dar una navegacin. ? Ejemplo: en un foro de noticias un internauta annimo puede leer mensajes de los grupos pblicos pero no de los privados.
E
<<Contexto>> Tematicas
<<view>> Tematica
nombre descripcin numgruposdispon
nombre
numRegistrados
Restriccin de Navegacin
34
Modelo de Navegacin
Conceptos Avanzados de Modelado
?
Patrn Presentacin: describe cmo la informacin ser presentada. Existen tres tipos bsicos: Tabular, Registro y Maestro-Detalle. Cardinalidad: indica la cantidad de instancias de la clase directora que ser que ser visualizada a cada interaccin del usuario. Ordenacin: se puede especificar el criterio de ordenacin de los objetos segn el valor de los atributos aqu especificados y el modo (Ascendente/Descendente). Estos atributos tendrn una expresin de camino que empezar por la clase directora.
35
Modelo de Navegacin
Conceptos Avanzados de Modelado
Se presentarn los libros en formato Maestro-Detalle, de manera que los libros (clase directora) sern el Maestro y los Autores el Detalle Se recuperarn los libros en grupos de 5 instancias, facilitando mecanismos para acceder a los 5 siguientes y los 5 anteriores Se ordenarn los libros por ao, desde el ms reciente al ms antiguo
E
<<Contexto>> Libros
<<view>> Libro
ISBN titulo ao paginas crear() borrar()
<<view>> Autor
nombre
Presentacin: Maestro-Detalle
36
Agenda
? ?
Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin
Modelo de Navegacin
? ?
? ?
Motivacin
?
Existen varias aproximaciones para el desarrollo de aplicaciones web dentro de un proceso de produccin de software bien definido. La mayora de estas aproximaciones centran o en aspectos hipermedia o en aspectos ms convencionales. Se propone una aproximacin OO que utiliza tcnicas de modelado conceptual para el desarrollo de aplicaciones web.
?
Proporciona una gua metodolgica y precisa para ir del espacio del problema para el espacio de la solucin (producto software final). Centra en la integracin del modelado conceptual y diseo navegacional. ? Se considera el paso se modelado navegacional como una nica fase genrica. ? Extiende el mtodo de modelado conceptual orientado a objetos (OO-Method), introduciendo un Modelo de Navegacin para especificar caractersticas especificas de las aplicaciones web.
38
OOWS
An Object-Oriented Approach for Web Solutions Modeling
?
Conceptos Bsicos:
? ? ?
Una aproximacin para definir semntica de navegacin en modelos Orientados a Objeto. Utiliza la notacin UML adaptada a OO-Method para definir de una manera precisa un modelo de navegacin. Define nuevos conceptos (primitivas navegacionales) que se aplicarn en el Modelo Conceptual OO-Method.
Objetivos:
? ? ?
Ampliar conceptos de modelado OO propuestos en OO-Method para introducir semntica de navegacin browsing. Introducir una nueva etapa en el Modelo Conceptual para definir los mapas de navegacin de cada agente. Generar automticamente software para aplicaciones ebusiness en entornos Web.
39
Principios Bsicos:
? ?
El uso de tcnicas de especificacin formales y Orientados a Objetos integrados con mtodos convencionales . Separacin del espacio del problema (qu) del espacio de la solucin (cmo).
Ventajas:
?
Provee un avanzado entorno de prototipacin automtica, incluyendo: generacin completa de cdigo en entornos imperativos funcionalidad equivalente al modelo conceptual La generacin automtica de aplicaciones que incluyen aspectos estticos y dinmicos que fueron especificados.
40
Anlisis de Requisitos usando aproximacin basada en Casos de Uso Modelado conceptual del Sistema Modelo de Objetos Modelo Dinmico Modelo Funcional Modelo de Navegacin
rbol de Refinamiento de Agentes
2. Desarrollo de la Solucin
?
Patrones de traduccin que permiten obtener Aplicacin Web una aplicacin web a partir de la (Espacio de la Solucin) Especificacin del Sistema
41
Internauta
Car
lic_plate km to_rent pay_back
Customer
SSN name create to_rent
[to_hire] situation=hired
<<Contexto>> Alquiler
<<Contexto>> Coches
OASIS
Modelo de Ejecucin (Espacio de la Solucin)
VBasic RDB
2001, Grupo OO-Method S
Traduccin Automtica
Java RDB
Delphi RDB
...
42
Buscar en el Modelo de Objetos (OO-Method) las clases Agentes del sistema ? La especificacin de servicios en una clase denota su aspecto servidor. ? Para una clase (agente) se indican los servicios que est habilitada a ver e invocar de otras clases (servidora). Detectar las relaciones de herencia entre stas, para incrementar la reusabilidad de contextos de navegacin ? Construir un rbol de Refinamiento de Agentes, donde aparece cada agente y sus relaciones de herencia con los dems. ? Estos rboles estn compuestos de: Agentes raz Agentes refinados
43
Aproximacin OOWS
Identificacin de Agentes (II)
?
Agente 3
Para cada agente raz de los rboles de refinamiento de agentes: ? Construir um mapa navegacional describiendo los contextos de navegacin que capturen los requisitos de navegacin detectados. Para cada agente refinado: ? Construir um mapa navegacional describiendo los contextos de navegacin que capturen los requisitos de navegacin detectados para este agente. ? Se puede reutilizar contextos de navegacin definidos en el agente raiz.
44
Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
Se basa en una estructura que se compone por tres capas:
?
La Capa de Datos se representa por la base de datos relacional que almacena la poblacin de cada clase que se haya identificado durante el paso de especificacin del problema. ? Se utiliza una clase de persistencia para recuperar/actualizar las instancias de las clases de/para la base de datos. La capa de Lgica del Negocio contiene la lgica del negocio para cada clase especificada en el modelo conceptual. ? Acta como un middleware del sistema para soportar la integracin de la funcionalidad y de la gestin de los datos. Se ha definido: ? una interfaz para implementar las clases de OO-Method con la definicin de unos servicios comunes. ? un gestor de servicios para poder iniciar la ejecucin de los servicios, incluyendo la gestin de transacciones y verificacin de las restricciones de integridad y disparos.
45
Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?
La capa de Presentacin contiene toda la lgica de la presentacin de la aplicacin. ? Se puede generar pginas servidoras (HTML, DHTML, XML, WML, etc.) con el cdigo del servidor embutido (por ejemplo: ASP, JSP, ColdFusion, Php, el etc.) a partir de la especificacin del modelo de navegacin.
?
Estas pginas utilizan la capa de datos para extraer la informacin necesaria para generar la interfaz grfica del usuario, y utilizan el middleware proporcionado por la capa de la lgica del negocio para ejecutar servicios. Para generar esta capa es necesario hacer las correspondencias entre el espacio del problema y de la solucin. Se propone un mapeo de las primitivas del modelo de navegacin a los componentes software de una aplicacin web.
46
Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
Este mapeo se estructura segn los siguientes patrones de traduccin:
?
Mapa navegacional: por cada mapa navegacional definido se crear una pgina de inicio donde aparecer un marco mostrando el agente conectado y un men de las opciones disponibles para el agente. Contexto navegacional: se define por cada contexto navegacional una pgina servidora encargada de mostrar la informacin y permitir la ejecucin de servicios. Esta deber tener en cuenta: ? la cardinalidad, orden y posibles filtros de contexto. A este contexto se acceder de forma directa o a travs de un enlace de navegacin (con el correspondiente filtro). Clases de navegacionales: son instancias de las clases implementadas en la capa de la lgica del negocio. Es necesario declarar: ? una clase directora con todas las instancias que satisfacen los filtros definidos.
47
Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?
Clases de navegacionales (cont.): ? las clases complementarias son obtenidas de las funciones de navegacin usando los roles correspondientes definidos en la capa de la lgica del negocio. ? los valores de los atributos de las clases se obtienen de las propiedades que han sido definidas en la capa de lgica de negocio. Filtros: se usan para recuperar la poblacin la clase directora. Proporciona una visin de los objetos activos en el sistema. ? Los filtros de las clases complementarias recuperan las instancias de las clases usando funciones de navegacin. Relacin de contexto: ? si esta tiene un atributo de enlace, la pgina servidora debe crear un enlace para cada valor de este atributo. Este enlace permite la navegacin al contexto destino, filtrndola con el objeto seleccionado.
48
Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?
Relacin de contexto (cont.): ? Si no aparece un atributo de enlace, un enlace tendr que aparecer en la pgina servidora mostrando el alias (pseudnimo) del contexto destino. Este alias representa la seleccin de todos los objetos en el contexto destino a travs de una relacin estructural.
?
Si aparece un atributo de filtro, la informacin requerida en el contexto origen depende del tipo de filtro (exacto, aproximado y rango). Este filtro tendr que ser ejecutado en el contexto destino cuando se recupera la poblacin de la clase directora.
Relacin de dependencia contextual y vinculo de navegacin: ? no se especifican patrones de traduccin asociados ya que estas relaciones solo ayudan a representar informacin en el diagrama.
49
Desarrollo de la Solucin
Una estratgica para implementar aplicaciones web
?
Servicios y Enlaces de Servicio: ? Una pgina de servicio se crea para cada servicio que aparece en un enlace de servicio. Para ejecutar servicios, la pgina de servicio utiliza los objetos del middleware de la capa de la lgica del negocio. ? Estas pginas piden al usuario los parmetros requeridos del servicio. Patrn de Presentacin: depende del tipo de presentacin seleccionada (registro, tabular y maestro-detalle). Cada patrn posee una ''plantilla' asociada.
50
Agenda
? ?
Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin
Modelo de Navegacin
? ?
? ?
Aplicacin para venta de lbumes de msica. Las compras se debern ir incluyendo, simblicamente, en una cesta de la compra. Todas las compras se harn de forma annima. El usuario no deber identificarse hasta que no vaya a confirmar su compra. De cada compra se deber crear una factura que se enviar junto con el material adquirido.
Lista de Autores Lista de Categoras
Lista de lbumes
lbum
COMPRA
53
Para comprar un lbum se deber llegar a l a travs del autor o de la categora a la que pertenece. Cuando seleccionemos un lbum, se mostrarn todos sus datos y se podr comprar. El lbum ser incluido en la cesta de la compra de ese usuario. El usuario podr consultar el contenido de su cesta, cambiar el nmero de unidades que se desea adquirir de un lbum o eliminar alguna de las compras. Cuando se confirme la compra se realizarn dos acciones: ? Crear la factura. ? Reducir el stock de los lbumes comprados. Una vez confirmada una compra, ya no se podr modificar el contenido de la cesta.
54
Agente de la aplicacin
55
<<Contexto>> Home
Agente
E E E
Contextos de Exploracin
E
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
Contextos de Secuencia
S
<<Context>> lbumes
56
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
57
Mapa Navegacional
Contexto navegacional Autores
E
<<Contexto>> Autores
<<view>>
Relacin de Contexto
Filtro Exacto
Presentacin:Tabular
Cardinalidad:300
58
Modelo de Objetos
Contexto navegacional Autores
?
59
Contextos de Exploracin
Presentacin Tabular
Cardinalidad
60
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
61
Mapa Navegacional
Contexto navegacional Categoras
E
<<Contexto>> Categorias
Filtro exacto
<<view>>
{nombre,E} nombre
Atributo de Enlace
[Detalles_Categorias]
Contexto Destino
Presentacin: Tabular Cardinalidad: 10
62
Modelo de Objetos
Contexto navegacional Categoras
?
63
Presentacin Tabular
Filtro Exacto
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
65
Mapa Navegacional
Contexto navegacional Detalles_Autor
S <<Contexto>> Detalles_Autor
Clase directora
<<view>> Autor nombre
Atributo de Enlace
id_album [Albumes]
Clase Complementaria
Cardinalidad:10
Contexto Destino
66
Modelo de Objetos
Contexto navegacional Detalles_Autor
?
Se utilizan los atributos: id_album, ttulo, fecha y precio No se utiliza ningn servicio
67
Parte maestro
Parte detalle
68
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
69
Mapa Navegacional
Contexto navegacional Detalles_Categoras
S
Clase directora
<<view>> Categoria nombre
<<Contexto>> Detalles_Categorias
Atributo de Enlace
<<view>> Album id_album titulo fecha precio
id_album [Albumes]
Contexto destino
70
Modelo de Objetos
Contexto navegacional Detalles_Categoras
?
Se utiliza los atributos: id_album, titulo, fecha y precio No se utiliza ningn servicio
71
Parte detalle
Atributo de enlace
Cardinalidad
72
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
73
Mapa Navegacional
Contexto navegacional lbumes
S
Clase Directora
<<Contexto>> Albumes
<<view>> Album Id_album titulo fecha precio num_discos COMPRAR()* [Cesta_Lineas]
Enlace de Servicio
Presentacin: Registro
Clase complementaria
<<view>>
Autor nombre
Contexto Destino
74
Modelo de Objetos
Contexto navegacional lbumes
?
Se utilizan los atributos id_album, titulo, fecha, precio y num_discos Se utiliza el servicio COMPRAR
75
76
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
77
Mapa Navegacional
Contexto navegacional Cesta_Lneas
E
Clase Directora <<Contexto>> Cesta_Lineas
<<view>> <<view>>
Cesta
total
Mod_Cantidad() BorrarLinea()
Contexto Destino
ACEPTAR * [Facturas]()
<<view>>
Enlaces de Servicio
Linea cantidad
Presentacin: Maestro-Detalle
Cardinalidad:10
78
Modelo de Objetos
Contexto navegacional Cesta_Lneas
Se utilizan los atributos titulo y precio No se utilizan servicios Se convierten en Relaciones Clase de de dependencia de contexto
cobe
Se utiliza el atributo Total Se utilizan los servicios ACEPTAR, Mod_Cantidad y BorrarLinea Se utiliza el atributo cantidad No se utilizan servicios
80
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
81
Mapa Navegacional
Contexto navegacional Facturas
S
<<Contexto>> Facturas
<<view>> Album pctIVA Neto <<view>> Cesta total <<view>> Linea cantidad <<view>> Album precio titulo
Presentacin: Maestro-Detalle
2001, Grupo OO-Method 82
Modelo de Objetos
Contexto navegacional Facturas
?
83
Comprador
Linea y Album
Cesta Factura
Mapa Navegacional
Agente Usuario Navegante
<<Contexto>> Home
Usuario Navegante
<<Context>> Autores
<<Context>> Cesta_Lneas
<<Context>> Categoras
<<Context>> Compradores
<<Context>> Detalles_Author
<<Context>> Facturas
<<Context>> lbumes
85
Mapa Navegacional
Contexto navegacional Compradores
E
<<Contexto>> Compradores
<<view>> Comprador
Crear()
Enlace de Servicio
Presentacin: Registro
86
Modelo de Objetos
Contexto navegacional Compradores
?
87
88
Agenda
? ?
Navegacin, presentacin, personalizacin Modelado Conceptual de Aplicaciones Web Primitivas de Abstraccin Simple Conceptos Avanzados de Modelado Metas bsicas de Diseo Pasos del proceso de produccin
Modelo de Navegacin
? ?
? ?
Conclusiones
Resultados
?
La principal contribucin de este trabajo es la introduccin de un Modelo de Navegacin que est completamente incorporado en el proceso de modelado conceptual de OO-Method. La aproximacin propuesta ha sido aplicada en varias aplicaciones de comercio electrnico reales. La experiencia obtenida ha posibilitado poner en practica la aproximacin OOWS y refinar las primitivas de abstraccin propuestas para el modelado navegacional. Se ha definido una estrategia para desarrollar una aplicacin web a partir de las primitivas propuestas.
90
Conclusions
Trabajos Futuros
? ?
Extensin del Catalogo de Patrones de Presentacin Extensin del modelo de navegacin para capturar aspectos de:
?
seguridad y personalizacin con respecto a los otros elementos del modelo conceptual.
Construccin de un generador para automatizar la aproximacin propuesta considerando caractersticas especficas de las plataformas usadas por las aplicaciones web actuales. Construccin de un traductor basado en XML que d soporte a salidas para mltiples dispositivos.
91