-
Message Bus
-
Server Oriented Archtecutre
Software Architecture Guide
What is Software Architecture ?
"The architecture of a system describes its major components, their relationships, and how they interact with each other .
How to find the most important qualities to work on ?
-
find the feature that is both the most important feature for stakeholders & hardest for developers to create .
Types of Enterprise Architecture
-
Business Architecture :
-
Application / Software Architecture :
-
Information Architecture :
-
Information Technology / IT Architecture :
Components of a Software Architecture
Design
Common Architectural Designs
Category | Architectual Design |
---|---|
Communication |
|
Deployment |
|
Domain |
|
Structure |
|
Quality Attributes
Quality Attributes are system properties that are separate from the functionality of the system.
Static / Execution Quality Attributes
Reflect the structure of the system and organization, e.g : modularity, testability, maintainability, etc …
Dynamic / Evolution Quality Attributes
Reflect the behaviour of a system durting its excution, e.g : throughput, robustness, scalability , etc …
Common Quality Categories & Attributes
-
Design Qualitites : Conceptual Integrity, Maintainability, Resuability .
-
Runtime Qualities : Interoperbality, Manageability, Reliability, Scalability, Security, Performance, Availability.
-
System Qualities : Suppotability, Testability.
-
User Qualities : Usability .
-
Architecture Qualities : Correctness .
-
Non-Runtime Qualities : Portability, Integrality, Modifiability.
-
Business Quality Attributes : Cost and Schedule, Marketability.