Informatics Engineering
APPLICATIONS ENGINEERING
Description
Theory
1
Theory/Practice
1
Laboratory
2
Instructors
Nuno Pereira
Contents
CP1. Software development process (10%)
1.1 Iterative and incremental methods
1.2 Agile methods
1.3 Test-driven
1.4 Team work
CP2. OO Design (70%)
2.1 Domain Driven Design
2.2 SOLID principles
2.3 GRASP + GoF Patterns
2.4 UML in the scope of the design
2.5 Introduction to architectural patterns
CP3. Implementation (20%)
3.1 Test
3.2 Revision control
3.3 ORM
Learning Outcomes
This course provides knowledge and competences in the following subjects:
1. software development process (especially respecting information systems, and specifically in terms of iterative and incremental collaborative team work)
2. Methodologies and tools for the object-oriented software design.
3. object-relational mapping techniques and tools
In the end of the course, the student must be able to:
CO1 - Identify and apply iterative and incremental software development process in a medium/large project (BL 3)
CO2 - Evaluate and apply SOLID principles and software design patterns (BL 5)
CO3 - Evaluate and Apply DDD tatical patterns (BL 5)
CO4 - Apply ORM techniques (BL 3)
CO5 - Apply TDD techniques and methodologies (BL 3)
CO6 - Using appropriate artefacts and notations, describe the design (BL 3)
CO7 - Collaboratively create, design and implement a complete software solution (BL 6)