Código: | EIC0086 | Sigla: | LDSO |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Engenharia de Software |
OFICIAL | Temas Multidisciplinares |
Ativa? | Sim |
Unidade Responsável: | Departamento de Engenharia Informática |
Curso/CE Responsável: | Mestrado Integrado em Engenharia Informática e Computação |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
MIEIC | 123 | Plano de estudos a partir de 2009/10 | 4 | - | 7,5 | 70 | 202,5 |
A unidade curricular tem como objectivo principal desenvolver nos estudantes as seguintes competências:
- aplicar um processo de Engenharia de Software ao desenvolvimento completo de um sistema de software real, ao longo do semestre, abrangendo a especificação de requisitos, arquitectura e desenho, implementação, integração, teste, documentação e demonstração;
- adquirir os conhecimentos fundamentais e experiência sobre as práticas de desenvolvimento ágil de software: planeamento de iterações, testes unitários, refactoring, pattern-based design, autoria colectiva de código, programação em pares, integração contínua;
- utilizar ferramentas de desenvolvimento de software adequadas à metodologia em uso e que permitam o acompanhamento do desenvolvimento do produto durante todo o seu ciclo de vida;
- utilizar APIs e infraestruturas de software de grande escala, introduzindo o desenvolvimento baseado em componentes e problemas relacionados com integração aplicacional;
- desenvolvimento de trabalho colaborativo integrando outros intervenientes do projecto em decisões de desenho e planeamento e delegar, negociar e rever estas decisões em grupo;
- aplicar os conhecimentos anteriormente adquiridos em disciplinas nas áreas Engenharia de Software, Bases de Dados, Interfaces Gráficas, Sistemas Operativos, Linguagens de Programação e Inteligência Artificial.
Os estudantes serão capazes de definir e aplicar um processo de desenvolvimento de software, utilizando práticas ágeis, ferramentas tipicas de desenvolvimento de software, em equipa.
- Aplicação de processos de desenvolvimento de software, incluindo metodologias de planeamento de projecto.
- identificação de requisitos, desenho, implementação, integração, teste, documentação e demonstração de um sistema de software;
- introdução às Metodologias Ágeis: valores, principios fundamentais, práticas (“Planning Game”, “Small Releases”, “Acceptance tests”, “Unit-tests”, “Test-first programming”, “Simple Design”, “Refactoring”, “Design patterns”) e exemplos de metodologias populares (Scrum e XP);
- desenvolvimento de aplicações multi-camada baseadas em componentes de software;
- utilização de ambientes de desenvolvimento integrados (IDEs), ferramentas de modelação, teste, controlo de versões e configurações, documentação de software colaborativas;
- utilização de APIs de larga escala.
As aulas teóricas serão usadas para a exposição dos processos de desenvolvimento de software, ferramentas e tecnologias adoptadas na unidade curricular.
As aulas de laboratório serão usadas para o acompanhamento e desenvolvimento do projecto, através do uso dos sistemas, linguagens e ferramentas escolhidos para a implementação da aplicação.
O projecto é organizado em 5 iterações, cada uma com entregas de artefactos (até 5 dias depois da última aula dessa iteração):
Iteração 0 - 20%, 1+4 weeks, 16/Sep-14/Oct
•vision, user stories + user interfaces, architecture, vertical functional prototype
•public demonstration of the functional prototype
Iterações 1-4 - 30%, 8 weeks, 21/Oct-16/Dec
•development process maturity: plan, user stories ready, estimatives, acceptance tests, unit tests, continuous integration
•project tracking and management
Finale - 30%, 6/Jan
•product release (signup, download, etc.), documented source code repository (gitbitbucket), pitch + video + slides demo (5min), updated technical reports
•public demonstration of the product, to evaluate the idea, concept, and solution from the perspective of value for the client.
Designação | Peso (%) |
---|---|
Participação presencial | 10,00 |
Trabalho escrito | 40,00 |
Trabalho laboratorial | 50,00 |
Total: | 100,00 |
Designação | Tempo (Horas) |
---|---|
Elaboração de projeto | 80,00 |
Elaboração de relatório/dissertação/tese | 20,00 |
Frequência das aulas | 24,00 |
Trabalho laboratorial | 40,00 |
Total: | 164,00 |
É exigida uma nota mínima de 40% a qualquer dos 6 itens de avaliação discriminados na fórmula de cálculo da classificação final.
A classificação é baseada nos seguintes items:
- resultados da iteração 0 - peso 20%;
- resultados das iterações 1-4 - peso 30%;
- resultados finais - 30%
- avaliação da plataforma projecto - 10%;
- avaliação contínua do desempenho invididual - 10%
As provas e trabalhos em épocas especiais (fim de curso, etc) são abrangidos pelos mesmos métodos de avaliação. Os mesmos devem contactar os docentes para definir o trabalho especial, com base na disponibilidade, prazos e tópicos da unidade curricular.
Alunos de regimes especiais (incluindo trabalhadores-estudantes e militares) são abrangidos pelos mesmos métodos de avaliação. Os mesmos devem contactar os docentes no início do semestre para os notificar do seu regime especial, e estabelecer como integrar os grupos de trabalho associados aos projectos em curso na unidade curricular.
Melhorias de classificação envolverão um trabalho adicional, contendo todas as parcelas atrás referidas, e uma prova oral adicional; melhorias de classificação pedidas no ano lectivo seguinte envolverão a realização de todos os trabalhos previstos para os alunos desse ano lectivo.