Modelos de desarrollo de aplicaciones web

46
UNIDAD IV I-2013 Modelos de desarrollo para aplicaciones web Prof. Yaskelly Yedra INGENIERÍA DE SOFTWARE

Transcript of Modelos de desarrollo de aplicaciones web

Page 1: Modelos de desarrollo de aplicaciones web

UNIDAD IVI-2013

Modelos de desarrollo para aplicaciones web

Prof. Yaskelly Yedra

INGENIERÍA DE SOFTWARE

Page 2: Modelos de desarrollo de aplicaciones web

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

Page 3: Modelos de desarrollo de aplicaciones web

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

Page 4: Modelos de desarrollo de aplicaciones 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

Page 5: Modelos de desarrollo de aplicaciones web

5

Consideraciones previas

La Ingeniería Web es un campo multidisciplinar

Page 6: Modelos de desarrollo de aplicaciones web

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

Page 7: Modelos de desarrollo de aplicaciones web

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

Page 8: Modelos de desarrollo de aplicaciones web

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

Page 9: Modelos de desarrollo de aplicaciones web

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

Page 10: Modelos de desarrollo de 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).

Page 11: Modelos de desarrollo de aplicaciones web

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

Page 12: Modelos de desarrollo de aplicaciones web

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

Page 13: Modelos de desarrollo de aplicaciones web

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

Page 14: Modelos de desarrollo de aplicaciones web

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

Page 15: Modelos de desarrollo de aplicaciones web

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

Page 16: Modelos de desarrollo de aplicaciones web

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

Page 17: Modelos de desarrollo de aplicaciones web

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)

Page 18: Modelos de desarrollo de aplicaciones web

18

RMM (Relationship Management Methodology)(Isakowitz et al., 1995)

Page 19: Modelos de desarrollo de aplicaciones web

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

Page 20: Modelos de desarrollo de aplicaciones web

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

Page 21: Modelos de desarrollo de aplicaciones web

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)

Page 22: Modelos de desarrollo de aplicaciones web

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)

Page 23: Modelos de desarrollo de aplicaciones web

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)

Page 24: Modelos de desarrollo de aplicaciones web

24

OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)

Page 25: Modelos de desarrollo de aplicaciones web

25

OOHDM (Object-Oriented Hypermedia Design Method)(Schwabe y Rossi, 1995; Rossi, 1996)

Relación entre los objetos conceptuales, navegacionalesy de interfaz propios deOOHDM.

Page 26: Modelos de desarrollo de aplicaciones web

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

Page 27: Modelos de desarrollo de aplicaciones web

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)

Page 28: Modelos de desarrollo de aplicaciones web

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

Page 29: Modelos de desarrollo de aplicaciones web

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)

Page 30: Modelos de desarrollo de aplicaciones web

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)

Page 31: Modelos de desarrollo de aplicaciones web

31

WSDN (Web Site Design Method)(De Troyer y Leune, 1997)

Page 32: Modelos de desarrollo de aplicaciones web

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

Page 33: Modelos de desarrollo de aplicaciones web

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

Page 34: Modelos de desarrollo de aplicaciones web

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

Page 35: Modelos de desarrollo de aplicaciones web

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

Page 36: Modelos de desarrollo de aplicaciones web

36

SOHDM (Scenario-based Object-oriented Hypermedia Design Methodology)

(Lee et al., 1998)

Page 37: Modelos de desarrollo de aplicaciones web

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

Page 38: Modelos de desarrollo de aplicaciones web

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)

Page 39: Modelos de desarrollo de aplicaciones web

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

Page 40: Modelos de desarrollo de aplicaciones web

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)

Page 41: Modelos de desarrollo de aplicaciones web

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)

Page 42: Modelos de desarrollo de aplicaciones web

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)

Page 43: Modelos de desarrollo de aplicaciones web

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

Page 44: Modelos de desarrollo de aplicaciones web

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

Page 45: Modelos de desarrollo de aplicaciones web

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

Page 46: Modelos de desarrollo de aplicaciones web

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