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.
Similar content being viewed by others
References
Adolph, S., Bramble, P.: Patterns for Effective use Cases. Addison-Wesley (2002)
Ambler, S.: http://www.agilemodeling.com/essays/whenIsAModelAgile.htm
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)
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
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)
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)
Armour, F., Miller, G.: Advanced Use Case Modeling. Addison-Wesley (2000)
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)
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)
Bittner, K., Spence, I.: Use Case Modeling. Addison-Wesley, MA (2002)
Boehm B. (1981). Software Engineering Economics. Prentice-Hall, Englewood Cliffs
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley (1999)
Butler, G., Xu, L.: Cascaded refactoring for framework evolution. In: Proceedings of 2001 Symposium on Software Reusability, pp. 51–57. ACM Press, (2001)
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)
Cockburn, A.: Writing Effective Use Cases. Addison-Wesley (2000)
Cockburn, A.: Goals and use cases. J. Object-Oriented Program. 10(5), (1997)
Constantine L.L. (1995). Essential modeling: use cases for user interfaces. ACM Interact 2(2): 34–46
Fagan M.E. (1976). Design and code inspections to reduce errors in program development. IBM Systems J. 15(3): 182–211
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)
Gilb T., Graham D. (1993). Software Inspection. Addison-Wesley, Reading
Gomaa, H.: Designing Software Product Lines with UML. Addison Wiley Professional (2004)
Gomaa, H.: Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison Wiley (2000)
Harwood R.J. (1997). Use case formats: Requirements, analysis and design. J. Object-Oriented Program 9(8): 54–57
Jaaksi A. (1998). Our Cases with use cases. J. Object-Oriented Program 10(9): 58–64
Jacobson, I. et al.: Object-Oriented Software Engineering. A Use Case Driven Approach. Addison-Wesley (1992)
Jacobson, I., Ericsson, M., Jacobson, A.: The Object Advantage. ACM Press (1995)
Johansson, A.: Confusion in writing use cases. In: Proc. of the 2nd International Conference on Information Technology for Application (ICITA 2004)
Kaner C., Bach J., Pettichord B. (2003). Lessons Learned in Software Testing. Wiley, New York
Kroll, P., Kruchten, P.: The Rational Unified Process made Easy: a Practitioner’s Guide to the RUP. Addison-Wesley (2003)
Kruchten, P.: The Rational Unified Process: an Introduction, 2nd edn. Addison Wesley Longman Inc. (1999)
Kulak, D., Guiney, E.: Use Cases: Requirements in Context. Addison-Wesley (2000)
Larman, C.: Applying UML Patterns: an Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd edn. Prentice Hall (2001)
Leffingwell, D., Widrig, D.: Managing Software Requirements: a Unified Approach. Addison-Wesley (2000)
Lilly, S.: Use case pitfalls: top 10 problems from real projects using use cases. In: Proceedings of TOOLS USA ’99. IEEE Computer Society (1999)
Mattingly, L., Rao, H.: Writing effective use cases and introducing collaboration cases. J. Object-Oriented Program.11(6), 77–79, 81–84, 87 (1998)
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)
OMG. UML 2.0 Infrastructure Specification. http://www. omg.org/docs/ptc/03–09–15.pdf (2003)
Overgraad, G., Palmkvist, K.: Use Cases Patterns and Blueprints. Addison-Wesley (2005)
Rational Software: Rational Unified Process Version 2002.05.00 (2002)
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)
Rosenberg, D., Scott, K.: Use Case Driven Object Modeling with UML. Addison-Wesley (1999)
Schneider, G., Winters, J.: Applying Use Cases—A Practical Guide. Addison-Wesley (1998)
Shull F., Rus I., Basili V. (2000). How perspective-based reading can improve requirements inspections. IEEE Comput. 33(7): 73–79
Sommerville, I.: Software Engineering, 5th edn. Addison-Wesley (1996)
Wirfs-Brock, R.: Designing Scenarios: Making the Case for a Use Case Framework. Smalltalk Report, Nov.–Dec., 1993. SIGS Publications
Wohlin C., Korner U. (1990). Software faults: spreading, detection and costs. Softw. Eng. J. 5(1): 33–42
Yourdon, E.: Structured Walkthroughs. Prentice-Hall (1989)
McBreen, P.: Use Case Inspection List. Last accessed May 2006. http://www.mcbreen.ab.ca/papers/QAUseCases.html
STEAM Laboratory website at the University of Alberta: Last updated May 2006. http://www.steam.ualberta.ca/main/research_areas/SSUCD.htm
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)
Paige R.F., Ostroff J.S., Brooke P.J. (2000). Principles for modeling language design. Infor. Softw. Technol. 42(10): 665–675
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. August-Wilhelm Scheer.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0039-3