====== Ficha de Unidade Curricular ====== **[[http://www.fe.up.pt/si/cursos_geral.formview?p_cur_sigla=MIEIC|Mestrado Integrado em Engenharia Informática e Computação]]\\ [[http://www.fe.up.pt/si/disciplinas_geral.FormView?p_cad_codigo=EIC0085|Laboratório de Bases de Dados e Aplicações Web]]\\ [[http://www.fe.up.pt/si/disciplinas_geral.formview?p_cad_codigo=EIC0085&p_ano_lectivo=2011/2012&p_periodo=2S|Ocorrência de: 2011/2012]]** \\ --- \\ //**[[http://www.fe.up.pt/si/disciplinas_geral.formview?p_cad_codigo=EIC0085&p_ano_lectivo=2011/2012&p_periodo=2S|Página oficial]]**// ===== Informação Geral ===== **Curso**: Laboratório de Bases de Dados e Aplicações Web\\ **Código**: EIC0085\\ **Curso**: MIEIC, 3º, 122 estudantes (@ 7.2.2012)\\ **Ano letivo**: 2011/2012\\ **Semestre**: 2S\\ **Créditos**: 6\\ **ECTS**: 7\\ **Horas/Semanas**: 1x2T, 6x3P\\ **Professores**: [[http://www.fe.up.pt/uk/funcionarios_geral.FormView?p_codigo=230756|João Correia Lopes]] | [[http://www.fe.up.pt/si/funcionarios_geral.FormView?p_codigo=310021|Sérgio Nunes]] ===== Língua de Ensino ===== Português ===== Objetivos, Competências e Resultados de Aprendizagem ===== Nesta unidade curricular pretende-se dotar os estudantes da capacidade de projetar e desenvolver sistemas de informação acessíveis através da web e suportados por sistemas de gestão de bases de dados. Ao completar esta unidade curricular, o estudante deve ser capaz de: - Elicitar os requisitos de um sistema de informação - Identificar os Atores e respetivos Casos de Utilização - Elaborar os Diagramas de Casos de Utilização em UML - Obter o Modelo de Objetos do Domínio - Obter o Esquema Lógico Relacional da base de dados - Validar o Esquema relacional com base nas dependências funcionais - Obter o Esquema Físico da base de dados - Afinar o Esquema Lógico Relacional - Explorar a base de dados usando o Sistema de Gestão de Bases de Dados PostgreSQL - Elaborar interrogações à base de dados em SQL - Implementar restrições de integridade e gatilhos - Definir transações - Definir uma arquitetura de tratamento de erros no acesso a dados - Definir privilégios de utilizadores e de grupos de utilizadores - Utilizar a linguagem de programação PHP e algumas das suas bibliotecas para construir a interface com o utilizador e a Lógica de Negócio da aplicação Web - Obter a interface com o utilizador em HTML - Definir estilos de apresentação através da utilização de CSS - Validar regras de integridade na introdução de dados em formulários através da utilização de JavaScript - Utilizar a biblioteca de JavaScript jQuery para interagir com o documento fazer pedidos AJAX - Garantir que as páginas Web obtidas estão de acordo com as normas de acessibilidade e usabilidade ===== Programa ===== - Desenvolvimento de uma aplicação Web suportada por uma Base de Dados: levantamento de requisitos, conceção, modelação, implementação, teste e documentação. - Noções gerais de arquitetura de aplicações Web. Utilização de linguagens de //scripting// de cliente (JavaScript) e de servidor (PHP); - Apresentação do Document Object Model (DOM); utilização de //frameworks// Ajax e APIs de acesso a dados. - Projeto de bases de dados relacionais com recurso a linguagens de modelação de dados (UML), à linguagem SQL e a extensões procedimentais à linguagem SQL. - Identificação e manutenção de regras de negócio: na interface (JavaScript); na lógica de negócio e na base de dados (//triggers//); transações. - Noções gerais de usabilidade e acessibilidade Web. ===== Bibliografia Principal ===== * 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]] ===== Bibliografia Complementar ===== * Jeffrey D. Ullman, Jennifer Widom,// A First Course in Database Systems//, Prentice-Hall, 2nd Edition, 2001, ISBN=0-13-035300-0. [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000045331|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]] ===== Métodos de Ensino ===== As aulas teóricas serão usadas para apresentação dos guiões dos trabalhos, para a discussão de exemplos representativos, para análise das avaliações efetuadas e para apresentar breves introduções às tecnologias a utilizar. As aulas práticas serão usadas para o desenvolvimento laboratorial do projeto, em grupo, tendo o docente como consultor. ===== Software ===== * PHP * PostgreSQL * Biblioteca Smarty * Biblioteca jQuery ===== Palavras-chave ===== Physical sciences > Computer science > Informatics ===== Modo de Avaliação ===== Avaliação distribuída sem exame final ===== Componentes de Avaliação e Ocupação registadas ===== ^ Descrição ^ Tipo ^ Tempo (horas) ^ Data de Conclusão ^ | Participação presencial (estimativa) | Aulas | 70 | | | Relatório de Especificação de Requisitos (RER) | Trabalho laboratorial ou de campo | 27 | 07/03/2012 | | Relatório de Especificação da Base de Dados (REBD) | Trabalho laboratorial ou de campo | 27 | 28/03/2012 | | Relatório de Arquitetura e Protótipo Vertical (RAP) | Trabalho laboratorial ou de campo | 27 | 25/04/2012 | | Produto (P) | Trabalho laboratorial ou de campo | 36 | 30/05/2012 | | Apresentação (A) | Participação Presencial | 5 | 01/06/2012 | | Desempenho Individual (DI) | Participação Presencial | 0 | 01/06/2012 | | | Total: | 192 | | ===== Obtenção de Frequência ===== A aprovação na unidade curricular está condicionada à obtenção de 40% a qualquer uma das componentes da avaliação. ===== Cálculo da Classificação Final ===== A nota final será calculada usando a fórmula: Nota = 10% RER + 20% REBD + 20% RAP + 40% PA + 10% DI Legenda:\\ RER - Relatório de Especificação de Requisitos\\ REBD - Relatório de Especificação da Base de Dados\\ RAP - Relatório de Arquitetura e Protótipo Vertical\\ PA - Produto e Apresentação\\ DI - Desempenho Individual A classificação a qualquer componente de avaliação pode variar de elemento para elemento do mesmo grupo. Dada a natureza laboratorial da unidade curricular, não é possível fazer uma avaliação num único momento e, por isso, a avaliação do trabalho prático não pode ser substituída pela realização de um exame. ===== Provas e Trabalhos Especiais ===== Não há provas nem trabalhos especiais. ===== Avaliação Especial (TE, DA, ...) ===== A avaliação do trabalho, realizado em grupo, é igual para todos os estudantes independentemente do regime de inscrição. Os estudantes dispensados das aulas devem combinar com os docentes a marcação de reuniões regulares para discussão e acompanhamento dos trabalhos. ===== Melhoria de Classificação Final/Distribuída ===== A classificação poderá ser melhorada na ocorrência seguinte da unidade curricular. \\ --- //JCL, SSN//