Software architecture
The style of design of the structure of the system including the interacting and interaction among its major components.
Software architectural design
A decision making process to determine the software architecture for the system under development.
Architectural Design Process
Determine Architectural Design Objectives
Determine System Type
Applying Architectural Styles
Software Design Principles
Widely accepted guiding rules for the software design - correctly applying these principle can significantly improve software quality.
Guidelines for Architectural Design
Applying Agile Principles
● Value working software over comprehensive documentation.
● Apply the 80 - 20 rule, that is, good is good enough.