Course overview
The following are the main topics to be covered in this course:
Introduction to the fundamentals of software architecture.
Software architecture and quality requirements of a software system.
Fundamental principles and guidelines for software architecture design, architectural styles, patterns and frameworks.
Methods, techniques and tools for describing software architecture and documenting design rationale.
Software architecture design and evaluation processes.
Rationale and architectural knowledge management in software architecting.
Approaches and tools for designing and evaluating software architectures for the state of the art technologies such as cloud-computing and service-operation and mobile computing.
Future challenges and emerging trends in software architecture discipline.