Muhammad Yaseen, Muhammad Asif Nauman, Roobaea Alroobaea, Hamed Alsufyani, Umar Farooq Khattak
{"title":"Prioritization of Functional Requirements Using Directed Graph and K-Means Clustering","authors":"Muhammad Yaseen, Muhammad Asif Nauman, Roobaea Alroobaea, Hamed Alsufyani, Umar Farooq Khattak","doi":"10.1002/smr.70019","DOIUrl":null,"url":null,"abstract":"<div>\n \n <p>Functional requirements (FRs) prioritization is process of ranking of software FRs from development perspective such that which requirement to be implemented first and which should not. FRs prioritization is necessary as these requirements are interrelated such that one requirement is necessary for the implementation of another requirement. Also, when two parallel developers work on interrelated dependent requirements, requirements must be prioritized. Prioritizing small size requirements is not a big issue due to a fewer number of comparisons but when developers implement large size requirements such as enterprise resource planning (ERP), it requires a huge number of comparisons. Numerous techniques are suggested for FRs prioritization such as AHP, which yield more accurate results, but these techniques are not scalable for large size software requirements. In this research paper, a new prioritization approach based on graph and k-means clustering is suggested that will capture all dependencies from a list of FRs using a directed graph and then prioritize it with a clustering technique with fewer comparisons. The proposed technique based on directed graph and clustering approach is validated on ODOO ERP, which shows that with n-1 pairwise comparisons, requirements can be prioritized.</p>\n </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 4","pages":""},"PeriodicalIF":1.7000,"publicationDate":"2025-03-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Software-Evolution and Process","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/smr.70019","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Functional requirements (FRs) prioritization is process of ranking of software FRs from development perspective such that which requirement to be implemented first and which should not. FRs prioritization is necessary as these requirements are interrelated such that one requirement is necessary for the implementation of another requirement. Also, when two parallel developers work on interrelated dependent requirements, requirements must be prioritized. Prioritizing small size requirements is not a big issue due to a fewer number of comparisons but when developers implement large size requirements such as enterprise resource planning (ERP), it requires a huge number of comparisons. Numerous techniques are suggested for FRs prioritization such as AHP, which yield more accurate results, but these techniques are not scalable for large size software requirements. In this research paper, a new prioritization approach based on graph and k-means clustering is suggested that will capture all dependencies from a list of FRs using a directed graph and then prioritize it with a clustering technique with fewer comparisons. The proposed technique based on directed graph and clustering approach is validated on ODOO ERP, which shows that with n-1 pairwise comparisons, requirements can be prioritized.