Wednesday, August 20, 2008
The Software Architecture Discipline
Minimize

The software architecture discipline is centered on the idea of reducing complexity through abstraction and separation of concerns. Even though the discipline has significantly matured over the past 15 years, it's hard to find architects who easily agree on the right way to architect. There is no clear guidance on how to architect and an architect must use judgment to decide on the level of detail that must be exposed or hidden in order to explain to various audiences how a system will address key business drivers.

There is no standardized definition of software architecture, but there is no shortage of notable interpretations. The SEI has documented & catalogue hundreds of definitions. The philosophy of SoftwareArchitectures.com aligns well with the definition from the Software Architecture in Practice, Second Edition: The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. 

However, Eoin Woods' definition eloquently gets the point across: Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be canceled.

The IEEE Software magazine dedicated the Spring 2006 issue to the topic of software architecture to commemorate two decades of research and one decade of practice. The two key articles are The Golden Age of Software Architecture by Mary Shaw & Paul Clements, and The Past, Present, and Future of Software Architecture by Philippe Kruchten, Henk Obbink, and Judith Stafford are available from SoftwareArchitectures.com

Print  
Please Visit our Sponsors
Minimize

 

Print  
Please Visit our Sponsors
Minimize

 

Print  
Privacy Statement  |  Terms Of Use
Copyright 2002 - 2008 by SoftwareArchitectures.com