Skip to main content
Log in

An approach for requirements prioritization based on tensor decomposition

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

A potential mathematical framework for machine learning is multi-linear algebra of the higher-order tensor that can reveal the relationships among multiple factors underlying the observations. Prioritizing the requirements of a project facilitates the process of requirements engineering and involves multifactors. Due to existing time constraints and budget related to projects, by prioritizing the requirements in an appropriate order we can select and apply them more accurately and this causes to increase the quality of software and customers’ satisfaction. In order to prioritize the requirements, there are many approaches that consider different parameters and different view point in their prioritization process. But as far as we know none of them considers the simultaneous effect among entities, namely functional requirements, non-functional requirements and stakeholders in their prioritization process. In this paper, we decided to consider the simultaneous effect among functional, non-functional requirements and stakeholders that have different preferences on requirements by modeling a three-order tensor. Then by applying multi-way analysis, we will obtain appropriate ordered lists of requirements. To evaluate our approach, a controlled experiment has been provided that compares the proposed approach with the state-of-the-art-based approach, analytic hierarchy process (AHP). The results show that our proposed approach outperforms AHP in terms of actual time consumption and ease of use while preserving the quality of the results obtained by our proposed approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Algorithm 1
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Cichocki A et al (2009) Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and blind source separation. Wiley, New York

    Book  Google Scholar 

  2. Cichocki A et al (2007) Sparse super symmetric tensor factorization. In: Neural information processing. Springer, Heidelberg, pp 781–790

  3. Nion D, Lathauwer LD (2008) A block component model-based blind DS-CDMA receiver. IEEE Trans Signal Process 56(11):5567–5579

    Article  MathSciNet  Google Scholar 

  4. Nion D, De Lathauwer L (2008) An enhanced line search scheme for complex-valued tensor decompositions. Application in DS-CDMA. Signal Process 88(3):749–755

    Article  MATH  Google Scholar 

  5. He Z et al (2010) Detecting the number of clusters in n-way probabilistic clustering. IEEE Trans Pattern Anal Mach Intell 32(11):2006–2021

    Article  Google Scholar 

  6. Tao D et al (2007) General tensor discriminant analysis and gabor features for gait recognition. IEEE Trans Pattern Anal Mach Intell 29(10):1700–1715

    Article  Google Scholar 

  7. Muti D, Bourennane S (2007) Survey on tensor signal algebraic filtering. Signal Process 87(2):237–249

    Article  MATH  Google Scholar 

  8. Qiao Y-N, Yong Q, Di H (2011) Tensor field model for higher-order information retrieval. J Syst Softw 84(12):2303–2313

    Article  Google Scholar 

  9. Chaudhury A, Oseledets I, Ramachandran R (2014) A computationally efficient technique for the solution of multi-dimensional PBMs of granulation via tensor decomposition. Comput Chem Eng 61:234–244

    Article  Google Scholar 

  10. Guo T et al (2014) A GA-based feature selection and parameter optimization for linear support higher-order tensor machine. Neurocomputing 144:408–416

    Article  Google Scholar 

  11. Tan H et al (2014) Tensor completion via a multi-linear low-n-rank factorization model. Neurocomputing 133:161–169

    Article  Google Scholar 

  12. Cong F et al (2015) Tensor decomposition of EEG signals: a brief review. J Neurosci Methods 248:59–69

    Article  Google Scholar 

  13. Lei J et al (2015) Dynamic imaging method using the low n-rank tensor for electrical capacitance tomography. Flow Measur Instrum 41:104–114

    Article  Google Scholar 

  14. Cichocki A, Anh-Huy P (2009) Fast local algorithms for large scale nonnegative matrix and tensor factorizations. IEICE Trans Fundam Electron Commun Comput Sci 92(3):708–721

    Article  Google Scholar 

  15. Mørup M et al (2006) Parallel factor analysis as an exploratory tool for wavelet transformed event-related EEG. NeuroImage 29(3):938–947

    Article  Google Scholar 

  16. Acar E et al (2011) Scalable tensor factorizations for incomplete data. Chemometr Intell Lab Syst 106(1):41–56

    Article  Google Scholar 

  17. Miwakeichi F et al (2004) Decomposing EEG data into space–time–frequency components using parallel factor analysis. NeuroImage 22(3):1035–1045

    Article  Google Scholar 

  18. Young RR (2003) The requirements engineering handbook. Artech House technology management and professional development library. Artech House, Boston, p 690

    Google Scholar 

  19. Gorschek T (2006) Requirements engineering supporting technical product management. In: Blekinge Institute of Technology Doctoral Dissertation Series, Blekinge Institute of Technology, Karlskrona, p 343

  20. Sommerville I (2011) Software engineering, 9th edn. McGraw-Hill, New York

    MATH  Google Scholar 

  21. Sadiq M, Jain S (2012) An insight into requirements engineering processes. In: 3rd International Conference on Advances in Communication, Network, and Computing, LNCSIT-Springer, Chennai, February, 2012, India, pp 313–318

  22. Sadiq M, Jain S (2013) A fuzzy based approach for requirements prioritization in goal oriented requirements elicitation process. In: International conference of software engineering and knowledge engineering (SEKE)

  23. Sadiq M, Shahid M (2009) Elicitation and prioritization of software requirements. Int J Recent Trends Eng 2(3):138–142

    Google Scholar 

  24. Chung L, do Prado Leite JCS (2009) On non-functional requirements in software engineering. In: Conceptual modeling: foundations and applications. Springer, pp 363–379

  25. Capilla R, Babar MA, Pastor O (2012) Quality requirements engineering for systems and software architecting: methods, approaches, and tools. Requir Eng 17(4):255–258

    Article  Google Scholar 

  26. Laplante PA (2013) Requirements engineering for software and systems. CRC Press, Boca Raton

    Google Scholar 

  27. Svensson RB et al (2011) Prioritization of quality requirements: state of practice in eleven companies. In: 2011 19th IEEE international requirements engineering conference (RE). IEEE

  28. Thakurta R (2013) A framework for prioritization of quality requirements for inclusion in a software project. Softw Qual J 21(4):573–597

    Article  Google Scholar 

  29. Boehm B, In H (1996) Identifying quality-requirement conflicts. IEEE Softw 13(2):25

    Article  Google Scholar 

  30. Dabbagh M, Lee SP (2015) An approach for prioritizing NFRs according to their relationship with FRs. Lect Notes Softw Eng 3(1):1

    Article  Google Scholar 

  31. Doerr J et al (2005) Non-functional requirements in industry-three case studies adopting an experience-based NFR method. In: Proceedings of 13th IEEE international conference on requirements engineering, 2005. IEEE

  32. Glinz M (2007) On non-functional requirements. In: RE’07. 15th IEEE international requirements engineering conference, 2007. IEEE

  33. Mylopoulos J, Chung L, Nixon B (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans Softw Eng 18(6):483–497

    Article  Google Scholar 

  34. Lawrence B, Wiegers K, Ebert C (2001) The top risk of requirements engineering. IEEE Softw 18(6):62–63

    Article  Google Scholar 

  35. Barbacci MR et al (2002) Quality attribute workshops

  36. Cysneiros LM, Leite JCSP (2004) Nonfunctional requirements: from elicitation to conceptual models. IEEE Trans Softw Eng 30(5):328–350

    Article  Google Scholar 

  37. Dabbagh M, Lee SP (2013) A consistent approach for prioritizing system quality attributes. In: 2013 14th ACIS international conference on software engineering, artificial intelligence, networking and parallel/distributed computing (SNPD). IEEE

  38. Berntsson Svensson R et al (2011) Quality requirements in industrial practice-an extended interview study at eleven companies. IEEE transactions on software engineering, preprint 1

  39. Firesmith D (2004) Prioritizing requirements. J Object Technol 3(8):35–48

    Article  Google Scholar 

  40. Lehtola L (2006) Providing value by prioritizing requirements throughout product development: state of practice and suitability of prioritization methods. Licentiate thesis, HUT/Department of Computer Science

  41. Otero CE et al (2010) A quality-based requirement prioritization framework using binary inputs. In: 2010 Fourth Asia international conference on mathematical/analytical modelling and computer simulation (AMS). IEEE

  42. Daneva M et al (2014) Empirical research methodologies and studies in requirements engineering: How far did we come? J Syst Softw 95:1–9

    Article  Google Scholar 

  43. Wang X-T, Xiong W (2011) An integrated linguistic-based group decision-making approach for quality function deployment. Expert Syst Appl 38(12):14428–14438

    Article  Google Scholar 

  44. Zadeh LA (1975) The concept of a linguistic variable and its application to approximate reasoning—I. Inf Sci 8(3):199–249

    Article  MathSciNet  MATH  Google Scholar 

  45. Lai X et al (2008) Ranking of customer requirements in a competitive environment. Comput Ind Eng 54(2):202–214

    Article  Google Scholar 

  46. Liu C-H (2010) A group decision-making method with fuzzy set theory and genetic algorithms in quality function deployment. Qual Quant 44(6):1175–1189

    Article  Google Scholar 

  47. Hitchcock FL (1928) Multiple invariants and generalized rank of a P-way matrix or tensor. J Math Phys 7(1):39–79

    Article  MATH  Google Scholar 

  48. Zhu M-X et al (2012) A non-functional requirements tradeoff model in trustworthy software. Inf Sci 191:61–75

    Article  Google Scholar 

  49. Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253

    Article  Google Scholar 

  50. Moisiadis F (2002) The fundamentals of prioritising requirements. In: Proceedings of the systems engineering, test and evaluation conference (SETE’2002)

  51. Avesani P et al (2004) Supporting the requirements prioritization process. A machine learning approach. In: SEKE04. Citeseer

  52. Bebensee T, van de Weerd I, Brinkkemper S (2010) Binary priority list for prioritizing software requirements. In: Requirements engineering: foundation for software quality. Springer, pp 67–78

  53. Perini A, Susi A, Avesani P (2013) A machine learning approach to software requirements prioritization. IEEE Trans Softw Eng 39(4):445–461

    Article  Google Scholar 

  54. Dabbagh M, Lee SP (2014) An Approach for Integrating the Prioritization of Functional and Nonfunctional Requirements. Sci World J 2014:737626–1–737626-13. doi:10.1155/2014/737626

    Article  Google Scholar 

  55. Ishizaka A, Labib A (2011) Review of the main developments in the analytic hierarchy process. Expert Syst Appl 38(11):14336–14345

    Google Scholar 

  56. Saaty TL (2008) Decision making with the analytic hierarchy process. Int J Serv Sci 1(1):83–98

    Google Scholar 

  57. Triantaphyllou E, Mann SH (1995) Using the analytic hierarchy process for decision making in engineering applications: some challenges. Int J Ind Eng Appl Pract 2(1):35–44

    Google Scholar 

  58. Karlsson J, Wohlin C, Regnell B (1998) An evaluation of methods for prioritizing software requirements. Inf Softw Technol 39(14):939–947

    Article  Google Scholar 

  59. Sadiq M et al (2010) More on elicitation of software requirements and prioritization using AHP. In: 2010 International conference on data storage and data engineering (DSDE). IEEE

  60. Sadiq M, Jain S (2014) Applying fuzzy preference relation for requirements prioritization in goal oriented requirements elicitation process. Int J Syst Assur Eng Manag 5(4):711–723

    Article  Google Scholar 

  61. Kolda TG, Sun J (2008) Scalable tensor decompositions for multi-aspect data mining. In: Proceeding of the 8th IEEE international conference on data mining (ICDM)

  62. Lathauwer LD, Moor BD, Vandewalle J (2000) A multilinear singular value decomposition. SIAM J Matrix Anal Appl 21(4):1253–1278

    Article  MathSciNet  MATH  Google Scholar 

  63. Acar E, Yener B (2009) Unsupervised multiway data analysis: a literature survey. IEEE Trans Knowl Data Eng 21(1):6–20

    Article  Google Scholar 

  64. Sun J et al (2005) Cubesvd: a novel approach to personalized Web search. In: Proceedings of the 14th international conference on World Wide Web

  65. Wang H, Ahuja N (2008) A tensor approximation approach to dimensionality reduction. Int J Comput Vis 76(3):217–229

    Article  Google Scholar 

  66. Kolda TG, Bader BW (2009) Tensor decompositions and applications. SIAM Rev 51(3):455–500

    Article  MathSciNet  MATH  Google Scholar 

  67. Berry M, Dumais S, O’Brien G (1995) Using linear algebra for intelligent information retrieval. SIAM Rev 37(4):573–595

    Article  MathSciNet  MATH  Google Scholar 

  68. Saito D, Yamamoto K, Minematsu N, Hirose K (2011) One-to-many voice conversion based on tensor representation of speaker space. In: Interspeech (pp. 653–656), Florence, Italy, 28–31 August 2011.

  69. Nanopoulos A (2011) Item recommendation in collaborative tagging systems. IEEE Trans Syst Man Cybern A Syst Hum 41(4):760–771

    Article  Google Scholar 

  70. Sadiq M, Jain S (2014) A fuzzy based approach for the selection in goal oriented requirements elicitation process. Int J Syst Assur Eng Manag 6(2):157–164

    Article  Google Scholar 

  71. Sadiq M, Jain S (2014) Stakeholder identification method in goal oriented requirements elicitation process. In: 2014 IEEE 5th international workshop on requirements prioritization and communication (RePriCo). IEEE

  72. Furnas G, Deerwester S, Dumais S (1988) Information retrieval using a singular value decomposition model of latent semantic structure. In: Proceedings of the 11th annual international ACM SIGIR conference on research and development in information retrieval

  73. Sun J, Tao D, Faloutsos C (2006) Beyond streams and graphs: dynamic tensor analysis. In: Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining

  74. Perini A, Ricca F, Susi A (2009) Tool-supported requirements prioritization: comparing the AHP and CBRank methods. Inf Softw Technol 51(6):1021–1032

    Article  Google Scholar 

  75. Saaty TL (2000) Fundamentals of decision making and priority theory with the analytic hierarchy process, vol 6. Rws Publications, Pittsburgh, PA

  76. Gholamian MR, Ghomi SF, Ghazanfari M (2014) Applying FARSJUM intelligent system to derive priorities in sparse hierarchical problems. Soft Comput 18(2):299–311

    Article  MATH  Google Scholar 

  77. Karlsson L et al (2007) Pair-wise comparisons versus planning game partitioning—experiments on requirements prioritisation techniques. Empir Softw Eng 12(1):3–33

    Article  Google Scholar 

  78. Perini A et al (2007) An empirical study to compare the accuracy of AHP and CBRanking techniques for requirements prioritization. In: CERE’07. Fifth international workshop on comparative evaluation in requirements engineering, 2007. IEEE

  79. Perini A, Susi A, Avesani P (2013) A machine learning approach to software requirements prioritization. IEEE Trans Softw Eng 39(4):445–461

    Article  Google Scholar 

  80. Ribeiro RA et al (2011) Hybrid assessment method for software engineering decisions. Decis Support Syst 51(1):208–219

    Article  Google Scholar 

  81. Tonella P, Susi A, Palma F (2013) Interactive requirements prioritization using a genetic algorithm. Inf Softw Technol 55(1):173–187

    Article  Google Scholar 

  82. Barney S et al (2012) Software quality trade-offs: a systematic map. Inf Softw Technol 54(7):651–662

    Article  Google Scholar 

  83. Wohlin C et al (2012) Experimentation in software engineering. Springer, Berlin

    Book  Google Scholar 

  84. Pergher M, Rossi B (2013) Requirements prioritization in software engineering: a systematic mapping study. In: 2013 3rd International workshop on empirical requirements engineering (EmpiRE). IEEE

  85. Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74

    Article  Google Scholar 

  86. Likert R (1932) A technique for the measurement of attitudes. Arch Psychol 22(140):55

    Google Scholar 

  87. Svahnberg M, Aurum A, Wohlin C (2008) Using students as subjects-an empirical evaluation. In: Proceedings of the second ACM-IEEE international symposium on empirical software engineering and measurement. ACM

  88. Berander P (2004) Using students as subjects in requirements prioritization. In: ISESE’04. Proceedings of 2004 international symposium on empirical software engineering, 2004. IEEE

  89. Tichy WF (2000) Hints for reviewing empirical work in software engineering. Empir Softw Eng 5(4):309–312

    Article  Google Scholar 

  90. Danesh AS, Ahmad R (2009) Study of prioritization techniques using students as subjects. In: ICIME’09. International conference on information management and engineering. IEEE

  91. Siegel S (1956) Nonparametric statistics for the behavioral sciences. In: McGraw-Hill series in psychology, McGraw-Hill, New York

  92. Shin K, Kang U. Distributed methods for high-dimensional and large-scale tensor factorization. In: 2014 IEEE international conference on data mining. IEEE

  93. Jeon I et al (2015) Haten2: Billion-scale tensor decompositions. In: 2015 IEEE 31st international conference on data engineering. IEEE

  94. Kim M, Candan KS (2016) Decomposition-by-normalization (DBN): leveraging approximate functional dependencies for efficient CP and tucker decompositions. Data Min Knowl Discov 30(1):1–46

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Homayun Motameni.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Misaghian, N., Motameni, H. An approach for requirements prioritization based on tensor decomposition. Requirements Eng 23, 169–188 (2018). https://doi.org/10.1007/s00766-016-0262-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-016-0262-6

Keywords

Navigation