Informatics Engineering
SOFTWARE ARCHITECTURE
Description
Theory
2
Theory/Practice
1
Laboratory
2
Instructors
Nuno Silva
Contents
P1. Software Architecture (10%)
- Life-cycle activities,
- The role of the architect.
P2. Architectural drivers (10%)
- Design Purpose,
- Quality attributes,
- Architecturally Significant Requirements (ASR)
- Primary functionality,
- Architectural concerns,
- Constraints.
P3. Design Concepts (20%)
- Styles and reference architectures
- Patterns
- Tactics
- External developed components.
P4. Architectural design with Attribute-Driven Design (ADD) (30%)
- ADD v3.0: key characteristics,
- Steps and its iteration nature,
- Architectural design decisions as a process,
- Cost Benefit Analysis Method (CBAM)),
- Documentation during design,
- Other life-cycle activities.
P5. Modular Monolithic and Microservice-oriented Architectures (30%)
- Characteristics,
- Migration and decomposition strategies,
- Architectural design patterns for distributed/decentralized systems,
- Other patterns and distributed/decentralized architecture styles.
Learning Outcomes
This course promotes knowledge and skills upon software architecture, mainly in the context of enterprise distributed/decentralized applications.
At the end of the course the student must be able to:
- CO1. Debate concept, principles and processes (methods and tactics) of software architecture, and justify their suitability in specific situations (Bloom Level (BL): 5 /6))
- CO2. Investigate and systematize architectural drivers of the software to develop (BL: 5/6)
- CO3. Design the architecture of a software application adopting design styles and patterns, and considering architectural drivers and contextual factors to reach a trade-off between benefits and potential risks in an evaluation of its adequacy (BL: 6/6)
- CO4. Build a software application from the most promising (at that moment) an architectural design with periodic revisions (BL: 6/6)
- CO5. Test and evaluate the developed software application considering the defined drivers and contextual factors (BL: 5/6)