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: 2018/2019 - 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 146 Plano de estudos a partir de 2009/10 3 - 6 56 162
Mais informaçõesA ficha foi alterada no dia 2018-09-27.

Campos alterados: Métodos de ensino e atividades de aprendizagem, Fórmula de cálculo da classificação final, Componentes de Avaliação e Ocupação, Observações, Avaliação especial

Língua de trabalho

Português - Suitable for English-speaking students

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 exercícios, pequenos projetos e trabalhos de pesquisa.

Serão desenvolvidos 3 trabalhos práticos:
- T1 - 1º trabalho prático, em grupo, de leitura e escrita de uma pequena síntese sobre um tópico relaconado com a história da engenharia de software;

- T2 - 2º trabalho prático, em grupo, de leitura e escrita de uma pequena síntese sobre um tópico relacionado com processos de desenvolvimento de software;

- T3 - 3º trabalho prático, em grupo, baseeado num projeto de código aberto existente, com o objetivo de realizar as várias atividades do ciclo de vida do desenvolvimento e manutenção de software, através da implementação de um ou mais "issues"; é selecionado um projeto por turma e cada grupo de estudantes selecionará um ou mais "issues" a resolver.

Em algumas aulas teóricas serão realizados pequenos questionários (kahoots) para aferição e discussão de tópicos abordados. Os estudantes com melhor desempenho nos questionários (top 10 de cada questionário) poderão ganhar um crédito de até 2 valores para compensar eventuais falhas no mini-teste final.

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

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

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 = 15% T1 + 15% T2 + 35% T3 + 35% MT

Legenda:
CF: Classificação Final
T1: Classificação global obtida pelo aluno no trabalho 1
T2: Classificação global obtida pelo aluno no trabalho 2
T3: Classificação global obtida pelo aluno no trabalho 3

MT: Classificação global obtida pelo aluno no mini-teste

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

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 8 a 12/OCT: entrega do 1º trabalho (T1);
  • Semana de 22 a 26/OCT: entrega do 2º trabalho (T2);
  • Semana de 12 a 16/NOV: entrega intermédia do 3º trabalho (T3);
  • Semana de 10 a 14/DEZ: entrega final do 3º trabalho (T3);
  • Semana de 7 a 11/JAN: mini-teste (MT).
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-08-19 às 21:19:32 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias