Software architecture plays an important role in the achievement of particular qualities we want to see in our software under development. On the other hand specific software demands some distinct qualities in software architecture. Now question arises how software architecture becomes the base to achieve the certain qualities and how qualities influence the architecture. Architecture provides the base for the development of the core product so by inspecting the architecture we can predict the desirable qualities. Here we come to the fact that how much we should deliberate the qualities while designing software architecture.
Our term paper leads to the discussion of following points:
• What is architecture?
• What are software qualities?
• How software architecture supports to achieve software qualities?[1]
• To what extent qualities should be considered in the development of software architecture?[2]
• How software architecture relates to the software qualities?[1][2]
Our main focus here will be on the relation between software qualities and software architecture and overall effect of both on software worth.
Introduction
Software architecture and software quality attributes are paired to each other. Software architecture is a high level design and software quality refers to certain combination of quality attributes such as performance, dependability and security etc [12]. Software architecture was firstly discussed in 1969 and further work on it is continued till now and with the evolution of the discipline, software quality also got focus as a basic requirement to be met.
Our paper provides the brief introduction of both the software architecture and software quality, history of the terms, work done in this discipline, problems and their solutions along with our findings and future directions.
Basic Concepts
1. What is Architecture?
Architecture has become a popular term in the computing community but its use is inconsistent, often
References: b University of British Columbia, 2332 Main Mall, Vancouver, BC, Canada V6T 1Z4 c Software Engineering Institute, Pittsburgh, PA, USA