Saltar al contingut Menu
  • Home
  • Information
  • Contact
  • Map

Design of Web-based Systems (DSBW)

Credits Dept.
7.5 (6.0 ECTS) ESSI


Person in charge:  (-)

General goals

This subject aims to extend and integrate students' knowledge from earlier engineering subjects in the area of designing distributed and web-based object-oriented applications by applying patterns for design and using UML language.

Specific goals


  1. Learn the Web technologies needed for Web applications.
  2. Learn the main business models for Web-based systems.
  3. Learn the methodology for developing Web applications.
  4. Learn the specific UML elements used for designing Web applications.
  5. Acquaintance with approaches to the design of Web applications.
  6. Knowledge of XML and its applications for developing a Web site.


  1. Learn how to apply and incorporate the knowledge acquired on the Software Engineering courses, adapting this where necessary to the special requirements of Web development.
  2. Learn how to construct the various UML required to document the development of Web applications.
  3. Know how to identify patterns that can be properly applied at the design stage.
  4. Learn how to implement, deploy and configure Web applications.
  5. Learn how to identify the main security risks in Web applications and the strategies for addressing them.
  6. Learn how to design and run tests for web applications.


  1. Ability to design systems, components and processes meeting certain needs, using the most appropriate methods, techniques and tools in each case.
  2. Ability to logically argue the decisions taken, work done, or a given viewpoint. Ability to give well-reasoned opinions with a view to convincing others.
  3. Ability to take take decisions when faced with uncertainty or contradictory requirements.
  4. Ability to study various sources, recognise that the information obtained in class is insufficient, and to seek the supplementary information required.
  5. Ability to learn on one"s own.
  6. Ability to work effectively in small groups to solve problems of middling difficulty.
  7. Ability to present a well-written report setting out one"s results and document submission of practical work.


Estimated time (hours):

T P L Alt Ext. L Stu A. time
Theory Problems Laboratory Other activities External Laboratory Study Additional time

1. Introduction
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 4,0 0 0 0 6,0 0 12,0

2. Web technologies
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 2,0 6,0 0 6,0 6,0 0 24,0
Review and study of the technologies used in developing Web applications.

3. Methodology for the development of Web applications. Business models for Web-based systems.
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 2,0 0 0 0 4,0 0 8,0
Review of the basic concepts regarding the development life-cycle of software, emphasising the special features of Web environments.

4. Analysis and specification of Web application requirements.
T      P      L      Alt    Ext. L Stu    A. time Total 
1,0 0 0 0 0 1,0 0 2,0

5. Design: Introduction, UX Model and physical architecture and the logical architecture of a Web application.
T      P      L      Alt    Ext. L Stu    A. time Total 
3,0 6,0 0 0 0 9,0 0 18,0

6. Design: UML notation for Web design.
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 2,0 0 0 0 4,0 0 8,0

7. Design: patterns for designing Web applications.
T      P      L      Alt    Ext. L Stu    A. time Total 
8,0 12,0 4,0 0 4,0 20,0 0 48,0

8. Testing techniques for web applications.
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 0 8,0

9. Security of Web applications.
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 0 0 0 2,0 0 4,0

10. XML and Web
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 2,0 0 2,0 2,0 0 8,0

Total per kind T      P      L      Alt    Ext. L Stu    A. time Total 
28,0 28,0 14,0 0 14,0 56,0 0 140,0
Avaluation additional hours 3,0
Total work hours for student 143,0

Docent Methodolgy

Theory classes: 2 hours per week.

Teachers present the main contents of the course in the theory classes. Teachers use slides, which students should receive before the classes are held.

Other (less essential) course contents are not presented in class. However, they must be privately studied by students in their own time. These contents are also obligatory - the only difference is the way in which they are studied. Teachers will indicate which contents should be studied at each juncture of the course, and the teaching resources that may be employed. These materials are often written in English.

Classes of problems: 2 hours per week.

The classes of problems put into practice what is learnt during the course (which includes both contents presented in class and those learnt by students in their private study). On occasions, students will be required to either have wholly or partially solved problems before the class. The problem and possible solutions will then be discussed in class. On other occasions, the problem will be solved during the class, using cooperative learning techniques. Students may also be required to give short speechs about some topic of interest.

Lab classes: 2 hours every fortnight.

After a brief introduction of the tasks to be carried out, students will perform these using the computer (installation, configuration, implementation, testing, monitoring, etc.) in accordance with a pre-established work plan and a list of objectives. The extent to which these objectives are achieved will determine the grade awarded for the lab session in question.

Evaluation Methodgy

Course assessment is based on the following 4 grades (each of them valued on a 0-10 scale):

+ Lab Grade (LabG). Students must participate in a minimum of 5 lab sessions. The grade awarded in each lab session will depend on the extent to which they have achieved the pre-established objectives. Lab Grade will be the average of the 5 best sessions.

+ Exercise Grade (ExG). During the course, students must carry out and personally -or in groups- present at least 7 exercises corresponding to the various problem sessions. The Exercise Grade will be the average of the 7 best exercises.

+ Final Exam Grade (FEG)

+ Participation Grade (PartG). This grade assesses the participation of the students in class and in the course's electronic forum as well.

Assessment Acts Grade (AAG) = 0.25*LabG + MAX((0.25*ExG + 0.45*FEG), 0.70*FEG)

Course Grade = Min((AAG + 0.10*PartG), 10)

Basic Bibliography

  • Jim Conallen: Building web applications with UML. Second Edition, Addison-Wesley, 2003.
  • Roger S. Pressman, David Lowe: Web Engineering: A Practioner's Approach, McGraw-Hill, 2008.
  • Gerti Kappel et al. [editors]: Web engineering : the discipline of systematic development of web applications, John Wiley & Sons, 2006.
  • Leon Shklar, Rich Rosen: Web Application Architecture: Principles, Protocols and Practices. Second Edition, John Wiley & Sons, 2009.

Complementary Bibliography

  • Martin Fowler Patterns of enterprise application architecture, Addison-Wesley, 2003.
  • Stefano Ceri ... [et al.] Designing data-intensive web applications, Morgan Kaufmann, 2003.
  • JOHNSON, Rod; HOELLER, Juergen Expert One-on-One J2EE Development without EJB, Wiley, 2004.
  • Deepak Alur, John Crupi, Dan Malks Core J2EE patterns : best practices and design strategies, Prentice Hall PTR, 2003.
  • VAN DER VLIST, Eric et al. Professional Web 2.0 Programming, Wiley, 2007.

Web links









Previous capacities

1) Learn how to formally specify a system"s functional and non-functional requirements in UML/OCL.
2) Learn the context in which one can design a system and what the previous and subsequent steps are.
3) Learn the nature of software architecture, and the architectural styles there are (of which layered architecture is one).
4) Principles of object-oriented design
5) Understand the concept of design patterns and know the main design patterns available.
6) Learn the specific UML elements of design.
7) Learn the main characteristics of distributed component systems.

In view of the skills required, we recommend students have previously taken the following courses: Software Engineering II (ES2).


logo FIB © Barcelona school of informatics - Contact - RSS
This website uses cookies to offer you the best experience and service. If you continue browsing, it is understood that you accept our cookies policy.
Classic version Mobile version