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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Adolph S., Bramble P.: Patterns for Effective Use Cases. Addison-Wesley, Reading (2002)
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)
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. In: Addendum to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (1997)
Armour F., Miller G.: Advanced Use Case Modeling. Addison-Wesley, Reading (2000)
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)
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)
Biddle B., Noble J., Tempero E.: Essential use cases and responsibility in object-oriented development. Aust. Comput. Sci. Commun. 24, 7–16 (2002)
Bittner K., Spence I.: Use Case Modeling. Addison-Wesley, Reading (2002)
Boehm B.: Software Engineering—Economics. Prentice Hall, Englewood Cliffs (1981)
Booch G., Rumbaugh J., Jacobson I.: The Unified Modeling Language User Guide, 2nd edn. Addison-Wesley, Reading (2005)
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)
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)
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)
Cockburn A.: Writing Effective Use Cases. Addison-Wesley, Reading (2000)
Constantine, L.L.: Essential modeling: use cases for user interfaces. In: ACM Interactions, vol. 2, pp. 34–46, Apr 1995
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)
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)
Firesmith, D.G.: Use Case Modeling Guidelines. In: Proceedings of Technology of Object-Oriented Languages and Systems, vol. 30, p 184 (1999)
Gilb T., Graham D.: Software Inspection. Addison-Wesley, Reading (1993)
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)
Gomaa H.: Designing Software Product Lines with UML. Addison Wiley, Reading (2001)
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)
Jaaksi A.: Our Cases with Use Cases. J. Object-Oriented Program. 10, 58–64 (1998)
Jacobson, I.: Use Cases—Yesterday, Today and Tomorrow. The Rational Edge (2003)
Kroll P., Kruchten P.: The Rational Unified Process Made Easy: A Practitioner’s Guide To The RUP. Addison-Wesley, Reading (2003)
Kruchten, P.: Modeling component systems with the unified modeling language. In: Proceedings of International Workshop on Component-Based Software Engineering (1997)
Kruchten P.: The Rational Unified Process: an Introduction, 2nd edn. Addison-Wesley Longman Inc., Boston (1999)
Kulak D., Guiney E.: Use Cases: Requirements in Context. Addison-Wesley, Reading (2000)
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)
McBeen, P.: Use Case Inspection List. http://www.mcbreen.ab.ca/papers/QAUseCases.html (2007). Accessed Nov 2007
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)
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)
Museum and EPOB, University of Colorado, MAPSTEDI UC Model (2008). http://mapstedi.colorado.edu/documents/Mapstedi_High_Level_Use_Case_Model.pdf. Accessed
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
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.
Overgraad G., Palmkvist K.: Use Cases Patterns and Blueprints. Addison-Wesley, Reading (2005)
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)
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)
Rosenberg D., Scott K: Use Case Driven Object Modeling with UML. Addison-Wesley, Readings (1999)
Rosenberg, D., Kendall, S.: Top Ten Use Case Mistakes (2007). http://www.sdmagazine.com/documents/s=815/sdm0102c/. Accessed Nov 2007
Rui, K., Butler, G.: Refactoring Use case models: the metamodel. In: Oudshoorn, M. (ed.) Proceedings of 25th Computer Science Conference, pp. 4–7 (2003)
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)
Schneider G., Winters J.: Applying Use Cases—a Practical Guide. Addison-Wesley, Reading (1998)
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
Warmer J., Kleppe A.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading (1998)
Wikipedia: The Definition of Antipatterns (2007), http://c2.com/cgi/wiki?AntiPattern
Wohlin C., Korner U.: Software Faults: Spreading, Detection and Costs. Softw. Eng. J. 5, 33–42 (1990)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Robert France.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0112-9