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

Engenharia de Software

Código: EIC0024     Sigla: ESOF

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

Ocorrência: 2020/2021 - 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 157 Plano de estudos a partir de 2009/10 3 - 6 56 162

Docência - Responsabilidades

Docente Responsabilidade
Ademar Manuel Teixeira de Aguiar Regente

Docência - Horas

Teóricas: 2,00
Teórico-Práticas: 2,00
Tipo Docente Turmas Horas
Teóricas Totais 1 2,00
Ademar Manuel Teixeira de Aguiar 2,00
Teórico-Práticas Totais 7 14,00
Ademar Manuel Teixeira de Aguiar 4,00
Filipe Alexandre Pais de Figueiredo Correia 4,00
João Pedro Matos Teixeira Dias 2,00
Rui Miguel de Sousa Neves 4,00

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

Programa

1. INTRODUÇÃO: problemática do desenvolvimento de software; objetivos e âmbito da engenharia de software; história da engenharia de software.

2. PROCESSO DE SOFTWARE: noção de processo de software; modelos de processos; atividades do processo; métodos ágeis; exemplo do Rational Unified Process.


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


4. ENGENHARIA DE REQUISITOS: requisitos de software; documentos de requisitos; processo de engenharia 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 (componentes, frameworks e linhas de produtos); desenho detalhado. 


6. CONSTRUÇÃO DE SOFTWARE: ambientes integrados de desenvolvimento; ambientes de desenvolvimento rápido; ambientes de desenvolvimento baseados em modelos; integração contínua; gestão de versões; desenvolvimento ágil com XP.


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 inspecções de software; registo de defeitos; análise estática de código.


8. EVOLUÇÃO DE SOFTWARE: processos de evolução;  dinâmica da evolução de programas; manutenção de software; sistemas legados; engenharia reversa e re-engenharia do software.


9. MELHORIA DE PROCESSOS: ciclo de vidas dos processos; métricas de desempenho; o modelo de maturidade CMMI; retrospetivas.


 

Bibliografia Obrigatória

Ivar Jacobson, Bud Lawson, Paul mcMahon, Michael Goedicke; Software Engineering Essentialized (http://semat.org/web/book)
Ian Sommerville; Software engineering (9th edition), Addison-Wesley, 2011. ISBN: 9780137035151 (Na biblioteca da FEUP existe apenas a 8ª edição)

Bibliografia Complementar

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
Humphrey, Watts S; A discipline for Software engineering. ISBN: 0-201-54610-8

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.


Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Trabalho escrito 30,00
Trabalho prático ou de projeto 35,00
Exame 35,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

Cálculo:
CF = 65% TP + 35% E

Legenda:
CF: Classificação Final
TP: Classificação global obtida pelo grupo no projeto (relatório + software)

E: Classificação global obtida pelo aluno no exame

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

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

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

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

Melhoria de classificação

Realização de trabalhos alternativos na época seguinte da disciplina.

 

Observações

Para a frequência desta unidade curricular é de conveniência terem concluído LPOO.

Datas importantes:

  • Semana de 9 a 13/NOV: entrega intermédia do TP (avaliação informal e qualitativa);
  • Semana de 14 a 18/DEZ: entrega final do TP (avaliação formal e final).
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-04-25 às 11:15:30 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias