A Framework for Selecting Architectural Tactics Using Fuzzy Measures

Software architects cannot avoid the consideration of quality attributes when designing software architecture. Architectural styles such as Layers and Client-Server are often used by architects to describe the overall structure and behavior of software. Although an architectural style affects the achievement of quality attributes, these quality attributes are directly performed by design decisions called architectural tactics. While the implementation of an architectural tactic supports a specific quality attribute, it often enhances or hurts other quality attributes in the software. In this paper, a framework for selecting the most appropriate architectural tactics according to their best achievement of the required levels of quality attributes when developing transaction processing systems is proposed. The proposed framework is based on fuzzy measures using Choquet Integral approach and takes into account the impact of architectural tactics on quality attributes, the preferences of quality attributes and the interactions between them. It can also be used to compare different potential architectures in terms of their supporting of quality attributes. The abilities and the advantages of the proposed framework are clarified via practical experiments using a case study.

[1]  Tim Kelly,et al.  Safety tactics for software architecture design , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[2]  Len Bass,et al.  Toward Deriving Software Architectures from Quality Attributes , 1994 .

[3]  Neil B. Harrison,et al.  How do architecture patterns and tactics interact? A model and annotation , 2010, J. Syst. Softw..

[4]  Michel Grabisch,et al.  A review of methods for capacity identification in Choquet integral based multi-attribute utility theory: Applications of the Kappalab R package , 2008, Eur. J. Oper. Res..

[5]  Thomas L. Saaty,et al.  DECISION MAKING WITH THE ANALYTIC HIERARCHY PROCESS , 2008 .

[6]  Saleh Al-Daajeh Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability , 2009 .

[7]  Kennet Henningsson Trade-offs and Conflicts Between Quality Attributes , 2001 .

[8]  W. Grove Statistical Methods for Rates and Proportions, 2nd ed , 1981 .

[9]  Sanjay Kumar,et al.  Assessment of Software Quality: Choquet Integral Approach , 2012 .

[10]  Hazura Zulzalil,et al.  A Case Study to Identify Quality Attributes Relationships for Web- based Applications , 2008 .

[11]  Neil B. Harrison,et al.  Incorporating fault tolerance tactics in software architecture patterns , 2008, SERENE '08.

[12]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[13]  Michel Grabisch,et al.  K-order Additive Discrete Fuzzy Measures and Their Representation , 1997, Fuzzy Sets Syst..

[14]  K. Gwet Handbook of Inter-Rater Reliability: The Definitive Guide to Measuring the Extent of Agreement Among Raters , 2014 .

[15]  Hafedh Mili,et al.  A Quantitative Evaluation of the Impact of Architectural Patterns on Quality Requirements , 2011, SERA.

[16]  Ronald R. Willis,et al.  Software quality engineering: a total technical and management approach , 1988 .

[17]  Seyed Morteza Babamir,et al.  Ranking of Common Architectural Styles Based on Availability, Security and Performance Quality Attributes , 2014 .

[18]  J. Fleiss Statistical methods for rates and proportions , 1974 .

[19]  Dhananjay Gade,et al.  The Evaluation of Software Quality , 2013 .

[20]  Vicenç Torra,et al.  Modeling decisions - information fusion and aggregation operators , 2007 .

[21]  Kennet Henningsson,et al.  Consolidating different views of quality attribute relationships , 2009, 2009 ICSE Workshop on Software Quality.

[22]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[23]  Mariano Eriz Aggregation Functions: A Guide for Practitioners , 2010 .