Skip to main content
Log in

Producing robust use case diagrams via reverse engineering of use case descriptions

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

In a use case driven development process, a use case model is utilized by a development team to construct an object-oriented software system. The large degree of informality in use case models, coupled with the fact that use case models directly affect the quality of all aspects of the development process, is a very dangerous combination. Naturally, informal use case models are prone to contain problems, which lead to the injection of defects at a very early stage in the development cycle. In this paper, we propose a structure that will aid the detection and elimination of potential defects caused by inconsistencies present in use case models. The structure contains a small set of formal constructs that will allow use case models to be machine readable while retaining their readability by retaining a large degree of unstructured natural language. In this paper we also propose a process which utilizes the structured use cases to systematically generate their corresponding use case diagrams and vice versa. Finally a tool provides support for the new structure and the new process. To demonstrate the feasibility of this approach, a simple study is conducted using a mock online hockey store system.

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.

Similar content being viewed by others

References

  1. Adolph, S., Bramble, P.: Patterns for Effective use Cases. Addison-Wesley (2002)

  2. Ambler, S.: http://www.agilemodeling.com/essays/whenIsAModelAgile.htm

  3. Anda, B., Dreiem, H., Sjøberg, D., Jørgensen, M.: Estimating software development effort based on use cases—experiences from industry. Submitted to UML’2001 (Fourth International Conference on the Unified Modeling Language)

  4. Anda B., Sjøberg D., Jørgensen M. (2001). Quality and understandability in use case models. In: Lindskov Knudsen, J. (eds) 15th European Conference Object-Oriented Programming (ECOOP), pp 402–428. Springer, Budapest

    Google Scholar 

  5. Anda, B., Sjøberg, D.I.K.: Towards an inspection technique for use case models. In: Proceedings of the 14th International Conference on Software engineering and Knowledge Engineering, pp. 127–134 (2002)

  6. Anderson, E., Bradley, M., Brinko, R.: Use case and business rules: styles of documenting business rules in use cases. Addendum to the Object-oriented programming, systems, languages, and applications conference (1997)

  7. Armour, F., Miller, G.: Advanced Use Case Modeling. Addison-Wesley (2000)

  8. Ben Achour, C., Rolland, C., Maiden N.A.M., Souveyet, C.: Guiding use case authoring: results of an empirical study. In: Proceedings IEEE Symposium on Requirements Engineering. IEEE Comput. Soc, Los Alamitos (1999)

  9. Biddle, B., Noble, J., Tempero, E.: Essential use cases and responsibility in object-oriented development. In: Proc. of 25th CRPITS, Vol. 24, Issue 1 (2002)

  10. Bittner, K., Spence, I.: Use Case Modeling. Addison-Wesley, MA (2002)

  11. Boehm B. (1981). Software Engineering Economics. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  12. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley (1999)

  13. Butler, G., Xu, L.: Cascaded refactoring for framework evolution. In: Proceedings of 2001 Symposium on Software Reusability, pp. 51–57. ACM Press, (2001)

  14. Chandrasekaran, P.: How use case modeling policies have affected the success of various projects (or how to improve use case modeling). Addendum to the 1997 ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (1997)

  15. Cockburn, A.: Writing Effective Use Cases. Addison-Wesley (2000)

  16. Cockburn, A.: Goals and use cases. J. Object-Oriented Program. 10(5), (1997)

  17. Constantine L.L. (1995). Essential modeling: use cases for user interfaces. ACM Interact 2(2): 34–46

    Article  Google Scholar 

  18. Fagan M.E. (1976). Design and code inspections to reduce errors in program development. IBM Systems J. 15(3): 182–211

    Google Scholar 

  19. Firesmith, D.G.: Use case modeling guidelines. In: Proceedings of Technology of Object-Oriented Languages and Systems – TOOLS 30. IEEE Comput. Soc, Los Alamitos (1999)

  20. Gilb T., Graham D. (1993). Software Inspection. Addison-Wesley, Reading

    Google Scholar 

  21. Gomaa, H.: Designing Software Product Lines with UML. Addison Wiley Professional (2004)

  22. Gomaa, H.: Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison Wiley (2000)

  23. Harwood R.J. (1997). Use case formats: Requirements, analysis and design. J. Object-Oriented Program 9(8): 54–57

    Google Scholar 

  24. Jaaksi A. (1998). Our Cases with use cases. J. Object-Oriented Program 10(9): 58–64

    Google Scholar 

  25. Jacobson, I. et al.: Object-Oriented Software Engineering. A Use Case Driven Approach. Addison-Wesley (1992)

  26. Jacobson, I., Ericsson, M., Jacobson, A.: The Object Advantage. ACM Press (1995)

  27. Johansson, A.: Confusion in writing use cases. In: Proc. of the 2nd International Conference on Information Technology for Application (ICITA 2004)

  28. Kaner C., Bach J., Pettichord B. (2003). Lessons Learned in Software Testing. Wiley, New York

    Google Scholar 

  29. Kroll, P., Kruchten, P.: The Rational Unified Process made Easy: a Practitioner’s Guide to the RUP. Addison-Wesley (2003)

  30. Kruchten, P.: The Rational Unified Process: an Introduction, 2nd edn. Addison Wesley Longman Inc. (1999)

  31. Kulak, D., Guiney, E.: Use Cases: Requirements in Context. Addison-Wesley (2000)

  32. Larman, C.: Applying UML Patterns: an Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd edn. Prentice Hall (2001)

  33. Leffingwell, D., Widrig, D.: Managing Software Requirements: a Unified Approach. Addison-Wesley (2000)

  34. Lilly, S.: Use case pitfalls: top 10 problems from real projects using use cases. In: Proceedings of TOOLS USA ’99. IEEE Computer Society (1999)

  35. Mattingly, L., Rao, H.: Writing effective use cases and introducing collaboration cases. J. Object-Oriented Program.11(6), 77–79, 81–84, 87 (1998)

    Google Scholar 

  36. McCoy, J.: Requirements use case tool (RUT). In: Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 104–105 (2003)

  37. OMG. UML 2.0 Infrastructure Specification. http://www. omg.org/docs/ptc/03–09–15.pdf (2003)

  38. Overgraad, G., Palmkvist, K.: Use Cases Patterns and Blueprints. Addison-Wesley (2005)

  39. Rational Software: Rational Unified Process Version 2002.05.00 (2002)

  40. Ren, S., Butler, G., Rui, K., Xu, J., Yu, W., Luo, R.: A prototype tool for use case refactoring. In: Proc. of the 6th International Conference on Enterprise Information Systems, pp. 173–178. Porto (2004)

  41. Rosenberg, D., Scott, K.: Use Case Driven Object Modeling with UML. Addison-Wesley (1999)

  42. Schneider, G., Winters, J.: Applying Use Cases—A Practical Guide. Addison-Wesley (1998)

  43. Shull F., Rus I., Basili V. (2000). How perspective-based reading can improve requirements inspections. IEEE Comput. 33(7): 73–79

    Google Scholar 

  44. Sommerville, I.: Software Engineering, 5th edn. Addison-Wesley (1996)

  45. Wirfs-Brock, R.: Designing Scenarios: Making the Case for a Use Case Framework. Smalltalk Report, Nov.–Dec., 1993. SIGS Publications

  46. Wohlin C., Korner U. (1990). Software faults: spreading, detection and costs. Softw. Eng. J. 5(1): 33–42

    Article  Google Scholar 

  47. Yourdon, E.: Structured Walkthroughs. Prentice-Hall (1989)

  48. McBreen, P.: Use Case Inspection List. Last accessed May 2006. http://www.mcbreen.ab.ca/papers/QAUseCases.html

  49. STEAM Laboratory website at the University of Alberta: Last updated May 2006. http://www.steam.ualberta.ca/main/research_areas/SSUCD.htm

  50. El-Attar, M., Miller, J.: AGADUC: towards a more precise presentation of functional requirement in use case models. In: Proc. 4th ACIS International Conference on Software Engineering, Research, Management & Applications (SERA 2006). Seattle (2006)

  51. Paige R.F., Ostroff J.S., Brooke P.J. (2000). Principles for modeling language design. Infor. Softw. Technol. 42(10): 665–675

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohamed El-Attar.

Additional information

Communicated by Prof. August-Wilhelm Scheer.

Rights and permissions

Reprints and permissions

About this article

Cite this article

El-Attar, M., Miller, J. Producing robust use case diagrams via reverse engineering of use case descriptions. Softw Syst Model 7, 67–83 (2008). https://doi.org/10.1007/s10270-006-0039-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0039-3

Keywords

Navigation