Tradeoff and Sensitivity Analysis in Software Architecture Evaluation Using Analytic Hierarchy Process

Software architecture evaluation involves evaluating different architecture design alternatives against multiple quality-attributes. These attributes typically have intrinsic conflicts and must be considered simultaneously in order to reach a final design decision. AHP (Analytic Hierarchy Process), an important decision making technique, has been leveraged to resolve such conflicts. AHP can help provide an overall ranking of design alternatives. However it lacks the capability to explicitly identify the exact tradeoffs being made and the relative size of these tradeoffs. Moreover, the ranking produced can be sensitive such that the smallest change in intermediate priority weights can alter the final order of design alternatives. In this paper, we propose several in-depth analysis techniques applicable to AHP to identify critical tradeoffs and sensitive points in the decision process. We apply our method to an example of a real-world distributed architecture presented in the literature. The results are promising in that they make important decision consequences explicit in terms of key design tradeoffs and the architecture's capability to handle future quality attribute changes. These expose critical decisions which are otherwise too subtle to be detected in standard AHP results.

[1]  Claes Wohlin,et al.  A method for understanding quality attributes in software architecture structures , 2002, SEKE '02.

[2]  Claes Wohlin,et al.  An evaluation of methods for prioritizing software requirements , 1998, Inf. Softw. Technol..

[3]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[4]  Jan Bosch,et al.  Architecture-level modifiability analysis (ALMA) , 2004, J. Syst. Softw..

[5]  J. Mumpower Decision sciences: An integrative perspective, Paul R. Kleindorfer, Howard C. Kunreuther, and Paul J. H. Schoemaker, Cambridge: Cambridge University Press, 1993, 470 pp., ISBN 0‐521‐32867‐5 (hc), ISBN 0521‐33812‐3 (pb) , 1995 .

[6]  Barry W. Boehm,et al.  Applying WinWin to quality requirements: a case study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[7]  Claes Wohlin,et al.  Consensus Building when Comparing Software Architectures , 2002, PROFES.

[8]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[9]  Gerald M. Knapp,et al.  Determining the most important criteria in maintenance decision making , 1997 .

[10]  Claes Wohlin,et al.  The fundamental nature of requirements engineering activities as a decision-making process , 2003, Inf. Softw. Technol..

[11]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[12]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[13]  C. Lindblom THE SCIENCE OF MUDDLING THROUGH , 1959 .

[14]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[15]  PerOlof Bengtsson,et al.  Architecture-Level Modifiability Analysis , 2002 .

[16]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[17]  Ian Gorton,et al.  Architecting in the face of uncertainty: an experience report , 2004, Proceedings. 26th International Conference on Software Engineering.

[18]  Muhammad Ali Babar,et al.  A quality-driven systematic approach for architecting distributed software applications , 2005, ICSE.

[19]  Eric Yu,et al.  From Requirements to Architectural Design –Using Goals and Scenarios , 2001 .

[20]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[21]  Rick Kazman,et al.  From requirements negotiation to software architecture decisions , 2005, Inf. Softw. Technol..

[22]  NiemeläEila,et al.  A survey on software architecture analysis methods , 2002 .

[23]  Didar Zowghi,et al.  Analysis of requirements volatility during software development life cycle , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[24]  Mark Klein,et al.  Attribute-Based Architectural Styles , 1999 .

[25]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[26]  T. Saaty,et al.  The Analytic Hierarchy Process , 1985 .

[27]  D. Jennings,et al.  Decision Making: An Integrated Approach , 1994 .

[28]  Mark Klein,et al.  Quantifying the costs and benefits of architectural decisions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[29]  John Mylopoulos,et al.  Formal Reasoning Techniques for Goal Models , 2003, J. Data Semant..

[30]  W. J. Hurley,et al.  A note on a method to ensure rank-order consistency in the analytic hierarchy process , 1996 .

[31]  Claes Wohlin,et al.  A Quality-Driven Decision-Support Method for Identifying Software Architecture Candidates , 2003, Int. J. Softw. Eng. Knowl. Eng..