Engenharia de Software

Código

0105995

Créditos ECTS

6

Objetivos

1. Adquirir os princípios e conceitos subjacentes a uma visão global do processo de desenvolvimento de software, desde o levantamento de requisitos até à entrega e à manutenção do sistema.
2. Integrar os conhecimentos adquiridos em outras disciplinas do curso no contexto do processo de desenvolvimento de software.
3. Compreender o desenvolvimento de software como uma atividade de engenharia que integra a tecnologia com fatores sociais e humanos.

Programa

  1. Introdução à Engenharia de Software.
  2. Processos de desenvolvimento de software.
  3. Planeamento e gestão de projetos de software.
  4. Engenharia de requisitos.
  5. Desenho de software.
  6. Escrita de código.
  7. Verificação e validação.
  8. Entrega e manutenção.

Métodos de Ensino

As aulas teóricas são vocacionadas para a apresentação e discussão de conceitos e estudos de caso.

As aulas práticas laboratoriais, articuladas com as aulas teóricas, são vocacionadas para a análise e discussão plenária de respostas a questões sobre casos de estudo e da resolução de problemas e exercícios teórico-práticos. 

Em cada edição desta unidade curricular é organizado, pelo menos, um seminário temático proferido por responsável pelo desenvolvimento de software em entidade local, de forma a que os estudantes possam tomar contacto com a realidade de trabalho local em engenharia de software.

A plataforma de e-Learning Moodle da UAc (em http://moodle.uac.pt) é utilizada como repositório de material pedagógico e didático de apoio à aprendizagem, bem como de agendamento, divulgação e promoção de atividades complementares e de gestão da avaliação. 

Bibliografia

Essencial

  • Sommerville, I. (2015), Software Engineering (10ª edição): Pearson International Edition.
  • J. Pinto, C. Tscharf (2019), Scrum - a gestão ágil de projetos, 1ª edição, FCA.
  • Freeman, E., Sierra, K., Bates B. (2014), Head First Design Patterns: O'Reilly.

Complementar

  • Bruegge B. e Dutoit, A. H. (2013), Object-oriented software Engineering using UML, Patterns and Java (3ª edição): Pearson International Edition
  • Sommerville, I. (2020), Engineering Software Products - An Introduction to Modern Software Engineering (1ª edição): Pearson.
  • McConnell, S. (2019), More Effective Agile: A Roadmap for Software Leaders, Construx Press

Método de Avaliação