====== Ficha de Unidade Curricular ====== **Mestrado Integrado em Engenharia Informática e Computação\\ Laboratório de Bases de Dados e Aplicações Web\\ Ocorrência de: 2018/2019** \\ --- \\ //**[[https://sigarra.up.pt/feup/pt/ucurr_geral.ficha_uc_view?pv_ocorrencia_id=420010|Página oficial]]**// ===== Informação geral ===== **Curso**: Laboratório de Bases de Dados e Aplicações Web\\ **Código**: EIC0085\\ **Curso**: MIEIC, 3º\\ **Ano letivo**: 2018/2019\\ **Semestre**: 2S\\ **Créditos**: 7 ECTS\\ **Horas/Semanas**: 1x2T, 7x3P\\ **Professores**: [[http://www.fe.up.pt/uk/funcionarios_geral.FormView?p_codigo=230756|João Correia Lopes]] | [[http://www.up.pt/feup/funcionarios_geral.FormView?p_codigo=310021|Sérgio Nunes]] ===== Língua de ensino ===== Português. //Suitable for English-speaking students//. ===== Objetivos ===== ENQUADRAMENTO A unidade curricular de LBAW tem como objetivo sedimentar as matérias expostas nas unidades curriculares de bases de dados e linguagens e tecnologias web. Esta unidade curricular oferece uma perspetiva prática sobre duas áreas centrais da engenharia informática. OBJETIVOS ESPECÍFICOS 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. ===== Resultados de aprendizagem e competências ===== Ao completar esta unidade curricular, o estudante deve ser capaz de projetar e implementar um sistema de informação baseado na web e suportado por um sistema de gestão de base de dados. Em particular, deve ser capaz de: - Especificar os requisitos do sistema de informação; - Obter o modelo conceptual de dados do sistema de informação; - Obter e validar o esquema lógico relacional da base de dados do sistema; - Obter o esquema físico da base de dados e afinar o esquema lógico relacional; - Desenhar e implementar interrogações para acesso à base de dados em SQL; - Desenhar e implementar mecanismos para a manutenção da integridade dos dados; - Especificar as interfaces web e a lógica de negócio do sistema de informação; - Implementar os componentes web do sistema com recurso a tecnologias web, baseadas no servidor e no cliente; - Assegurar que as interfaces web estão de acordo com as normas de acessibilidade e usabilidade. ===== Modo de trabalho ===== Presencial ===== Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos) ===== * Bases de Dados: modelação de dados em UML, Modelo Relacional, linguagem SQL. * Linguagens e Tecnologias Web: protocolo HTTP, linguagens HTML, CSS e JavaScript. ===== Programa ===== * Desenvolvimento de uma aplicação web suportada por uma base de dados: levantamento de requisitos, conceção, modelação, implementação e documentação; * Noções gerais de arquitetura de aplicações web. Utilização de linguagens de programação baseadas no cliente e no servidor; * Utilização de //frameworks// e API 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; na lógica de negócio e na base de dados (//triggers//); transações; * Noções gerais de usabilidade e acessibilidade Web. ===== Bibliografia obrigatória ===== * R. Ramakrishnan, J. Gehrke, //Database Management Systems//, McGRAW-Hill International Editions, 3rd Edition, 2003, 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, 3rd Edition, 2008, ISBN=978-0-13-600-637-4. [[http://aleph.fe.up.pt/F/?func=direct&doc_number=000131263|Biblioteca]] * Scott Ambler, //The Object Primer//, Cambridge University Press, 3rd Edition, 2004, ISBN: 978-0-521-54018-6 [[http://aleph.fe.up.pt/F/-?func=find-b&find_code=SYS&request=000153367|Biblioteca]] * Zalewski, Michal, //The tangled Web: a guide to securing modern Web applications//, No Starch Press, Inc. ed, 2011, ISBN=978-1-59327-388-0. [[http://aleph.fe.up.pt/F/?func=direct&doc_number=000149340|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 e atividades de aprendizagem ===== 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. Em cada aula prática, os artefactos produzidos pelo grupo são avaliados e discutidos. ===== Software ===== * PostgreSQL * PHP e Laravel * Docker * Git ===== Palavras-chave ===== Physical sciences > Computer science > Informatics ===== Tipo de Avaliação ===== Avaliação distribuída sem exame final ===== Componentes de avaliação e ocupação ===== ^ Descrição ^ Tipo ^ Tempo (horas) ^ Data de Conclusão ^ | Participação presencial (estimativa) | Aulas | 70 | | | Especificação de requisitos. | Trabalho laboratorial ou de campo | 20 | 18/03/2019 | | Especificação da Base de dados | Trabalho laboratorial ou de campo | 20 | 15/04/2019 | | Especificação da Arquitetura e Protótipo | Trabalho laboratorial ou de campo | 36 | 06/05/2019 | | Produto. | Trabalho laboratorial ou de campo | 44 | 27/05/2019 | | Promoção. Apresentação e demonstração do produto. | Participação Presencial | 2 | 03/06/2019 | | Questionário Individual | Exercícios | 0 | 29/04/2019 | | | Total: | 192 | | ===== Obtenção de frequência ===== O trabalho prático será avaliado, durante as aulas laboratoriais, através da entrega dos artefactos previstos. Os conceitos teóricos são avaliados através da resposta individual a um questionário com perguntas de escolha múltipla. A aprovação na unidade curricular está condicionada à obtenção pelo estudante de 40% no questionário de resposta individual e de 50% em cada uma das componentes da avaliação prática. Salienta-se o fato de um estudante, por não ter participado numa componente de avaliação, poder ter nota diferente nessa componente da nota do grupo a que pertence. Dada a natureza laboratorial com trabalho em grupo 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. ===== Fórmula de cálculo da classificação final ===== A nota final será calculada usando a fórmula\\ Nota: 20% NI + 80% NP sendo: NP = 20% ER + 20% EBD + 20% EAP + 40% PA Legenda:\\ NI -- Nota do questionário individual\\ NP -- Nota do trabalho prático\\ ER -- Especificação de Requisitos\\ EBD -- Especificação da Base de Dados\\ EAP -- Especificação da Arquitetura e Protótipo Vertical\\ PA -- Produto e Apresentação A classificação final da componente prática (NP) pode variar de elemento para elemento do mesmo grupo, em mais ou menos 2 valores, com base na opinião dos docentes e na autoavaliação e heteroavaliação a realizar internamente em cada grupo. ===== Provas e Trabalhos Especiais ===== Não há provas nem trabalhos especiais. ===== Avaliação especial (TE, DA, ...) ===== A avaliação prática realizada nas aulas laboratoriais durante o semestre de funcionamento da unidade curricular é exigida a todos os estudantes, independentemente do regime de inscrição e da necessidade de obter avaliação de frequência. Os trabalhadores estudantes e equivalentes dispensados das aulas devem, com periodicidade a combinar com os docentes, apresentar a evolução dos seus trabalhos, assim como devem fazer a apresentação destes, simultaneamente com os estudantes ordinários, e realizar as provas teóricas e práticas de avaliação individual previstas. ===== Melhoria de classificação ===== A classificação poderá ser melhorada na ocorrência seguinte da unidade curricular. \\ --- //João Correia Lopes, Sérgio Nunes//