However, a universally accepted definition of what constitutes a software architecture is elusive.
People tend to use their own definitions of software architecture, which is confusing.
This plethora of definitions of architecture exist because the definers are interested in different quality attributes of software systems. Each of the architecture definitions emphasis certain software quality attributes of the system while demphasizing or ignoring other aspects. This is done because software systems are becoming very complex and it is impossible to comprehend them in their entirety. So people have started to formulate different architectural models of systems, where the types of models created are driven by what aspects of the system the model definers want to expose. In order to bring some organization to this architectural confusion we are investigating how different views of software architecture can be used to support and reason about various software quality software quality attributes.