General Data

Type of credits: ECTS
Number of credits: 5.00
Status: Mandatory
Type: Course
Academic Year:
Term:
Languages: Portuguese
Available for Mobility Students: No
Restricted to alliance: No
Code: Sin codigo

Coordination

Description

Theory
1

Laboratory
2

Instructors

Alexandre Gouveia


 

Contents

P1. SDP (10%)
- Disciplines and types of processes (e.g. cascade, I&I, agile)
- Development of a system adopting an I&I process
 

P2. Requirements Engineering (15%)
- Elicitation, identification, analysis, specification, and validation of requirements
- Functional and non-functional requirements
- Visual modeling using UML: Use Case diagram (UCD) and System Sequence Diagram (SSD)
 

P3. OO Analysis (15%)
- Identification of domain concepts and their relations
- Domain model
- Visual modeling using UML
 

P4. OO Design (30%)
- RDD, GRASP and SOLID principles
- Definition of responsibilities and behavior
- Architectural design
- Patterns for data persistence
- Patterns related to client-server architecture
- Visual modeling using UML: Class Diagram (CD) and Sequence Diagram (SD)
 

P5. Tests (15%)
- Test-driven development (TDD)
- Unitary vs. Integration vs. System vs. Acceptance
- Functional vs. Acceptance vs. Regression
- Mocks
 

P6. OO Coding (15%)
- Implementation in accordance with the Design

Learning Outcomes

At the end of the course unit, the student must be able to:
CO1. Apply the SDP, particularly the I&I process, in a deterministic way;
CO2. Apply requirements engineering and analysis methods that enhance the understanding and specification of the application domain;
CO3. Apply and justify the adoption of software design methods, principles, patterns and architectures;
CO4. Apply a test-driven development (TDD) approach for system construction;
CO5. Build the system in accordance with the design, using C++;
CO6. Apply appropriate artifacts and notations for describing the problem, the analysis, the design and the solution.