OOWS

118
 Desarrollo de Aplicaciones para Entornos Web Escuela Técnica Superior de Informática Aplicada, 3er. Curso Universitat Politècnica de Valè ncia, 2003/2004 Professor: Joan Fons i Cors ([email protected] .es) Unidad Temática II: Aplicación de la Ingeniería Web al Desarrollo de Aplicaciones Web OOWS: Un Método de Producción de Aplicaciones Web

Transcript of OOWS

Page 1: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 1/118

 

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. Curso

Universitat Politècnica de València, 2003/2004Professor: Joan Fons i Cors ([email protected])

Unidad Temática II:Aplicación de la IngenieríaWeb al Desarrollo deAplicaciones Web

OOWS: Un Método de

Producción de Aplicaciones Web

Page 2: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 2/118

 

2

“Modelar la Web...” 

Page 3: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 3/118

 

3

Contenidos Introducción OOWS : Un Método de Producción de

Aplicaciones Web

Proceso de DesarrolloModelado de Aplicaciones WebEstrategia de Implementación

Conclusiones

Page 4: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 4/118

 

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. Curso

Universitat Politècnica de València, 2003/2004Professor: Joan Fons i Cors ([email protected])

Introducción

 

Page 5: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 5/1185

Introducción

Internet Paradigma de computación Clasificación de Sistemas WebEstáticosEstáticos con formularios de entradaCon acceso dinámico a datosConstruidos dinámicamente

Aplicaciones Software para el Web Comercio electrónico, hipermedia, aplicaciones

clásicas, etc...

 

Page 6: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 6/118

6

Introducción. Necesidades (I)

Estas aplicaciones necesitan gestionaresencialmente: Requisitos de Navegación dentro de la aplicación

Presentación de informaciónGestión de información (filtrados, búsquedas, ...) Tratamiento de usuarios:

Gran cantidad de tipos de usuarios (taxonomías) Adaptación / Personalización

+ ... requisitos de las aplicacions “clásicas” 

  

Page 7: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 7/118

7

Introducción. Necesidades (II)

Permita capturar la navegación ...

... especificar búsquedas ...

... y la ejecución de servicios... tratar la visualización de información ...

 

Page 8: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 8/118

8

Introducción. Camino a seguir ...

Construir entornos de desarrollo Web que ...definan un proceso sistemático y estructurado

de producción de software

faciliten la especificación de los sistemas usandotécnicas basadas en el modelado conceptual

permitan la rápida prototipación

¡¡Ingeniería Web!!

 

Page 9: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 9/118

9

Introducción. OOWS

Un método de desarrollo Web ... introduce nuevos conceptos OO para dar la noción de

semántica navegacional y de presentación (primitivasde modelado) 

define un proceso de producción sistemático adaptadoal web

usa una estrategia de generación de código basada enmodelos (patrones software)

extiende adecuadamente OO-Method (un método OO dedesarrollo de software) 

 

Page 10: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 10/118

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. Curso

Universitat Politècnica de València, 2003/2004Professor: Joan Fons i Cors ([email protected])

OOWS : Un Método deProducción de

Aplicaciones WebProceso de Desarrollo

 

Page 11: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 11/118

11

OOWS. Proceso de desarrollo

El proceso de desarrollo de aplicaciones webque propone OOWS tiene dos grandes pasos:Especificación conceptual de la aplicación

Uso de modelos conceptuales

Desarrollo de la solución final

 

Page 12: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 12/118

12

En la especificación conceptual:Descripción de las necesidades de las

aplicaciones convencionales (estructura ycomportamiento) usando modelos OO (OO-Method)

Descripción de las características web mediantemodelos web Modelo Navegacional, de Presentación, etc… Web

Clásico

OOWS. Proceso de desarrollo

  

Page 13: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 13/118

13

OOWS. Proceso de desarrollo

ELICITACIÓNREQUISITOS

(Casos Uso, Escenarios)

MODELOESTRUCTURAL 

MODELODINÁMICO 

MODELO

FUNCIONAL 

CAPA DE INTERFAZ (Entornos Web)

CAPA DE LÓGICA DE APLICACIÓ (Lógica de Negoci)

CAPA DE PERSISTENCIA (SGBD)

ModeladoConceptual   E   S

   P   E   C   I   F   I   C   A   C   I    Ó

   C   O   N   C   E   P   T   U   A   L

   (   P  r

  o   b   l  e  m    S

  p  a  c  e   )

ArquitecturaSoftware   D

   E   S   A   R   R   O   L   L   O

   D   E

   S   O   L   U

   C   I    Ó   N

   (   S  o   l  u   t   i  o  n   S  p  a  c  e   )

Implementación Automàtica

OO-Method(SW clásico) 

OOWS(SW web) 

MODELNAVEGACIONAL 

MODELPRESENTACIÓ Extensiones

Web

Implementación Automàtica

 

Page 14: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 14/118

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. Curso

Universitat Politècnica de València, 2003/2004Professor: Joan Fons i Cors ([email protected])

OOWS : Un Método deProducción de

Aplicaciones WebModelo de Navegación

 

Page 15: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 15/118

15

¿Qué es la navegación?

Idea Intuitiva (bajo nivel de abstracción):

La navegación es un salto de una página web a otra página web,

provocado por la selección de un enlace,en el que se cambia de contenido 

(información y/o funcionalidad)

Introducción

 

Page 16: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 16/118

16

Especifica las características navegacionalesde las aplicaciones web (acceso a información yejecución de servicios )

Se construye mediante primitivas (gráficas) de

abstracción navegacional Define y estructura el acceso al sistema para los

diferentes tipos de usuarios 1º. Gestión de Usuarios  

Diagrama de Usuarios 2º. Especificación de las Propiedades Navegacionales Mapas Navegacionales

Modelo de Navegación

 

Page 17: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 17/118

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. Curso

Universitat Politècnica de València, 2003/2004Professor: Joan Fons i Cors ([email protected])

OOWS : Un Método deProducción de

Aplicaciones WebModelo de Navegación

Gestión de Usuarios

 

Page 18: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 18/118

18

Detección de potenciales tipos de usuarios  Cada tipo de usuario representará un

conjunto de usuarios con objetivos yresponsabilidades comunes en el sistema Especificación de inter-relaciones entre

usuarios (taxonomías de usuarios)

Modelo de Navegación.Gestión de Usuarios

 

Page 19: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 19/118

19

Se distinguen tres tipos de usuario, enfunción del tipo de acceso que tengan conel sistema:AnónimosRegistradosSin permiso

Modelo de Navegación.Gestión de Usuarios. Acceso

 

Page 20: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 20/118

20

Modelo de Navegación.Gestión de Usuarios. Anónimos

Al conectarse al sistema, estos usuarios no necesitan identificarse 

Habitualmente sus permisos con el sistemason muy reducidos No se pueden establecer políticas

de personalización individuales

Internauta

?

 

Page 21: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 21/118

21

Modelo de Navegación.Gestión de Usuarios. Registrados

Estos usuarios necesitan identificarse alconectarse al sistema

Habitualmente, gestionan la funcionalidad delsistema y la información sensible Se pueden establecer políticas

de personalización individuales

Socio

 

Page 22: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 22/118

22

Modelo de Navegación.Gestión de Usuarios. Sin permiso

Estos usuarios no pueden acceder alsistema

Son usuarios “virtuales” (no existen en larealidad) Se utilizan para expresar

responsabilidades comunes

entre usuariosDepartamento

Técnico

 

Page 23: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 23/118

23

Los usuarios se organizan en un diagramade usuarios

Este diagrama permite expresar: los tipos de usuarios que pueden usar elsistema y su accesibilidad al sistema

las relaciones entre los usuarios

Modelo de Navegación.Gestión de Usuarios. Diagrama de Usuarios

 

Page 24: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 24/118

24

Para construir un diagrama de usuariosdebemos seguir las siguientes fases:

1. Detectar cada tipo de usuario2. Asignar el modo de acceso a cada tipo de

usuario3. Detectar las relaciones entre los usuarios

Modelo de Navegación.Diagrama de Usuarios. Fases

 

Page 25: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 25/118

25

Modelo de Navegación.Diagrama de Usuarios.

Detección de Usuarios1. Para cada tipo de usuario que pueda usar

el sistema, se añade usuario al diagrama

Bibliotecario Socio Responsablede compras

Director

Ejemplo: En esta biblioteca hay Internautas (exploran el catálogo), Bibliotecarios  (gestionan el catálogo), Socios (pueden sacar libros), el/los Director/es (gestiona labiblioteca), Responsables de compras (se encargan de comprar material bibliográfico)

Internauta

 

Page 26: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 26/118

26

Modelo de Navegación.Diagrama de Usuarios.

Asignación del Modo de Acceso2. A cada usuario se le asigna un modo de

acceso: anónimo ó registrado

Internauta

Ejemplo: En esta biblioteca los Internautas son usuarios anónimos, y el resto(Bibliotecarios, Socios , el/los Director/es , Responsables ) necesitan identificación

Bibliotecario Socio Responsablede compras

Director

?

 

M d l d N ió

Page 27: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 27/118

27

Modelo de Navegación.Diagrama de Usuarios.

Relaciones entre Usuarios (I)3. Detectar las relaciones entre los usuarios La relación posible entre usuarios es la de

especialización (is-a ) de usuarios Las relaciones entre usuarios permiten expresar la

compartición de propiedades navegacionales El usuario especializado hereda la accesibilidad

al sistema (mapa de navegación1

) del usuariobase

1 Se estudian estas propiedades más adelante en el Modelo de Navegación 

M d l d N ió

Page 28: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 28/118

28

El usuario especializado puede:definir nuevas propiedades navegacionales

cancelar propiedades navegacionalesmodificar propiedades navegacionales

Los usuarios Anónimos no puedenespecializarse a partir de otro tipo deusuarios

Modelo de Navegación.Diagrama de Usuarios. 

Relaciones entre Usuarios (II)

 

M d l d N ió

Page 29: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 29/118

29

Se pueden introducir usuarios “sin permiso ”de acceso:

cuando existen usuarios que comparten granparte de sus propiedades navegacionalespara expresar la jerarquía funcional en una

empresa (departamentos, secciones, etc.)

para organizar y estructurar los usuarios delsistema

Modelo de Navegación.Diagrama de Usuarios. 

Relaciones entre Usuarios (III)

 

M d l d N ió

Page 30: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 30/118

30

Modelo de Navegación.Diagrama de Usuarios. 

Relaciones entre Usuarios (IV)

Diagrama de Usuariosde una Biblioteca

Usuario Anónimo. Es elusuario elemental. Todos

los demás usuariosextienden sus posibilidadesnavegacionales

Usuario Sin Permiso. No puede

acceder al sistema. Se usa paradescribir las propiedades navegacionales

comunes entre sus usuarios especializados(Directores y Responsables de Compras) 

Usuario Registrado. Un Director  necesitará identificarse para

acceder al sistema

Internauta

Bibliotecario SocioDireccion

Director Responsablede compras

?

 

Desarrollo de Aplicaciones para Entornos Web

Page 31: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 31/118

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. Curso

Universitat Politècnica de València, 2003/2004Professor: Joan Fons i Cors ([email protected])

OOWS : Un Método deProducción de

Aplicaciones WebModelo de Navegación

Especificación de lasPropiedades Navegacionales

  

Page 32: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 32/118

32

Modelo de Navegación.Definición de las Propiedades Navegacionales

Las propiedades navegacionales de una aplicaciónweb se describen asociando un mapanavegacional para cada tipo de usuario 

Internauta

Bibliotecario SocioDireccion

Director Responsable

de compras

?

Anonymous

«context»Activities

E

«context»Projects

E

«context»Members

E

«context»Publications

E

«context»ResearchLines

E

«context»Group

E

«context»Guests

S

Internauta

E

«contexto»Libros

Dirección

E

«contexto»Libros

E

«contexto»Autores

<< contexto >>

Libros

E

<< contexto >>

Tematicas

E

<< contexto >>

Detalles_Libro

S

<< contexto >>

Libros_Tematica

S

Responsable

de compras

Bibliotecario

E

«contexto»Libros

E

«contexto»Director.Autores

S

«contexto»Prestados

Socio

E

«contexto»Libros

S

«contexto»Prestados

  

Page 33: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 33/118

33

Modelo de Navegación.Mapa Navegacional

Proporciona la vista global del sistema para cada tipo  de  usuario  (descripción global )

Grafo navegacional, compuesto de: Nodos Navegacionales Enlaces Navegacionales

Define la estructura delWeb Site 

Anonymous

«context»Activities

E

«context»Projects

E

«context»Members

E

«context»

Publications

E

«context»ResearchLines

E

«context»Group

E

«context»Guests

S

Member

 

Page 34: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 34/118

34

Anonymous

«context»Activities

E

«context»Projects

E

«context»Members

E

«context»Publications

E

«context»ResearchLines

E

«context»Group

E

«context»Guests

S

Modelo de Navegación.Enlace Navegacional

Define una relación de alcanzabilidadentre nodos de navegación

Dos tipos de enlaces: de secuencia : (flechas

continuas) definidos implícitamentepor las relaciones navegacionalesde contexto (en definición de contexto).Llevan información contextual .

de exploración : (flechasdiscontinuas) definidos implícitamente por los contextos deExploración. No llevan información contextual  

 

Page 35: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 35/118

35

Hay dos tipos nodos navegacionales:Contextos: definen contenido de información

Subsistemas: permiten estructurar la navegabilidad

dentro del sistema 

Modelo de Navegación.Nodos Navegacionales

 

Page 36: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 36/118

36

U nidad de I nteracción básica con el usuario Representa una vista parcial del sistema

para realizar cierta actividad/operaciónEspecifica un acceso a un conjunto de datos

(atributos) y funcionalidad (operaciones)

Gráficamente representada

por un paquete UML,con el estereotipo « contexto »

E

«context»Book

name

Modelo de Navegación.Contexto Navegacional (I)

 

Page 37: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 37/118

37

Hay dos tipos de contextos:Exploración: son siempre accesibles

(uno de estos puede ser

marcado como “Home”) Secuencia:

sólo accesibles a travésde caminos de navegación preestablecidos 

Anonymous

«context»Activities

E

«context»Projects

E

«context»Members

E

«context»Publications

E

«context»ResearchLines

E

«context»Group

E

«context»Guests

S

H

Modelo de Navegación.Contexto Navegacional (II)

 

Page 38: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 38/118

38

Los contextos navegacionales de Exploracióndefinen los enlaces de exploración del mapade navegación Al crear un contexto de exploración, automáticamente 

aparece un enlace de exploración en el mapa de navegación 

Modelo de Navegación.Contexto Navegacional (III)

Libros 

« contexto »E

 

Page 39: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 39/118

39

Un contexto navegacional está compuestopor (descripción detallada):Clases navegacionales 

especifican una recuperación de información(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)

Modelo de Navegación.Contexto Navegacional (IV)

 

Page 40: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 40/118

40

Contexto Navegacional« contexto »

Relaciones Navegacionales

Modelo de Navegación.Contexto Navegacional (V)

Clases Navegacionales«view»

 

Page 41: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 41/118

41

Define una proyección de visibilidad sobreclases del diagrama de classes con respecto a:Atributos: datos visibles por el usuario

Servicios: funcionalidad ejecutable por el usuario Clases UML estereotipades con « view » 

Modelo de Navegación.Clase Navegacional (I)

« view » Libro

ISBN

tituloañopaginas

prestar()

Vista (clase) 

Atributos visibles

Métodos visibles 

año = 2004 Filtro de selección 

 

Page 42: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 42/118

42

Modelo de Navegación.Clase Navegacional (II)

Hay dos tipos de clasesnavegacionales: Directora: 

clase principal del contexto toda la exploración de

información parte de ella sólo puede haber una por

contexto Complementarias:

“complementan” la informaciónde la clase directora

usan relacionesnavegacionales para definirse

pueden haber varias

directora

complementarias

 

M d l d N ió

Page 43: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 43/118

43

Se puede especificar un filtro de selecciónasociado a una clase navegacional

BestSellers « contexto »

E

Libro 

ISBNtituloañopáginas

prestar() 

Autor 

nombre 

« view »

ventas > 1,000,000 

Navegación a un contexto (BestSellers)

que dará información de best-sellers  (más 1,000,000 ejemplares vendidos)

Modelo de Navegación.Clase Navegacional (III)

« view »

Se recuperarán únicamente los libros conmás de 1,000,000 de unidades vendidas

 

M d l d N ió

Page 44: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 44/118

44

Es una relación binaria unidireccional existente entre dos clases de un contexto

Se define sobre una relación estructural del

diagrama de clases  Representa un requisito para recuperar

información complementaria relacionada 

Modelo de Navegación.Relación Navegacional (I)

 

M d l d N ió

Page 45: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 45/118

45

Dos tipos:Relaciones de Dependencia Contextual: no definen

navegación Relaciones de Contexto: definen una navegabilidad a

un contexto destino (llevando información contextual)

Relación de Dependencia de Contexto(no define navegabilidad)

Relación de Contexto(define navegabilidad)

Modelo de Navegación.Relación Navegacional (II)

Clase Nav. « view »

Clase Nav. « view »

Clase Nav. « view »

Clase Nav. « view »

 

M d l d N ió

Page 46: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 46/118

46

Es una relación navegacional que recupera información complementaria de una clase

Se define sobre una relación estructural deldiagrama de clases, y recupera las instanciasrelacionadas

Puede aparecer un / atributo rol / para eliminarambigüedades en caso de más de una relaciónestructural entre las dos clases de la relación (en

diagrama de clases)

Modelo de Navegación.Relación de Dependencia Contextual (I)

 

M d l d N ió

Page 47: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 47/118

47

Libros 

« contexto »E

/ Escrito_por / 

Contexto Libros (con relación de Dependencia Contextual)

Modelo de Navegación.Relación de Dependencia Contextual (II)

Libro 

ISBN

título

« view »Autor 

nombre

« view »Libro

prestar()devolver() 

ISBNtítulo

páginasaño

Autor

nombrepseudonimoaño_nacimiento

0:M 0:M

0:M 1:M

Escrito_por

Revisado_por

Diagrama de Clases

El contexto Libros define un contexto donde se recuperarán libros y los nombres de los autores que han escrito el libro.

 

M d l d N ió

 

Page 48: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 48/118

48

Modelo de Navegación.Relación de Dependencia Contextual (III) 

Libros 

« contexto »E

Libro 

ISBNtituloaño

páginasprestar() 

Autor 

nombre 

« view »

« view »

 / Escrito_por /  

Contexto Libros

Una implementación enHTML del contexto Libros

 

Modelo de Na egación

Page 49: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 49/118

49

Es una relación navegacional que recupera información complementaria de una clase y define una navegabilidad a un contexto destino

Se define sobre una relación estructural deldiagrama de clases, y recupera las instanciasrelacionadas

Al igual que en las relaciones de dependencia de

contexto, puede aparecer un / atributo rol / 

Modelo de Navegación.Relación de Contexto (I)

 

Modelo de Navegación

Page 50: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 50/118

50

Una relación de contexto define una navegabilidada un contexto destino. Para ello necesita definirse: Un atributo de enlace: ancla que se utilizará para

provocar la navegación Un [ atributo de contexto ]: contexto destino (definido

en el mapa) donde se navegará

Modelo de Navegación.Relación de Contexto (II)

Relación de Contexto(define navegabilidad)

Clase Nav. « view »

Clase Nav. « view »

/ atributo de rol / 

atributo de enlace 

[ atributo de contexto ] 

 

Modelo de Navegación

Page 51: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 51/118

51

El atributo de contexto debe indicar el contextodestino de la navegación.

La clase directora del contexto destino (atributo de

contexto) debe ser la misma que la clase de navegación destino de la relación de contexto  

Modelo de Navegación.Relación de Contexto (III)

Libros 

« contexto »E

Libro 

ISBNtituloañopáginas

prestar() 

Autor nombre 

« view »

« view »

/ Escrito_por / nombre 

[ Autores ] 

Autores 

« contexto »E

Autor nombrepseudónimoaño_nacimiento

« view »

 

Modelo de Navegación

Page 52: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 52/118

52

Una relación de contexto define dos tipos denavegabilidad al contexto destino, en funciónde la información contextual que se envía

entre contextos y el filtrado de objetos que serealiza:Navegabilidad de Objeto  Navegabilidad de Relación  

Modelo de Navegación.Relación de Contexto. Navegabilidad

 

Modelo de Navegación

Page 53: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 53/118

53

La navegabilidad de objeto se utiliza paranavegar a un contexto destino para recuperarinformación adicional de un objeto  

La información contextual que se lleva alcontexto destino es el objeto seleccionado 

El contexto destino filtrará la población de la

clase directora para recuperar sólo elobjeto que 

“llega” seleccionado en la navegación

Modelo de Navegación.Relación de Contexto. Navegabilidad de Objeto (I)

 

Modelo de Navegación

Page 54: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 54/118

54

En la clase destino de la relación denavegación debe aparecer visibilidad sobreal menos un atributo

Modelo de Navegación.Relación de Contexto. Navegabilidad de Objeto (II)

Libro 

ISBNtituloañopáginas

prestar() 

Autor 

nombre 

« view »

« view »

 / Escrito_por /  nombre 

[ Autores ] 

 

Modelo de Navegación

Page 55: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 55/118

55

En la navegabilidad de objeto, el atributo deenlace debe ser 1 un atributo de la clase destino de la relación de navegación 

Modelo de Navegación.Relación de Contexto. Navegabilidad de Objeto (III)

Libro 

ISBNtituloañopáginas

prestar() 

Autor 

nombre 

« view »

« view »

 / Escrito_por /  nombre 

[ Autores ] 

1Por motivos de calidad es más intuitivo mejora la usabilidad

 

Modelo de Navegación

Page 56: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 56/118

56

Modelo de Navegación.Relación de Contexto. Navegabilidad de Objeto (IV)

Libros 

« contexto »E

Libro 

ISBNtituloañopáginas

prestar() 

Autor 

nombre 

« view »

« view »

 / Escrito_por /  nombre 

[ Autores ] 

Autores 

« contexto »E

Autor 

nombrepseudónimo

año_nacimiento

« view »

Cuando el usuario esté en el contexto Libros y seleccione el nombre de un Autor, navegará al contexto Autores y verá la información de ese autor

La clase destino posee algún atributo. Portanto se trata de navegabilidad de objeto

La informacióncontextual que

“navegará” de un

contexto a otro es elidentificador del autor

seleccionado

Ejemplo : Definir un contexto que muestre libros y sus autores, de modo que al seleccionar un autor se produzca una navegación a otro contexto para ver detalles del autor seleccionado.

 

Modelo de Navegación

 

Page 57: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 57/118

57

Modelo de Navegación.Relación de Contexto. Navegabilidad de Objeto (V)

Libros 

« contexto »E

Libro 

ISBNtituloaño

páginasprestar() 

Autor 

nombre 

« view »

« view »

 / Escrito_por /  nombre 

[ Autores ] 

Contexto Libros

Una implementación enHTML del contexto Libros

 

Modelo de Navegación

Page 58: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 58/118

58

La navegabilidad de relación se utiliza paranavegar a un contexto destino para recuperar información adicional de los objetos 

relacionados con un determinado objeto 

Modelo de Navegación.Relación de Contexto. Navegabilidad de Relación (I)

 

Modelo de Navegación

Page 59: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 59/118

59

La información contextual que se lleva alcontexto destino es el objeto de la claseorigen de la relación de navegación y la

relación sobre la que se navegaEl contexto destino filtrará la población de la

clase directora para recuperar sólo los objetosque estén relacionados por la relación que “llega” 

seleccionada con el objeto que “llega” seleccionado 

Modelo de Navegación.Relación de Contexto. Navegabilidad de Relación (II)

 

Modelo de Navegación

Page 60: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 60/118

60

La clase destino de la relación de navegaciónno tiene definida visibilidad sobre atributos nioperaciones (ni filtro de población)

Modelo de Navegación.Relación de Contexto. Navegabilidad de Relación (III)

Relación de Contextocon Navegabilidad de Relación 

Clase Nav. « view »

Clase Nav. « view »

/ atributo de rol / 

atributo de enlace 

[ atributo de contexto ] 

atributos

operaciones

 

Modelo de Navegación

Page 61: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 61/118

61

Con respecto al atributo de enlace, existendos casos válidos:No se especifica atributo de enlace (más

habitual y de mayor calidad). En implementación,aparecerá el nombre de relación como “ancla ” de

la navegación (enlace)El atributo de enlace es un atributo de la clase

origen de la relación de navegación (menorcalidad menos intuitivo menor usabilidad)

Modelo de Navegación.Relación de Contexto. Navegabilidad de Relación (IV)

 

Modelo de Navegación

Page 62: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 62/118

62

Modelo de Navegación.Relación de Contexto. Navegabilidad de Relación (V)

Libros 

« contexto »E

Libro 

ISBNtituloañopáginas

prestar() 

Autor « view »

« view »

 / Escrito_por /  

[ Autores ] 

Autores 

« contexto »E

Autor 

nombrepseudónimoaño_nacimiento

« view »

Cuando el usuario esté en el contexto Libros y seleccione Escrito_por ,navegará al contexto Autores para ver todos los autores que esténrelacionados por la relación Escrito_por con el libro seleccionado

No hay atributos en la clase destino. Portanto se trata de navegabilidad por relación.Tampoco aparece el atributo de enlace.

La informacióncontextual que“navegará” de un

contexto a otro es elidentificador del libro  

seleccionado y larelación Escrito_por  

Ejemplo : Definir un contexto que muestre libros y permita navegar a otro contexto para ver los autores que han escrito el libro seleccionado 

 

Modelo de Navegación.

 

Page 63: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 63/118

63

Modelo de Navegación.Relación de Contexto. Navegabilidad de Relación (VI)

Contexto Libros

Una implementación enHTML del contexto Libros

Libros 

« contexto »E

Libro 

ISBNtituloañopáginas

prestar() 

Autor « view »

« view »

 / Escrito_por /  

[ Autores ] 

 

Modelo de Navegación.

Page 64: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 64/118

64

Modelo de Navegación.Relación Navegacional. Mapa Navegacional

Las relaciones navegacionales de contexto (especificadas dentro de un contexto) definenenlaces de secuencia en el mapa navegación

Libros 

« contexto »E

Libro 

ISBN

tituloañopáginas

prestar() 

Autor 

nombre 

« view »

« view »

 / Escrito_por /  nombre 

[ Autores ] 

 

Modelo de Navegación.

Page 65: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 65/118

65

Asociado a un servicio, puede definirse unacapacidad de navegación

Se representa como:servicio() [ contexto_destino ]  

Libro

ISBNtituloañopaginas

prestar() [ Prestados ]

Modelo de Navegación.Enlace de Servicio (I)

« view »

 

Modelo de Navegación.

Page 66: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 66/118

66

Cuando se ejecute el servicio, se realizará unanavegación 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 servicioEnlaces No Contextuales de Servicio : navegan al

contexto destino sin “llevar” información contextual 

ode o de a egac óEnlace de Servicio (II)

 

Modelo de Navegación.

Page 67: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 67/118

67

Los Enlaces Contextuales de Servicio serepresentan:

servicio()[ contexto_destino ]

Los Enlaces No Contextuales de Servicio serepresentan como:

servicio() [ contexto_destino ]

gEnlace de Servicio (III)

 

Modelo de Navegación.

Page 68: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 68/118

68

Libro

ISBNtituloaño

paginas

prestar() [ Prestados ]

« contexto »Libros 

LibroISBN

tituloañopaginas

« contexto »Prestados 

Libro(identificador)

Cuando el usuario ejecute el servicio prestar() sobre algún libro , habrá una navegación porsecuencia (en el mapa navegacional) delcontexto Libros al contexto Prestados indicandoel libro prestado. El contexto Prestados  sólorecuperará la información del libroseleccionado

self.prestado = TRUE

gEnlace Contextual de Servicio

« view »

« view »

 

Modelo de Navegación.

Page 69: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 69/118

69

Libro

ISBNtituloaño

paginas

prestar() [ Prestados ]

« contexto »Libros 

« contexto »Prestados 

Cuando el usuario ejecute el servicio prestar() sobre algún libro , habrá una navegación porsecuencia (en el mapa navegacional) delcontexto Libros al contexto Prestados , sinproporcionar información contextual. Elcontexto Prestados  recuperará todos loslibros que estén prestados

LibroISBN

tituloañopaginas

self.prestado = TRUE

gEnlace No Contextual de Servicio

« view »

« view »

 

Modelo de Navegación.

Page 70: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 70/118

70

Libro

ISBNtitulo

añopaginas

prestar() [ Prestados ]

« contexto »Libros

gEnlace de Servicio. Mapa Navegacional

Los enlaces de atributo (especificadosdentro de un contexto) definen enlaces desecuencia en el mapa de navegación

« view »

 

Modelo de Navegación.

Page 71: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 71/118

71

Aparece como un nodo en un mapanavegacional

A diferencia de los contextos, los subsistemas

sólo pueden ser de Exploración Gráficamente se representa

como un paquete UML,

estereotipado con«subsistema»

«subsistema»

gSubsistema de Navegación (I)

E

 

Modelo de Navegación.

Page 72: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 72/118

72

Permite dar una estructuración adicional a lanavegabilidad por la aplicación

Define un submapa que sólo será visible

cuando el usuario navegue al subsistema El submapa está formado por:Otros subsistemas

Contextos navegacionales

gSubsistema de Navegación (II)

 

Modelo de Navegación.

 

Page 73: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 73/118

73

http://www.dsic.upv.es/  

Mapa del Usuario Internauta

subsistemas

Subsistema de Navegación (III)

Internauta

« subsystema »

DEPARTAMENTO

E

DOCENCIA

E

DIRECTORIO

E

INVESTIGACIÓN

E

ENLACES

E

Profesor.INTRANET

E

DSIC INFO

E

« subsystema » « subsystema » « subsystema » « subsystema » « contexto » « contexto »

 

Modelo de Navegación.

 

Page 74: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 74/118

74

Detalle delSubsistema Directorio

<< context >>

PERSONAL

E

<< context >>

COLABORADORES

E

<< context >>

MAPA SEDE DSIC

E

<< context >>

TUTORÍAS

S

Internauta

Subsistema de Navegación (III)

Internauta

« subsystema »

DEPARTAMENTO

E

DOCENCIA

E

DIRECTORIO

E

INVESTIGACIÓN

E

ENLACES

E

Profesor.INTRANET

E

DSIC INFO

E

« subsystema » « subsystema » « subsystema » « subsystema » « contexto » « contexto »

  

Modelo de Navegación.

Page 75: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 75/118

75

Implementación delSubsistema Directorio

Subsistema de Navegación (IV)

 

Modelo de Navegación.

Page 76: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 76/118

76

La primitiva # tipo_usuario # permite accederal usuario conectadoEjemplos: # Bibliotecario #, # Socio #, … 

Esta primitiva permite capturar difinir ciertosaspectos de personalización 

Acceso al usuario conectado (I)

 

Modelo de Navegación.

Page 77: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 77/118

77

Se utiliza en dos casos:Para recuperar información  filtrada  

específicamente para el usuario conectado

Se especifica en los filtros de selección de población delas clases navegacionales

En la inicialización de argumentos en la ejecuciónde servicios

Para establecer como valor de inicialización unapropiedad del usuario conectado

Acceso al usuario conectado (II)

 

Modelo de Navegación.

Page 78: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 78/118

78

Acceso al usuario conectado. Ejemplo (I)

Paciente

num_identnombredirección

Cita

fechahoraparte

1:1 0:M0:M 1:1

solicita > asignada >

Diagrama de Clases Hospital(gestión de resevas de citas

para consultas médicas)

reservar()cancelar()

Medico

num_colegiadonombreconsulta

 

Modelo de Navegación.A l i d Ej l (II)

 

Page 79: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 79/118

79

Acceso al usuario conectado. Ejemplo (II)

Un Paciente es un usuario registrado que puede ver sólo sus citas en el sistema … 

Socio

Paciente

E

« contexto »

Citas

Citas 

« contexto »

E

Cita 

fechahora

« view »

Medico 

nombre

« view »

self.Paciente = #Paciente#

 

Modelo de Navegación.A l i d Ej l (III)

 

Page 80: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 80/118

80

Acceso al usuario conectado. Ejemplo (III)

Citas 

« contexto »

E

Cita fechahora

« view »

Medico 

nombre

« view »

SocioPaciente

E

« contexto »

Citasself.Paciente = #Paciente#

… y sólo puede reservar nuevas citas para él mismo

La declaración de la operación reservar es:reservar( p_fecha: Date, p_hora: Time, p_parte: String,p_Paciente:Paciente, p_Medico : Medico)

reservar( , , , #Paciente#, )

 

Modelo de Navegación.N ió bi d i (I)

Page 81: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 81/118

81

Cuando un usuario se conecta al sistemacomo un usuario, puede definirsenavegabilidad a un contexto o un

subsistema del mapa navegacional de otrousuario Para ello debe definirse una navegación con

cambio de usuario

Navegación con cambio de usuario (I)

 

Modelo de Navegación.N ió bi d i (II)

Page 82: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 82/118

82

Si el usuario destino necesita identificación, sepedirá al usuario que se identifique como unusuario del mapa destino antes de realizar lanavegación 

Se puede aplicar a:Enlaces de exploraciónEnlaces de secuencia (relaciones de contexto y

enlaces de servicio)

Navegación con cambio de usuario (II)

 

Modelo de Navegación.N ió bi d i E l ió

Page 83: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 83/118

83

Navegación con cambio de usuario por Exploración

Se representa directamente en el mapanavegacional

El enlace de exploración

aparece decorado con unusuario

El contexto destino estáprecedido del tipo deusuario al que se debe

identificar el usuario. Estecontexto debe estardefinido en el mapa deese usuario (Bibliotecario)

 

Modelo de Navegación.Navegación con cambio de usuario por Secuencia

 

Page 84: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 84/118

84

Navegación con cambio de usuario por Secuencia

Se representa en la definición del contexto … 

Libro

ISBNtituloañopaginas

prestar() [ Bibliotecario.Prestados ]

« contexto »Libros

ó

Puede ser definido por unenlace de serivicio

Libros « contexto »

E

Libro 

ISBNtituloañopáginas

prestar() 

« view »

[ Bibliotecario.Prestados ] 

Puede ser definido por unarelación de contexto

« view »

 

Modelo de Navegación.Navegación con cambio de usuario por Secuencia

Page 85: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 85/118

85

Navegación con cambio de usuario por Secuencia

… y se refleja en el mapa de navegación 

El enlace de secuencia

aparece decorado con unusuario

El contexto destino estáprecedido del tipo deusuario al que se debe

identificar el usuario. Estecontexto debe estardefinido en el mapa deese usuario.

 

Modelo de Navegación.Contexto Navegacional Ejemplo 1

Page 86: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 86/118

86

E

«context»Book«view»Book

«view»Author

Contexto de Navegación

name

Contexto Navegacional. Ejemplo 1

Página Web

 / writen_by / 

   

Modelo de Navegación.Contexto Navegacional Ejemp

 

lo 2

Page 87: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 87/118

87

<< context >>Members

+modify()

-name-surname-personalID-email-isDoctor-isPhDStudent-web-photo

Member

-phones-status

WorkOn

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

Entity

-name

-acronym-web

RGroup / Leader / RGroup.name

[ RGroup ]

not hasGone

ATTRIBUTE ACCESS STRUCTURE MembersATTRIBUTES name, email, isPhD, WorkOn.statusLINK ATTRIBUTES name

E

ATTRIBUTE FILTER ByNameATTRIBUTES nameTYPE APPROXIMATE

«view»Member «view»WorkOn

«view»Entity

Esta página web proporcionainformación sobre MIEMBROS de un

grupo de investigación

Información sobre un miembro

Información relacionada a unmiembro

Modelado en OOWScomo un Contexto

Navigacional

Contexto Navegacional. Ejemplo 2

 

Modelo de Navegación

Page 88: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 88/118

88

¿Qué es la navegación?

Según OOWS (alto nivel abstracción):

La navegación es un cambio de contexto navegacional 

al activar un enlace navegacional 

(navegación conceptual)

 

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. Curso

Universitat Politècnica de València, 2003/2004Professor: Joan Fons i Cors ([email protected])

Page 89: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 89/118

OOWS : Un Método deProducción de

Aplicaciones WebModelo de Presentación

 

Modelo de Presentación

Page 90: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 90/118

90

Este modelo captura los requisitosabstractos de presentación de información  Se basa en el modo de presentación 

asociado a cada nodo (contexto) delmodelo de navegación

Asocia patrones de presentación a loselementos que constituyen estos contextos

navegacionales (clases navegacionales, relacionesnavegacionales, índices, ...)

 

Modelo de Presentación

Page 91: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 91/118

91

Los patrones de presentación son:Disposición de información (Layout )  [ Registro, Tabular, Árbol, Maestro-Detalle ]

Criterios de Ordenación de información porvalor de atributos [ ASCendente, DESCendente ]

“Paginación” de información  Cardinalidad de conjuntos (num. elementos)

[ estática, dinámica ]

Modo de Acceso a los conjuntos [ secuencial, aleatorio]

 

Modelo de Presentación.Patrones de Presentación (I)

Page 92: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 92/118

92

<< context >>Members

Member

WorkOn

Entity

RGroupPattern: Register

E

Pattern: RegisterPagination:

Static Cardinality 1Sequential accessOrder:

isDoctor (ASC)surname (ASC) Pattern: Register Pattern: Register

Disposición (“layout pattern”):[Tabular, Registro, Árbol, Maestro-Detalle] Se aplica a: relaciones navegacionales,

clase directoraSe aplican los patrones depresentación a los elementos

que componen un Contextode Navegación Paginación de Información:

Cardinalidad bloque [estática, dinámica]

- Modo de Acceso 

[secuencial, aleatorio]- Circularidad  

Se aplica a: contexto, relacionesnavegacionales, índices y filtros

Ordenación:[ASCendente, DEScendente]

Se aplica a: clases navegacionales (atributos),índices y filtros

  

Modelo de Presentación.Ejemplo

   

Page 93: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 93/118

93

<< context >>Members

Member

WorkOn

Entity

RGroupPattern: Register

E

Pattern: RegisterPagination:

Static Cardinality 1Sequential accessOrder:

isDoctor (ASC)surname (ASC) Pattern: Register Pattern: Register

Ejemplo

Toda la información se diponeen modo Registro  

LAYOUT PATTERN

Sólo una instancia es visibleen cada momento. Aparecenmecanismos para explorar  

secuencialmente

CARDINALIDAD

Las instancias de los Miembros se

recuperan ordenadamente: primerolos doctores, por apellidos (ASC)

CRITERIO ORDENACIÓN

 

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. CursoUniversitat Politècnica de València, 2003/2004

Professor: Joan Fons i Cors ([email protected])

Page 94: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 94/118

OOWS : Un Método deProducción de

Aplicaciones WebEstrategia de Implementación

 

Estrategia de Implementación

 

Page 95: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 95/118

95

OOWS extiende la estrategia degeneración de código de OO-Method: introduce la interfaz web reusa la lógica de negocio y la persistencia 

ELICITACIÓN DEREQUISITOS 

MODELOESTRUCTURAL 

MODELODINÁMICO 

MODELOFUNCIONAL 

CAPA INTERFAZ (Entornos Web) 

CAPA LÓGICA NEGOCIO (Servicios Web, Componentes SW)

CAPA DE PERSISTENCIA (SGBD) 

ModeladoConceptua

l   E   S   P   E   C   I   F   I   C   A   C   I    Ó

   N

   C   O   N   C   E   P   T   U   A   L

   (   P  r  o   b   l  e  m    S

  p  a  c  e

   )

ArquitecturaSoftware

   D   E   S   A   R   R   O

   L   L   O

   S   O   L   U   C   I

    Ó   N

   (   S  o   l  u   t   i  o  n   S

  p  a  c  e   )

Ge

nerac

MODELONAVEGACIÓN 

MODELOPRESENTACIÓN  Extensiones

Web

Ge

nerac

 

Estrategia de Implementación.Interfaz Web

Page 96: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 96/118

96

A partir de los modelos conceptualesnavegacionales: Modelo Navegación y dePresentaciónAplicación de patrones de traducción:

Mapa Navegacional   Define la estructura de páginas web enlazadas para cada tipo de usuario

Contexto de Navegación   Página Web Contextos de Exploración Páginas web siempre accesibles Contexto Home (si no se define, se crea uno automáticamente)

Clases y Relaciones Navegacionales  Requisitos de consulta de

información y operaciones Relación de Contexto   “enlace contextual” a otra “página”  ...

te a eb

 

Implementación de la Interfaz WebMapa Navegacional (I)

Page 97: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 97/118

97

Convertiremos cada nodo del mapanavegacional en un tipo de página

Los tipos de página básicos son:Páginas de informaciónPáginas de accesibilidadPáginas de entrada de datos

p g ( )

 

Implementación de la Interfaz WebMapa Navegacional (II)

Page 98: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 98/118

98

Las páginas de información dan acceso ainformación y funcionalidad del sistema

Las páginas de accesibilidad permiten

estructurar la navegabilidad por el sistema Las páginas de entrada de datos permiten

al usuario introducir los argumentosnecesarios para invocar a los servicios

p g ( )

 

Implementación de la Interfaz Web Mapa Navegacional (III)

Page 99: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 99/118

99

Anonymous

«context»Activities

E

«context»Projects

E

«context»Members

E

«context»Publications

E

«context»ResearchLines

E

«context»Group

E

«context»Guests

S

Mapa de Navegación(Espacio del Problema)

Implementación Automática

p g ( )

Estructura del Web Site(Espacio de la Solución)

 

Implementación de la Interfaz Web Contexto Home

Page 100: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 100/118

100

Anonymous

«context»Activities

E

«context»Projects

E

«context»Members

E

«context»Publications

E

«context»ResearchLines

E

«context»Group

E

«context»Guests

S

Mapa de Navegación(Espacio del Problema)

Implementación Automática

Contexto Home

(Espacio de la Solución)

El contexto Home suele convertirseen una página de accesibilidad

 

Implementación de la Interfaz Web Contextos Navegacionales

Page 101: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 101/118

101

Cada contexto se traduce en una página deinformación

La especificación del contexto permite

definir: La consulta al sistema para recuperación de datos El conjunto de servicios que podrán ser invocados El modo en que la información se presentará (del modelo

de presentación) 

 

Implementación de la Interfaz Web Ejecución de servicios

Page 102: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 102/118

102

Por cada servicio del diagrama de clases,se crea una página de entrada de datos que pida todos los argumentos (en campos

de entrada adecuados al tipo de datos delargumento) Estas páginas se invocarán al activar la

ejecución de un servicio 

 

Implementación de la Interfaz WebLas páginas web (I)

Page 103: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 103/118

103

Se propone una estrategia de implementación depáginas web basadas en contenidos 

Cada zona es responsable de proporcionarinformación sobre un contenido en concreto

Una página web se implementa como un conjuntode zonas, en función del tipo de página web

 

Implementación de la Interfaz WebLas páginas web (II)

Page 104: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 104/118

104

Los contenidos ó zonas más habituales en la webson:Información NavegaciónUbicación Información del Usuario

Institucional Entrada de DatosEnlaces de Aplicación PersonalizaciónEstructuras de Acceso “Otras” 

 

Implementación de la Interfaz WebLas páginas web (III)

Page 105: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 105/118

105

Zona de Información: Zona encargada de acceder alrepositorio del sistema (base de datos), recuperar lainformación y proporcionar acceso a la funcionalidad

Zona de Navegación: Zona encargada de proporcionar al

usuario el conjunto de enlaces (de exploración) que puedeactivar Zona de Ubicación: Zona encargada de notificar al usuario

de la ubicación de esta página dentro de la aplicación,indicando el camino navegacional seguido o secuencia de

páginas web que se ha seguido hasta llegar a la actual

 

Implementación de la Interfaz WebLas páginas web (IV)

Page 106: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 106/118

106

Zona de Información del Usuario: Zona responsable denotificar al usuario de sus datos para usuarios conidentificación

Zona Institucional: Zona encargada de proporcionar al

usuario información sobre la institución, empresa,organismo, etc. que está detrás de la aplicación Zona de Entrada de Datos: Zona encargada de

proporcionar un formulario al usuario para la introducción dedatos y responsable de enviar los datos del formulario al

servicio encargado de procesarlos

 

Implementación de la Interfaz WebLas páginas web (V)

Page 107: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 107/118

107

Zona de Enlaces de Aplicación: Zona donde aparecenenlaces a funcionalidades/enlaces comunes a todas lasaplicaciones para la web, como pueden ser lasfuncionalidades de Login , Home , etc.

Zona de Personalización: Es una zona de información que

depende de (está personalizada para) el usuario concretoque está conectado Zona de Estructuras de Acceso: Zona que contiene los

mecanismos avanzados de exploración (filtros, índices, etc.)dentro de una página

Zona “Otras”: Zona para introducir contenidos no estécatalogado en ninguno de los anteriores

 

Implementación de la Interfaz WebLas páginas web (VI)

Page 108: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 108/118

108- obligatorio - recomendable - no recomendable - opcional - pueden aparecer varias 

Pág. Información  Pág. Accesibilidad  Pág. Entrada Datos 

Z. Navegación    ,   

Z. Ubicación       

Z. Información  ,     

Z. Usuario       

Z. Institucional  ,  ,  , 

Z. Enlaces Aplic.       

Z. Entrada Datos       

Z. Personalización  ,  ,  , 

Z. Estruc. Acceso  ,  ,  , 

Z. “Otras”  ,  ,  , 

 

Implementación de la Interfaz WebEjemplo de Página de Información (I)

Page 109: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 109/118

109

Elegimos los siguientes contenidos para la página deinformación que vamos a implementar:

Pág. Información  Pág. Accesibilidad  Pág. Entrada Datos 

Z. Navegación    ,   

Z. Ubicación       

Z. Información  ,     

Z. Usuario       

Z. Institucional  ,  ,  , 

Z. Enlaces Aplic.       

Z. Entrada Datos       

Z. Personalización  ,  ,  , 

Z. Estruc. Acceso  ,  ,  , 

Z. “Otras”  ,  ,  , 

   

Implementación de la Interfaz WebEjemplo de Página de Información (I)

Page 110: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 110/118

110

Zona de Información 

<< context >>Members

Member

WorkOn

Entity

RGroupPattern:Register

E

Pattern:RegisterPagination:

Static Cardinality 1Sequential accessOrder:

isDoctor (ASC)surname (ASC) Pattern:Register Pattern:Register

<< context >>Members

+modify()

-name-surname-personalID-email-isDoctor-isPhDStudent-web-photo

Member

-phones-status

WorkOn

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

Entity

-name-acronym-web

RGroup / Leader / RGroup.name

[ RGroup ]

not hasGone

ATTRIBUTE ACCESS STRUCTURE MembersATTRIBUTES name, email, isPhD, WorkOn.statusLINK ATTRIBUTES name

E

ATTRIBUTE FILTER ByNameATTRIBUTES nameTYPE APPROXIMATE

«view»Member

«view»WorkOn

«view»Entity

Gestión de contenidosRecuperación de información,

activación de servicios ynavegación contextual

 

Implementación de la Interfaz WebEjemplo de Página de Información (II)

Page 111: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 111/118

111

Zona de Navegación 

Menu Navegacional¿A dónde puede navegar

el usuario a partir deesta página web?

 

Estrategia de Implementación.Interfaz Web. Ejemplo de Página de Información

Page 112: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 112/118

112

Zona de Ubicación Camino Navegacional¿Dónde está el usuario?¿Cómo ha llegado aquí?

 

Estrategia de Implementación.Interfaz Web. Ejemplo de Página de Información

Page 113: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 113/118

113

Zona de Enlaces de Aplicación 

Enlaces de AplicaciónHomeLog In

… 

 

Estrategia de Implementación.Interfaz Web. Ejemplo de Página de Información

Page 114: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 114/118

114

Zona de Estructuras de Acceso 

Estructuras Accesointra-contextual

Filtros de búsquedaÍndices de Acceso

Mecanismos de exploración… 

 

Estrategia de Implementación.Interfaz Web. Ejemplo de Página de Información

Page 115: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 115/118

115

Zonas Institucionales 

Zona InstitucionalOrganización/Empresa

LogosInformación Contacto

… 

 

Desarrollo de Aplicaciones para Entornos WebEscuela Técnica Superior de Informática Aplicada, 3er. CursoUniversitat Politècnica de València, 2003/2004

Professor: Joan Fons i Cors ([email protected])

Page 116: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 116/118

Conclusiones

 

Se han definido facilitades de modelado

Conclusiones (I)

Page 117: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 117/118

117

Se han definido facilitades de modelado conceptual para especificar aplicaciones webModelo de Navegación: captura requisitos

navegacionalesModelo de Presentación : especifica patrones

abstractos de presentación aplicados a losnodos navegacionales

Generación sistemática de código  prototipación rápida

estrategia dirigida por modelos

ESPACIO PROBLEMA

ESPACIO SOLUCIÓN

ProcesoAutomático

 

Se ha descrito un proceso sistemático para

Conclusiones (II)

Page 118: OOWS

5/10/2018 OOWS - slidepdf.com

http://slidepdf.com/reader/full/oows5571fcd54979599169980779 118/118

118

Se ha descrito un proceso sistemático paradesarrollar aplicaciones web

Aplicado el método a diferentes tipos deaplicaciones

Ingeniería del SW aplicada a la Web ... ¡¡Ingeniería Web!!