- Quality-Driven Architecture Design and Quality Analysis
Quality-driven architecture design is an approach to
software architecture design which emphasizes the importance of addressingquality attributes , i.e. non-functional characteristics ofsoftware products. The approach relies on treating quality attributes as at least equally important requirements asfunctional requirements and constraints, and utilizing the gained knowledge in architectural design. The approach is complemented by quality analysis of software architecture, which is a way of analyzing how well software architecture fulfills the non-functional requirements. QADA (Quality-driven Architecture Design and Quality Analysis) is amethodology developed atVTT Technical Research Centre of Finland .QADA provides a systematic way to transform quality requirements into software architecture. Architectural styles and patterns are used as a guide to carry out quality requirements in architectural description with a documented design rationale [ cite book |title=Quality-driven architecture design and quality analysis method. A revolutionary initiation approach to a product line architecture. | url=http://www.vtt.fi/inf/pdf/publications/2002/P456.pdf |last=Matinlassi | coauthors=Niemelä, Dobrica | year=2002 |publisher=VTT Publications |location=Espoo |isbn=951-38-5967-3, pages=12-13 ] . QADA contributes methods and techniques to the following areas of architecture-centric software development: (1) software family engineering, (2) model-and quality driven architecture development, (3) rchitectural knowledge sharing, and (4) architecture evaluation. The main contributions are the following [ cite book| title=Quality evaluation by QADA | last=Niemelä | coauthors=Matinlassi | year=2005 |publisher=The 5th working IEEE/IFIP Conference on Software Architecture. WICSA 2005. Pittsburgh, Pennsylvania | url= http://www.vtt.fi/inf/julkaisut/muut/2005/Niemela_Matinlassi_EvaluationByQada_v10.pdf ] :
* QADA contributes to "software family engineering" by providing [ citation | title=Quality driven family architecture development | last=Niemelä | year=2005 |publisher=9th International Software Product Line Conference. Rennes, France, 26 Sep. 2005 ] : (a) method to select an appropriate family architecture approach, (b) a method to capture and map requirements to the family architecture (c) a method to evaluate the maturity and quality of the family architecture and (d) a technique to represent variation points in the family architecture.
* QADA contributes the "model- and quality-driven architecture development" by providing [ cite book |title=Quality-driven architecture design and quality analysis method. A revolutionary initiation approach to a product line architecture. | url=http://www.vtt.fi/inf/pdf/publications/2002/P456.pdf |last=Matinlassi |coauthors=Niemelä, Dobrica |year=2002 |publisher=VTT Publications |location=Espoo |isbn=951-38-5967-3, pages=36-74 ] : (a) a stakeholder-based definition of architectural viewpoints, (b) a set of predefined views that use a set of diagrams for representing a view of architecture, and (c) a technique to map quality requirements to architectural views and represent the quality properties in the architectural diagrams.
* QADA facilitates "sharing and reusing architectural design knowledge" by providing: (a) an architectural knowledgebase, aka. stylebase, which includes a set of styles and patterns to be used by architects [ citation |title= Toward an Architectural Knowledge Base for Wireless Service Engineering | last=Niemelä | first=Eila | coauthors=Kalaoja, Logo | year=2000 |journal=EEE Transactions on Software Engineering | volume=31 | issue=5 | pages 361 - 379 ] , (b) a technique for transforming an architecture from one style to another according to the changed quality requirements [ cite book |title=Quality-driven Software Architecture Model Transformation. Towards automation |last=Matinlassi|first=Mari |year=2006 |publisher=VTT Publications |location=Espoo | url=http://www.vtt.fi/inf/pdf/publications/2006/P608.pdf ] and (c) patterns for documenting architectural descriptions and software components.
* In addition, QADA methodology contains several "quality evaluation" methods, e.g. Integrability and Extensibility Evaluation (IEE) [ cite journal|title=Integrability and Extensibility Evaluation From Software Architectural models - A Case Study|last=Henttonen |coauthors=Matinlassi, Niemelä, Kanstén |year=200 7|journal=Open Software Engineering Journal |volume=1 |issue=1 |pages=1–20 |id= |url=http://www.bentham-open.org/pages/content.php?TOSEJ/2007/00000001/00000001/1TOSEJ.SGM|doi=10.2174/1874107X00701010001 ] and Reliability and Availability Prediction (RAP) [ cite journal |title= A method for predicting reliability andavailability at the architectural level in Software Product- Lines |last=Immonen |year=2005|journal=Research Issues in Engineering and Management |publisher=Springer-Verlag | pages=373–422 ] . Evaluation is based on scenario-based analysis methods. The methods consist of three phases: quality goals and criteria definition, scenario modelling and actual evaluation based on defined change scenarios.
The development of QADA methodology started in 2000 [ cite book |title=Attribute-based product-line architecture development for embedded systems | last=Dobrica | coauthors=Niemelä, | year=2000 |publisher=Proceedings of the 3rd Australasian Workshop on Software and Systems Architectures. Sydney, 19 - 20 Nov 2000 ] . The development has been done in a sequence of various types of research projects involving several researches, each project and researcher focusing on certain part(s) of the methodology. The research approach of the whole concept is to create, validate and improve parts of the methodology as methods, techniques and realizations, to evaluate the parts and therefore to iteratively elaborate the methodology.
VTT has also developedopen source tools to support QADA methodology, e.g.Stylebase for Eclipse and CombonentBee.Reference
External links
* [http://virtual.vtt.fi/virtual/proj1/projects/qada/ QADA homepage]
Wikimedia Foundation. 2010.