Você está na página 1de 118

Desarrollo de Aplicaciones para Entornos Web

Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

Unidad Temtica II:


Aplicacin de la Ingeniera Web al Desarrollo de Aplicaciones Web
OOWS: Un Mtodo de Produccin de Aplicaciones Web

Modelar la Web...

Contenidos
Introduccin OOWS : Un Mtodo de Produccin de Aplicaciones Web

Proceso

de Desarrollo Modelado de Aplicaciones Web Estrategia de Implementacin

Conclusiones

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

Introduccin

Introduccin
Internet Paradigma de computacin Clasificacin de Sistemas Web

Estticos Estticos

con formularios de entrada Con acceso dinmico a datos Construidos dinmicamente Aplicaciones Software para el Web

Comercio electrnico, hipermedia, aplicaciones clsicas, etc...


5

Introduccin. Necesidades (I)

Estas aplicaciones necesitan gestionar esencialmente:


Requisitos

de Navegacin dentro de la aplicacin Presentacin de informacin Gestin de informacin (filtrados, bsquedas, ...) Tratamiento de usuarios:

Gran cantidad de tipos de usuarios (taxonomas) Adaptacin / Personalizacin

+ ... requisitos de las aplicacions clsicas


6

Introduccin. Necesidades (II)

... especificar bsquedas ... Permita capturar la navegacin ...

... tratar la visualizacin de informacin ...

... y la ejecucin de servicios

Introduccin. Camino a seguir ...

Construir entornos de desarrollo Web que ...


definan

un proceso sistemtico y estructurado de produccin de software faciliten la especificacin de los sistemas usando tcnicas basadas en el modelado conceptual permitan la rpida prototipacin

Ingeniera Web!!
8

Introduccin. OOWS

Un mtodo de desarrollo Web ...


introduce

nuevos conceptos OO para dar la nocin de semntica navegacional y de presentacin (primitivas de modelado) define un proceso de produccin sistemtico adaptado al web usa una estrategia de generacin de cdigo basada en modelos (patrones software) extiende adecuadamente OO-Method (un mtodo OO de desarrollo de software)
9

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

OOWS : Un Mtodo de Produccin de Aplicaciones Web


Proceso de Desarrollo

OOWS. Proceso de desarrollo

El proceso de desarrollo de aplicaciones web que propone OOWS tiene dos grandes pasos:
Especificacin

conceptual de la aplicacin

Uso de modelos conceptuales

Desarrollo

de la solucin final

11

OOWS. Proceso de desarrollo

En la especificacin conceptual:
Descripcin

Clsico

Web

de las necesidades de las aplicaciones convencionales (estructura y comportamiento) usando modelos OO (OOMethod) Descripcin de las caractersticas web mediante modelos web

Modelo Navegacional, de Presentacin, etc

12

OOWS. Proceso de desarrollo


(Problem Space) ESPECIFICACI CONCEPTUAL
ELICITACIN REQUISITOS
(Casos Uso, Escenarios)

MODELO ESTRUCTURAL MODELO DINMICO MODELO FUNCIONAL

MODEL NAVEGACIONAL

Modelado Conceptual

Extensiones Web

MODEL PRESENTACI

DESARROLLO DE SOLUCIN

(Solution Space)

Implementacin Automtica
CAPA DE INTERFAZ (Entornos Web) OO-Method (SW clsico)

CAPA DE LGICA DE APLICACI (Lgica de Negoci)

CAPA DE PERSISTENCIA (SGBD)

Arquitectura Software

OOWS (SW web)

13

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

OOWS : Un Mtodo de Produccin de Aplicaciones Web


Modelo de Navegacin

Introduccin
Qu es la navegacin?

Idea Intuitiva (bajo nivel de abstraccin): La navegacin es un salto de una pgina web a otra pgina web, provocado por la seleccin de un enlace, en el que se cambia de contenido (informacin y/o funcionalidad)
15

Modelo de Navegacin

Especifica las caractersticas navegacionales de las aplicaciones web (acceso a informacin y ejecucin de servicios) Se construye mediante primitivas (grficas) de abstraccin navegacional Define y estructura el acceso al sistema para los diferentes tipos de usuarios
1.

Gestin de Usuarios Diagrama de Usuarios 2. Especificacin de las Propiedades Navegacionales Mapas Navegacionales
16

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

OOWS : Un Mtodo de Produccin de Aplicaciones Web


Modelo de Navegacin Gestin de Usuarios

Modelo de Navegacin.
Gestin de Usuarios
Deteccin de potenciales tipos de usuarios Cada tipo de usuario representar un conjunto de usuarios con objetivos y responsabilidades comunes en el sistema Especificacin de inter-relaciones entre usuarios (taxonomas de usuarios)

18

Modelo de Navegacin.
Gestin de Usuarios. Acceso

Se distinguen tres tipos de usuario, en funcin del tipo de acceso que tengan con el sistema:
Annimos Registrados Sin

permiso

19

Modelo de Navegacin.
Gestin de Usuarios. Annimos

Al conectarse al sistema, estos usuarios no necesitan identificarse Habitualmente sus permisos con el sistema son muy reducidos ? No se pueden establecer polticas de personalizacin individuales
Internauta
20

Modelo de Navegacin.
Gestin de Usuarios. Registrados

Estos usuarios necesitan identificarse al conectarse al sistema Habitualmente, gestionan la funcionalidad del sistema y la informacin sensible Se pueden establecer polticas de personalizacin individuales
Socio
21

Modelo de Navegacin.
Gestin de Usuarios. Sin permiso

Estos usuarios no pueden acceder al sistema Son usuarios virtuales (no existen en la realidad) Se utilizan para expresar responsabilidades comunes entre usuarios
Departamento Tcnico

22

Modelo de Navegacin.
Gestin de Usuarios. Diagrama de Usuarios
Los usuarios se organizan en un diagrama de usuarios Este diagrama permite expresar:

los

tipos de usuarios que pueden usar el sistema y su accesibilidad al sistema las relaciones entre los usuarios

23

Modelo de Navegacin.
Diagrama de Usuarios. Fases

Para construir un diagrama de usuarios debemos seguir las siguientes fases:


Detectar cada tipo de usuario 2. Asignar el modo de acceso a cada tipo de usuario 3. Detectar las relaciones entre los usuarios
1.

24

Modelo de Navegacin.
Diagrama de Usuarios.
Deteccin de Usuarios
1.

Para cada tipo de usuario que pueda usar el sistema, se aade usuario al diagrama

Internauta Bibliotecario

Socio

Director

Responsable de compras

Ejemplo: En esta biblioteca hay Internautas (exploran el catlogo), Bibliotecarios (gestionan el catlogo), Socios (pueden sacar libros), el/los Director/es (gestiona la biblioteca), Responsables de compras (se encargan de comprar material bibliogrfico)
25

Modelo de Navegacin.
Diagrama de Usuarios.
Asignacin del Modo de Acceso
2.

A cada usuario se le asigna un modo de acceso: annimo registrado


?

Internauta Bibliotecario

Socio

Director

Responsable de compras

Ejemplo: En esta biblioteca los Internautas son usuarios annimos, y el resto (Bibliotecarios, Socios, el/los Director/es, Responsables) necesitan identificacin
26

Modelo de Navegacin.
Diagrama de Usuarios.
Relaciones entre Usuarios (I)
3.

Detectar las relaciones entre los usuarios


La relacin posible entre usuarios es la de especializacin (is-a) de usuarios Las relaciones entre usuarios permiten expresar la comparticin de propiedades navegacionales El usuario especializado hereda la accesibilidad al sistema (mapa de navegacin1) del usuario base
1

Se estudian estas propiedades ms adelante en el Modelo de Navegacin

27

Modelo de Navegacin.
Diagrama de Usuarios.
Relaciones entre Usuarios (II)

El usuario especializado puede:


definir

nuevas propiedades navegacionales cancelar propiedades navegacionales modificar propiedades navegacionales

Los usuarios Annimos no pueden especializarse a partir de otro tipo de usuarios


28

Modelo de Navegacin.
Diagrama de Usuarios.
Relaciones entre Usuarios (III)

Se pueden introducir usuarios sin permiso de acceso:


cuando

existen usuarios que comparten gran parte de sus propiedades navegacionales para expresar la jerarqua funcional en una empresa (departamentos, secciones, etc.) para organizar y estructurar los usuarios del sistema
29

Modelo de Navegacin.
Diagrama de Usuarios.
Relaciones entre Usuarios (IV)
Internauta

Usuario Annimo. Es el usuario elemental. Todos los dems usuarios extienden sus posibilidades navegacionales

Usuario Sin Permiso. No puede acceder al sistema. Se usa para describir las propiedades navegacionales comunes entre sus usuarios especializados (Directores y Responsables de Compras)

Direccion

Bibliotecario

Socio

Usuario Registrado. Un Director necesitar identificarse para acceder al sistema


Director Responsable de compras

Diagrama de Usuarios de una Biblioteca


30

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

OOWS : Un Mtodo de Produccin de Aplicaciones Web


Modelo de Navegacin Especificacin de las Propiedades Navegacionales

Modelo de Navegacin.
Definicin de las Propiedades Navegacionales

Las propiedades navegacionales de una aplicacin web se describen asociando un mapa navegacional para cada tipo de usuario
?
Internauta
Socio

Direccin

Internauta
E contexto Libros
E contexto Libros E contexto Autores
E contexto Libros S contexto Prestados

Direccion

Bibliotecario

Socio
Bibliotecario

Anonymous

Responsable de compras

E
context Activities

S
E
context Projects

E contexto Libros

E contexto Director. Autores


E << contexto >> Libros E << contexto >> Tematicas

contexto Prestados

E
context Group

E
context ResearchLines

E
context Publications

Director

Responsable de compras

S << contexto >> Detalles_Libro

S << contexto >> Libros_Tematica

S E
context Members context Guests

32

Modelo de Navegacin.
Mapa Navegacional

Proporciona la vista global del sistema para cada tipo de usuario (descripcin global) Grafo navegacional, compuesto de:
Anonymous Member

Nodos

Navegacionales Enlaces Navegacionales

E
context Activities

E
context Projects

Define la estructura del Web Site

E
context Group

E
context ResearchLines

E
context Publications

S E
context Members context Guests

33

Modelo de Navegacin.
Enlace Navegacional

Define una relacin de alcanzabilidad entre nodos de navegacin


E

Anonymous

Dos tipos de enlaces: de secuencia: (flechas

context Activities

E
context Projects

E
context Group

E
context ResearchLines

continuas) definidos implcitamente por las relaciones navegacionales de contexto (en definicin de contexto). Llevan informacin contextual.

E
context Publications

S E
context Members context Guests

de exploracin: (flechas discontinuas) definidos implcitamente por los contextos de Exploracin. No llevan informacin contextual
34

Modelo de Navegacin.
Nodos Navegacionales

Hay dos tipos nodos navegacionales:


Contextos: definen contenido de informacin Subsistemas: permiten estructurar la navegabilidad

dentro del sistema

35

Modelo de Navegacin.
Contexto Navegacional (I) Unidad de Interaccin bsica con el usuario Representa una vista parcial del sistema para realizar cierta actividad/operacin

Especifica

un acceso a un conjunto de datos (atributos) y funcionalidad (operaciones)


E
context Book

Grficamente representada por un paquete UML, con el estereotipo contexto

name

36

Modelo de Navegacin.
Contexto Navegacional (II)

Hay dos tipos de contextos:


Exploracin: son siempre accesibles
Anonymous

(uno de estos puede ser marcado como Home)


E

Secuencia:

context Activities

H
E E
context ResearchLines context Group

E
context Projects

slo accesibles a travs de caminos de navegacin preestablecidos

E
context Publications

S E
context Members context Guests

37

Modelo de Navegacin.
Contexto Navegacional (III)

Los contextos navegacionales de Exploracin definen los enlaces de exploracin del mapa de navegacin

Al crear un contexto de exploracin, automticamente aparece un enlace de exploracin en el mapa de navegacin


E
contexto Libros

38

Modelo de Navegacin.
Contexto Navegacional (IV)

Un contexto navegacional est compuesto por (descripcin detallada):


Clases

navegacionales

especifican una recuperacin de informacin (atributos) y acceso a una funcionalidad (operaciones) son una vista sobre las clases del diagrama ( view )
Relaciones

navegacionales

enlazan las clases navegacionales mediante vistas sobre relaciones estructurales del diagrama de clases (asoc/agreg/comp, espec/general)
39

Modelo de Navegacin.
Contexto Navegacional (V)

Clases Navegacionales
view

Relaciones Navegacionales

Contexto Navegacional
contexto
40

Modelo de Navegacin.
Clase Navegacional (I) Define una proyeccin de visibilidad sobre clases del diagrama de classes con respecto a:
Atributos:

datos visibles por el usuario Servicios: funcionalidad ejecutable por el usuario

Clases UML estereotipades con view


view

Libro
ISBN titulo ao paginas prestar() ao = 2004

Vista (clase)

Atributos visibles Mtodos visibles Filtro de seleccin


41

Modelo de Navegacin.
Clase Navegacional (II)

Hay dos tipos de clases navegacionales:

Directora:

complementarias

clase principal del contexto toda la exploracin de informacin parte de ella slo puede haber una por contexto complementan la informacin de la clase directora usan relaciones navegacionales para definirse pueden haber varias
directora

Complementarias:

42

Modelo de Navegacin.
Clase Navegacional (III) Se puede especificar un filtro de seleccin asociado a una clase navegacional
E
view Libro ISBN titulo ao pginas

contexto BestSellers
view Autor

nombre

Navegacin a un contexto (BestSellers) que dar informacin de best-sellers (ms 1,000,000 ejemplares vendidos)

prestar() ventas > 1,000,000

Se recuperarn nicamente los libros con ms de 1,000,000 de unidades vendidas

43

Modelo de Navegacin.
Relacin Navegacional (I) Es una relacin binaria unidireccional existente entre dos clases de un contexto Se define sobre una relacin estructural del diagrama de clases Representa un requisito para recuperar informacin complementaria relacionada

44

Modelo de Navegacin.
Relacin Navegacional (II)

Dos tipos:
Relaciones

de Dependencia Contextual: no definen

navegacin Relaciones de Contexto: definen una navegabilidad a un contexto destino (llevando informacin contextual)
view Clase Nav. view Clase Nav. view Clase Nav. view Clase Nav.

Relacin de Dependencia de Contexto (no define navegabilidad)

Relacin de Contexto (define navegabilidad)


45

Modelo de Navegacin.
Relacin de Dependencia Contextual (I)

Es una relacin navegacional que recupera informacin complementaria de una clase Se define sobre una relacin estructural del diagrama de clases, y recupera las instancias relacionadas Puede aparecer un / atributo rol / para eliminar ambigedades en caso de ms de una relacin estructural entre las dos clases de la relacin (en diagrama de clases)
46

Modelo de Navegacin.
Relacin de Dependencia Contextual (II)
E Libro
ISBN ttulo pginas ao prestar() devolver()

contexto Libros Escrito_por


0:M 0:M

Autor
nombre pseudonimo ao_nacimiento

view Libro
ISBN ttulo

view Autor

/ Escrito_por /

nombre

Revisado_por
0:M 1:M

Diagrama de Clases

Contexto Libros (con relacin de Dependencia Contextual)

El contexto Libros define un contexto donde se recuperarn libros y los nombres de los autores que han escrito el libro.
47

Modelo de Navegacin.
Relacin de Dependencia Contextual (III)
E
view Libro ISBN titulo ao pginas

contexto Libros
view Autor nombre

/ Escrito_por /

prestar()

Contexto Libros

Una implementacin en HTML del contexto Libros


48

Modelo de Navegacin.
Relacin de Contexto (I)

Es una relacin navegacional que recupera informacin complementaria de una clase y define una navegabilidad a un contexto destino Se define sobre una relacin estructural del diagrama de clases, y recupera las instancias relacionadas Al igual que en las relaciones de dependencia de contexto, puede aparecer un / atributo rol /

49

Modelo de Navegacin.
Relacin de Contexto (II)

Una relacin de contexto define una navegabilidad a un contexto destino. Para ello necesita definirse:
Un

atributo de enlace: ancla que se utilizar para provocar la navegacin Un [ atributo de contexto ]: contexto destino (definido en el mapa) donde se navegar
view Clase Nav. atributo de enlace / atributo de rol / [ atributo de contexto ] view Clase Nav.

Relacin de Contexto (define navegabilidad)

50

Modelo de Navegacin.
Relacin de Contexto (III)

El atributo de contexto debe indicar el contexto destino de la navegacin. La clase directora del contexto destino (atributo de contexto) debe ser la misma que la clase de navegacin destino de la relacin de contexto
E
view Libro ISBN titulo ao pginas prestar()

E
contexto Libros
nombre / Escrito_por / [ Autores ]

contexto Autores
view Autor
nombre view Autor nombre pseudnimo ao_nacimiento

51

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad

Una relacin de contexto define dos tipos de navegabilidad al contexto destino, en funcin de la informacin contextual que se enva entre contextos y el filtrado de objetos que se realiza:
Navegabilidad

de Objeto Navegabilidad de Relacin

52

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Objeto (I) La navegabilidad de objeto se utiliza para navegar a un contexto destino para recuperar informacin adicional de un objeto La informacin contextual que se lleva al contexto destino es el objeto seleccionado

El

contexto destino filtrar la poblacin de la clase directora para recuperar slo el objeto que llega seleccionado en la navegacin
53

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Objeto (II)

En la clase destino de la relacin de navegacin debe aparecer visibilidad sobre al menos un atributo
view Libro ISBN titulo ao pginas prestar() nombre / Escrito_por / [ Autores ] view Autor nombre

54

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Objeto (III)

En la navegabilidad de objeto, el atributo de enlace debe ser un atributo de la clase destino de la relacin de navegacin
1 view Libro ISBN titulo ao pginas prestar() nombre / Escrito_por / [ Autores ]

view Autor

nombre

Por motivos de calidad es ms intuitivo mejora la usabilidad

55

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Objeto (IV)
Ejemplo: Definir un contexto que muestre libros y sus autores, de modo que al seleccionar un autor se produzca una navegacin a otro contexto para ver detalles del autor seleccionado.
La clase destino posee algn atributo. Por tanto se trata de navegabilidad de objeto

E
view Libro ISBN titulo ao pginas prestar()

contexto Libros
nombre / Escrito_por / [ Autores ] view Autor nombre

La informacin contextual que navegar de un contexto a otro es el identificador del autor seleccionado

E
contexto Autores
view Autor nombre pseudnimo ao_nacimiento

Cuando el usuario est en el contexto Libros y seleccione el nombre de un Autor, navegar al contexto Autores y ver la informacin de ese autor

56

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Objeto (V)
E
view Libro ISBN titulo ao pginas

contexto Libros
nombre / Escrito_por / [ Autores ] view Autor nombre

prestar()

Contexto Libros

Una implementacin en HTML del contexto Libros


57

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Relacin (I)

La navegabilidad de relacin se utiliza para navegar a un contexto destino para recuperar informacin adicional de los objetos relacionados con un determinado objeto

58

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Relacin (II)

La informacin contextual que se lleva al contexto destino es el objeto de la clase origen de la relacin de navegacin y la relacin sobre la que se navega
El

contexto destino filtrar la poblacin de la clase directora para recuperar slo los objetos que estn relacionados por la relacin que llega seleccionada con el objeto que llega seleccionado
59

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Relacin (III)

La clase destino de la relacin de navegacin no tiene definida visibilidad sobre atributos ni operaciones (ni filtro de poblacin)
view Clase Nav. atributo de enlace / atributo de rol / [ atributo de contexto ]

view Clase Nav.

atributos operaciones

Relacin de Contexto con Navegabilidad de Relacin


60

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Relacin (IV)

Con respecto al atributo de enlace, existen dos casos vlidos:


No

se especifica atributo de enlace (ms habitual y de mayor calidad). En implementacin, aparecer el nombre de relacin como ancla de la navegacin (enlace) El atributo de enlace es un atributo de la clase origen de la relacin de navegacin (menor calidad menos intuitivo menor usabilidad)
61

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Relacin (V)
Ejemplo: Definir un contexto que muestre libros y permita navegar a otro contexto para ver los autores que han escrito el libro seleccionado
No hay atributos en la clase destino. Por tanto se trata de navegabilidad por relacin. Tampoco aparece el atributo de enlace.

E
view Libro ISBN titulo ao pginas prestar()

contexto Libros
view Autor

/ Escrito_por / [ Autores ]

La informacin contextual que navegar de un contexto a otro es el identificador del libro seleccionado y la relacin Escrito_por

E
contexto Autores
view Autor nombre pseudnimo ao_nacimiento

Cuando el usuario est en el contexto Libros y seleccione Escrito_por, navegar al contexto Autores para ver todos los autores que estn relacionados por la relacin Escrito_por con el libro seleccionado

62

Modelo de Navegacin.
Relacin de Contexto. Navegabilidad de Relacin (VI)
E
view Libro ISBN titulo ao pginas

contexto Libros
view Autor

/ Escrito_por / [ Autores ]

prestar()

Contexto Libros

Una implementacin en HTML del contexto Libros


63

Modelo de Navegacin.
Relacin Navegacional. Mapa Navegacional

Las relaciones navegacionales de contexto (especificadas dentro de un contexto) definen enlaces de secuencia en el mapa navegacin
E
contexto Libros
nombre / Escrito_por / [ Autores ] view Autor

view Libro ISBN titulo ao pginas prestar()

nombre

64

Modelo de Navegacin.
Enlace de Servicio (I)

Asociado a un servicio, puede definirse una capacidad de navegacin Se representa como: servicio() [ contexto_destino ]

view

Libro
ISBN titulo ao paginas prestar() [ Prestados ]
65

Modelo de Navegacin.
Enlace de Servicio (II)

Cuando se ejecute el servicio, se realizar una navegacin al contexto destino indicado Existen dos tipos de enlaces de servicio:

Enlaces

Contextuales de Servicio : navegan al contexto destino llevando el (los) objeto(s) sobre los que se ejecuta el servicio Enlaces No Contextuales de Servicio : navegan al contexto destino sin llevar informacin contextual
66

Modelo de Navegacin.
Enlace de Servicio (III)

Los Enlaces Contextuales de Servicio se representan: servicio() [ contexto_destino ]


Los Enlaces No Contextuales de Servicio se representan como: servicio() [ contexto_destino ]

67

Modelo de Navegacin.
Enlace Contextual de Servicio
E
contexto Libros
view Libro
ISBN titulo ao paginas

Cuando el usuario ejecute el servicio prestar() sobre algn libro, habr una navegacin por secuencia (en el mapa navegacional) del contexto Libros al contexto Prestados indicando el libro prestado. El contexto Prestados slo recuperar la informacin del libro seleccionado

prestar() [ Prestados ]

S
contexto Prestados
view Libro
ISBN titulo ao paginas

Libro(identificador)

self.prestado = TRUE

68

Modelo de Navegacin.
Enlace No Contextual de Servicio
E
contexto Libros
view Libro
ISBN titulo ao paginas

Cuando el usuario ejecute el servicio prestar() sobre algn libro, habr una navegacin por secuencia (en el mapa navegacional) del contexto Libros al contexto Prestados, sin proporcionar informacin contextual. El contexto Prestados recuperar todos los libros que estn prestados

prestar() [ Prestados ]

S
contexto Prestados
view Libro
ISBN titulo ao paginas

self.prestado = TRUE

69

Modelo de Navegacin.
Enlace de Servicio. Mapa Navegacional

Los enlaces de atributo (especificados dentro de un contexto) definen enlaces de secuencia en el mapa de navegacin
contexto Libros
view Libro

ISBN titulo ao paginas

prestar() [ Prestados ]

70

Modelo de Navegacin.
Subsistema de Navegacin (I)

Aparece como un nodo en un mapa navegacional A diferencia de los contextos, los subsistemas slo pueden ser de Exploracin Grficamente se representa E como un paquete UML, subsistema estereotipado con

subsistema
71

Modelo de Navegacin.
Subsistema de Navegacin (II)

Permite dar una estructuracin adicional a la navegabilidad por la aplicacin Define un submapa que slo ser visible cuando el usuario navegue al subsistema El submapa est formado por:

Otros

subsistemas Contextos navegacionales


72

Modelo de Navegacin.
Subsistema de Navegacin (III)

Internauta

H
E subsystema DEPARTAMENTO E subsystema DOCENCIA E subsystema DIRECTORIO E subsystema INVESTIGACIN E subsystema Profesor. INTRANET E contexto ENLACES E contexto DSIC INFO

subsistemas http://www.dsic.upv.es/ Mapa del Usuario Internauta


73

Modelo de Navegacin.
Subsistema de Navegacin (III)
Internauta

H E subsystema DEPARTAMENTO E subsystema DOCENCIA E subsystema DIRECTORIO E subsystema INVESTIGACIN E subsystema Profesor. INTRANET E contexto ENLACES E contexto DSIC INFO

Internauta

E << context >> PERSONAL

E << context >> COLABORADORES

E << context >> MAPA SEDE DSIC

S << context >> TUTORAS

Detalle del Subsistema Directorio

74

Modelo de Navegacin.
Subsistema de Navegacin (IV)

Implementacin del Subsistema Directorio

75

Modelo de Navegacin.
Acceso al usuario conectado (I)

La primitiva # tipo_usuario # permite acceder al usuario conectado


Ejemplos:

# Bibliotecario #, # Socio #,

Esta primitiva permite capturar difinir ciertos aspectos de personalizacin

76

Modelo de Navegacin.
Acceso al usuario conectado (II)

Se utiliza en dos casos:


Para

recuperar informacin filtrada especficamente para el usuario conectado


Se especifica en los filtros de seleccin de poblacin de las clases navegacionales

En

la inicializacin de argumentos en la ejecucin de servicios


Para establecer como valor de inicializacin una propiedad del usuario conectado
77

Modelo de Navegacin.
Acceso al usuario conectado. Ejemplo (I)
Paciente
num_ident nombre direccin

Cita
solicita >
1:1 0:M

Medico
asignada >
0:M 1:1 num_colegiado nombre consulta

fecha hora parte


reservar() cancelar()

Diagrama de Clases Hospital (gestin de resevas de citas para consultas mdicas)

78

Modelo de Navegacin.
Acceso al usuario conectado. Ejemplo (II)
Un Paciente es un usuario registrado que puede ver slo sus citas en el sistema E
contexto Citas
Socio Paciente

view Cita
fecha hora

view Medico nombre

contexto

Citas

self.Paciente = #Paciente#

79

Modelo de Navegacin.
Acceso al usuario conectado. Ejemplo (III)
y slo puede reservar nuevas citas para l mismo E
contexto Citas
Socio Paciente

view Cita fecha hora

view Medico

nombre

contexto Citas

reservar( , , , #Paciente#, ) self.Paciente = #Paciente#

La declaracin de la operacin reservar es: reservar( p_fecha: Date, p_hora: Time, p_parte: String, p_Paciente:Paciente, p_Medico : Medico) 80

Modelo de Navegacin.
Navegacin con cambio de usuario (I)

Cuando un usuario se conecta al sistema como un usuario, puede definirse navegabilidad a un contexto o un subsistema del mapa navegacional de otro usuario Para ello debe definirse una navegacin con cambio de usuario

81

Modelo de Navegacin.
Navegacin con cambio de usuario (II)

Si el usuario destino necesita identificacin, se pedir al usuario que se identifique como un usuario del mapa destino antes de realizar la navegacin Se puede aplicar a:

Enlaces

de exploracin Enlaces de secuencia (relaciones de contexto y enlaces de servicio)


82

Modelo de Navegacin.
Navegacin con cambio de usuario por Exploracin

Se representa directamente en el mapa navegacional


El enlace de exploracin aparece decorado con un usuario El contexto destino est precedido del tipo de usuario al que se debe identificar el usuario. Este contexto debe estar definido en el mapa de ese usuario (Bibliotecario)

83

Modelo de Navegacin.
Navegacin con cambio de usuario por Secuencia

Se representa en la definicin del contexto


E
contexto Libros contexto Libros
view Libro

E
view Libro ISBN titulo ao pginas prestar()

[ Bibliotecario.Prestados ]

ISBN titulo ao paginas

prestar() [ Bibliotecario.Prestados ]

Puede ser definido por una relacin de contexto

Puede ser definido por un enlace de serivicio

84

Modelo de Navegacin.
Navegacin con cambio de usuario por Secuencia

y se refleja en el mapa de navegacin


El enlace de secuencia aparece decorado con un usuario El contexto destino est precedido del tipo de usuario al que se debe identificar el usuario. Este contexto debe estar definido en el mapa de ese usuario.

85

Modelo de Navegacin.
Contexto Navegacional. Ejemplo 1
Pgina Web

E
context Book view Book

Contexto de Navegacin

/ writen_by / name

view Author

86

Modelo de Navegacin.
Contexto Navegacional. Ejemplo 2
Informacin sobre un miembro
E

Informacin relacionada a un miembro


<< context >> Members
view Member Member
-name -surname -personalID -email -isDoctor -isPhDStudent -web -photo +modify() not hasGone

view WorkOn WorkOn


-phones -status

view Entity Entity


-name -address -web -city -state -country

Esta pgina web proporciona informacin sobre MIEMBROS de un grupo de investigacin

/ Leader / RGroup.name [ RGroup ]

RGroup -name -acronym -web

Modelado en OOWS como un Contexto Navigacional

ATTRIBUTE ACCESS STRUCTURE Members ATTRIBUTES name, email, isPhD, WorkOn.status LINK ATTRIBUTES name

ATTRIBUTE FILTER ByName ATTRIBUTES name TYPE APPROXIMATE 87

Modelo de Navegacin
Qu es la navegacin?

Segn OOWS (alto nivel abstraccin): La navegacin es un cambio de contexto navegacional al activar un enlace navegacional (navegacin conceptual)
88

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

OOWS : Un Mtodo de Produccin de Aplicaciones Web


Modelo de Presentacin

Modelo de Presentacin
Este modelo captura los requisitos abstractos de presentacin de informacin Se basa en el modo de presentacin asociado a cada nodo (contexto) del modelo de navegacin Asocia patrones de presentacin a los elementos que constituyen estos contextos navegacionales (clases navegacionales, relaciones
navegacionales, ndices, ...)
90

Modelo de Presentacin

Los patrones de presentacin son:


Disposicin

de informacin (Layout)

[ Registro, Tabular, rbol, Maestro-Detalle ]

Criterios

de Ordenacin de informacin por valor de atributos


[ ASCendente, DESCendente ]

Paginacin

de informacin

Cardinalidad de conjuntos (num. elementos) [ esttica, dinmica ] Modo de Acceso a los conjuntos [ secuencial, aleatorio]
91

Modelo de Presentacin.
Patrones de Presentacin (I)
Se aplican los patrones de presentacin a los elementos que componen un Contexto de Navegacin
<< context >> Members

Disposicin (layout pattern): [Tabular, Registro, rbol, Maestro-Detalle] Se aplica a: relaciones navegacionales, clase directora Paginacin de Informacin: Cardinalidad bloque [esttica, dinmica] - Modo de Acceso [secuencial, aleatorio] - Circularidad Se aplica a: contexto, relaciones navegacionales, ndices y filtros Ordenacin: [ASCendente, DEScendente] Se aplica a: clases navegacionales (atributos), ndices y filtros

Pattern: Register Pagination: Static Cardinality 1 Sequential access Order: isDoctor (ASC) surname (ASC) Member

WorkOn Pattern: Register

Pattern: Register

Entity

RGroup Pattern: Register

92

Modelo de Presentacin.
Ejemplo

E << context >> Members

LAYOUT PATTERN CARDINALIDAD Slo ORDENACIN Toda la informacin se dipone CRITERIOuna instancia es visible

Pattern: Register Pagination: Static Cardinality 1 Sequential access Order: isDoctor (ASC) surname (ASC) Member

WorkOn Pattern: Register

Pattern: Register

Entity

en cada momento. Miembros en modo Registro Las instancias de los Aparecen se mecanismos para explorar recuperan ordenadamente: primero secuencialmente los doctores, por apellidos (ASC)

RGroup Pattern: Register

93

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

OOWS : Un Mtodo de Produccin de Aplicaciones Web


Estrategia de Implementacin

Estrategia de Implementacin

OOWS extiende la estrategia de generacin de cdigo de OO-Method:


introduce
ESPECIFICACIN CONCEPTUAL (Problem Space)

la interfaz web reusa la lgica de negocio y la persistencia


ELICITACIN DE REQUISITOS

MODELO ESTRUCTURAL MODELO DINMICO MODELO FUNCIONAL

MODELO NAVEGACIN MODELO PRESENTACIN

G G e e CAPA INTERFAZ (Entornos Web) n n e CAPA LGICA NEGOCIO (Servicios Web, Componentes SW) e rr Arquitectura CAPA DE PERSISTENCIA (SGBD) a Software a cc

Modelado Conceptua l

Extensiones Web

DESARROLLO SOLUCIN (Solution Space)

95

Estrategia de Implementacin.
Interfaz Web

A partir de los modelos conceptuales navegacionales: Modelo Navegacin y de Presentacin


Aplicacin

de patrones de traduccin:

Mapa Navegacional Define la estructura de pginas web enlazadas para cada tipo de usuario Contexto de Navegacin Pgina Web

Contextos de Exploracin Pginas web siempre accesibles Contexto Home (si no se define, se crea uno automticamente)

Clases y Relaciones Navegacionales Requisitos de consulta de informacin y operaciones Relacin de Contexto enlace contextual a otra pgina ...
96

Implementacin de la Interfaz Web


Mapa Navegacional (I)
Convertiremos

cada nodo del mapa navegacional en un tipo de pgina Los tipos de pgina bsicos son:
Pginas

de informacin Pginas de accesibilidad Pginas de entrada de datos

97

Implementacin de la Interfaz Web


Mapa Navegacional (II)

Las pginas de informacin dan acceso a informacin y funcionalidad del sistema Las pginas de accesibilidad permiten estructurar la navegabilidad por el sistema Las pginas de entrada de datos permiten al usuario introducir los argumentos necesarios para invocar a los servicios

98

Implementacin de la Interfaz Web


Mapa Navegacional (III)
Anonymous

E
context Activities

E
context Projects

E
context Group

E
context ResearchLines

Implementacin Automtica

E
context Publications

Estructura del Web Site


S E
context Members context Guests

(Espacio de la Solucin)

Mapa de Navegacin
(Espacio del Problema)

99

Implementacin de la Interfaz Web


Contexto Home
Anonymous

E
context Activities

E
context Projects

E
context Group

E
context ResearchLines

Implementacin Automtica

E
context Publications

Contexto Home
S E
context Members context Guests

(Espacio de la Solucin)

Mapa de Navegacin
(Espacio del Problema)

El contexto Home suele convertirse en una pgina de accesibilidad

100

Implementacin de la Interfaz Web


Contextos Navegacionales

Cada contexto se traduce en una pgina de informacin La especificacin del contexto permite definir:

La

consulta al sistema para recuperacin de datos El conjunto de servicios que podrn ser invocados El modo en que la informacin se presentar (del modelo de presentacin)
101

Implementacin de la Interfaz Web


Ejecucin de servicios

Por cada servicio del diagrama de clases, se crea una pgina de entrada de datos que pida todos los argumentos (en campos de entrada adecuados al tipo de datos del argumento) Estas pginas se invocarn al activar la ejecucin de un servicio

102

Implementacin de la Interfaz Web


Las pginas web (I)

Se propone una estrategia de implementacin de pginas web basadas en contenidos Cada zona es responsable de proporcionar informacin sobre un contenido en concreto Una pgina web se implementa como un conjunto de zonas, en funcin del tipo de pgina web

103

Implementacin de la Interfaz Web


Las pginas web (II)

Los contenidos zonas ms habituales en la web son:


Informacin Ubicacin Institucional Enlaces de Aplicacin Estructuras de Acceso Navegacin Informacin del Usuario Entrada de Datos Personalizacin Otras

104

Implementacin de la Interfaz Web


Las pginas web (III)

Zona de Informacin: Zona encargada de acceder al repositorio del sistema (base de datos), recuperar la informacin y proporcionar acceso a la funcionalidad Zona de Navegacin: Zona encargada de proporcionar al usuario el conjunto de enlaces (de exploracin) que puede activar Zona de Ubicacin: Zona encargada de notificar al usuario de la ubicacin de esta pgina dentro de la aplicacin, indicando el camino navegacional seguido o secuencia de pginas web que se ha seguido hasta llegar a la actual
105

Implementacin de la Interfaz Web


Las pginas web (IV)

Zona de Informacin del Usuario: Zona responsable de notificar al usuario de sus datos para usuarios con identificacin Zona Institucional: Zona encargada de proporcionar al usuario informacin sobre la institucin, empresa, organismo, etc. que est detrs de la aplicacin Zona de Entrada de Datos: Zona encargada de proporcionar un formulario al usuario para la introduccin de datos y responsable de enviar los datos del formulario al servicio encargado de procesarlos
106

Implementacin de la Interfaz Web


Las pginas web (V)

Zona de Enlaces de Aplicacin: Zona donde aparecen enlaces a funcionalidades/enlaces comunes a todas las aplicaciones para la web, como pueden ser las funcionalidades de Login, Home, etc. Zona de Personalizacin: Es una zona de informacin que depende de (est personalizada para) el usuario concreto que est conectado Zona de Estructuras de Acceso: Zona que contiene los mecanismos avanzados de exploracin (filtros, ndices, etc.) dentro de una pgina Zona Otras: Zona para introducir contenidos no est catalogado en ninguno de los anteriores
107

Implementacin de la Interfaz Web


Las pginas web (VI)
Pg. Informacin Pg. Accesibilidad Pg. Entrada Datos Z. Navegacin Z. Ubicacin Z. Informacin Z. Usuario Z. Institucional Z. Enlaces Aplic. Z. Entrada Datos Z. Personalizacin Z. Estruc. Acceso , ,

, ,

, ,

, ,

Z. Otras - obligatorio

, - no recomendable - opcional

, - pueden aparecer varias 108

- recomendable

Implementacin de la Interfaz Web


Ejemplo de Pgina de Informacin (I)

Elegimos los siguientes contenidos para la pgina de informacin que vamos a implementar:
Pg. Informacin Pg. Accesibilidad Pg. Entrada Datos

Z. Navegacin
Z. Ubicacin Z. Informacin Z. Usuario Z. Institucional

Z. Enlaces Aplic.
Z. Entrada Datos Z. Personalizacin Z. Estruc. Acceso Z. Otras

, , ,

, , ,

, , ,

109

Implementacin de la Interfaz Web


Ejemplo de Pgina de Informacin (I)

Zona de Informacin

E << context >> Members

view Member Member -name -surname -personalID -email -isDoctor -isPhDStudent -web -photo +modify()
not hasGone

view WorkOn WorkOn -phones -status

view Entity Entity -name -address -web -city -state -country


<< context >> Members

E
RGroup / Leader / Pattern: Register RGroup.name Pagination: -name Static Cardinality 1 -acronym [ RGroup ] access Sequential
Order: isDoctor (ASC) surname (ASC)

-web

WorkOn Pattern: Register

Pattern: Register

Entity

Member

ATTRIBUTE ACCESS STRUCTURE Members ATTRIBUTES name, email, isPhD, WorkOn.status LINK ATTRIBUTES name

ATTRIBUTE FILTER ByName ATTRIBUTES name TYPE APPROXIMATE RGroup Pattern: Register

Gestin de contenidos Recuperacin de informacin, activacin de servicios y navegacin contextual

110

Implementacin de la Interfaz Web


Ejemplo de Pgina de Informacin (II)

Zona de Navegacin

Menu Navegacional A dnde puede navegar el usuario a partir de esta pgina web?

111

Estrategia de Implementacin.
Interfaz Web. Ejemplo de Pgina de Informacin

Zona de Ubicacin
Camino Navegacional Dnde est el usuario? Cmo ha llegado aqu?

112

Estrategia de Implementacin.
Interfaz Web. Ejemplo de Pgina de Informacin

Zona de Enlaces de Aplicacin

Enlaces de Aplicacin Home Log In

113

Estrategia de Implementacin.
Interfaz Web. Ejemplo de Pgina de Informacin

Zona de Estructuras de Acceso

Estructuras Acceso intra-contextual Filtros de bsqueda ndices de Acceso Mecanismos de exploracin

114

Estrategia de Implementacin.
Interfaz Web. Ejemplo de Pgina de Informacin

Zonas Institucionales

Zona Institucional Organizacin/Empresa Logos Informacin Contacto

115

Desarrollo de Aplicaciones para Entornos Web


Escuela Tcnica Superior de Informtica Aplicada, 3er. Curso Universitat Politcnica de Valncia, 2003/2004 Professor: Joan Fons i Cors (jjfons@dsic.upv.es)

Conclusiones

Conclusiones (I)

Se han definido facilitades de modelado conceptual para especificar aplicaciones web


Modelo

de Navegacin: captura requisitos navegacionales Modelo de Presentacin : especifica patrones abstractos de presentacin aplicados a los nodos navegacionales ESPACIO PROBLEMA

Generacin sistemtica de cdigo Proceso prototipacin rpida Automtico estrategia dirigida por modelos ESPACIO SOLUCIN
117

Conclusiones (II)
Se ha descrito un proceso sistemtico para desarrollar aplicaciones web Aplicado el mtodo a diferentes tipos de aplicaciones

Ingeniera del SW aplicada a la Web ...

Ingeniera Web!!
118

Você também pode gostar