Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCésar Duarte Aguilera Modificado hace 10 años
1
Enginyeria del SW II: Enginyeria del software per web Enginyeria del software per web Toni Navarrete Enginyeria del Software II – UPF 2002
2
Enginyeria del SW II: Enginyeria del software per web Pàgina 2 Enginyeria Web Té sentit una Enginyeria Web? Hi ha alguna diferència amb Enginyeria del Software?
3
Enginyeria del SW II: Enginyeria del software per web Pàgina 3 Atributs de les aplicacions basades en web Powell [1]: “impliquen una mescla de publicació impresa i desenvolupament software, de marketing i informàtica, de comunicacions internes i relacions externes, i d’art i tecnologia” [1] T.A.Powell: Web Site Engineering. Prentice-Hall, 1998
4
Enginyeria del SW II: Enginyeria del software per web Pàgina 4 Atributs de les aplicacions basades en web Ús intensiu de xarxa Controlada pel contingut (hipermèdia) Evolució contínua Immediatesa Seguretat Estètica Equip multidisciplinar
5
Enginyeria del SW II: Enginyeria del software per web Pàgina 5 Categories d’aplicacions web Informativa: qualsevol de simple Descàrrega: tucows Personalitzable: my.yahoo.com Interacció: chat, foros,... Entrada de l’usuari: una web interna d’administració amb formularis (ex: kamp) Orientada a transaccions: comandes Amazon Orientada a serveis: calculador hipoteca eBankinter Portal: terra,... –Cercadors: google Accés a base de dades: programa d’actes de bcn.es Magatzems de dades Segons S. Dart: “Containing the Web Crisis Configuration Management”. Actes 1st ICSE Workshop on Web engineering, ACM. 1999.
6
Enginyeria del SW II: Enginyeria del software per web Pàgina 6 Categories d’aplicacions web Moltes aplicacions híbrides Important: no és el mateix desenvolupar per un tipus que per l’altre
7
Enginyeria del SW II: Enginyeria del software per web Pàgina 7 Aspectes de l’Enginyeria del Software per web Dos enfocaments: –Aspectes relacionats amb l’hipermèdia –Aspectes tecnològics
8
Enginyeria del SW II: Enginyeria del software per web Pàgina 8 Aspectes de l’Enginyeria del Software per web relacionats amb l’hipermèdia Què és hipermèdia –Aplicacions hipermèdia abans de la web –Importància de la navegació Metodologies específiques per aplicions hipermedia –2 exemples: RMM i OOHDM Separació del contingut de la presentació –Exemple: ús de plantilles –Configuració de diferents presentacions Disseny gràfic (disseny d’interfícies) –Assignatura “Disseny d’Interfícies”, 2 on curs Patrons –Vàries classificacions amb diferents enfocaments
9
Enginyeria del SW II: Enginyeria del software per web Pàgina 9 Definició d’hipermèdia Text seqüencial hipertext: text en format no seqüencial, compost de nodes i enllaços que els interconnecten. multimèdia: unió de diferents mitjans, com ara text, gràfics, vídeo,... hipermèdia: hipertext + multimèdia Hipertext
10
Enginyeria del SW II: Enginyeria del software per web Pàgina 10 Metodologies per a aplicacions hipermèdia Objectius de les metodologies orientades a hipermèdia: –Dotar d’un llenguatge comú als membres de l’equip –Millorar les estructures de navegació, fent-la sobretot més intuïtiva per a l’usuari final –Producte resultant fiable i eficient, seguint els requeriments Una primera eina: arbre (o graf) de navegació Dos exemples: –RMM: –OOHDM
11
Enginyeria del SW II: Enginyeria del software per web Pàgina 11 Metodologia RMM RMM: Relationship Management Methodology [1] Apropiada per a aplicacions amb dades estructurades Basada en el model RMDM (Relationship Management Data Model) –Model entitat-relació ampliat per reflectir l’estructura navegacional –Primitives del model: de domini –representen l’estructura de les dades i les relacions D’accés –representen els accessos navegacionals [1] T. Isakowitz, E. A. Stohr, P. Balasubramanian: RMM: A methodology for structured Hypermedia design. Communications of the ACM, 1995.
12
Enginyeria del SW II: Enginyeria del software per web Pàgina 12 RMM. Model RMDM Primitives de domini –entitats –relacions –slices: agrupacions d’atributs que formen una unitat pròpia dins de l’entitat Primitives d’accés –Índex condicional –visita guiada condicional –visita guiada indexada condicional –menú (grouping)
13
Enginyeria del SW II: Enginyeria del software per web Pàgina 13 Un exemple de model RMDM
14
Enginyeria del SW II: Enginyeria del software per web Pàgina 14 RMM Massa simple No té cap suport per a processos Els mecanismes de navegació són massa simples
15
Enginyeria del SW II: Enginyeria del software per web Pàgina 15 Metodologia OOHDM OOHDM: Object-Oriented Hypermedia Design Model [1] Fases: [1] Daniel Schwabe, Gustavo Rossi: The Object-Oriented Hypermedia Design Model. Communications of the ACM, August 1995
16
Enginyeria del SW II: Enginyeria del software per web Pàgina 16 Metodologia OOHDM Requirements GatheringConceptual Design
17
Enginyeria del SW II: Enginyeria del software per web Pàgina 17 Metodologia OOHDM Navigation Design
18
Enginyeria del SW II: Enginyeria del software per web Pàgina 18 UML UML resol part de les qüestions de representació de la navegació en el diagrama de classes (especialment el que presenta RMM) Classe AClasse B Navegació
19
Enginyeria del SW II: Enginyeria del software per web Pàgina 19 Patrons d’Estructuració de continguts [1] Estructuras lineales Estructura reticular Estructuras jerárquicas Estructura en red o “web pura” [1] Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill. 2002. Citant a T.A.Powell: Web Site Engineering. Prentice-Hall, 1998
20
Enginyeria del SW II: Enginyeria del software per web Pàgina 20 Patrons d’hipertext segons [1] i [2] Cycle (Ciclo) –Web Ring (Anillo de web) –Contour (Contorno) Counterpoing (Contrapunto) Mirrorworld (Mundo de espejo) Sieve (Tamiz) Neighbourhood (Vecindario) Altres: –Tangle –Split/join –Missing link –Navigational feint [1] Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill. 2002 [2] Mark Bernstein: Patterns in Hypertext. Actes del 9th ACM Conference on Hypertext, 1998
21
Enginyeria del SW II: Enginyeria del software per web Pàgina 21 Patrons d’hipermèdia segons [1] i [2] Navigation context patterns –Set-based Navigation –Nodes in Context Active Reference News Landmark Shopping basket Portal Disponibles a: http://www.telemidia.puc- rio.br/oohdm/oohdm.html [1] G. Rossi, D. Schwabe, F. Lyardet: " Patterns for Designing Navigable Spaces", Proc. of PLoP98, Monticello, USA, 1998 [2] G. Rossi, D. Schwabe, F. Lyardet: "Abstraction and Reuse Mechanisms in Web Application Models", Lecture Notes in Computer Science 1921, 2000
22
Enginyeria del SW II: Enginyeria del software per web Pàgina 22 Un exemple de patrons d’hipermèdia: Active Reference Problema: –Users don’t know where they are Solució –Visual information about the path
23
Enginyeria del SW II: Enginyeria del software per web Pàgina 23 Patrons per comerç electrònic [1] Opportunistic Linking Advising Explicit Process Easy Undo Push Communication Disponible a: http://www.telemidia.puc- rio.br/oohdm/oohdm.html [1] G. Rossi, D. Schwabe, F. Lyardet: "Patterns for E-Commerce Applications", Proc. Europlop 2000, Julho 2000, Kloster Irsee, Germany, 2000.
24
Enginyeria del SW II: Enginyeria del software per web Pàgina 24 Aspectes tecnológics de l’ES per web. Algunes particularitats de les apps. web (I) HTML XML Llenguatges de script Cookies CGIs, NSAPI, ISAPI, Servlets Pàgines amb codi incrustat (ASP, JSP, PHP) Servidors web Servidors d’aplicacions
25
Enginyeria del SW II: Enginyeria del software per web Pàgina 25 Aspectes tecnológics de l’ES per web. Algunes particularitats de les apps. web (II) Desenvolupament basat en components –Corba (IIOP), COM/DCOM, EJB –Web Services SOAP (Simple Object Access Protocol) –SOAP is a protocol specification that defines a uniform way of passing XML-encoded data. It also defines a way to perform remote procedure calls (RPCs) using HTTP as the underlying communication protocol. UDDI (Universal Description, Discovery and Integration Service) –UDDI provides a mechanism for clients to dynamically find other web services. Using a UDDI interface, businesses can dynamically connect to services provided by external business partners. WSDL (Web Services Definition Language) –WSDL provides a way for service providers to describe the basic format of web service requests over different protocols or encodings. WSDL is used to describe what a web service can do, where it resides, and how to invoke it. Mecanismes de seguretat
26
Enginyeria del SW II: Enginyeria del software per web Pàgina 26 Arquitectura Arquitectura basada en capes –Capa de presentació –Capa de negoci –Capa de dades Arquitectura de les aplicacions –D’una capa –De dues capes –De tres capes –“Mitja capa” (exemple: 2,5 capes) Distribució del procés entre client i servidor: –Thin web client: processos al servidor –Thick web client: Applet, ActiveX,...
27
Enginyeria del SW II: Enginyeria del software per web Pàgina 27 Arquitectura d’una capa Capa de presentació Capa de negoci Capa de dades Web server File system Browser
28
Enginyeria del SW II: Enginyeria del software per web Pàgina 28 Arquitectura de dues capes Capa de presentació Capa de negoci Capa de dades Web server File system Browser HTTP Base de dades JDBC
29
Enginyeria del SW II: Enginyeria del software per web Pàgina 29 Arquitectura de tres capes Capa de presentació Capa de negoci Capa de dades Application server File system Browser HTTP Base de dades JDBC Web server CORBA/RMI/...
30
Enginyeria del SW II: Enginyeria del software per web Pàgina 30 Arquitectura de dues capes i mitja Capa de presentació Web server File system HTTP Capa de dades JDBC Browser
31
Enginyeria del SW II: Enginyeria del software per web Pàgina 31 Factors de determinació d’arquitectures de dues o tres capes Complexitat de l’aplicació Mantenibilitat Pressió de la planificació Experiència de l’equip de desenvolupament Aplicacions de 2 capes Aplicacions de 3 capes
32
Enginyeria del SW II: Enginyeria del software per web Pàgina 32 Especificació de requeriments Se sol fer amb un model de casos d’ús Se li dóna molta importància a la interfície d’usuari Es habitual utilitzar prototipus no funcionals de la interfície (amb pàgines estàtiques o imatges)
33
Enginyeria del SW II: Enginyeria del software per web Pàgina 33 Serveis típics d’una aplicació web (orientada a comerç electrònic) Serveis de catàleg Serveis de cerca Serveis de comandes Serveis de seguiment Serveis de revisions (comentaris) Serveis de conferències Serveis de notícies o butlletins Control i admnistració de stocks Informes financers Segons Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill. 2002.
34
Enginyeria del SW II: Enginyeria del software per web Pàgina 34 Disseny Decidir la tecnologia per a les classes de frontera –Pàgina estàtica HTML –Swing –Servlets –JSP –Usant XML/XSL –...
35
Enginyeria del SW II: Enginyeria del software per web Pàgina 35 Estensió web d’UML Estereotips per modelar –Server Page –Client Page –Form –Frameset –Target –ClientScript Object –Web Page –ASP Page –JSP Page –Servlet –Script Library (veure fitxer extern)
36
Enginyeria del SW II: Enginyeria del software per web Pàgina 36 Un exemple
37
Enginyeria del SW II: Enginyeria del software per web Pàgina 37 Disseny Decidir la tecnologia per a les classes entitat (persistència) i de comunicació entre les capes de dades i de negoci –RMI –JDBC –EJB –... Disseny de la persistència: propera classe
38
Enginyeria del SW II: Enginyeria del software per web Pàgina 38 Proves El model de contingut de l’aplicació web és revisat per descobrir errors El model de disseny per l’aplicació web és revisat per descobrir errors de navegació S’apliquen proves d’unitat als components de procés seleccionats i a les pàgines web Es construeix l’arquitectura, es realitzen les proves d’integració L’aplicació web ensamblada es prova per a aconseguir una funcionalitat global i un contingut L’aplicació web s’implementa en una varietat de configuracions diferents d’entorns; cal comprovar la compatibilitat amb cada configuració L’aplicació web es prova amb una població d’usuaris finals controlada i monitoritzada
39
Enginyeria del SW II: Enginyeria del software per web Pàgina 39 Atributs de qualitat [1] [1] Roger S. Pressman: Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw Hill 2002. Citant a: Olsina et al.: Specifying Quality Characteristics and Atrributes for Web Sites. Actes del 1st Workshop on Web Engineering, ACM, 1995
40
Enginyeria del SW II: Enginyeria del software per web Pàgina 40 Desplegament Proveïdor de hosting –Hosting Màquina compartida Màquina pròpia amb servei d’administració Màquina pròpia amb administració pròpia (“lloguer d’espai”) –Domini Si hosting propi: –Contractació línia dedicada ADSL Frame-relay
41
Enginyeria del SW II: Enginyeria del software per web Pàgina 41 Un exemple de web hosting http://www.powweb.com
42
Enginyeria del SW II: Enginyeria del software per web Pàgina 42 Web hosting amb aplicacions Java Un llistat de proveïdors que ofereixen aquests serveis: –http://www.servlets.com/isps/servlet/ISPViewAllhttp://www.servlets.com/isps/servlet/ISPViewAll De la web de Javasoft Compa ny ProductJava Support Exodu s Managed Web Hosting Service Standard: iPlanet Web Server with JSP and Servlet support. Optional: BEA WebLogic or iPlanet IAS application servers GenuityBlack RocketOptional:BEA WebLogic, IBM WebSphere, or iPlanet IAS (6/2001) application servers QwestQwest InteractiveStandard: Sun ONE Application Server with JSP and Servlet support. Optional: BEA WebLogic or Sun ONE Application Server VerioVirtual Private ServerStandard: Apache Tomcat or JServ
43
Enginyeria del SW II: Enginyeria del software per web Pàgina 43 Un exemple de Web hosting amb aplicacions Java http://www.verio.com (també http://www.verio.es) http://www.verio.comhttp://www.verio.es
44
Enginyeria del SW II: Enginyeria del software per web Pàgina 44 Un exemple de proveïdor de domini http://www.15domains.com
45
Enginyeria del SW II: Enginyeria del software per web Pàgina 45 Debat final Té sentit parlar, després d’això, d’una disciplina anomenada Enginyeria web?
46
Enginyeria del SW II: Enginyeria del software per web Pàgina 46 Bibliografia utilitzada Pressman: Ingeniería del Software, un enfoque práctico. 5ª edición. McGraw Hill, 2002 Arrington: Enterprise Java with UML. John Wiley & Sons, 2001 Conallen: Building Web Applications with UML. Addisson-Wesley, 1999 Mark Wutka: Special Edition Using Java Server Pages and Servlets. Que, 2000 David Chappell, Tyler Jewell: Java Web Services. O’Reilly Articles citats a les transparències
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.