A New Approach to the Quantitative Measurement of Software Flexibility


Ferdowsi University of Mashhad


Software flexibility is the ease with which a software system can be modified for use in applications or environments other than those for which it was specifically designed. Software flexibility is not an absolute term. It is an important aspect of software quality. Quantifying software flexibility is increasingly becoming necessary. We have recently proposed a new approach (referred to as SDAFlex&Rel) to the development of reliable yet flexible software. In this paper, a new approach is proposed to quantitatively measure the flexibility of the software developed using SDAFlex&Rel, thereby making precise informal claims on the flexibility improvement. Moreover, the effectiveness of the proposed measurement approach is empirically investigated in the multi-lift case study that has already been conducted to demonstrate the feasibility of SDAFlex&Rel. The results confirm the flexibility improvement promised by SDAFlex&Rel.


[1]     J. Niu, “A Measurement Method of Software Flexibility Based on BP Network,” in Proc. Int. Workshop on Intelligent Systems and Applications (ISA), 2009, pp. 1-4.

[2]     S. Peng, “User-Oriented Measurement of Software Flexibility,” in Proc. World Congress on Computer Science and Information Engineering, 2009, pp. 629-633.

[3]     R. Martinho, “A Two-Step Approach for Modeling Flexibility in Software Processes,” in Proc. 23rd IEEE/ACM International Conference on Automated Software Engineering, Italy, 2008, pp. 427-430.            

[4]     H. Oliver, O. Philipp, and B. Udo. (2010, Jan.). Improving Software Flexibility for Business Process Changes. Business & Information Systems Eng. [Online]. 2(1), pp. 3-13. Available: http://link.springer.com/article/10.1007/s12599-009-0086-8 

[5]     A. Rasoolzadegan and A. Abdollahzadeh. (2014, Jul.). Reliable yet Flexible Software through Formal Model Transformation (Rule Definition). Journal of Knowledge and Information Systems (KAIS), [Online]. 40 (1), PP. 79-126. Available: http://link.springer.com/article/10.1007/s10115-013-0621-2

[6]     A. Rasoolzadegan and A. Abdollahzadeh, “Specifying a Parallel, Distributed, Real-Time, and Embedded System: Multi-Lift System Case Study,” Information Technology and Computer Eng. Faculty, Amirkabir Univ. Technology, Tehran, Iran, Tech. Rep., 2011.

[7]     H. B. Christensen, “Flexible, Reliable Software: Using Patterns and Agile Development,” Chapman and Hall/CRC, 1st ed., 2010.

[8]     H. Eden and T. Mens. (2006, Jun.). Measuring Software Flexibility. IEE Software. [Online]. 153(3), pp. 113-126. Available:


[9]     G. H. Z. Li. (2008, Apr.). Research on Flexibility Metrics in Software Architecture Level. ComputerScience. [Online]. 35 (4). pp. 259-264. Available:


[10]  E. Gamma, R. Helm, R. Johnson, and J. Vlissides, “Design Pattern: Elements of Reusable Object-Oriented Software,” Addison-Wesley Publishing Company, Fifth ed., 1995.

[11]  A. M. Ross, D. H. Rhodes, and D. E. Hastings. (2008, Apr.). Defining Changeability: Reconciling Flexibility,Adaptability, Scalability, Modifiability, and Robustnessfor Maintaining System Lifecycle Value. Systems Engineering. [Online]. 11(3), pp. 246–262. Available:


[12]  R. S. A. DeLoach and V. A. Kolesnikov, “Using Design Metrics for Predicting System Flexibility,” in ProcFundamental Approaches to Software Engineering, 2006, pp. 184-198.

[13]  T. Sasaki, N. Yoshioka, Y. Tahara, and A. Ohsuga, “Evaluation of Flexibility to Changes Focusing on the Variable Structures in Legacy Software,” in Proc. Knowledge-Based Software Engineering: 11th Joint Conference, 2014, pp. 252–269.

[14]  Y. Gao and Y. Yang, “Flexibility of Software Development Method,” in Proc. Advances in Intelligent and Soft Computing, 2011, pp. 383-387.

[15]  Y. Wang, M. Jia, J. Guo, and B. Zhang, “Evaluating Model of Software Flexibility of Domestic Foundational Software,” in Proc. International Conference on Electrical and Control Engineering, 2011, pp. 5906-5909.

[16]  S. Jarzabek and H. D. Trung, “Flexible generators for software reuse and evolution,” in Proc. 33rd international conference on Software engineering, 2011, pp. 920-923.

[17]  S. Niu, A. Xu, and Z. Song, “A flexible software framework with dynamic expansible signals,” in Proc. 2014 IEEE UTOTESTCON, 2014, pp. 355-359.

[18]  B. Johnson, W. W. Woolfolk, R. Miller, and C. Johnson, “Flexible Software Design: Systems Development for Changing Requirements,” CRC Press, 1th ed., 2005.

[19]  I. Kim, D. Bae, and J. Hong. (2007, Nov.). A component composition model providing dynamic, flexible, and hierarchical composition of components for supporting software evolution. Journal of Systems and Software. [Online]. 80(11), pp. 1797-1816. Available: http://www.sciencedirect.com/science/article/pii/S0164121207000659