Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 16 Calidad de Los Sistemas Web El Modelo de Navegación
Clase 16 Calidad de Los Sistemas Web El Modelo de Navegación
16
Modalidad de Educación Semipresencial
Calidad de los
UNIVERSIDAD PERUANA LOS ANDES
sistemas Web. El
modelo de
Facultad de Ingeniería
navegación.
Docente: Mg. Freddy Toribio Huayta Meza
12
Métodos para la Ingeniería Web
› Diferentes aproximaciones
14
Concepto de metodología
Una metodología es una aproximación
organizada
y sistemática para el ciclo de vida del sistema o
sus
partes. Especifica las tareas individuales y sus
secuencias
19
Objetivo
20
Bases
› Las técnicas de Modelado Conceptual proporcionan un
enfoque metodológico y sistemático a la especificación de
aplicaciones tradicionales
21
Necesidad: Un método para la
construcción aplicaciones web
22
¿Qué es OOWS?
› OOWS (Object-Oriented Approach for Web Solutions
Modeling) (Pastor et al., 2001)
24
Modelado conceptual en OOWS (y 2)
2. Modelado Conceptual
– M. Objetos: Define la estructura y las relaciones estáticas
entre clases identificadas en el dominio del problema
– M. Dinámico: Se describen las posibles secuencias de
servicios y los aspectos relacionados con la comunicación
interobjetual
– M. Funcional: Captura la semántica asociada a los cambios
de estado entre los objetos motivados por la ocurrencia de
eventos o servicios
– M. Navegación: Define la semántica navegacional asociada
las clases de los objetos del modelo
– M. Presentación: Captura los requisitos básicos de
presentación de información, orientado a ambientes web.
Está fuertemente basado en el modelo de navegación y
permite definir la estructura lógica de presentación de los
objetos navegacionales
25
OOWS. Proceso de desarrollo
R egistro - C om pra C esta de la com pra 1
Especificación Conceptual Especificación de
Requisitos
U suario N avegante
2
Construcción del C ategorías A utores
Esquema Conceptual con expresividad navegacional y de presentación de información
ELICITACIÓN DE
REQUISITOS Modelo Modelo
OOWS
Diagrama
Casos de Uso y
Escenarios
Clases Navegacional Presentación
(Object-Oriented
Web Solutions)
Diagrama
Estado
Implementación
27
Esquema conceptual RGroup_BelongsTo
-
<< Members.Entity >>
- *
0..1
1 RGroup - RGroup_Members
0..1 -name -
-acrony m Leader
- 1
* -web - GroupOwn
- +create() 0..1
+modif y ()
+destroy () * -
- 0..1
- * Resources - - Uses
Resource
Projects
-description
<< Members.SecurityLevel >> Project -* -*
+create() MemberOwn
-title
- +modif y ()
-f inantialOrg ProjectOwn +destroy ()
-money * *
-initialY ear
* - *
* -initialMonth
RGroup_Activ ities Project_Security Lev els * -endY ear -
-endMonth ResourceTy pe ResourceType
-additionalInf o 1
- 0..1 -name * -
-mainResearchers
-numResearchers +create() 0..1 -* -
-web +modif y ()
*
-v alidated +destroy ()
Project_Participants - << Members.Member >>
* +create() -
Project_Activ ities +modif y () -
+destroy () *
*
Lines
ResearchLines
- *
1- *- 1- *
ChildLines
0..1 ParentLine
Diagrama de Clases
SubLines
28
Modelo de navegación (1)
› Especificación de las características navegacionales de una aplicación
web
30
Modelo de navegación (3)
Diagrama de Agentes
Visibilidad
Administrator
31
Modelo de navegación (y 4)
› Primitivas de Abstracción Básicas
– Mapa Navegacional
“Visión Global de una aplicación web según un perfil de
usuario”
– Contexto de Navegación
“Conjuntos de objetos que el usuario irá navegar”
– Vínculo de Navegación
“Indica la navegación entre contextos de navegación”
– Clase Navegacional
“Contenido de la información por el cual los usuarios
navegarán”
– Relaciones
“Maneras de navegar para acceder al contenido de la
información” 32
Primitivas de abstracción
Mapa de navegación (1)
› El Modelo de Navegación está compuesto por un conjunto
de mapas de navegación
– Define el sitio web
33
Primitivas de abstracción
Mapa de navegación (2)
<<Contexto>>
Agente
Home
Internauta Vínculos de Navegación
E E
<<Contexto>> <<Context>>
Contextos de Productos CestaCompra
Navegación
S
<<Contexto>>
Libros
34
Primitivas de abstracción
Mapa de navegación (y 3)
Mapa Navegacional Cambio de Rol
Anonymous
Navegación
Enlace de Navegación
35
Primitivas de abstracción Contexto
Navegacional (1)
› Unidad de Interacción Abstracta básica con el usuario
<<Contexto>>
clase directora clases navegacionales
Libros
<<view>> <<view>>
Libro Revisión
titulo
ISBN descripción
crear()
borrar()
clases complementarias
<<view>>
Autor relaciones
nombre
Contexto Navegacional
37
Primitivas de abstracción Contexto
Navegacional (y 3)
› Los contextos tienen un carácter navegacional que permite
estructurar la navegación por el sistema
38
Primitivas de abstracción Vínculo
Navegacional (1)
› Define una relación de alcance (navegación)
entre Contextos de Navegación
Vinculo de Navegación
39
Ejemplo Contextos de
Navegación
Vínculos de Navegación
40
Primitivas de abstracción
Clase Navegacional (1)
› Proyecciones de visibilidad sobre clases existentes en el
Modelo de Objetos con respecto a
– Atributos: Datos del sistema visibles que por el usuario
– Servicios: Funcionalidad ejecutable por el usuario
› Gráficamente son clases UML estereotipadas con la
palabra reservada « view »
41
Primitivas de abstracción
Clase Navegacional (y 2)
› Existen de dos tipos
– Clase Directora: Es la clase principal de un contexto. Existe una
única por contexto (obligatoria). El contexto se centra en
presentar información y funcionalidad de esta clase
– Clases Complementarias: Su utilidad es complementar la
información de la clase directora. Pueden aparecer varias por
contexto (no son obligatorias)
<<context>>
Libro
<< view >> << view >>
Clase Libro Revisión
Directora
<< view >> Clases Complementarias
Autor
42
Primitivas de abstracción Relación
Navegacional (1)
› Es una relación binaria unidireccional existente entre dos
clases de un contexto
› Dos tipos
– Relaciones de Dependencia Contextual
– Relaciones de Contexto
43
Primitivas de abstracción Relación
Navegacional (2)
› Relación de Dependencia Contextual
– Indica la existencia de una relación entre dos clases de un contexto,
pero no define una semántica navegacional entre ellas
– Complementa la clase navegacional origen con su población
relacionada
› Indica una recuperación de información relacionada de las
instancias de la clase complementaria
– Gráficamente se representa mediante una línea discontinua
<<view>>
Libro <<view>>
nombre Autor
año nombre
<<view>> <<view>>
Libro Autores
[Autores]
<<Context>>
<<view>> Libros
Libro
ISBN <<view>>
Título
Fotografía Autor
Precio [Autores] nombre
Disponibilidad
Definición de navegación
Indice_ventas
al Contexto “Autores”
Información de la clase Información de la clase
directora “Libro” complementaria “Autor” 46
Construcción del Modelo de
Navegación (1)
1. Identificación de Agentes
– Buscar en el Modelo de Objetos los agentes del sistema
– Detectar las relaciones entre los agentes (reutilización
navegacional)
› Construir los árboles de agentes, donde aparece cada agente y sus
relaciones con los demás
› Estos árboles están compuestos de
– Agentes/Clases Base
– Agentes/SubClases
Agent_1 Agent_2
is_a
Agentes/Clase Base
Agent_3
Agentes/SubClases
DIAGRAMA DE AGENTES
47
Construcción del Modelo de
Navegación (y 2)
2. Construcción de los Mapas
Estrategia Top-Down Estrategia Bottom-Up
<< Context >>
Home S
Internauta <<context>>
Books
<< view >>
<< Context >> << Context >> Book
ISBN << view >>
Products ShoppingCart Author
Name
Year
Name
Pages
create()
destroy()
<< Context >>
Home
S Internauta
<<context>>
Books
<< view >> << Context >> << Context >>
Book
<< view >>
Products ShoppingCart
ISBN
Name Author
Year
Name
Pages
create()
destroy() << Context >>
48
Modelo de presentación
› Tras la especificación del Modelo de Navegación se construye
el Modelo de Presentación
50
Modelo de Presentación. Patrones de
presentación (2)
› Patrón de Criterio de Ordenación
– Permite definir una ordenación de la población de una
clase atendiendo a un criterio
– Este criterio deberá estar en función de propiedades
(atributos) de alguna clase del contexto
– Se puede aplicar a
› Clases Navegacionales, indicando cómo se recuperarán las
instancias de estas clases
› Estructuras de Acceso y Mecanismos de Búsqueda, para ordenar
los resultados obtenidos
– Existen de dos tipos: Ascendente y Descendente
– En caso de especificación de varios atributos, la
ordenación es jerárquica
51
Modelo de Presentación. Patrones de
presentación (3)
› Patrón de Paginación
– Define un scrolling de información, creando bloques lógicos en
los que las instancias son “troceadas”
– Se especifica una cardinalidad, o número de instancias a
recuperar
– Puede ser estática o dinámica, en función de si el usuario puede
o no modificar la cardinalidad
– Existen dos tipos
› De acceso secuencial, cuando desde un bloque lógico sólo se puede ir
al siguiente, al anterior, al primero o al último
› De acceso aleatorio, cuando desde un bloque lógico se puede acceder
directamente a cualquier otro
– Se puede definir como circular, indicando que el siguiente bloque
lógico al último es el primero y viceversa
– Se aplica a
› A la clase directora: Permite restringir el número de instancias de la
clase principal que se recuperarán
› A las relaciones navegacionales: Restringiendo el número de instancias
de objetos relacionados que se recuperarán
52
Modelo de Presentación. Patrones de
presentación (y 4)