Laboratório de Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Informática |
Ocorrência: 2015/2016 - 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 |
46 |
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 Software e à modelação ágil.
- 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. Gestão de configurações. Controlo de versões.
- 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, num projeto de software.
Software
SVN
IDE NetBeans
Dokuwiki
Enterprise Architect
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 para mostrar em algumas aulas laboratoriais (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 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.