Log in

Improving a Model for NFR Estimation Using Band Classification and Selection with KNN

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

Any software development project needs to estimate non-functional requirements (NFR). Typically, software managers are forced to use expert judgment to estimate the NFR. Today, NFRs cannot be measured, as there is no standardized unit of measurement for them. Consequently, most estimation models focus on the functional user requirements (FUR) and do not consider the NFR in the estimation process because these terms are often subjective. The objective of this paper was to show how an NFR estimation model was created using fuzzy logic, and K-Nearest Neighbors classifier algorithm, aiming to consider the subjectivity embedded in NFR terms to solve a specific problem in a Mexican company. The proposed model was developed using a database with real projects from a Mexican company in the private sector. The results were beneficial and better than the initial model considering quality criteria like mean magnitude of relative error (MMRE), standard deviation of magnitude of relative error (SDMRE) and prediction level (Pred 25%). Additionally, the proposed approach allows the managers to identify quantitative elements related to NFR that could be used to interpret the data and build additional models.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (France)

Instant access to the full article PDF.

Fig. 1.

Notes

  1. https://www.python.org/

  2. https://scikit-learn.org/

REFERENCES

  1. Fedotova, O., Teixeira, L., and Alvelos, A.H., Software effort estimation with multiple linear regression: Review and practical application, J. Inf. Sci. Eng., 2013, vol. 29, pp. 925–945.

    Google Scholar 

  2. Lee, T.K., Wei, K.T., and Ghani, A.A.A., Systematic literature review on effort estimation for Open Sources (OSS) web application development, Proc. IEEE Future Technologies Conf. FTC 2016, San Francisco, CA, 2016, pp. 1158–1167. https://doi.org/10.1109/FTC.2016.7821748.

  3. Sharma, P. and Singh, J., Systematic literature review on software effort estimation using machine learning approaches, Proc. IEEE Int. Conf. on Next Generation Computing and Information Systems ICNGCIS 2017, Jammu, 2017, pp. 54–57. https://doi.org/10.1109/ICNGCIS.2017.33.

  4. Carbonera, C.E., Farias, K., and Bischoff, V., Software development effort estimation: A systematic map** study, IET Res. J., 2020, vol. 14, pp. 1–14. https://doi.org/10.1049/iet-sen.2018.5334

    Article  Google Scholar 

  5. Silhavy, R., Prokopova, Z., and Silhavy, P., Algorithmic optimization method for effort estimation, Program. Comput. Software, 2016, vol. 42, pp. 161–166. https://doi.org/10.1134/S0361768816030087

    Article  MathSciNet  Google Scholar 

  6. Durán, M., Juárez-Ramírez, R., Jiménez, S., and Tona, C., User story estimation based on the complexity decomposition using Bayesian networks, Program. Comput. Software, 2020, vol. 46, pp. 569–583. https://doi.org/10.1134/S0361768820080095

    Article  Google Scholar 

  7. Jørgensen, M. and Shepperd, M., A systematic review of software development cost estimation studies, IEEE Trans. Software Eng., 2007, vol. 33, pp. 33–53. https://doi.org/10.1109/TSE.2007.256943

    Article  Google Scholar 

  8. Abran, A., Software Project Estimation: The Fundamentals for Providing High Quality Information to Decision Makers, 1st ed., John Wiley and Sons, 2015.

    Book  Google Scholar 

  9. Bilgaiyan, S., Sagnika, S., Mishra, S., and Das, M., A systematic review on software cost estimation in agile software development, J. Eng. Sci. Technol. Rev., 2017, vol. 10, pp. 51–64. https://doi.org/10.25103/jestr.104.08

    Article  Google Scholar 

  10. Britto, R., Freitas, V., Mendes, E., and Usman, M., Effort estimation in global software development: a systematic literature review, Proc. 9th IEEE Int. Conf. on Global Software Engineering ICGSE 2014, Shanghai, 2014, pp. 135–144. https://doi.org/10.1109/ICGSE.2014.11.

  11. Valdés-Souto, F., Validation of supplier estimates using cosmic method, Proc. Joint Conf. of the Int. Workshop on Software Measurement and Int. Conf. on Software Process and Product Measurement (IWSM Mensura 2019), Haarlem, Oct. 7–9, 2019.

  12. Valdés-Souto, F. and Naranjo-Albarran, L., Improving the software estimation models based on functional size through validation of the assumptions behind the linear regression and the use of the confidence intervals when the reference database presents a wedge-shape form, Program. Comput. Software, 2021, vol. 47, pp. 673–693. https://doi.org/10.1134/S0361768821080259

    Article  Google Scholar 

  13. ISO/IEC, ISO/IEC 14143-1:2007 Information technology–Software measurement–Functional size measurement, 2007. https://www.iso.org/standard/38931.html

  14. Silva, S. and Cortes, M., Use of non-functional requirements in software effort estimation: systematic review and experimental results, Proc. 5th Int. Conf. in Software Engineering Research and InnovationCONISOFT 2017, Merida, 2017, pp. 1–9. https://doi.org/10.1109/CONISOFT.2017.00008

  15. European Cooperation for Space Standardization, Space Engineering: Software–Part 1 Principles and Requirements, 2005.

  16. Common Software Measurement International Consortium, Guideline on Non-Functional and Project Requirements, 2015.

  17. Valdés-Souto, F., Núñez-varela, A.S., Pérez-gonzález, H.G., Evaluating the software quality non-functional requirement through a fuzzy logic-based model based on the ISO/IEC 25000 (SQuaRE) standard, Proc. 7th Int. Conf. in Software Engineering Research and Innovation (CONISOFT), Mexico, 2019, pp. 16–25. https://doi.org/10.1109/CONISOFT.2019.00014

  18. Buglione, L., The next frontier: measuring and evaluating non-functional productivity, Metr. Views, IFPUG Newsl., 2012, vol. 6, pp. 11–14. http://www.ifpug.org/Metric Views/MVBuglione.pdf

    Google Scholar 

  19. A Guide to the Project Management Body of Knowledge, PMBOK, 5th ed., Project Management Institute, 2013.

  20. Tichenor, C., A new software metric to complement function points: the software non-functional assessment process (SNAP), CrossTalk, 2013, vol. 26, pp. 21–26.

    Google Scholar 

  21. Abran, A., IEEE 2430 non-functional sizing measurements: a numerical placebo, IEEE Software, 2020, vol. 38, pp. 113–120. https://doi.org/10.1109/MS.2020.3028061

    Article  Google Scholar 

  22. Lago, P., Avgeriou, P., and Hilliard, R., Guest editors’ introduction software architecture framing stakeholders’ concerns, IEEE Software, 2010, vol. 27, no. 6, pp. 20–24.

    Article  Google Scholar 

  23. Saito, Y., Monden, A., and Matsumoto, K., Evaluation of non-functional requirements in a request for proposal (RFP), Proc. Joint Conf. of the 22nd Int. Workshop on Software Measurement and 7th Int. Conf. on Software Process and Product Measurement, Assisi, 2012, pp. 106–111. https://doi.org/10.1109/IWSM-MENSURA.2012.23.

  24. Chung, L., Nixon, B., and Mylopoulos, E.Yu., Non-functional Requirements in Software Engineering, Kluwer Acad. Publ., 2000.

    Book  Google Scholar 

  25. Jones, C., Estimating Software Costs: Bringing Realism to Estimating, 2nd, New York: McGraw-Hill Co., Inc., 2007.

  26. Valdés-Souto, F. and Abran, A., Industry case studies of estimation models using fuzzy sets, in Proc. Int. Conf. on Software Process and Product Measurement (IWSM Mensura 2007), Reiner, D., Ed., Illes Baleares: UIB-Univ. de les Illes Baleares, 2007, pp. 87–101.

  27. Valdés-Souto, F. and Abran, A., Case study: COSMIC approximate sizing approach without using historical data, Proc. Joint Conf. of the 22nd Int. Workshop on Software Measurement and 7th Int. Conf. on Software Process and Product Measurement, Assisi, 2012, pp. 178–189. https://doi.org/10.1109/IWSM-MENSURA.2012.34

  28. Valdés-Souto, F. and Abran, A., COSMIC approximate sizing using a fuzzy logic approach: A quantitative case study with industry data, in Proc. Joint Conf. of the Int. Workshop on Software Measurement and Int. Conf. on Software Process and Product Measurement, Vogelezang, F. and Daneva, M., Eds., Rotterdam, 2014, pp. 282–292. https://doi.org/10.1109/IWSM.Mensura.2014.44

  29. Souto, F.V. and Abran, A., Improving the COSMIC approximate sizing using the fuzzy logic EPCU model, Proc. Joint Int. Conf. on Software Process and Product Measurement and Int. Workshop on Software Measurement Mensura 2015, IWSM 2015, Cracow, 2015. https://doi.org/10.1007/978-3-319-24285-9_13

  30. Valdés-Souto, F. and Abran, A., Comparing the estimation performance of the EPCU model with the expert judgment estimation approach using data from industry, in Proc. Conf. on Software Engineering Research, Management and Applications 2010, Lee, R., Ed., Berlin: Springer-Verlag, 2010, pp. 227–240.

  31. Valdés-Souto, F., Design of a Fuzzy Logic Software Estimation Process, Univ. Quebec: Ecole De Technologie Superieure, 2011.

  32. Goldberger, J., Roweis, S., Hinton, G., and Salakhutdinov, R., Neighbourhood components analysis, Adv. Neural Inf. Process. Syst., 2005, vol. 17, pp. 513–520.

    Google Scholar 

  33. Seidl, T., Nearest neighbor classification, in Encyclopedia of Database Systems, New York: Springer, 2009. https://doi.org/10.1007/978-0-387-39940-9_561

  34. Scikit-Learn, 1.6. Nearest Neighbors, 2023. https://scikit-learn.org/stable/modules/neighbors.html#classification.

  35. Abran, A., Lestherhuis, A., Reynolds, B., Sellami, A., Soubra, H., Trudel, S., Valdés-Souto, F., and Vogelezang, F., Early Software Sizing with COSMIC: Experts Guide, 2020, pp. 1–67. https://doi.org/10.13140/RG.2.1.4195.0567

  36. Lavazza, L. and Morasca, S., Empirical evaluation and proposals for bands-based COSMIC early estimation methods, Inf. Software Technol., 2019, vol. 109, pp. 108–125. https://doi.org/10.1016/j.infsof.2019.02.002

    Article  Google Scholar 

  37. Per Runeson, B.R., Host, M., and Rainer, A., Case Study Research in Software Engineering: Guidelines and Examples, John Wiley and Sons, Inc., 2012. https://doi.org/10.1002/9781118181034

  38. Fellir, F., Nafil, K., and Touahni, R., Analyzing the non-functional requirements to improve accuracy of software effort estimation through case-based reasoning, Proc. 10th Int. Conf. on Intelligent Systems: Theories and Applications (SITA), Rabat, 2015. https://doi.org/10.1109/sita.2015.7358402

  39. van der Vliet, E., Nijland, R., Mols, H., Vries, J., Poort, E., and Vogelezang, F., A shortcut to estimating non-functional requirements? Architecture driven estimation as the key to good cost predictions, Proc. 27th Int. Workshop on Software Measurement and 12th Int. Conf. on Software Process and Product Measurement IWSM Mensura’17, Gothenburg, 2017. https://doi.org/10.1145/3143434.3143440

Download references

Funding

This work was supported by ongoing institutional funding. No additional grants to carry out or direct this particular research were obtained.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to F. Valdés-Souto, J. Valeriano-Assem or D. Torres-Robledo.

Ethics declarations

The authors declare that they have no conflicts of interest.

Additional information

Publisher’s Note.

Pleiades Publishing remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

APPENDIX A

APPENDIX A

Table 6. Test data set

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Valdés-Souto, F., Valeriano-Assem, J. & Torres-Robledo, D. Improving a Model for NFR Estimation Using Band Classification and Selection with KNN. Program Comput Soft 49, 822–831 (2023). https://doi.org/10.1134/S0361768823080236

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768823080236

Keywords:

Navigation