Abstract
Completeness is one of the key attributes for a high-quality software requirements specification. Although incomplete requirements frequently occur in the requirements specification, it is rarely discovered. This turns out to be one of the major causes of software project failure. In order to handle this issue, this paper proposes an automatic approach to recommending omitted steps in a use case-based requirements specification. First, we automatically extract diverse scenario patterns by using the verb clustering algorithm and scenario flow graphs. Based on the scenario patterns, our approach detects omitted steps of user’s scenarios by the pattern matching algorithm and automatically recommends appropriate steps for the omitted parts. For validation of our approach, we have developed tool support, named ScenarioAmigo, and collected 231 use case specifications composing of 1874 scenario steps from 12 academic or proprietary projects. We first carried out the preliminary study to decide appropriate thresholds and weights. Then, we conducted three experiments as a quantitative performance evaluation. First, the cross-validation for the collected scenarios shows the 76% precision and 80% recall. Second, the comparison of recall of ScenarioAmigo to that of human experts obtained the 20% higher score. As the last experiment, we compared the result of ScenarioAmigo and human experts in terms of severity of each scenario and found that our approach could recommend normal as well as important scenarios, compared to the human experts.
Similar content being viewed by others
Notes
We have applied the Stanford Parser (https://nlp.stanford.edu/software/lex-parser.shtml), which is one of the most popular and precise natural language parser.
In Algorithm 1, we considered that two verbs are synonyms when the similarity measured by Eq. 1 is over 0.2. See the line 9 in Algorithm 1.
Based on sensitivity analysis with several functions (e.g., Linear, Sigmoid, Binary Step, Gaussian) that can change the data range from 0 to 1, we recognize that the sigmoid function produces the highest performance.
The entire sets of the candidate scenario pattern indexes are {0,1,2,3}, {0,1,2,3,4}, {0,1,2,3,4,5}, {0,1,2,3,4,5,6}, {1,2,3,4}, {1,2,3,4,5}, {1,2,3,4,5,6}, {2,3,4,5}, {2,3,4,5,6} and {3,4,5,6}.
The source code of ScenarioAmigo is open at the Github with the URL—https://github.com/maniara/ScenarioAmigo.
We used the rand() function of MySQL to select the sample scenarios.
References
Wiegers KE (2003) Software requirements. Microsoft Press, Redmond
Basili VR, Weiss DM (1981) Evaluation of a software requirements document by analysis of change data. In: Proceedings of the 5th international conference on software engineering. IEEE Press, pp 314–323
Weidenhaupt K, Pohl K, Jarke M, Haumer P (1998) Scenarios in system development: current practice. IEEE Softw 15(2):34–45. https://doi.org/10.1109/52.663783
Davis A (2013) Just enough requirements management: where software development meets marketing. Addison-Wesley, Reading
Davis AM (1993) Software requirements: objects, functions, and states. Prentice-Hall, Englewood Cliffs
IEEE Computer Society (1984) IEEE guide for software requirements specifications. In: IEEE Standard 830-1984, pp 1–26. https://doi.org/10.1109/IEEESTD.1984.119205
Ghazarian A (2009) A case study of defect introduction mechanisms. In: van Eck P, Gordijn J, Wieringa R (eds) Advanced information systems engineering. CAiSE 2009. Lecture Notes in Computer Science, vol 5565. Springer, Berlin, pp 156–170
Ketabchi S, Sani NK, Liu K (2011) A norm-based approach towards requirements patterns. In: Proceedings of the 35th computer software and applications conference (COMSAC). IEEE, pp 590–595
Mahfouz A, Barroca L, Laney R, Nuseibeh B (2006) Patterns for service-oriented information exchange requirements. In: Proceedings of the 2006 conference on pattern languages of programs
Konrad S, Cheng B (2002) Requirements patterns for embedded systems. In: Proceedings of IEEE joint international conference on requirements engineering
Withall S (2007) Software requirement patterns. Microsoft Press, Redmond
Robertson S (1996) Requirements patterns via events/use cases. In: Proceedings of pattern languages of programming
Ferrari A, dell’Orletta F, Spagnolo GO, Gnesi S (2014) Measuring and improving the completeness of natural language requirements. In: Salinesi C, van de Weerd I (eds) Requirements engineering: foundation for software quality. REFSQ 2014. Lecture Notes in Computer Science, vol 8396. Springer, Cham, pp 23–38
Kaiya H, Saeki M (2005) Ontology based requirements analysis: lightweight semantic processing approach. In: Proceedings of the 5th international conference on quality software. IEEE, pp 223–230
Kamalrudin M, Hosking J, Grundy J (2011) Improving requirements quality using essential use case interaction patterns. In: Proceedings of the 33rd international conference on software engineering. ACM, pp 531–540
Menzel I, Mueller M, Gross A, Doerr J (2010) An experimental comparison regarding the completeness of functional requirements specifications. In: Proceedings of the 18th IEEE international requirements engineering conference, pp 15–24. https://doi.org/10.1109/RE.2010.13
Bittner K (2002) Use case modeling. Addison-Wesley, New York
Mathiassen L, Munk-Madsen A, Nielsen PA, Stage J (2000) Object-oriented analysis and design, vol 25. Marko Aalborg, London
Rolland C, Souveyet C, Achour CB (1998) Guiding goal modeling using scenarios. IEEE Trans Softw Eng 24(12):1055–1071
Davis A (1993) Software requirements: objects, functions, and states. Prentice-Hall, Englewood Cliffs
Boehm BW (1984) Verifying and validating software requirements and design specifications. IEEE Softw 1(1):75
Salter A, Liu K (2002) Using semantic analysis and norm analysis to model organisations. In: Proceedings of the 4th international conference on enterprise information systems, pp 847–850
Parnas DL, Madey J (1995) Functional documents for computer systems. Sci Comput Program 25(1):41–61
Kamalrudin M, Grundy J, Hosking J (2010) Tool support for essential use cases to better capture software requirements. In: Proceedings of the 25th IEEE/ACM international conference on automated software engineering. IEEE/ACM, pp 16–20
Kamalrudin M, Grundy J, Hosking J (2010) Managing consistency between textual requirements, abstract interactions and essential use cases. In: Proceedings of the 34th computer software and applications conference (COMPSAC). IEEE, pp 327–336
Saeki M, Horai H, Enomoto H (1989) Software development process from natural language specification. In: Proceedings of the 11th international conference on software engineering. ACM, pp 64–73
Kof L (2007) Scenarios: identifying missing objects and actions by means of computational linguistics. In: Proceedings of the 18th IEEE international requirements engineering (RE) conference, pp 121–130
Kof L (2008) From textual scenarios to message sequence charts: inclusion of condition generation and actor extraction. In: Proceedings of the 19th IEEE international requirements engineering (RE) conference, pp 331–332
Watahiki K, Saeki M (2001) Scenario patterns based on case grammar approach. In: Proceedings of the 5th IEEE international requirements engineering (RE) conference, pp 300–301
Makino M, Ohnishi A (2006) A scenario generation method using a differential scenario. In: Proceedings of the first international conference on software and data technologies (ICSOFT2006), pp 279–282
Ohnishi A (2008) A generation method of exceptional scenarios from a normal scenario. IEICE Trans Inf Syst 91(4):881–887
Jurafsky D, Martin JH (2014) Speech and language processing. Pearson, London
Lewis M (1986) The English verb: an exploration of structure and meaning. Language Teaching Publications, England
Ko D, Park S, Kim Y, Park S, Kim S (2016) Suggesting alternative scenarios using use case specification patterns for requirement completeness. Int J Softw Eng Knowl Eng 25(6):927–951
Resnik P (1995) Using information content to evaluate semantic similarity in a taxonomy. Preprint arXiv:cmp-lg/9511007
Fellbaum C (1998) WordNet. Wiley Online Library, New York
Hahsler M, Bettina G, Curt H (2005) Introduction to arules—a computational environment for mining association rules and frequent item sets. J Stat Softw 14(15):1–25
Tan PN, Steinbach M, Kumar V (2006) Introduction to data mining, vol 1. Pearson Addison-Wesley, Boston
Dijkstra EW (1959) A note on two problems in connexion with graphs. Numer Math 1(1):269–271
Eclipse Foundation (2017) SWT: the standard widget toolkit. https://www.eclipse.org/swt/
The JUNG Framework Development Team (2017) Java universal network/graph framework. http://jung.sourceforge.net/
Spell B (2017) Java API for WordNet searching (JAWS). http://lyle.smu.edu/~tspell/jaws/
Stanford NLP Group (2017) The stanford parser: a statistical parser. http://nlp.stanford.edu/software/lex-parser.shtml
Oracle Corporation (2017) MySQL. https://www.mysql.com/
Acknowledgements
This research was supported by the MSIT (Ministry of Science and ICT), Korea, under the ITRC (Information Technology Research Center) support program (IITP-2017-2016-0-00313, IITP-2017-0-01628) supervised by the IITP (Institute for Information & communications Technology Promotion).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ko, D., Kim, S. & Park, S. Automatic recommendation to omitted steps in use case specification. Requirements Eng 24, 431–458 (2019). https://doi.org/10.1007/s00766-018-0288-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-018-0288-z