Engenharia de Software

Objetivos

Saber:

  • Princípios, objetivos e conceitos fundamentais da Engenharia de Software.
  • As problemáticas do desenvolvimento de software em larga escala.
  • Gestão de software.
  • Técnicas e ferramentas de análise de requisitos, arquitetura de software e desenho.
  • Introdução ao desenho arquitetural.
  • Gestão da variabilidade: Linhas de Produtos de Software.
  • Qualidade do software.
  • Verificação e Validação (V&V).
  • Evolução do software.

Saber fazer:

  • Gerir um projeto de software, incluindo pessoas, tarefas e custos.
  • Identificar e especificar os vários tipos de requisitos.
  • Selecionar alternativas arquiteturais básicas.
  • Modelar e desenhar o software com vista à reutilização em larga escala.
  • Modelar e desenhar o software com vista à evolução.
  • Aplicar as técnicas de V&V.
  • Aplicar as várias técnicas e usar ferramentas típicas de engenharia de software.

Caracterização geral

Código

1405

Créditos

6.0

Professor responsável

Ana Maria Diniz Moreira, João Baptista da Silva Araújo Júnior

Horas

Semanais - 4

Totais - A disponibilizar brevemente

Idioma de ensino

Português

Pré-requisitos

Métodos de desenvolvimento de software

Bibliografia

  • I. Sommerville, Software Engineering,  Pearson, 10th edition, 2015
  • R.S. Pressman, Software Engineering: A Practitioner''''''''s Approach, 8th edition,  McGraw-Hill, 2014
  • B. Hughes, M. Cotterell, Software Project Management, McGraw-Hill Higher Education; 5th edition, 2009.
  • A. Lamsweerde, Requirements Engineering, Wiley, 2009
  • I. Alexander, N. Maiden, Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, Wiley, 2004
  • S. Pfleeger, J. Atlee, Software Engineering - Theory and Practice, Prentice Hall, 2005
  • L. Bass, P. Clements, R. Kazman, "Software Architecture in Practice", 3rd edition, Addison-Wesley, 2012.
  • C. Kaner, J. Falk, H. Q. Nguyen, Testing Computer Software, 2nd Edition, Wiley, 1999
  • T. Mens, S. Demeyer, Software Evolution, Springer, 2010

Método de ensino

No início das aulas os alunos receberão o planeamento para os tópicos de investigação e o trabalho prático, incluindo os pontos que devem ser endereçados. Cada ponto está relacionado com tópicos específicos apresentados nas teóricas. Um prazo é dado para a entrega dos trabalhos.

As aulas teóricas são dadas em sala de aula equipada com um projetor e slides em Powerpoint. As aulas práticas são realizadas em salas equipadas com computadores e projetor.

Método de avaliação

A avaliação consiste das seguintes componentes obrigatórias: um trabalho prático entregue em duas fases; dois testes. O trabalho é realizado em grupo e os testes individualmente.

A nota é uma média ponderada do trabalho prático (Fase I = 20%; Fase II = 30%), e das notas dos testes (Teste 1= 25%, Teste 2 = 25%).

Trabalho prático: Um trabalho prático obrigatório entregue em duas fases, valendo 20% (da nota final) na 1ª fase e 30% (da nota final) na 2ª fase. Para obter frequência, a média ponderada das duas fases deve ser superior ou igual a 9,5.

Testes: Dois testes valendo 25% cada um da nota final. O aluno deve obter uma média dos testes de 9,5 no mínimo, caso contrário deverá ir a recurso caso tenha obtido frequência (dada pelo trabalho prático).

A nota final é uma média ponderada das notas dos testes(25% cada), da 1ª fase do trabalho prático (20%) e da 2ª fase do trabalho prático (30%).

O acesso ao exame de recurso é dado exclusivamente a alunos que, tendo frequência válida, não obtiveram aprovação na avaliação contínua, ou a alunos em melhoria de nota. Em época de recurso, a nota do exame substitui a nota dos testes, para alunos com frequência obtida no semestre em que estão a realizar o exame, mantendo-se a regra da nota mínima de 9,5 valores do exame (em substituição da nota mínima de 9,5 valores na média dos testes), para cumprir parcialmente os critérios de aprovação. Portanto, se a nota do exame de recurso for menor que 9,5 o aluno é reprovado, caso contrario a nota final = (Nota do exame + média do trabalho)/2. Alunos sem qualquer avaliação durante o semestre serão classificados como "Ausente".

Para alunos com frequência válida obtida num semestre anterior, a nota final é a média dos testes, ou a nota do exame de recurso, consoante o aluno tente obter aprovação em avaliação contínua ou na época de recurso.

As melhorias de nota realizam-se exclusivamente na época de recurso. Para melhorias de nota realizadas na época de recurso do semestre em que foi obtida aprovação na unidade curricular, a nota final é a nota do exame. Para melhorias de notas obtidas em semestres anteriores, a nota final também é a nota do exame.

Na época especial, a nota final é a nota do exame.

Conteúdo

1. Motivação para Engenharia de Software

1.1 Princípios e objetivos da Engenharia de Software

1.2 Conceitos, atividades de software, ética profissional

 

2. Modelos de processo de software

2.1 Modelos tradicionais de ciclo de vida do software 

2.2. O desenvolvimento ágil

 

3. Gestão de software

3.1 Gestão de pessoas

3.2 Gestão de risco

3.3 Gestão de configuração

 

4. Modelação conceptual

4.1 Modelação de processos de negócio com BPMN (Business Process Modeling Notation)

4.2 Modelos de requisitos com orientação a objetivos com a abordagem KAOS

4.3 Modelação do dominio da solução

 

5. Reuso de Software 

5.1 Conceitos e panorama de técnicas de reuso

5.2 Linhas de produtos de software (engenharia do domínio e engenharia da aplicaçãp)

 

6. Qualidade do software

6.1 V&V

6.2 Prototipagem

6.3 Modelos de maturidade 

 

7. Evolução de Software

8.1 Envelhecimento de software

8.2 Mudança de software

Cursos

Cursos onde a unidade curricular é leccionada: