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? •To what extent qualities should be considered in the development of software architecture? •How software architecture relates to the software qualities? 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 . 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 bearing little resemblance to the civil engineering. IEEE 1471 uses civil architecture as a metaphor for the design of software systems. It defines architecture as
This definition incorporates the idea that there is a difference between an architectural description and architecture. An architectural description is a concrete artifact, but architecture is a concept of a system.
Five core concepts and relationships which provide the foundation for the approved IEEE 1471 version are: •Every system has architecture, but architecture is not a system. •Architecture and an architecture description are not the same things. •Architecture standards, descriptions, and development processes can differ and be developed separately. •Architecture descriptions are inherently multi-viewed.
•Separating the concept of an object’s view from its specification is an effective way to write architecture description standards. IEEE 1471’s most important elements are:
•A set of definitions for key terms such as architectural description, architectural view, and architectural viewpoint •A separation of the concepts of architecture and architecture description to facilitate establishing standards for describing architectures (analogous to blueprint standards) and standards for constructing systems (analogous to building codes or zoning laws) •Content requirements for describing a system’s architecture. In IEEE 1471, a view is a collection of models that represent one aspect of an entire system. A view applies to only one system, not to generalizations across many systems. The standard introduces the concept of viewpoints to capture common descriptive frameworks across many systems. Viewpoints are the vehicles for writing reusable, domain-specific architecture description standards. They establish the languages or notations used to create a view, the conventions for interpreting it, and any associated analytic techniques that might be used with the view.
The new standard...