Professional Documents
Culture Documents
Software Architecture: The Definition and Fundamentals
Software Architecture: The Definition and Fundamentals
There are three international standards organizations, which define technical standards & specificiations
for Software Architecture
ISO/IEC/IEEE 42010 - Systems and software
engineering
Reverse Proxy
Micro-services Application
Fundamental Organization of a
F4FF81 Search App Rewards App
Services Layer
Source: https://msdn.microsoft.com/en-us/library/dd409393.aspx
The last part is to understand the environment or
context in which the software architecture is being
formulated
Environment
Architecture gets created in the context of the environment, which comprises of business
needs (meeting requirements), social needs (meeting communication requirements) and
technology needs (meeting non-functional requirements).
So, key part is to understand that architecture itself is not
good or bad – need to understand the context behind
creating the software architecture, before we determine the
effectiveness of the architecture.
Let’s look at few industry examples depicting
software architecture
Netflix - Personalization &
Recommendation Architecture F4FF81
Source: http://techblog.netflix.com/2013/03/system-architectures-for.html
Source: http://aws.amazon.com/blogs/aws/category/architecture/
Before we conclude the definition and basics of software
architecture, it is essential to understand that when you
start a new project, don’t try to define all views of
architecture in initial days - use incremental approach to
work towards it
You can start with simple view of architecture
using system context diagram during initial phase
and detail it out in future iterations
Customer
Search System
For Customer Relationship System
searching communicatio
hotel ns &
properties interactions
Travel Agents
Customer Identity Data Customer
Identity Store
Hotel
Reservation Rewards & loyalties
System
Backoffice
Rewards