Informatics Engineering
SOFTWARE ENGINEERING
Description
Theory
1
Theory/Practice
1
Laboratory
2
Instructors
Alexandre Gouveia
Contents
CP1. SDP (10%):
- Disciplines
- Types of processes (e.g. waterfall, I&I, agile)
- Exercises and projects following the I&I process
CP2. Requirements Engineering (20%):
- Methods for elicitation, identification, analysis, specification, and validation of requirements
- Functional and non-functional requirements
- Visual modelling: UML use case diagrams and System Sequence Diagrams (SSD)
- Examples, exercises and projects
CP3. OO Analysis (20%):
- Methods for the identification of domain concepts and their relations
- Domain model
- Visual modelling: UML class diagrams
- Examples, exercises and projects
CP4. OO Design (40%):
- RDD, GRASP and SOLID principles
- Definition of responsibilities and behaviour
- Introduction to software architecture design
- Visual modelling: UML class, sequence, communication, and package diagrams
- Examples, exercises and projects
CP5. OO Coding (10%):
- Method for passing from design to implementation
- Examples, exercises and projects
Learning Outcomes
By the end of this course, the student should be able to:
CO1. Interpret the dimensions and stakeholders of the SDP, especially in the scope of IS;
CO2. Apply the SDP, particularly the I&I process, in a deterministic way;
CO3. Adopt methods of OO analysis;
CO4. Adopt deterministic methods for passing from the analysis to the design;
CO5. Adopt simple OO design methods, principles, and patterns, namely GRASP, SOLID and other best practices such as "Tell Don't
Ask", "DRY", etc.;
CO6. Adopt methods and tools for passing from the design to implementation;
CO7. Adopt appropriate artifacts and notations for describing the problem, the analysis, the design and the solution.