Evolution of Software Architecture
- In the earliest days, physical motion and electrical signals were the forms of programming
- Later programming was done in punch cards
- Then assembly languages came into existence to provide an elementary form of abstraction
- Even in the early forms of programming, architectures were existent. Different blocks of code were connected by physical proximity to one another. The blocks were knitted together by branching statements.
- 1960 was the decade of the subroutine
- 1970 was the module decade. Quality became a major concern in addition to correct functioning
- In 1970s, concepts like data-flow analysis, entity-relation diagrams, information hiding, and other principles or techniques formed the bases of design methodologies. These design concepts led to the concept of modules. Later the concept of packaging modules and re-usable modules came into existence that facilitated the programming style where you can almost ignore the inner workings of the modules.
- In 1980s, module based concepts such as information hiding and associated methodologies led to the concept of Objects. The concept of inheritence formed during this period
- In 1990s, Object Based Architectures started appearing as frameworks. Along the way, abstractions has become more powerful. Architecture focused more on the placement of elements and their interactions than individual elements
- In current decade, Middleware and IT architecture are the standards. The commercial solutions have built-in security, reliability, performance support. Programmers no longer need to add/write these components individually. Rather can focus on the features of the platform and make the best use of them.
- The flow: Subroutines -> Modules -> Objects -> Frameworks -> Middleware and Architecture
- Architecture Business Cycle
- Level – 1: An organization creates an architecture for a single system
- Level – 2: From the same architecture, the organization makes a series of products
- Level – 3: From a proposed architecture through community wide interaction, a standard architecture is created
- Level – 4: The architecture sometimes become super pervasive, and create a world-wide architecture such as the Internet
- How to create a new architecture: The following processes may help –
- Think – are the quality attributes and quality requirements complete?
- Think – are the tactics/strategies used sufficient?
- Think – how can the scenarios be coupled for better results/qualities?
- Think – how can the tactics/strategies be coupled for better results/qualities?
- Think – how can you predict the results of applying a tactic, [or the effect of coupling]?
- See can you find a pattern on how to use the strategies for better results?
- Think – can any tool facilitate the process?
- Commercial Components
- Industries are creating many commercial architectural products; the products can be generic or domain specific. For example, J2EE for Information Technology domain
Reference: Software Architecture in Practice, Second Editionby Len Bass; Paul Clements; Rick Kazman
From: http://sitestree.com/?p=5101
Categories:43
Tags:
Post Data:2013-01-13 04:51:10
Shop Online: <a href='https://www.ShopForSoul.com/' target='new' rel="noopener">https://www.ShopForSoul.com/</a>
(Big Data, Cloud, Security, Machine Learning): Courses: <a href='http://Training.SitesTree.com' target='new' rel="noopener"> http://Training.SitesTree.com</a>
In Bengali: <a href='http://Bangla.SaLearningSchool.com' target='new' rel="noopener">http://Bangla.SaLearningSchool.com</a>
<a href='http://SitesTree.com' target='new' rel="noopener">http://SitesTree.com</a>
8112223 Canada Inc./JustEtc: <a href='http://JustEtc.net' target='new' rel="noopener">http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning) </a>
Shop Online: <a href='https://www.ShopForSoul.com'> https://www.ShopForSoul.com/</a>
Medium: <a href='https://medium.com/@SayedAhmedCanada' target='new' rel="noopener"> https://medium.com/@SayedAhmedCanada </a>
