Saltar para:
Logótipo
Você está em: Início > EIC0086

Laboratório de Desenvolvimento de Software

Código: EIC0086     Sigla: LDSO

Áreas Científicas
Classificação Área Científica
OFICIAL Engenharia de Software
OFICIAL Temas Multidisciplinares

Ocorrência: 2016/2017 - 1S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado Integrado em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MIEIC 129 Plano de estudos a partir de 2009/10 4 - 7,5 70 202,5

Docência - Responsabilidades

Docente Responsabilidade
Ademar Manuel Teixeira de Aguiar Regente
Mais informaçõesA ficha foi alterada no dia 2016-09-27.

Campos alterados: Componentes de Avaliação e Ocupação, Métodos de ensino e atividades de aprendizagem

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

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.

Resultados de aprendizagem e competências

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.

Modo de trabalho

Presencial

Programa

- 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.

Bibliografia Obrigatória

Dave Thomas, David Heinemeier Hansson ; with Leon Breedt... [et al.]; Agile web development with Rails. ISBN: 0-9776166-3-0

Métodos de ensino e atividades de aprendizagem

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, 19/Sep-21/Oct
•vision, user stories + user interfaces, architecture, vertical functional prototype
•public demonstration of the functional prototype

Iterações 1-4 - 30%, 8 weeks, 22/Oct-17/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.

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Participação presencial 10,00
Trabalho escrito 40,00
Trabalho laboratorial 50,00
Total: 100,00

Componentes de Ocupação

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

Obtenção de frequência

É 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.

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%

Provas e trabalhos especiais

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.

Avaliação especial (TE, DA, ...)

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.

Melhoria de classificação

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.

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-03-19 às 06:44:27 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias