Dependency-aware software requirements selection using fuzzy graphs and integer programming

Davoud Mougouei, David M.W. Powers

Research output: Contribution to journalArticlepeer-review

Abstract

One of the critical activities in software development is Requirements Selection, which is to find an optimal subset of the software requirements (features) with the highest value for a given budget. The values of the requirements, however, may depend on one another. Such Value Dependencies have not been considered by the existing requirements selection methods, leading to user dissatisfaction and loss of value and reputation in software projects. To mitigate this, we propose Dependency-Aware Requirements Selection (DARS) as an expert system, which explicitly accounts for value dependencies in software projects. At the heart of DARS is an Integer Linear Programming (ILP) model that reduces the risk of value loss by considering value dependencies among the requirements. These value dependencies are identified from the preferences of the users for the requirements. The validly of DARS is verified by studying a real-world software project as well as carrying out simulations. Our results demonstrate a significant reduction in value loss when DARS is employed. Also, the ILP model of DARS proved scalable to large requirement sets (experimented for up to 3000). The results of our study can be extrapolated to a wide range of expert systems that concern selecting value-dependent items.

Original languageEnglish
Article number113748
Number of pages23
JournalExpert Systems with Applications
Early online date2 Aug 2020
DOIs
Publication statusE-pub ahead of print - 2 Aug 2020

Keywords

  • Dependencies
  • Fuzzy
  • Integer programming
  • Software
  • Value

Fingerprint Dive into the research topics of 'Dependency-aware software requirements selection using fuzzy graphs and integer programming'. Together they form a unique fingerprint.

Cite this