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.













Similar content being viewed by others
References
Cichocki A et al (2009) Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and blind source separation. Wiley, New York
Cichocki A et al (2007) Sparse super symmetric tensor factorization. In: Neural information processing. Springer, Heidelberg, pp 781–790
Nion D, Lathauwer LD (2008) A block component model-based blind DS-CDMA receiver. IEEE Trans Signal Process 56(11):5567–5579
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
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
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
Muti D, Bourennane S (2007) Survey on tensor signal algebraic filtering. Signal Process 87(2):237–249
Qiao Y-N, Yong Q, Di H (2011) Tensor field model for higher-order information retrieval. J Syst Softw 84(12):2303–2313
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
Guo T et al (2014) A GA-based feature selection and parameter optimization for linear support higher-order tensor machine. Neurocomputing 144:408–416
Tan H et al (2014) Tensor completion via a multi-linear low-n-rank factorization model. Neurocomputing 133:161–169
Cong F et al (2015) Tensor decomposition of EEG signals: a brief review. J Neurosci Methods 248:59–69
Lei J et al (2015) Dynamic imaging method using the low n-rank tensor for electrical capacitance tomography. Flow Measur Instrum 41:104–114
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
Mørup M et al (2006) Parallel factor analysis as an exploratory tool for wavelet transformed event-related EEG. NeuroImage 29(3):938–947
Acar E et al (2011) Scalable tensor factorizations for incomplete data. Chemometr Intell Lab Syst 106(1):41–56
Miwakeichi F et al (2004) Decomposing EEG data into space–time–frequency components using parallel factor analysis. NeuroImage 22(3):1035–1045
Young RR (2003) The requirements engineering handbook. Artech House technology management and professional development library. Artech House, Boston, p 690
Gorschek T (2006) Requirements engineering supporting technical product management. In: Blekinge Institute of Technology Doctoral Dissertation Series, Blekinge Institute of Technology, Karlskrona, p 343
Sommerville I (2011) Software engineering, 9th edn. McGraw-Hill, New York
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
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)
Sadiq M, Shahid M (2009) Elicitation and prioritization of software requirements. Int J Recent Trends Eng 2(3):138–142
Chung L, do Prado Leite JCS (2009) On non-functional requirements in software engineering. In: Conceptual modeling: foundations and applications. Springer, pp 363–379
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
Laplante PA (2013) Requirements engineering for software and systems. CRC Press, Boca Raton
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
Thakurta R (2013) A framework for prioritization of quality requirements for inclusion in a software project. Softw Qual J 21(4):573–597
Boehm B, In H (1996) Identifying quality-requirement conflicts. IEEE Softw 13(2):25
Dabbagh M, Lee SP (2015) An approach for prioritizing NFRs according to their relationship with FRs. Lect Notes Softw Eng 3(1):1
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
Glinz M (2007) On non-functional requirements. In: RE’07. 15th IEEE international requirements engineering conference, 2007. IEEE
Mylopoulos J, Chung L, Nixon B (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans Softw Eng 18(6):483–497
Lawrence B, Wiegers K, Ebert C (2001) The top risk of requirements engineering. IEEE Softw 18(6):62–63
Barbacci MR et al (2002) Quality attribute workshops
Cysneiros LM, Leite JCSP (2004) Nonfunctional requirements: from elicitation to conceptual models. IEEE Trans Softw Eng 30(5):328–350
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
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
Firesmith D (2004) Prioritizing requirements. J Object Technol 3(8):35–48
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
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
Daneva M et al (2014) Empirical research methodologies and studies in requirements engineering: How far did we come? J Syst Softw 95:1–9
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
Zadeh LA (1975) The concept of a linguistic variable and its application to approximate reasoning—I. Inf Sci 8(3):199–249
Lai X et al (2008) Ranking of customer requirements in a competitive environment. Comput Ind Eng 54(2):202–214
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
Hitchcock FL (1928) Multiple invariants and generalized rank of a P-way matrix or tensor. J Math Phys 7(1):39–79
Zhu M-X et al (2012) A non-functional requirements tradeoff model in trustworthy software. Inf Sci 191:61–75
Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253
Moisiadis F (2002) The fundamentals of prioritising requirements. In: Proceedings of the systems engineering, test and evaluation conference (SETE’2002)
Avesani P et al (2004) Supporting the requirements prioritization process. A machine learning approach. In: SEKE04. Citeseer
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
Perini A, Susi A, Avesani P (2013) A machine learning approach to software requirements prioritization. IEEE Trans Softw Eng 39(4):445–461
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
Ishizaka A, Labib A (2011) Review of the main developments in the analytic hierarchy process. Expert Syst Appl 38(11):14336–14345
Saaty TL (2008) Decision making with the analytic hierarchy process. Int J Serv Sci 1(1):83–98
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
Karlsson J, Wohlin C, Regnell B (1998) An evaluation of methods for prioritizing software requirements. Inf Softw Technol 39(14):939–947
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
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
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)
Lathauwer LD, Moor BD, Vandewalle J (2000) A multilinear singular value decomposition. SIAM J Matrix Anal Appl 21(4):1253–1278
Acar E, Yener B (2009) Unsupervised multiway data analysis: a literature survey. IEEE Trans Knowl Data Eng 21(1):6–20
Sun J et al (2005) Cubesvd: a novel approach to personalized Web search. In: Proceedings of the 14th international conference on World Wide Web
Wang H, Ahuja N (2008) A tensor approximation approach to dimensionality reduction. Int J Comput Vis 76(3):217–229
Kolda TG, Bader BW (2009) Tensor decompositions and applications. SIAM Rev 51(3):455–500
Berry M, Dumais S, O’Brien G (1995) Using linear algebra for intelligent information retrieval. SIAM Rev 37(4):573–595
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.
Nanopoulos A (2011) Item recommendation in collaborative tagging systems. IEEE Trans Syst Man Cybern A Syst Hum 41(4):760–771
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
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
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
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
Perini A, Ricca F, Susi A (2009) Tool-supported requirements prioritization: comparing the AHP and CBRank methods. Inf Softw Technol 51(6):1021–1032
Saaty TL (2000) Fundamentals of decision making and priority theory with the analytic hierarchy process, vol 6. Rws Publications, Pittsburgh, PA
Gholamian MR, Ghomi SF, Ghazanfari M (2014) Applying FARSJUM intelligent system to derive priorities in sparse hierarchical problems. Soft Comput 18(2):299–311
Karlsson L et al (2007) Pair-wise comparisons versus planning game partitioning—experiments on requirements prioritisation techniques. Empir Softw Eng 12(1):3–33
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
Perini A, Susi A, Avesani P (2013) A machine learning approach to software requirements prioritization. IEEE Trans Softw Eng 39(4):445–461
Ribeiro RA et al (2011) Hybrid assessment method for software engineering decisions. Decis Support Syst 51(1):208–219
Tonella P, Susi A, Palma F (2013) Interactive requirements prioritization using a genetic algorithm. Inf Softw Technol 55(1):173–187
Barney S et al (2012) Software quality trade-offs: a systematic map. Inf Softw Technol 54(7):651–662
Wohlin C et al (2012) Experimentation in software engineering. Springer, Berlin
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
Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74
Likert R (1932) A technique for the measurement of attitudes. Arch Psychol 22(140):55
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
Berander P (2004) Using students as subjects in requirements prioritization. In: ISESE’04. Proceedings of 2004 international symposium on empirical software engineering, 2004. IEEE
Tichy WF (2000) Hints for reviewing empirical work in software engineering. Empir Softw Eng 5(4):309–312
Danesh AS, Ahmad R (2009) Study of prioritization techniques using students as subjects. In: ICIME’09. International conference on information management and engineering. IEEE
Siegel S (1956) Nonparametric statistics for the behavioral sciences. In: McGraw-Hill series in psychology, McGraw-Hill, New York
Shin K, Kang U. Distributed methods for high-dimensional and large-scale tensor factorization. In: 2014 IEEE international conference on data mining. IEEE
Jeon I et al (2015) Haten2: Billion-scale tensor decompositions. In: 2015 IEEE 31st international conference on data engineering. IEEE
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
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-016-0262-6