Subject: Software Engineering

Scientific Area:

Computing

Workload:

96 Hours

Number of ECTS:

7,5 ECTS

Language:

Portuguese

Overall objectives:

1 - Understand the fundamental concepts of software engineering
2 - Understand of the fundamental principles of software modeling and design
3 - Understand and know how to use the main design patterns
4 - Understand and distinguish various software design strategies
5 - Practical application of design patterns in an object-oriented programming language
6 - Use good software development practices

Syllabus:

1 - Introduction to Software Engineering
2 - Introduction to Software Development Processes
3 - Modeling of Software Systems
4 - Fundamental principles of Software Design
5 - Design Patterns (GoF)
6 - Brief introduction to Software Architectures and Architectural Design
7 - Good software development practices (Clean Code)
8 - Advanced topics

Literature/Sources:

Elisabeth Freeman, Eric Freeman, Bert Bates , 2004 , Head First Design Patterns , O'Reilly
Eric Evans , 2003 , Domain-driven Design: Tackling Complexity in the Heart Software , Addison Wesley
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides , 1995 , Design patterns: Elements of reusable object-oriented software , Addison Wesley
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal , 1996 , Pattern-Oriented Software Architecture: A System of Patterns , John Wiley & Sons
Gary McLean Hall , 2004 , Adaptive Code , Microsoft Press
Judith Bishop , 2008 , C# 3.0 Design Patterns , O'Reilly
Kevlin Henney , 2010 , 97 Things Every Programmer Should Know , O'Reilly
Robert C. Martin, Micah Martin , 2006 , Agile Principles, Patterns, and Practices in C# , Prentice Hall
Robert C. Martin, Micah Martin , 2008 , Clean Code , Prentice Hall

Assesssment methods and criteria:

Classification Type: Quantitativa (0-20)

Evaluation Methodology:
1. Lectures; 2 Exercises; 3. Practical work in the laboratory; 4. Teamwork; 5. Presentations. An Exam to solve individually; Assessments to solve individually or in group; one Project, to solve in groups of three, with one intermediate work deliver and a final deliver with an oral presentation. There is opportunity for an appeal, on its due time, for the Exam, but not for the Project. The elements of evaluation are: Exam = 40%; Assessments:20%; Project = 50% Minimum grades: Exame - 9/20; Project - 10/20.