Skip to main content
Log in

Investigating the Role of Use Cases in the Construction of Class Diagrams

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Several approaches have been proposed for the transition from functional requirements to object-oriented design. In a use case-driven development process, the use cases are important input for the identification of classes and their methods. There is, however, no established, empirically validated technique for the transition from use cases to class diagrams. One recommended technique is to derive classes by analyzing the use cases. It has, nevertheless, been reported that this technique leads to problems, such as the developers missing requirements and mistaking requirements for design. An alternative technique is to identify classes from a textual requirements specification and subsequently apply the use case model to validate the resulting class diagram. This paper describes two controlled experiments conducted to investigate these two approaches to applying use case models in an object-oriented design process. The first experiment was conducted with 53 students as subjects. Half of the subjects used a professional modelling tool; the other half used pen and paper. The second experiment was conducted with 22 professional software developers as subjects, all of whom used one of several modelling tools. The first experiment showed that applying use cases to validate class diagrams constructed from textual requirements led to more complete class diagrams than did the derivation of classes from a use case model. In the second experiment, however, we found no such difference between the two techniques. In both experiments, deriving class diagrams from the use cases led to a better structure of the class diagrams. The results of the experiments therefore show that the technique chosen for the transition from use cases to class diagrams affects the quality of the class diagrams, but also that the effects of the techniques depend on the categories of developer applying it and on the tool with which the technique is applied.

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

  • Anda, B., Hansen, K., Gullesen, I., and Thorsen, H. K. 2004. Experiences from introducing UML-based development in a large development project. Submitted to Empirical Software Engineering.

  • Arisholm, E., Sjøberg, D. I. K., Carelius, G. J., and Lindsjørn, Y. 2002. A web-based support environment for software engineering experiments. Nordic Journal of Computing 9: 231–247.

    Google Scholar 

  • Arlow, J., and Neustadt, I. 2002. UML and the Unified Process. Practical Object-Oriented Analysis and Design. Boston, MA: Addison–Wesley.

    Google Scholar 

  • Bahrami, A. 1999. Object Oriented Systems Development. Boston, MA: McGraw-Hill.

    Google Scholar 

  • Batra, D., Hoffer, J. A., and Bostrom, R. P. 1990. Comparing representations with relational and EER models. Communications of the ACM 33(2): 126–139.

    Article  Google Scholar 

  • Bennett, S., McRobb, S., and Farmer, R. 1999. Object-Oriented Systems Analysis and Design Using UML. New York: McGraw-Hill.

    Google Scholar 

  • Booch, G., Rumbaugh, J., and Jacobson, I. 1999. The Unified Modeling Language User Guide. Reading, MA: Addison–Wesley.

    Google Scholar 

  • Briand, L. C., Daly, J., and Wüst, J. 1998. A unified framework for cohesion measurement in object-oriented systems. Empirical Software Engineering 3(1): 65–117.

    Article  Google Scholar 

  • Briand, L. C., Daly, J. W., and Wüst, J. 1999. A unified framework for coupling measurement in object-oriented systems. IEEE Transactions on Software Engineering 25(1): 91–121.

    Article  Google Scholar 

  • Cockburn, A. 2000. Writing Effective Use Cases. Boston, MA: Addison–Wesley.

    Google Scholar 

  • Dobing, B., and Parsons, J. 2000. Understanding the role of use cases in UML: A review and research agenda. Journal of Database Management 11(4): 28–36, Oct–Dec.

    Google Scholar 

  • Freund, R. J., Littell, R. C., and Spector, P. C. 1991. SAS System for Linear Models. Cary, NC: SAS Institute Inc.

    Google Scholar 

  • Harrison, W. 2000. N=1: An alternative for software engineering research? Beg, borrow, or steal: Using multidisciplinary approaches in empirical software engineering research. In Workshop, 5 June, 2000 at 22nd Int. Conf. on Softw. Eng. (ICSE), Limerick, Ireland, pp. 39–44.

  • IBM Rational XDE Developer Plus, 2003. V2003.06.00, http://www-306.ibm.com/software/awdtools/developer/rosexde/.

  • Jacobson, I., Christerson, M., Jonsson P., and Overgaard, G. 1992. Object-Oriented Software Engineering: A Use Case Driven Approach. Wokingham :Addison–Wesley.

    Google Scholar 

  • Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Software Development Process. Reading, MA: Addison–Wesley.

    Google Scholar 

  • Karahasanovic, A., Anda, B., Arisholm, E, Howe, S. E., Jørgensen, M., Sjøberg, D. I. K., and Welland, R. 2005. Collecting feedback during software engineering experiments. Empirical Software Engineering 10(2): 113–147.

    Article  Google Scholar 

  • Larman, C. 2002. Applying UML and PatternsAn Introduction to Object-Oriented Analysis and Design and the Unified Process. Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • Lethbridge, T. C., and Laganiere, R. 2001. Object-Oriented Software Engineering: Practical Software Development Using UML and Java. New York: McGraw-Hill.

    Google Scholar 

  • Liang, Y. 2003. From use cases to classes: A way of building object model with UML. Information and Software Technology 45(2): 83–93.

    Article  Google Scholar 

  • Lindsay, R. M., and Ehrenberg, A. S. C. 1993. The design of replicated studies. The American Statistician 47(3): 217–228, August.

    Google Scholar 

  • Maciaszek, L. 2001. Requirements Design and System Analysis. Harlow: Addison–Wesley.

    Google Scholar 

  • Meyer, B. 1999. Object-Oriented Software Construction. Saddle River, NJ: Prentice-Hall.

    Google Scholar 

  • Richter, C. 1999. Designing Flexible Object-Oriented Systems with UML. Indianapolis, Indiana: Macmillan Technical Publishing.

    Google Scholar 

  • Rosenberg, D., and Scott, K. 2001. Applying Use Case Driven Object Modeling with UML. An Annotated E-Commerce Example. Reading, MA: Addison–Wesley.

    Google Scholar 

  • SAS Institute Inc. 1999. SAS Version 8, Cary, NC, USA.

  • Sharble, R. C., and Cohen, S. S. 1993. The object-oriented brewery: A comparison of two object-oriented development methods. Software Engineering Notes 18(2): 60–73.

    Article  Google Scholar 

  • Shull, F., Travassos, G., Carver, J., and Basili, V. 1999. Evolving a Set of Techniques for OO Inspections. University of Maryland Technical Report CS-TR-4070, October.

  • Sjøberg, D. I. K, Anda, B., Arisholm, E., Dybå, T., Jørgensen, M., Karahasanovic, A., Koren, E. F., and Vokác, M. 2002. Conducting realistic experiments in software engineering. In ISESE’2002 (First International Symposium on Empirical Software Engineering), Nara, Japan, October 3–4, pp. 17–26, IEEE Computer Society

  • Sjøberg, D. I. K., Anda, B., Arisholm, E., Dybå, T., Jørgensen, M., Karahasanovic, A., and Vokác, M. 2003. Challenges and recommendations when increasing the realism of controlled software engineering experiments, In: R. Conradi and A. I. Wang, (eds), Empirical Methods and Studies in Software Engineering, ESERNET 2001–2002, LNCS 2765, Springer-Verlag, pp. 24–38.

  • Stevens, P., and Pooley, R. 2000. Using UML. Software Engineering with Objects and Components. Harlow: Addison–Wesley.

    Google Scholar 

  • Syversen, E., Anda, B., and Sjøberg, D. I. K. 2003. An evaluation of applying use cases to construct design versus validate design. In Hawaii International Conference on System Sciences (HICSS-36), Big Island, Hawaii, January 6–9.

  • Wirfs-Brock, R., Wilkerson, B., and Wiener, L. 1990. Designing Object-Oriented Software. Englewood Cliffs, NJ: Prentice Hall.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bente Anda.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Anda, B., Sjøberg, D.I.K. Investigating the Role of Use Cases in the Construction of Class Diagrams. Empir Software Eng 10, 285–309 (2005). https://doi.org/10.1007/s10664-005-1289-3

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-005-1289-3

Keywords

Navigation