$BlogRSDUrl$>
Cloud, Digital, SaaS, Enterprise 2.0, Enterprise Software, CIO, Social Media, Mobility, Trends, Markets, Thoughts, Technologies, Outsourcing
Contact
Contact Me:
sadagopan@gmail.com
Linkedin
Facebook
Twitter
Google Profile
Search
www
This Blog
Resources
Mckinseyquarterly
Strategy + Business
Sandhill Group
CIOInsight
Seth Godin
Om Malik
Enterprise Irregulars
Lens360
Cloud Ave
Enterprise Irregulars
Tom Foremski
Labels
Enter your email address below to subscribe to this
Blog
!
powered by Bloglet
online
Archives
January 2004
February 2004
March 2004
April 2004
May 2004
June 2004
July 2004
August 2004
September 2004
October 2004
November 2004
December 2004
January 2005
February 2005
March 2005
April 2005
May 2005
June 2005
July 2005
August 2005
September 2005
October 2005
November 2005
December 2005
January 2006
February 2006
March 2006
April 2006
May 2006
June 2006
July 2006
August 2006
September 2006
October 2006
November 2006
December 2006
January 2007
February 2007
March 2007
April 2007
May 2007
June 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
February 2008
March 2008
May 2008
June 2008
July 2008
September 2008
October 2008
November 2008
December 2008
February 2009
March 2009
September 2009
October 2009
November 2009
December 2009
February 2010
March 2010
April 2010
May 2010
June 2010
July 2010
August 2010
September 2010
October 2010
November 2010
December 2010
March 2011
April 2011
May 2011
October 2011
January 2012
September 2012
November 2012
February 2014
September 2014
October 2014
March 2015
April 2015
June 2015
March 2016
September 2017
September 2020
July 2021
August 2023
October 2023
November 2023
December 2023
February 2024
March 2024
May 2024
August 2024
January 2025
February 2025
March 2025
April 2025
May 2025
June 2025
July 2025
August 2025
September 2025
October 2025
November 2025
December 2025
Sunday, September 26, 2004
Grady Booch about Software Architecture
Grady Booch, one of the Three Amigo's responsible for the creation of the Unified Modelling Language(UML), is currently working on preparing a Handbook of software architecture - He has released a deck of slides about the work and the contours of the soon-to-be published handbook. Booch outlines the goals of writing and publishing the Handbook as: The primary goal of this present work is to fill this void in software engineering by codifying the architecture of a large collection of interesting software-intensive systems, presenting them in a manner that exposes their essential patterns and that permits comparisons across domains and architectural styles.The second goal of this work is to study these architectural patterns in the context of the engineering forces that shaped them and then to expose a set of proven architectural patterns that may be used to construct new systems or to reason about legacy ones.The third goal of this work is to feed his insatiable curiosity.
Grady Booch brings in important insights into software developer productivity - interesting data like while the number of IT professionals are increasing the population of developer community is not and maps the productivty increase elegantly.Booch offers his view about what characterises and distinguishes software architecture:
-No equivalent laws of physics
-Transparency
-Complexity
-Combinatorial explosion of state space
-Non-continuous behavior
-Systemic issues
-Requirement and technology churn
-Low replication and distribution costs
He elaborates these in his own style:With software, time matters. Software is all about state and changing state. There are usually a large number of states the software can exist in, and the software behavior may be very complex, which makes it difficult to analyze all of the different state combinations. This is different than with physical systems where even moving elements have a finite number of states.
Physical systems are constrained and governed by the laws of physics. On the other hand, with software systems, you can do anything you want. This makes visible and physical systems easier to architect.Many physical systems such as buildings, are static structures. Software systems have both static and dynamic perspectives. Software is assumed to evolve and hence it is built in such a way that applying changes should be inexpensive. Adaptability is the rule for software. In fact, adaptability is the very nature of expert systems. Physical systems are not really built to change over time. Per physical systems engineering standards, software systems are perpetually in the design and prototyping stage. At some point, a running version is good enough to be released. Since the replication and distribution costs are very low (e.g., just burn a CD), new releases can be produced very frequently (we are not saying that this is desirable).
In other words, software development is a continuous design process, where the manufacturing cost is effectively zero. This is unlike hardware systems where you build once and spend the rest of the time manufacturing. Software architecting is less predictable and more risk-building that hardware architecting. Thus, software is becoming more complex and difficult to build than hardware.
A must read for all IT professionals irrespective of what role they play in their professional life.
|
ThinkExist.com Quotes
Sadagopan's Weblog on Emerging Technologies, Trends,Thoughts, Ideas & Cyberworld
"All views expressed are my personal views are not related in any way to my employer"