Saltar para:
Logótipo
Você está em: Início > L.EIC017

Engenharia de Software

Código: L.EIC017     Sigla: ES

Áreas Científicas
Classificação Área Científica
OFICIAL Engenharia Informática e Computação

Ocorrência: 2021/2022 - 2S Ícone do Moodle Ícone  do Teams

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Licenciatura 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
L.EIC 502 Plano Oficial 2 - 6 52 162

Docência - Responsabilidades

Docente Responsabilidade
Ademar Manuel Teixeira de Aguiar Regente
João Carlos Pascoal Faria Regente
Mais informaçõesA ficha foi alterada no dia 2022-06-06.

Campos alterados: Fórmula de cálculo da classificação final

Língua de trabalho

Português

Objetivos

Familiarizar-se com os métodos de engenharia e gestão necessários ao desenvolvimento de sistemas de software complexos e/ou em larga escala, de forma economicamente eficaz e com elevada qualidade.

 

Resultados de aprendizagem e competências

No final da unidade curricular, os estudantes deverão ser capazes de:

  • descrever os princípios, conceitos e práticas da engenharia de software e do ciclo de vida do software;
  • conhecer e saber aplicar as técnicas e ferramentas necessárias para executar e gerir as várias atividades do processo de desenvolvimento de software de qualidade;
  • explicar os métodos e processos de construção de diferentes tipos de sistemas de software.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Conhecimentos de programação, desenho orientado por objetos e teste unitário adquiridos em unidades curriculares anteriores.

Programa


  1. INTRODUÇÃO: desafios do desenvolvimento de software em larga escala; objetivos e âmbito da engenharia de software; história da engenharia de software.

  2. PROCESSO DE SOFTWARE: noção de processo de software; atividades do processo; modelos de processos; exemplos de processos (RUP, XP, Scrum, etc.).

  3. GESTÃO DE PROJETOS DE SOFTWARE: planeamento, monitorização e controlo de projeto; estimação de software; gestão ágil e gestão clássica de projetos.

  4. REQUISITOS DE SOFTWARE: conceito de requisito de software; tipos de requisitos; identificação, análise, especificação e validação de requisitos; modelação de requisitos com UML; prototipagem de interfaces.

  5. DESENHO DE SOFTWARE: desenho de arquitetura; modelação de arquitetura com UML; reutilização de software; desenho detalhado. 

  6. CONSTRUÇÃO E EVOLUÇÂO DE SOFTWARE: ambientes de desenvolvimento; integração contínua; gestão de versões e alterações; desenvolvimento ágil com XP; evolução e manutenção de software.

  7. VERIFICAÇÃO E VALIDAÇÃO DE SOFTWARE: conceitos básicos; testes unitários, de integração, de sistema e de aceitação; revisões e inspeções de software; registo de defeitos; análise estática de código.


 

Bibliografia Obrigatória

Ian Sommerville; Software Engineering (10th edition), Pearson, 2015. ISBN: 9781292096131 (https://iansommerville.com/software-engineering-book/)

Bibliografia Complementar

Ivar Jacobson, Bud Lawson, Paul mcMahon, Michael Goedicke; Software Engineering Essentialized (http://semat.org/web/book)
Russ Miles & Kim Hamilton; Learning UML 2.0, O'Reilly, 2006. ISBN: 0-596-00982-8
Silva, Alberto Manuel Rodrigues da; UML, metodologias e ferramentas CASE. ISBN: 989-615-009-5

Métodos de ensino e atividades de aprendizagem

A disciplina tem uma componente teórica baseada em aulas de exposição e discussão, que incluem a descrição dos problemas, as metodologias de análise e as soluções e boas práticas preconizadas.

As aulas teórico-práticas serão dedicadas à aplicação prática e aprofundamento dos conceitos e técnicas apresentados nas aulas teóricas, através de um pequeno projeto de desenvolvimento de software, em grupo, envolvendo uma componente escrita (relatório de desenvolvimento, incluindo texto e modelos sobre o projeto) e a componente mais prática de software desenvolvido (código).

- Relatório de Desenvolvimento, englobando documentação sobre todas as fases do projeto de desenvolvimento de software, escrito na perspetiva da equipa de desenvolvimento atual, para uma hipotética equipa de desenvolvimento futura.

- Software, englobando todo o código desenvolvido pelo grupo, publicado no github/gitlab, bem como instruções de instalação e execução.


Software

Flutter SDK
Android Studio

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Trabalho escrito 25,00
Trabalho prático ou de projeto 30,00
Exame 35,00
Participação presencial 10,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de projeto 28,00
Estudo autónomo 50,00
Frequência das aulas 56,00
Trabalho escrito 28,00
Total: 162,00

Obtenção de frequência

Nota mínima de 40% em cada uma das componentes de avaliação.

Não exceder o número limite de faltas e participar activamente na elaboração de todas as fases dos trabalhos que devem ser submetidos para avaliação.

Os estudantes dispensados das regras de assiduidade 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 alunos ordinários.

Fórmula de cálculo da classificação final

Componentes de classificação:

  • PQ - classificação relacionada com participação nas aulas e resposta a quizzes;
  • TP - classificação obtida no projeto em equipa;
  • EF - classificação obtida no exame final. 
Fórmula de cálculo da classificação final:

    CF = round(min(10% PQ + 55% TP + 35% EF; EF + 4))


Notas finais superiores ou iguais a 18 valores podem requerer uma prova oral, que incidirá sobre todos as aspetos abordados na UC. 

É exigida uma nota mínima de 40% em todas as componentes (PQ, TP e EF).

A classificação final não pode exceder em mais de 5 valores a classificação obtida no exame final.

No caso dos estudantes dispensados da regra de assiduidade, a componente PQ não se aplica, passando o exame final a ter um peso de 45%.  

A classificação da componente TP pode variar entre estudantes do mesmo grupo de projeto.

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

 Todos os trabalhos devem ser entregues nas mesmas datas que os restantes estudantes.

Melhoria de classificação

A classificação da componente EF pode ser melhorada na época de recurso.
 
Realização de trabalhos alternativos na época seguinte da disciplina.

 

Observações

Datas importantes:


 
Descrição Tipo Início Fim
Iniciação do projeto Trabalho 7/3/2022 18/3/2022
Iteração 0 Trabalho 18/3/2022 8/4/2022
Iteração 1 Trabalho  8/4/2022  13/5/2022
Iteração 2 Trabalho 13/5/2022 27/5/2022
Iteração 3 Trabalho 27/5/2022 10/6/2022
Exame  Exame 20/6/2022 20/6/2022
Recurso Exame 12/7/2022 12/7/2022
Recomendar Página Voltar ao Topo
Copyright 1996-2022 © 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: 2022-08-14 às 14:18:33 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias