Index: Contents | Bibliography | Evaluation

The Institutional page »


Year: 3rd
Semester: 2nd
Credits: 7 ECTS
Hours/Week: 2h lectures, 3h practical
Lecturer: João Correia Lopes (JCL)

Teaching Language


Objectives, Skills and Learning Outcomes

This course aims to give the students the competences to design and develop information repositories in the Web using Object-relational database management systems and scripting languages.

After completing this course, the student will be able to:

  1. Elicit the requirements of an information system
  2. Identify the actors and their Use Cases
  3. Prepare Use Case Diagrams using UML
  4. Obtain the Domain Object Model
  5. Obtain the logical relational database schema
  6. Validate the relational schema based on functional dependencies
  7. Obtain the database physical schema
  8. Tune the logical relational schema
  9. Explore the database using the Object-Relational Database Management System PostgreSQL
  10. Write queries to the database using SQL
  11. Implement integrity constraints and triggers
  12. Define transactions
  13. Define an architecture for handling errors in the data accesses
  14. Set privileges of users and user groups
  15. Use the scripting language PHP and its libraries to build the user interface and business logic of the Web Application
  16. Obtain the user interface in XHTML
  17. Set presentation styles using CSS
  18. Validate integrity rules on data entry forms through the use of JavaScript
  19. Use the JavaScript library jQuery to interact with the document and to make AJAX requests
  20. Ensure that Web pages are obtained in accordance with the accessibility and usability standards


  1. Development of a web application supported by a database: requirements gathering, design, modeling, implementation, testing and documentation.
  2. General notions of architecture of web applications using client scripting languages (JavaScript) and server languages (PHP). Models of representation of XML documents (DOM), use of Ajax framework and APIs for data access.
  3. Design of object-relational databases using data modeling languages (UML), the SQL language and procedural extensions to SQL.
  4. Identification and maintenance of business rules: on the interface (JavaScript), on the business logic and in the database (triggers); define transactions.
  5. General notions of usability and Web Design.

Main Bibliography

Complementary Bibliography

Teaching Procedures

The lectures will be used for presentation of the scripts of the work and representative examples and for their discussion, for analysis of assessments and for brief introductions to the technologies used. The practical classes will be used for laboratory project development as a group project with the teacher as a consultant.


Evaluation Type

Distributed evaluation without final exam.

Registered Evaluation and Occupation Components

Evaluation by assessments done during the semester, according to the rules published elsewhere.

DescriptionTypeTime (hours)Conclusion date
Attendance (estimated)Lectures70
User Requirements Document (RER)Laboratory work or fieldwork272010/03/16
Database Specification Report (REBD)Laboratory work or fieldwork272010/04/13
Architecture Document and Vertical Prototype (RAP)Laboratory work or fieldwork272010/05/04
Product (P)Laboratory work or fieldwork362010/06/15
Demonstration (A)Laboratory work or fieldwork52010/06/17
Individual Performance (DI)Laboratory work or fieldwork0

Admission to Exams

Minimum required to pass this course: 40% in each practical assignment.

Final Grade

Classification = 10% REI + 20% REBD + 20% RAP + 40% PA + 10% DI

Marks of any component of assessment may vary from element to element in the same group.

This course, given its laboratory nature is not eligible for evaluation in a single moment, so it cannot be replaced by taking an exam.

Special Assignments

There are no special works or tests.

Special Evaluation (Working Students, etc)

All students have the same evaluation.

Classification Improvement

Students may improve the mark in the subject's next edition.