====== Description of Course Unit ====== **[[http://sigarra.up.pt/feup/pt/cur_geral.cur_view?pv_curso_id=742|Master in Informatics and Computing Engineering]]\\ [[http://www.fe.up.pt/si_uk/disciplinas_geral.FormView?p_cad_codigo=EIC0085|Database and Web Applications Laboratory]]\\ [[http://www.fe.up.pt/si_uk/disciplinas_geral.formview?p_cad_codigo=EIC0085&p_ano_lectivo=2011/2012&p_periodo=2S|Instance: 2011/2012]]** \\ --- \\ //**[[http://www.fe.up.pt/si_uk/disciplinas_geral.formview?p_cad_codigo=EIC0085&p_ano_lectivo=2011/2012&p_periodo=2S|Institutional page]]**// ===== General Information ===== **Course Unit**: Database and Web Applications Laboratory\\ **Code**: EIC0085\\ **Programmes**: MIEIC, 3º, 122 students (@ 7.2.2012)\\ **Academic Year**: 2011/2012\\ **Semester**: 2S\\ **Credits**: 6\\ **ECTS**: 7\\ **Hours/Weeks**: 1x2T, 6x3P\\ **Teachers**: [[http://www.fe.up.pt/si/en/func_geral.FormView?p_codigo=230756|João Correia Lopes]] | [[http://www.fe.up.pt/si/en/func_geral.FormView?p_codigo=310021|Sérgio Nunes]] ===== Teaching Language ===== Portuguese ===== Objectives, Skills and Learning Outcomes ===== ==== Goals ==== In this course, the students will learn how to design and develop web-based information systems backed by database management systems. ==== Learning Outcomes ==== After completing this course, the student will be able to: - Elicit the requirements of an information system - Identify the actors and their Use Cases - Prepare Use Case Diagrams using UML - Obtain the Domain Object Model - Obtain the Logical Relational Database Schema - Validate the relational schema based on functional dependencies - Obtain the database Physical Schema - Tuning the Logical Relational Schema - Explore the database using the Database Management System PostgreSQL - Write queries to the database using SQL - Implement integrity constraints and triggers - Define transactions - Define an architecture for handling errors in the data accesses - Set privileges of users and user groups - Use the programming language PHP and libraries to build the user interface and business logic of the Web Application - Obtain the user interface in HTML - Set presentation styles using CSS - Validate integrity rules on data entry forms through the use of JavaScript - Use the JavaScript library jQuery to interact with the document and to make AJAX requests - Ensure that Web pages are obtained in accordance with the accessibility and usability standards ===== Program ===== - Development of a Web application supported by a database: requirements gathering, design, modeling, implementation, testing and documentation. - General notions of architecture of web applications using client scripting languages (JavaScript) and server (PHP), presentation of the Document Object Model (DOM), use of Ajax framework and APIs for data access. - Design of relational databases using data modeling languages (UML), the SQL language and procedural extensions to SQL. - Identification and maintenance of business rules: on the interface (JavaScript), on the business logic and in the database (triggers); define transactions. - General notions of usability and Web Design. ===== Main Bibliography ===== * R. Ramakrishnan, J. Gehrke, //Database Management Systems//, McGRAW-Hill International Editions, 3rd Edition, 2002, ISBN=0-07-246563-8. [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000046628|Biblioteca]] ===== Complementary Bibliography ===== * Jeffrey D. Ullman, Jennifer Widom,// A First Course in Database Systems//, Prentice-Hall, 2nd Edition, 2001, ISBN=0-13-035300-0. [[|Biblioteca]] * Alberto Rodrigues da Silva, Carlos Videira, //UML — Metodologias e Ferramentas CASE//, 2ª Edição, Volume 1, Centro Atlântico Editora, Maio 2005, ISBN: 989-615-009-5. [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000125543|Biblioteca]] * Russ LinkMiles, Kim LinkHamilton, //Learning UML 2.0//, O'Reilly, 2006, ISBN=978-0-596-00982-3. [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000126325|Biblioteca]] * Jakob Nielsen, //Designing Web Usability: The Practice of Simplicity//, New Riders Publishing, Indianapolis, 2000, ISBN=1-56205-810-X. [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000047020|Biblioteca]] ===== Teaching Procedures ===== The lectures will be used for presentation of the scripts of the work and representative examples and their discussion, analysis of assessments and brief introductions to the technologies they use. The practical classes will be used for laboratory project development as a group project with the teacher as a consultant. ===== Software ===== * PHP * PostgreSQL * Biblioteca Smarty * Biblioteca jQuery ===== Keywords ===== Physical sciences > Computer science > Informatics ===== Evaluation Type ===== Distributed evaluation without final exam ===== Registered evaluation and occupation components ===== ^ Description ^ Type ^ Time (Hours) ^ Date of conclusion ^ | Attendance (estimated) | Lectures | 70 | | | User Requirements Document (RER) | Laboratory work or fieldwork | 27 | 07/03/2012 | | Database Specification Report (REBD) | Laboratory work or fieldwork | 27 | 28/03/2012 | | Architecture Document and Vertical Prototype (RAP) | Laboratory work or fieldwork | 27 | 25/04/2012 | | Product (P) | Laboratory work or fieldwork | 36 | 30/05/2012 | | Demonstration (A) | Attendance | 5 | 01/06/2012 | | Individual Performance (DI) | Attendance | 0 | 01/06/2012 | | | Total: | 192 | | ===== 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 Legend:\\ RER - Requirements Specification Report\\ REBD - Database Specification Report\\ RAP - Architecture Report and Vertical Prototype\\ PA - Product and Presentation\\ DI - Individual Performance 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 the pratical work evaluation cannot be replaced by taking an exam. ===== Special Assignments ===== There are no special works or tests. ===== Special evaluation (TE, DA, ...) ===== All students have the same evaluation. ===== Improvement of Final/Distributed Classification ===== Students may improve the mark in the subject's next edition. \\ --- //JCL, SSN//