Home‎ > ‎Architecture‎ > ‎

Defining software architecture

posted Jan 29, 2019, 12:36 PM by Jageshwar Tripathi   [ updated Apr 7, 2019, 7:49 AM ]
Following basic principles are applied to define software architecture:
1. Identify drivers
The drivers can be functional requirements, quality requirements, constraints (e.g. expected schedule)
2. Define the strategy
Approach to structure software is identified. Use of architectural styles and patterns helps structuring the architecture.
3. Tradeoff analysis
Identify how the quality attributes will be achieved with use of strategies. Tradeoff analysis should be performed to prioritize quality attributes. 

Interesting resources

https://www.nasa.gov/pdf/637608main_day_2-david_garlan.pdf
https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=513862
(Views and beyond SEI CMU Template for SAD)
http://www.iso-architecture.org/42010/
(Comparison of Views & beyond template and ANSI-IEEE 1471-2000)
(Documenting Software Architecture in an Agile world)
(Conceptual model))
(Architecture frameworks table listing various frameworks)



Comments