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. An introduction to Software Engineering.

2. Software Development Processes.

3. Software Project Management

4. Requirements Engineering.

5. Software Design.

6. Writing the programs.

7. Software Testing.

8. Software Maintenance.

Teaching Methodologies

Theoretical classes are aimed at the presentation and discussion of concepts and case studies.

The laboratory practical classes, articulated with the theoretical classes, are aimed at the analysis and plenary discussion of answers to questions about case studies and problem solving and theoretical-practical exercises.

In each edition of this course unit, at least one thematic seminar is organized by a person responsible for software development in a local entity, so that students can get in touch with the reality of local work in software engineering.

UAc's e-Learning Moodle platform (at http://moodle.uac.pt) is used as a repository of pedagogical and didactic material to support learning, as well as scheduling, disseminating and promoting complementary activities and management of the assessment.

Bibliography

Essential

  • 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.

 Complementary

  • 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

Code

0105995

ECTS Credits

6

Classes

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