Laboratório de Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Informática |
Ocorrência: 2016/2017 - 1S
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
MIEEC |
65 |
Plano de estudos oficial |
4 |
- |
6 |
28 |
162 |
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
No contexto da especificação, desenvolvimento e manutenção de aplicações de software com interface gráfica em arquiteturas cliente/servidor, esta unidade curricular tem por objetivos:
- Promover a aquisição de conceitos, métodos e técnicas de Engenharia de Software e dotar os estudantes da capacidade de os aplicar na conceção e desenvolvimento de sistemas de software.
- Dotar os estudantes de conhecimentos práticos na utilização de ferramentas de desenvolvimento de software adequadas à metodologia a usar e que permitam o acompanhamento do desenvolvimento do produto durante todo o seu ciclo de vida, incluindo a depuração, teste e documentação de código na linguagem de programação Java.
Resultados de aprendizagem e competências
Ao completar esta unidade curricular o estudante deve ser capaz de:
- Identificar e documentar os requisitos de um Sistema de Software utilizando user stories
- Descrever os casos de utilização utilizando UML
- Realizar um protótipo de interface com o utilizador
- Identificar e documentar os requisitos suplementares
- Obter o modelo conceptual do domínio utilizando UML
- Obter modelos de processos de negócio utilizando UML
- Descrever a arquitetura utilizando UML
- Validar a arquitetura através de um protótipo vertical
- Modelar a estrutura de classes utilizando UML
- Modelar o comportamento de objetos utilizando UML
- Elaborar a Ajuda ao Utilizador
- Elaborar o Manual de Instalação
- Codificar classes em Java usando as API standard
- Documentar o código Java utilizando Javadoc
- Testar o código utilizando Junit
- Tratar da persistência dos dados
- Utilizar uma ferramenta de elaboração colaborativa de documentação
- Utilizar um IDE (Integrated Development Environment) na manutenção do software
- Utilizar um sistema de controlo de versões
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Conhecimentos em Programação.
Programa
- Introdução à Engenharia de requisitos. Documentação de requisitos.
- Linguagem de modelação UML.
- Projeto de software orientado por objetos. Modelação de arquitetura, estrutura de classes e comportamento.
- Projeto de interfaces.
- Codificação linguagem de programação Java.
- Verificação, validação e teste de software.
- Manutenção de software. Controlo de versões.
- Persistência de dados em SQL.
- Gestão e planeamento de projetos.
Bibliografia Obrigatória
Scott W. Ambler;
The object primer. ISBN: 978-0-521-54018-6
F. Mário Martins;
Projetos de POO em JAVA, FCA - Editora Informática, 2014. ISBN: 978-972-722-792-1
Bibliografia Complementar
Bruce Eckel;
Thinking in Java, Prentice Hall, 4th Edition, 2006. ISBN: 0131-87248-6
Russ Miles and Kim Hamilton;
Learning UML 2.0. ISBN: 978-0-596-00982-3
Mauro Nunes e Henrique O'Neill;
Fundamental de UML, FCA - Editora Informática, 2004. ISBN: 978-972-722-481-4
Alberto Manuel Rodrigues da Silva e Carlos Alberto Escaleira Videira;
UML, metodologias e ferramentas CASE. ISBN: 989-615-009-5
Henrique O.Neil, Mauro Nunes, Pedro Ramos;
Exercícios de UML. ISBN: 978-972-722-616-0
Métodos de ensino e atividades de aprendizagem
A unidade curricular tem aulas tutoriais (2 horas por semana) e aulas laboratoriais (2 horas por semana) em sala de computadores.
Os tempos letivos das aulas tutoriais são usados para descrever brevemente as várias fases de desenvolvimento de software e os artefactos associados e para apresentar e exemplificar a utilização das metodologias e ferramentas a usar no trabalho prático seguindo o respetivo guião. São ainda indicadas referências de leitura.
Nas aulas laboratoriais os estudantes trabalham, em grupos de 4 ou 5, num projeto de software.
Software
IDE NetBeans
Dokuwiki
Enterprise Architect
SVN / GIT
Palavras Chave
Ciências Físicas > Ciência de computadores > Programação
Ciências Físicas > Ciência de computadores > Programação > Engenharia de software
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Participação presencial |
10,00 |
Teste |
40,00 |
Trabalho laboratorial |
50,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
90,00 |
Estudo autónomo |
16,00 |
Frequência das aulas |
56,00 |
Total: |
162,00 |
Obtenção de frequência
O trabalho prático (PROJ) será avaliado através da documentação apresentada, da aplicação desenvolvida e do desempenho individual nas aulas (P1 a P7).
Os conceitos teóricos (IND) são avaliados através da resposta individual, sem consulta, a dois mini-testes (M1 e M2), e através da elaboração de exercícios práticos em Java (J1 a J4).
A aprovação na unidade curricular está condicionada à obtenção de 50% em cada um dos trabalhos da avaliação prática (P1 a P7 de PROJ) e de 40% na componente de resposta individual (IND).
Esta unidade curricular, dada a sua natureza laboratorial, não é passível de avaliação em momento único, pelo que não poderá ser substituída por exame de recurso.
Fórmula de cálculo da classificação final
A nota final será calculada usando a fórmula: NOTA = 80% PROJ + 20% IND
sendo:
PROJ = ((2*P1 + 3*P2 + 4*P3 + 2*P4 + 8*P5 + P6) / 20) + P7
IND = (J1 + J2 + J3 + J4 + 8*M1 + 8*M2) / 20
A classificação da componente prática (PROJ) pode variar de elemento para elemento do mesmo grupo em mais ou menos 2 valores (P7), com base na opinião dos docentes (participação presencial) e na autoavaliação e heteroavaliação a realizar internamente em cada grupo.
Provas e trabalhos especiais
Para além da demonstração do trabalho prático, pode ter lugar uma prova oral para alguns estudantes.
Avaliação especial (TE, DA, ...)
A avaliação prática e teórica, 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 nota final pode ser melhorada apenas através da frequência de numa nova edição da unidade curricular.