Software Engineering

« Return

Objectives

The course offers an introduction to software engineering concepts and practices, by presenting the software development process, from requirements engineering, followed by the design phase using UML diagrams, to maintenance. Presents the software development process as an engineering activity that combines technological, social and human perspectives.

Program

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

Teaching Methodologies

Theoretical classes are devoted to exposing the concepts and illustrating with examples. During lab classes, students have opportunity to experiment and complement these examples in an autonomously but supervised way. Lab classes use “Astah” for requirements and design activities, and also for the project management “ProjectLibre” for planning and scheduling.

The Moodle is used to upload documents and interact with students, mainly through forums.

Bibliography

S. Pfleeger, J. Atlee, Software Engineering: Theory and Practice, Pearson International Edition, 2006

R. Pressmann, Software Enginnering, McGraw Hill, 6ª edição, 2006

D. Lowe e R. Pressmann, Web Engineering: a Practitioner's Approach, International Edition, 2009

Nunes, O'Neill, Fundamental de UML, FCA, 2004

A. Miguel, Gestão de Projectos de Software, FCA, 2008

A. Miguel, Gestão do Risco e da Qualidade no Desenvolvimento de Software, FCA

H. O’Neill, M. Nunes e P. Ramos, Exercícios de UML, FCA, 2010

Code

0105995

ECTS Credits

6

Classes

  • Práticas e Laboratórios - 30 hours
  • Teóricas - 30 hours

Evaluation Methodology

  • According to CU programme: 100%