Open Access Open Access  Restricted Access Subscription Access

Use Case Modeling in Software Development:A Survey and Taxonomy


Affiliations
1 Department of Computer Engineering, Sharif University of Technology, Tehran, Iran, Islamic Republic of
2 Department of Mathematics and Computer Science, Amirkabir University of Technology, Tehran, Iran, Islamic Republic of
3 Department of Mathematics and Computer Science, Allameh Tabataba'i University, Tehran, Iran, Islamic Republic of
 

Identifying use cases is one of the most important steps in the software requirement analysis. This paper makes a literature review over use cases and then presents six taxonomies for them. The first taxonomy is based on the level of functionality of a system in a domain. The second taxonomy is based on primacy of functionality and the third one relies on essentialness of functionality of the system. The fourth taxonomy is concerned with supporting of functionality. The fifth taxonomy is based on the boundary of functionality and the sixth one is related to generalization/specialization relation. Then the use cases are evaluated in a case study in a control command police system. Several guidelines are recommended for developing use cases and their refinement, based on some practical experience obtained from the evaluation.


Keywords

Use Cases, Taxonomy, Software Engineering.
User
Notifications
Font Size

  • . N. Ashrafi, H. Ashrafi, Object Oriented Systems Analysis and Design, Pearson, 2009.
  • . S.H. Pfleeger, and J.M. Atlee, Software Engineering: Theory and Practice, 4th Edition, Pearson, 2010.
  • . R.S. Pressman, Software Engineering: A Practitioner's Approach, 8th Edition, McGrawHill, 2015.
  • . J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, Object-Oriented Modeling and Design, Prentice-Hall, 1992.
  • . D. Rosenberg, and M. Stephens, Use Case Driven Object Modeling with UML: Theory and Practice, Apress, 2007.
  • . C. Larman, Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edition, Prentice Hall, 2005.
  • . J. Rumbaugh, Getting Started: Using Use Cases To Capture Requirements,Object-Oriented Programming, September, 1994.
  • . I. Jacobson, G. Booth, and J. Rumbaugh, The Unified Software Development Process, Addison-Wesley, 1999.
  • . A. Cockburn, Writing Effective Use Cases (Draft 3), Addison Wesley Longman, 2000.
  • . B. Bruegge, and A.H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java, Pearson Prentice Hall, 2010.
  • . R.C Lee, and W.M. Tepfenhart, UML and C++: A Practical Guide to Object-Oriented Development, 2nd Edition, Pearson Prentice Hall, 2005.
  • . P. Coad, and E. Yourdon, Object-Oriented Analysis, Yourdon Press, 1991.
  • . N. Goldsein, and J. Alger., Developing ObjectOriented Software for the Macintosh Analysis, Design, and Programming, Addison-Wesley, 1992.
  • . M. Langer, Analysis and Design of Information Systems, 3rd Edition, Springer-Verlag London Limited, 2008.
  • . J. Martin, and J. Odell, Object-Oriented Analysis and Design, Prentice-Hall, 1992.
  • . Y. Sommerville, Software Engineering, 9th Edition, Pearson Education, 2010.
  • . H. Rashidi, Software Engineering - A programming approach, 2nd Edition, Allameh Tabataba’i University Press (in Persian), Iran, 2014.
  • . G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1999.
  • . J. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1999.
  • . M. Fowler, and K. Scott, UML Distilled A Brief Guide to The Standard Object Modeling Guide, 2nd Edition,Addison Wesley Longman, Inc, 1999.
  • . I. Jacobson, M.P. Christerson, and F. Overgaard, Object-Oriented Software Engineering - A Use Case Approach, Addison-Wesley, Wokingham, England, 1992.
  • . G. Bavota, A.De. Lucia, A. Marcus, and R. Oliveto, Automating extract class refactoring: an improved method and its evaluation, Empirical Software Engineering, Vol. 19, pp. 1616-1664, 2014.
  • . G. Canforaa, A. Cimitilea, A.D. Luciaa, and G.A.D. Lucca, Decomposing Legacy Systems into Objects: An Eclectic Approach, Information and Software Technology, Vol. 43, pp. 401-412, 2001.
  • . A.V. Deursen, and T. Kuipers, Identifying Objects Using Cluster and Concept Analysis, Proc. of 21st International Conference on Software Engineering, Los Angeles, CA, ACM Press, New York, pp. 246-255, 1999.
  • . M. Fokaefs, N. Tsantalis, E. Strouliaa, and A. Chatzigeorgioub, Identification And Application Of Extract Class Refactoring In Object-Oriented Systems, Journal of Systems and Software, Vol.85 , pp. 2241–2260, 2012.
  • . J.V Gurp, and J. Bosch, Design, Implementation, and Evolution of ObjectOriented Frameworks: Concepts and Guidelines, Software, Practice and Experience, Vol. 31, pp. 277-300, 2001.
  • . H. Rashidi, Objects Identification in ObjectOriented Software Development - A Taxonomy and Survey on Techniques, Journal of Electrical and Computer Engineering Innovations, Vol. 3 (2), pp. 27-43, 2015.
  • . S. Schlaer, and S. Melior, Object Lifecycles: Modeling the World in States, Yourdon Press, 1992.
  • . R. Wirfs-Brock, Designing Object-Oriented Software, Prentice-Hall, 1990.
  • . M. Josuttis Nicolai, The C++ Standard Library: A Tutorial and Reference, Addison-Wesley, 1999.

Abstract Views: 177

PDF Views: 2




  • Use Case Modeling in Software Development:A Survey and Taxonomy

Abstract Views: 177  |  PDF Views: 2

Authors

Zahra Rashidi
Department of Computer Engineering, Sharif University of Technology, Tehran, Iran, Islamic Republic of
Zeynab Rashidi
Department of Mathematics and Computer Science, Amirkabir University of Technology, Tehran, Iran, Islamic Republic of
Hassan Rashidi
Department of Mathematics and Computer Science, Allameh Tabataba'i University, Tehran, Iran, Islamic Republic of

Abstract


Identifying use cases is one of the most important steps in the software requirement analysis. This paper makes a literature review over use cases and then presents six taxonomies for them. The first taxonomy is based on the level of functionality of a system in a domain. The second taxonomy is based on primacy of functionality and the third one relies on essentialness of functionality of the system. The fourth taxonomy is concerned with supporting of functionality. The fifth taxonomy is based on the boundary of functionality and the sixth one is related to generalization/specialization relation. Then the use cases are evaluated in a case study in a control command police system. Several guidelines are recommended for developing use cases and their refinement, based on some practical experience obtained from the evaluation.


Keywords


Use Cases, Taxonomy, Software Engineering.

References