Modelos de desarrollo de aplicaciones web
-
Upload
yaskelly-yedra -
Category
Software
-
view
856 -
download
2
Transcript of Modelos de desarrollo de aplicaciones web
UNIDAD IVI-2013
Modelos de desarrollo para aplicaciones web
Prof. Yaskelly Yedra
INGENIERÍA DE SOFTWARE
2
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)
4. Métodos de desarrollo para aplicaciones web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
3
Consideraciones previas
La tendencia de las organizaciones es tener soluciones software funcionales en el contexto de la web.
Se requiere una funcionalidad correcta, enlazando el problema de desarrollar soluciones web con la correcta práctica de la Ingeniería del Software.
El desarrollo de aplicaciones web se le conoce como el área de la Ingeniería Web.
La Ingeniería Web incorpora nuevas aproximaciones,metodologías, técnicas y guías para cumplir los requisitos de los sistemas web
4
Consideraciones previas
La aplicación de una aproximación sistemática,disciplinada y cuantificable al desarrollo, operación ymantenimiento de aplicaciones basadas en la Web o laaplicación de la ingeniería al software basado en la Web(Murugesan et al., 2001).
La aplicación de principios científicos para diseñar y crearsistemas de información basados en la Web efectivos deuna manera eficiente (Ginige, 2000).
Definición de Ingeniería Web
5
Consideraciones previas
La Ingeniería Web es un campo multidisciplinar
6
Consideraciones previas
« Antes de comenzar a construir, lo mejor es entender elproblema, diseñar una solución viable, implementarla deuna manera sólida y comprobarla en profundidad.
Probablemente también se debería controlar los cambiosa medida que el trabajo vaya avanzando, y disponer demecanismos para asegurar la calidad del resultado final.
Muchos de los que desarrollan Web no dicen lo mismo;ellos piensan que su mundo es realmente diferente, y quesimplemente no se van a aplicar los enfoques deIngeniería del Software convencionales»
Roger S. Pressman
7
Contenido
1. Consideraciones previas2. Diferencias en el desarrollo de
aplicaciones web
3. Métodos para la Ingeniería Web (IW)
4. Métodos de desarrollo para aplicaciones web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
8
Diferencias en el desarrollo de aplicaciones Web
Se diferencias en la naturaleza y en el ciclo de vida de las aplicaciones web.
Están orientados a documentos que contienen páginas web estáticas o dinámicas
Se centran en el look & feel y enfatizan la creatividad visual y la presentación en la interfaz
Son conducidos por el contenido, incluyendo el desarrollo del contenido
Necesitan ofrecer servicios a usuarios con diversidad de características y capacidades
9
Diferencias en el desarrollo de aplicaciones Web
La complejidad aumenta debido a la no linealidad de loshiperdocumentos y la facilidad de conectar aplicacionesweb entre sí.
Las aplicaciones web tienen en cuenta aspectosestéticos y cognitivos que las aproximaciones deIngeniería del Software tradicionales no soportan(Nanard y Nanard, 1995)
El proceso tiende a ser más incremental e iterativo, y elmantenimiento pasa a ser una parte significativa delciclo de vida de las aplicaciones web
10
Diferencias en el desarrollo de aplicaciones Web
La Ingeniería Web adopta muchos de los principios yprácticas de la Ingeniería del Software
La Ingeniería Web incorpora nuevas aproximaciones,metodologías, técnicas y guías para cumplir los requisitosde los sistemas web
El desarrollo web es una mezcla entre la publicación y el desarrollo de software, entre la mercadotecnia y la computación, entre las comunicaciones internas y las relaciones externas, y entre el arte y la tecnología
(Powell, 1998).
11
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)
4. Métodos de desarrollo para aplicaciones web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
12
UCV Esc Computación Lab MeFIS:
Métodos para la Ingeniería Web (IW)
Se han definido diversos métodos para la construcción de aplicaciones web:
Proponen diferentes pasos y actividades
Algunos se centran sólo en el diseño o en la representación visual, mientras que otros cubren todo el proceso de desarrollo de una aplicación web
Todos prescriben diferentes técnicas y notaciones
Algunos están soportados por herramientas
13
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)4. Métodos de desarrollo para aplicaciones
web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
14
HDM (Hypermedia Design Model) Garzotto et al., 1993
Es uno de los primeros métodos desarrollados para la definición de la estructura y la interacción de las aplicaciones hipermediales
Se basa en la técnica de modelado conceptual Entidad/Relación
Extiende el concepto de entidad e introduce nuevas primitivas
Unidades (que se corresponden con el concepto de nodo)
Enlaces
15
HDM (Hypermedia Design Model) Garzotto et al., 1993
Las entidades HDM tienen una estructura interna y semántica de navegación asociada
Especificación de cómo se puede llevar a cabo la navegación y de cómo se visualiza la informaciónExisten tres tipos de enlaces:
Estructurales: Conectan componentes
De perspectiva: Conectan unidades
De aplicación: conectan componentes y entidades
16
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)4. Métodos de desarrollo para aplicaciones
web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
17
Se ocupa del diseño y construcción de aplicacioneshipermedia definiendo un proceso formado por siete pasos
1. Diseño entidad/relación
2. Diseño de vistas de información (slices)
3. Diseño de la navegación
4. Diseño de la interfaz de usuario
5. Diseño del protocolo de conversión
6. Diseño del comportamiento en ejecución
7. Construcción y prueba
RMM (Relationship Management Methodology)(Isakowitz et al., 1995)
18
RMM (Relationship Management Methodology)(Isakowitz et al., 1995)
19
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)4. Métodos de desarrollo para aplicaciones
web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
20
OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)
Conlleva cinco actividades:
1. Obtención de requisitos
2. Modelado conceptual
3. Diseño navegacional
4. Diseño de la interfaz abstracta
5. Implementación
Las actividades se llevan a cabo mediante un procesoincremental e iterativo, que hace uso de prototipos
Los modelos objetos se construyen en cada pasomejorando los de las iteraciones anteriores
21
El modelado conceptual se lleva a cabo con un diagramade clases
Primero utilizando notación OMT (Rumbaugh et al., 1991) y
posteriormente notación UML (OMG, 2004)
Este método ve a una aplicación web como una vista del modelo
conceptual
Las clases que definen las vistas son las clases navegacionales
El modelo conceptual incluye dos tipos de objetos
• Los que se perciben como nodos en el modelo navegacional
• Los que ofrecen un soporte computacional a la aplicación web
Encapsulan comportamiento como algoritmos, acceso a bd…
OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)
22
El concepto de contexto navegacional se introduce para describir la estructura de navegación
Permite diferentes agrupaciones de objetos navegacionales con
el propósito de navegar por ellos en diferentes contextos
El acceso a estos elementos navegacionales se modela
mediante estructuras de acceso, como índices por ejemplo
Se utiliza una notación propia para la representación del
esquema del contexto navegacional
OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)
23
El modelo de interfaz abstracta es el resultado de
especificar los objetos de interfaz que el usuario
percibe
OOHDM utiliza ADVs (Abstract Data Views) para modelar los
aspectos estáticos de la interfaz de usuario, utilizando
diagramas de transición de estados para modelar los aspectos
dinámicos
OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)
24
OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)
25
OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)
Relación entre los objetos conceptuales, navegacionalesy de interfaz propios deOOHDM.
26
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)4. Métodos de desarrollo para aplicaciones
web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
27
Aproximación centrada en el usuario que define objetosde información basándose en los requisitos deinformación de los usuarios de una aplicación web
Conlleva tres fases principales1. Modelado de usuario
2. Diseño conceptual
3. Diseño de la implementación
Modelado de usuario Los usuarios de la aplicación web se identifican y se clasifican de
acuerdo a sus intereses y preferencias de navegación
El punto de comienzo es la descripción del dominio, teniendo en cuenta las actividades de usuario
WSDN (Web Site Design Method)(De Troyer y Leune, 1997)
28
Diseño conceptual (dos fases)
1. Modelado de objetos El modelado de objetos conlleva tres pasos: modelado de
objetos de negocio, modelado de objetos de usuario y modelado de objetos de perspectivas
WSDN (Web Site Design Method)(De Troyer y Leune, 1997)
Modelado de usuario… Cada perfil de usuario potencial es descubierto y se plasma en una
clase
29
2. Diseño navegacional El modelo navegacional consiste en un número de caminos de
navegación, una por cada perspectiva, expresando cómo los usuarios de un perspectiva particular pueden navegar a través de la información disponible
Se describe en término de componentes y enlaces
Se distinguen tres tipos de componentes: navegación, información y externos
Cada camino de navegación tienes tres capas: contexto, navegación e información
Este tipo de diseño de navegación provoca aplicaciones con una estructura muy jerárquica
WSDN (Web Site Design Method)(De Troyer y Leune, 1997)
30
Diseño de la implementación Crea un look&feel eficiente y consistente con el modelo
conceptual
Se dan pocas recomendaciones en este apartado
Combina una notación propia con OMT (Rumbaughet al., 1991)
WSDN (Web Site Design Method)(De Troyer y Leune, 1997)
31
WSDN (Web Site Design Method)(De Troyer y Leune, 1997)
32
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)4. Métodos de desarrollo para aplicaciones
web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
33
SOHDM (Scenario-based Object-oriented Hypermedia Design Methodology)
(Lee et al., 1998)
Comprende seis fases
1. Análisis de dominio
2. Modelado de objetos
3. Diseño de vistas
4. Diseño de navegación
5. Diseño de la implementación
6. Construcción
34
SOHDM (Scenario-based Object-oriented Hypermedia Design Methodology)
(Lee et al., 1998)
El diseño de vistas consiste en determinar vistas quevienen generadas de una única clase o de asociacionesentre clases Las vistas son similares a los contextos de OOHDM
Hay tres clases de vistas
• Vistas base: se genera de una única clase
• Vistas de asociación: se extrae de una relación de asociación
• Vistas de colaboración: proviene de una relación de colaboración
El diseño de la navegación emplea escenarios para determinar la estructura de los nodos
35
SOHDM (Scenario-based Object-oriented Hypermedia Design Methodology)
(Lee et al., 1998)
Las estructuras de acceso a los nodos (ASN – AccessStructure Nodes), junto con las vistas, se denominanunidades de navegación Las ASNs son similares a las primitivas de acceso de RMM
Este método define su propia notación gráfica
Tiene similitudes con RMM (Isakowitz et al., 1995), y conOOHDM (Schwabe y Rossi, 1998)
Difiere en que usa escenarios
Los escenarios se definen en el análisis de dominio y se utilizan para
el modelado de objetos
36
SOHDM (Scenario-based Object-oriented Hypermedia Design Methodology)
(Lee et al., 1998)
37
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)4. Métodos de desarrollo para aplicaciones
web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
38
Método de desarrollo de aplicaciones web queextiende OO-Method (Pastor et al., 2001b)Se introducen nuevas características navegacionales
Notación basada en UML (OMG, 2004)
Dos grandes fasesEspecificación Conceptual
Generación Automática
OOWS (Object-Oriented Approach for Web Solutions Modeling)
(Pastor et al., 2001a)
39
Contenido
1. Consideraciones previas
2. Diferencias en el desarrollo de aplicaciones web
3. Métodos para la Ingeniería Web (IW)4. Métodos de desarrollo para aplicaciones
web
• HDM • WSDM • OOWS• RMM • SOHDM • OO-HMethod
(OOH)• OOHDM • OO-Method
40
Método genérico para el desarrollo de la estructurasemántica de las aplicaciones web Se centra en las actividades globales (authoring in the
large), esto es, en las clases y estructuras
Se despreocupa del contenido de los nodos de información (authoring in the small)
Extiende OO-Method (Pastor et al., 2001b) Extiende la notación para expresar un modelo abstracto de
interfaz de usuario
Se captura la información a que cada tipo de usuario (agente) puede acceder, así como los caminos de navegación entre vistas de información
OO-HMethod(Gómez et al., 2000; Cachero et al., 2000)
41
El desarrollo de una aplicación web se aborda tantoa nivel conceptual como a nivel de ejecución
El modelo de navegación se captura en el NAD(Navigation Access Diagram)
La estructura y visualización de la interfaz seexpresan en el APD (Abstract PresentationDiagram)
Tanto el NAD como el APD capturan la informaciónrelevante gracias a un conjunto de patronesdefinidos en el Catálogo de patrones de OO-HMethod (Cachero et al., 2000)
OO-HMethod(Gómez et al., 2000; Cachero et al., 2000)
42
La diferencia principal entre OO-HMethod y OOWS esque este último es un extensión plena de OO-MethodOOWS incluye completamente la especificación funcional,
mientras que OO-HMethod sólo especifica la interfaz
Otra diferencia aparece en el modelo de navegación,concretamente en el concepto de nodo• OO-HMethod asocia diferentes diagramas de acceso a cada
tipo de usuario, pero los nodos (clases de navegación) selimitan a presentar información de una sola clase
• Los nodos en OOWS (contextos navegacionales) puedentrabajar con vistas de varias clases, mostrando la informaciónapropiada para el usuario en cada momento
OO-HMethod(Gómez et al., 2000; Cachero et al., 2000)
43
Cachero, C., Gómez, J. y Pastor, O. (2000) Object-OrientedConceptual Modeling of Web Application Interfaces: the OO-HMethodPresentation Abstract Model. En Proceedings of ECWEB'00(Greenwhich, London September 2000). Lecture Notes in ComputerScience, Vol. LNCS 1875. Páginas 206-215. Springer-Verlag
De Troyer, O. y Leune, C. (1997) WSDN: A User-Centered DesignMethod for Web Sites. En Proceedings of the 7th International WorldWide Web Conference
Fons, J., Pastor, Ó., Valderas, P., Ruiz, M. (2002) OOWS: Un Métodode Producción de Software en Ambientes Web. En F. J. García (Ed.)Avances en Comercio Electrónico, pp.121-136. Avalon ProgrammingSolutions
Garzotto, F., Paolini, P. y Schwabe, D. (1993) HDM – A Model-BasedApproach to Hypermedia Application Design. ACM Transactions onInformation Systems, 11(1), 1-26
Referencias
44
Gómez, J., Cachero, C. y Pastor, O. (2000) Extending a ConceptualModeling Approach to Web Application Design. En Proceedings ofConference on Advanced Information Systems Engineering (CAiSE).Lecture Notes in Computer Science. LNCS 1789. Páginas 79-93.Springer Verlag
Isakowitz, T., Stohr, E. y Balasubramanian, P. (1995) RMM: AMethodology for the Design of Structured Hypermedia Applications.Communications of the ACM, 38(8), 34-44
Lee, H., Lee, C. y Yoo, C. (1998) A Scenario-Based Object-OrientedMethodology for Developing Hypermedia Information Systems. EnProceedings of 31st Annual Conference on System Science
Nanard, J. y Nanard, N. (1995) Hypertext Design Environments andthe Hypertext Design Process. Communications of the ACM,38(8):49-56
Referencias
45
Rossi, G. (1996) OOHDM: Object-Oriented Hypermedia DesignMethod. PhD Thesis, PUCRio, Brazil
Schwabe, D. y Rosssi, G. (1995) The Object-Oriented HypermediaDesign Model. Communications of the ACM, 38(8):45-46
Schwabe, D. y Rossi, G. (1998) An Object Oriented Approach toWeb-Based Application Design. Theory and Practice of ObjectSystems, 4(4)
Ginige, A. (2000) Engineering a Better Web Site. Keynote Address,Asia Pacific Web Conference, APWeb2000, Xian, China, October2000
Ginige, A. y Murugesan, S. (2001) Web Engineering-An Introduction.IEEE Multimedia, 8(1):14-18
Referencias
46
Murugesan, S. (2000) Web Engineering for Successful SoftwareDevelopment. Tutorial Notes, Asia Pacific Web Conference,APWeb2000, Xian, China, October 2000
Powell, T. A. (1998) Web Site Engineering: Beyond Web PageDesign. Prentice-Hall
Pressman, R. S. (2000) Software Engineering: A Practitioner’sApproach –European Adaptation. 5th Edition. McGraw-Hill
Referencias