Web Engineering

 

Responsible:

Credits: 3

Requirements: Basic knowledge of HTML, XML, UML and Software Engineering.

Time: Saturday, 8:00 a.m. – 1:00 PM

Introduction

The World Wide Web have become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these web applications exhibit complex behavior and place some unique demands on their usability, performance, security and ability to grow and evolve. However, a vast majority of these applications continue to be developed in an ad-hoc way, contributing to problems of usability, maintainability, quality and reliability.[1][2] While web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations. In the recent years, there have been some developments towards addressing these problems and requirements. As an emerging discipline, web engineering actively promotes systematic, disciplined and quantifiable approaches towards successful development of high-quality, ubiquitously usable web-based systems and applications.[3][4] In particular, web engineering focuses on the methodologies, techniques and tools that are the foundation of web application development and which support their design, development, evolution, and evaluation. Web application development has certain characteristics that make it different from traditional software, information system, or computer application development.

Web engineering is multidisciplinary and encompasses contributions from diverse areas: systems analysis and design, software engineering, hypermedia/hypertext engineering, requirements engineering, human-computer interaction, user interface, information engineering, information indexing and retrieval, testing, modelling and simulation, project management, and graphic design and presentation. Web engineering is neither a clone, nor a subset of software engineering, although both involve programming and software development. While web Engineering uses software engineering principles, it encompasses new approaches, methodologies, tools, techniques, and guidelines to meet the unique requirements of web-based applications.

Objectives

The main objective of the course is set out formal guidelines from software engineering to build web applications. These guidelines provide support for the software development following methodologies for the design, implementation and testing of Web Applications, using different and modern technologies and standars.

Content

  • Review of World Wide Web Basics
  • Web Engineering Foundations and Field Applications
  • Web Engineering Methods
  • Web Technologies & Tools
  • Semantic Web
  • Web Intelligence (Adaptative Web Sites)
  • Web Quality Attributes: Security, Accesibility and Usability

Evaluation

  • Homework: 30%
  • First miniproject : 20%
  • Second miniproject : 20%
  • Final Project : 30%

Syllabus 2010

Session
1: Review of World Wide Web Basics ingweb_sesion1-2010.pdf
2: UML profile ingweb_umlprofile.pdf
3: Web Methods – Part Aingweb_sesion2-2010.pdf
4: HTTP Protocol ingweb_protocolohttp.pdf
5: Web Browsers ingweb_navegadores.pdf
6: Web Methods – Part B ingweb_sesion2-2010_parteb.pdf
7: Semantic Web ingweb_sesion3-websemantica.pdf
8: Ontologies ingweb_sesion4-ontologias.pdf
9: Usability, Accesibility & Internacionalization ingweb_sesion5-usaaccint.pdf
10: UI Design ingweb_sesion6-disenoiu.pdf
11: Social Networks and Semantic Web – Part I desysw_socialnetworksandsemanticweb.pdf
12: Social Networks and Semantic Web – Part II desysw_socialnetworksandsemanticweb_pii.pdf
13: Intelligent Web ingweb_webintelligence.pdf

Lectures and Extra Material 2010

Title
1: Web Engineering Introduction webengineeringintro.pdf
2: Web Methods modellingwawuml.pdf puml2001-hen-koch.pdf oows.pdf
3: XML xml.pdf, xml_esp.pdf
4: Semantic Web castells-uclm03.pdf, doc04websemantica.pdf
5: Social Networks and Semantic Web socialnetworksandthesemanticweb_parti_cap1.pdf

Laboratories and Tests

Title
1: GWT framework at http://netbeans.org/kb/docs/web/quickstart-webapps-gwt.html
2: Web Technologies Basic HTML, *HTML, HTML DOM, JS, JQuery, at http://www.w3schools.com
3: Homework 1 (UML profile) webeng-taller1_2010-2.pdf
4: ASP.NET Development at http://www.asp.net/mvc/samples/mvc-music-store
5: Miniproject 1: Designing a ASP.NET Music Store App with UWE. webeng-miniproyecto1_2010-2.pdf
6: XML Technologies (XML, XSD, XPath) at http://www.w3schools.com/xml/default.asp
7: RESTful Web Services at http://netbeans.org/kb/docs/websvc/rest.html
8: RDF at http://www.w3schools.com/rdf/default.asp
9: Miniproject 2: Extending and Queryng the RDF model’s family with Jena SPARQL API webeng-miniproyecto2_2010-2.pdf
10: Homework 2: Ontologies at http://protege.stanford.edu/overview/protege-owl.html , http://owl.cs.manchester.ac.uk/browser/ontologies/-1940493937/ , http://protege.stanford.edu/publications/ontology_development/ontology101.html
11: Final Project reference material: FOAF at http://xmlns.com/foaf/spec/ , Facebook API at http://developers.facebook.com/docs/reference/api , Netbeans 6.9 Facebook tutorial at http://netbeans.org/kb/docs/websvc/facebook.html

Evaluations

1: Results available at Javeriana university’s academic system
2: Final results notasingweb.pdf

Bibliography

1: Web Engineering: The Discipline of Systematic Development of Web Applications, Gerti Kappel, Birgit Prýýll, Siegfried Reich, Werner Retschitzegger
2: Java 2EE and XML development, Gabrick, Kurt A. (*)
3: Data on the Web : from relations to semiestructured data and XML, Abiteboul, Serge. (*)
4: Essential Software Architecture, Ian Gorton
5: Web Application Architecture: Principles, Protocols and Practices. Leon Shklar, Richard Rosen.
6: Developing Java web services : architecting and developing secure web services using Java. Nagappan, Armes. (*)
: Java web services in a nutshell. – 1ed. Topley, Kim. (*)
8: Service-Oriented Architecture (SOA): Concepts, Technology, and Design.Thomas Erl.
9: Pro JSF and Ajax : building rich Internet components, Jacobi, Jonas. (*)
10: Ajax Patterns and Best Practices, Christian Gross.
11: Ajax in Action, Dave Crane, Eric pascarello, Darren James.
12: Spinning the semantic web : bringing the world wide web to its full potential. Fensel, Dieter. (*)

(*): Volúmenes disponibles en biblioteca.

Software

References

1: Roger S Pressman, “Can Internet Applications be Engineered?” IEEE Software, Vol. 15, No. 5, Sep/Oct 1998, pp 104-110
2: Roger S Pressman, “What a Tangled Web we Weave,” IEEE Software, Jan/Feb 2001, Vol. 18, No.1, pp 18-21
3: a b San Murugesan, Yogesh Deshpande, Steve Hansen and Athula Ginige, “Web Engineering: A New Discipline for Development of Web-based Systems,” Proceedings of the First International Conference of Software Engineering (ICSE) Workshop on Web Engineering, Los Angeles, USA, 1999. Also published in Web Engineering: Managing Diversity and Complexity of Web Application Development, San Murugesan and Yogesh Deshpande (Eds), LNCS 2016, Springer Verlag, Berlin Heidelberg, 2001
4: Athula Ginige and San Murugesan, “Web Engineering: An Introduction,” IEEE Multimedia, Vol. 8, No. 1, January 2001, pp 14-18