Skip to main content

Advertisement

Log in

Automatic recommendation to omitted steps in use case specification

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

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.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23

Similar content being viewed by others

Notes

  1. 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.

  2. Note that appropriate thresholds and weights that we mention here and the remaining part in Sect. 3 are obtained in the preliminary study of Sect. 5 by sensitivity analysis.

  3. 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.

  4. 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.

  5. 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}.

  6. The source code of ScenarioAmigo is open at the Github with the URL—https://github.com/maniara/ScenarioAmigo.

  7. We used the rand() function of MySQL to select the sample scenarios.

References

  1. Wiegers KE (2003) Software requirements. Microsoft Press, Redmond

    Google Scholar 

  2. 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

  3. 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

    Article  Google Scholar 

  4. Davis A (2013) Just enough requirements management: where software development meets marketing. Addison-Wesley, Reading

    Google Scholar 

  5. Davis AM (1993) Software requirements: objects, functions, and states. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  6. 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

  7. 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

    Google Scholar 

  8. 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

  9. 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

  10. Konrad S, Cheng B (2002) Requirements patterns for embedded systems. In: Proceedings of IEEE joint international conference on requirements engineering

  11. Withall S (2007) Software requirement patterns. Microsoft Press, Redmond

    Google Scholar 

  12. Robertson S (1996) Requirements patterns via events/use cases. In: Proceedings of pattern languages of programming

  13. 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

    Chapter  Google Scholar 

  14. 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

  15. 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

  16. 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

  17. Bittner K (2002) Use case modeling. Addison-Wesley, New York

    Google Scholar 

  18. Mathiassen L, Munk-Madsen A, Nielsen PA, Stage J (2000) Object-oriented analysis and design, vol 25. Marko Aalborg, London

    Google Scholar 

  19. Rolland C, Souveyet C, Achour CB (1998) Guiding goal modeling using scenarios. IEEE Trans Softw Eng 24(12):1055–1071

    Article  Google Scholar 

  20. Davis A (1993) Software requirements: objects, functions, and states. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  21. Boehm BW (1984) Verifying and validating software requirements and design specifications. IEEE Softw 1(1):75

    Article  Google Scholar 

  22. 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

  23. Parnas DL, Madey J (1995) Functional documents for computer systems. Sci Comput Program 25(1):41–61

    Article  Google Scholar 

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. Ohnishi A (2008) A generation method of exceptional scenarios from a normal scenario. IEICE Trans Inf Syst 91(4):881–887

    Article  Google Scholar 

  32. Jurafsky D, Martin JH (2014) Speech and language processing. Pearson, London

    Google Scholar 

  33. Lewis M (1986) The English verb: an exploration of structure and meaning. Language Teaching Publications, England

    Google Scholar 

  34. 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

    Article  Google Scholar 

  35. Resnik P (1995) Using information content to evaluate semantic similarity in a taxonomy. Preprint arXiv:cmp-lg/9511007

  36. Fellbaum C (1998) WordNet. Wiley Online Library, New York

    Book  Google Scholar 

  37. 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

    Article  Google Scholar 

  38. Tan PN, Steinbach M, Kumar V (2006) Introduction to data mining, vol 1. Pearson Addison-Wesley, Boston

    Google Scholar 

  39. Dijkstra EW (1959) A note on two problems in connexion with graphs. Numer Math 1(1):269–271

    Article  MathSciNet  Google Scholar 

  40. Eclipse Foundation (2017) SWT: the standard widget toolkit. https://www.eclipse.org/swt/

  41. The JUNG Framework Development Team (2017) Java universal network/graph framework. http://jung.sourceforge.net/

  42. Spell B (2017) Java API for WordNet searching (JAWS). http://lyle.smu.edu/~tspell/jaws/

  43. Stanford NLP Group (2017) The stanford parser: a statistical parser. http://nlp.stanford.edu/software/lex-parser.shtml

  44. Oracle Corporation (2017) MySQL. https://www.mysql.com/

Download references

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

Authors

Corresponding author

Correspondence to Suntae Kim.

Appendices

Appendix 1: List of scenario patterns

See Tables 8910 and 11.

Table 8 List I of scenario patterns identified by our approach
Table 9 List II of scenario patterns identified by our approach
Table 10 List III of scenario patterns identified by our approach
Table 11 List IV of scenario patterns identified by our approach

Appendix 2: List of verbs in verb synonym dictionary

See Table 12.

Table 12 List of verbs in verb synonym dictionary

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-018-0288-z

Keywords

Navigation