Skip to main content
Log in

Improving the quality of use case models using antipatterns

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

Abstract

Use case (UC) modeling is a popular requirements modeling technique. While these models are simple to create and read; this simplicity is often misconceived, leading practitioners to believe that creating high quality models is straightforward. Therefore, many low quality models that are inconsistent, incorrect, contain premature restrictive design decision and contain ambiguous information are produced. To combat this problem of creating low quality UC models, this paper presents a new technique that utilizes antipatterns as a mechanism for remedying quality problems in UC models. The technique, supported by the tool ARBIUM, provides a framework for developers to define antipatterns. The feasibility of the approach is demonstrated by applying it to a real-world system. The results indicate that applying the technique improves the overall quality and clarity of UC models.

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, Reading (2002)

    Google Scholar 

  2. Anda, B., Sjøberg, D., Jørgensen, M.: Quality and understandability in use case models. In: Lindskov Knudsen, J. (ed.) Proceedings of the 15th European Conference on Object-Oriented Programming, pp. 402–428 (2001)

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

  4. Anderson, E., Bradley, M., Brinko, R.: Use Case and business rules: styles of documenting business rules in use cases. In: Addendum to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (1997)

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

    Google Scholar 

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

  7. Berenbach B.: The evaluation of large, complex UML analysis and design models. In: Proceedings of the 26th International Conference on Software Engineering, pp. 232–241 (2004)

  8. Biddle B., Noble J., Tempero E.: Essential use cases and responsibility in object-oriented development. Aust. Comput. Sci. Commun. 24, 7–16 (2002)

    Google Scholar 

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

    Google Scholar 

  10. Boehm B.: Software Engineering—Economics. Prentice Hall, Englewood Cliffs (1981)

    MATH  Google Scholar 

  11. Booch G., Rumbaugh J., Jacobson I.: The Unified Modeling Language User Guide, 2nd edn. Addison-Wesley, Reading (2005)

    Google Scholar 

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

  13. Chandrasekaran, P.: How use case modeling policies have affected the success of various projects (or how to improve use case modeling). In: Addendum to the Conference on Object-Oriented Programming, Systems, Languages, and Applications (1997)

  14. Cockburn, A.: Structuring Use Cases with Goals, Tech. Report. Human and Tech., 7691 Dell Rd, Salt Lake City, UT 84121, HaT.TR.95.1, (1995)

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

    Google Scholar 

  16. Constantine, L.L.: Essential modeling: use cases for user interfaces. In: ACM Interactions, vol. 2, pp. 34–46, Apr 1995

  17. Fabbrini, F., Fusani, M., Gnesi, S., Lami, G.: The linguistic approach to the natural language requirements quality: benefits of the use of an automatic tool. In: Proceedings of the 26th Annual NASA Goddard Software Workshop, Nov., pp. 97–105 (2001)

  18. Fantechi, A., Gnesi, S., Lami, G., Maccari, A.: Application of Linguistic Techniques for Use Case analysis. In: Proceedings of IEEE Joint International Conference on Requirements Engineering, pp. 157–164 (2002)

  19. Firesmith, D.G.: Use Case Modeling Guidelines. In: Proceedings of Technology of Object-Oriented Languages and Systems, vol. 30, p 184 (1999)

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

    Google Scholar 

  21. Gogolla, M., Bohling, J., Richters, M.: Validation of UML and OCL models by automatic snapshot generation. In: Proceedings of the 6th International Conference on the Unified Modeling Language (2003)

  22. Gomaa H.: Designing Software Product Lines with UML. Addison Wiley, Reading (2001)

    Google Scholar 

  23. Gomaa, H.: Use cases for distributed real-time software architectures. In: Proceedings of the Joint Workshop on Parallel and Distributed Real-Time Systems, pp. 34–42 (1997)

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

    Google Scholar 

  25. Jacobson, I.: Use Cases—Yesterday, Today and Tomorrow. The Rational Edge (2003)

  26. Kroll P., Kruchten P.: The Rational Unified Process Made Easy: A Practitioner’s Guide To The RUP. Addison-Wesley, Reading (2003)

    Google Scholar 

  27. Kruchten, P.: Modeling component systems with the unified modeling language. In: Proceedings of International Workshop on Component-Based Software Engineering (1997)

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

    Google Scholar 

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

    Google Scholar 

  30. Lilly, S.: Use Case Pitfalls: Top 10 problems from real projects using use cases. In: Proceedings of Technology of Object-Oriented Languages and Systems (1999)

  31. McBeen, P.: Use Case Inspection List. http://www.mcbreen.ab.ca/papers/QAUseCases.html (2007). Accessed Nov 2007

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

  33. Medvidovic N., Rosenblum D., Redmiles D., Robbins J.: Modeling software architectures in the Unified Modeling Language. ACM Trans. Softw. Eng. Methodol. 11, 2–57 (2002)

    Article  Google Scholar 

  34. Museum and EPOB, University of Colorado, MAPSTEDI UC Model (2008). http://mapstedi.colorado.edu/documents/Mapstedi_High_Level_Use_Case_Model.pdf. Accessed

  35. Object Management Group, UML Superstructure Specification (2005). http://www.omg.org/docs/formal/05-07-04.pdf, Version 2.0 formal/05-07-04. Accessed Dec 2005

  36. Object Management Group, “MOF 2.0 Query/Views/Transformations RFP,” Dec. 2002, http://www.omg.org/cgi-bin/apps/doc?ad/05-03-02.pdf.

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

    Google Scholar 

  38. Ren, S., Rui, K., Butler, G.: Refactoring the scenario specification: a message sequence chart approach. In: Proceedings of 9th Object-Oriented Information Systems, pp. 294–298 (2003)

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

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

    Google Scholar 

  41. Rosenberg, D., Kendall, S.: Top Ten Use Case Mistakes (2007). http://www.sdmagazine.com/documents/s=815/sdm0102c/. Accessed Nov 2007

  42. Rui, K., Butler, G.: Refactoring Use case models: the metamodel. In: Oudshoorn, M. (ed.) Proceedings of 25th Computer Science Conference, pp. 4–7 (2003)

  43. Ryndina, O., Kritzinger, P.: Improving Requirements Specification: Verification of UC Models with Susan. Tech. Report CS04-06-00, Department of Computer Science, University of Cape Town (2004)

  44. Schneider G., Winters J.: Applying Use Cases—a Practical Guide. Addison-Wesley, Reading (1998)

    Google Scholar 

  45. STEAM Laboratory website, University of Alberta, “Use Case Modeling Antipatterns (2008). http://www.steam.ualberta.ca/main/research_areas/Use%20Case%20Antipatterns%20Website.htm. Accessed Aug 2008

  46. Warmer J., Kleppe A.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading (1998)

    Google Scholar 

  47. Wikipedia: The Definition of Antipatterns (2007), http://c2.com/cgi/wiki?AntiPattern

  48. Wohlin C., Korner U.: Software Faults: Spreading, Detection and Costs. Softw. Eng. J. 5, 33–42 (1990)

    Article  Google Scholar 

  49. Xu, J., Yu, W., Rui, K., Butler, G.: Use case refactoring: a tool and a case study. In: Proceedings of 11th Asia Pacific Software Engineering Conference, pp. 484–491 (2004)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohamed El-Attar.

Additional information

Communicated by Prof. Robert France.

Rights and permissions

Reprints and permissions

About this article

Cite this article

El-Attar, M., Miller, J. Improving the quality of use case models using antipatterns. Softw Syst Model 9, 141–160 (2010). https://doi.org/10.1007/s10270-009-0112-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-009-0112-9

Keywords

Navigation