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.
"Externally visible”,
These properties refers to those assumptions other elements can make of an element, such as its provided services, performance characteristics, fault handling, shared resource usage, and so on. Let us look at some of the implications of this definition in more detail. (http://www.sei.cmu.edu/architecture/definitions.html)
First,
Architecture defines elements. The architecture embodies defines the order in which the elements relate to each other. Architecture shows the higher level view of the system by omitting the elements that do not relate to each other. Thus, an architecture is foremost an abstraction of a system that suppresses details of elements that do not affect how they use. In modern system the interaction of the element is provided by the means of interfaces, interfaces that partition details about an element into public and private parts. Architecture is concerned with the public side of this division; i.e. it is not concerned with internal implementation view of the system.
Second,
As it is evident from the above discussion, a system can have more than one structure having some specific responsibilities as a part of that system. These units provide a basic for the implementation by dividing a problem into its subdivided assignments.
Back to JATIT Free Content Research Articles
©2005 Jatit Grid Computing Software Architecture