Applying use cases to design versus validate class diagrams - a controlled experiment using a professional modeling tool

Several processes have been proposed for the transition from functional requirements to an object-oriented design, but these processes have been subject to little empirical validation. A use case driven development process is often recommended when applying UML. Nevertheless, it has been reported that this process leads to problems, such as the developers missing some requirements and mistaking requirements for design. This paper describes a controlled experiment, width 53 students as subjects, conducted to investigate two alternative processes for applying a use case model in an object-oriented design process. One process was use case driven, while the other was a responsibility-driven process in which the use case model was applied as a means of validating the resulting class diagram. Half of the subjects used the modeling tool Tau UML Suite from Telelogic; the other half used pen and paper. The results show that the validation process led to class diagrams implementing more of the requirements. The use case driven process did, however, result in class diagrams with a better structure. The results also show that those who used the modeling tool spent more time on constructing class diagrams than did those who used pen and paper. We experienced that it requires much more effort to organize an experiment with a professional modeling tool than with only pen and paper.

[1]  Bennett Simon,et al.  Object-oriented Information Systems Analysis and Design Using UML , 1999 .

[2]  Timothy Lethbridge,et al.  Object-oriented software engineering - practical software development using UML and Java , 2002 .

[3]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[4]  Jim Arlow,et al.  Uml and the Unified Process: Practical Object-Oriented Analysis and Design , 2005 .

[5]  Tore Dybå,et al.  Conducting realistic experiments in software engineering , 2002, Proceedings International Symposium on Empirical Software Engineering.

[6]  Jeffrey C. Carver,et al.  Evolving a Set of Techniques for OO Inspections , 1999 .

[7]  Kendall Scott,et al.  Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example , 2001 .

[8]  Ray Farmer,et al.  Object-Oriented Systems Analysis and Design Using UML , 2001 .

[9]  Tore Dybå,et al.  Challenges and Recommendations When Increasing the Realism of Controlled Software Engineering Experiments , 2003, ESERNET.

[10]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[11]  Charles Richter Designing Flexible Object-Oriented Systems with UML , 1999 .

[12]  Leszek A. Maciaszek Requirements analysis and system design: developing information systems with UML , 2001 .

[13]  Bente Anda,et al.  An evaluation of applying use cases to construct design versus validate design , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[14]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[15]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[16]  Yngve Lindsjørn,et al.  A Web-Based Support Environment for Software Engineering Experiments , 2002, Nord. J. Comput..

[17]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[18]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 2004, Empirical Software Engineering.

[19]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[20]  Robert P. Bostrom,et al.  Comparing representations with relational and EER models , 1990, Commun. ACM.

[21]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement , 1997, IEEE METRICS.