Skip to main content
Log in

A subject-based empirical evaluation of SSUCD’s performance in reducing inconsistencies in use case models

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

The problem of inconsistencies in Use Case models has plagued practitioners over the years and has been a topic of interest for many researchers. In Use Case driven approaches, the damaging effects of inconsistencies escalate as inconsistencies have a detrimental influence on every aspect of the development process. The repercussions of inconsistencies have been well documented, but little progress has been made towards reducing and remedying their effects. This paper presents a controlled experiment, which evaluates the reduction of inconsistencies resulting from deploying a new structure called (Simple Structured Use Case Descriptions) SSUCD, which is used to assist with the development of Use Case descriptions. This experiment also investigates the impact of improving consistency amongst Use Case models on other key Use Case modeling quality attributes. The results of this experiment demonstrate that using SSUCD leads to an improvement in consistency between use case models and their associated descriptions.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. Technical knowledge is referred to here in the sense of software development technical knowledge.

  2. From this point onwards, the term “analyst” will be used to refer to both business and systems analysts.

  3. We use the term authors since anyone can write a UC, however UC authors are most likely to be analysts.

  4. The UC diagrams in appendix C were redrawn using a UML modeling tool for clarity and presentation purposes.

  5. Kaner (Kaner et al. 2003) empirically demonstrated that the choice of variance procedure is relatively unimportant across a wide range of circumstances.

References

  • Ambler S (2007) When is a Model Agile, http://www.agilemodeling.com/essays/whenIsAModelAgile.htm. Last accessed Nov. 2007

  • Analyst Pro Goda Software, Ver. 6.0., www.analysttool.com, Last accessed Nov. 2007

  • Anda B, Sjøberg DIK (2002) Towards an Inspection Technique for Use Case Models, Proc. 14th Int’l Conf. on Software Eng. and Knowledge Eng., pp. 127–134

  • Anda B, Sjøberg D, Jørgensen M (2001) Quality and Understandability in Use Case Models, Proc. 15th European Conf. Object-Oriented Programming, J. Lindskov Knudsen, ed., pp. 402–428, Springer-Verlag

  • Anda B, Dreiem H, Sjøberg D, Jørgensen M (2001) Estimating Software Development Effort Based on Use Cases – Experiences from industry, Fourth International Conference on the Unified Modeling Language

  • Arisholm E, Sjøberg D (2003) A Controlled Experiment with Professionals to Evaluate the Effect of a Delegated versus Centralized Control Style on the Maintainability of Object-Oriented Software. Simula Research Laboratory, Technical Report 2003–6, http://www.simula.no/.

  • Arisholm E, Briand L, Hove S, Labiche Y (2006) The impact of UML documentation on software maintenance: an experimental evaluation. IEEE Trans Softw Eng 32:365–381 doi:10.1109/TSE.2006.59

    Article  Google Scholar 

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

  • Belgamo A, Fabbri S, Maldonado JC (2005) TUCCA: improving the effectiveness of use case construction and requirement analysis, Int’l Symp. on Empirical Soft. Eng.

  • Ben Achour C, Rolland C, Maiden NAM, Souveyet C (1999) Guiding Use Case Authoring: Results of an Empirical Study, Proc. IEEE Symp. on Requirements Eng.

  • Bittner K, Spence I (2002) Use Case Modeling. Addison-Wesley, MA

  • Boehm B (1981) Software Engineering Prentice - Economics. Hall, Englewood Cliffs

    Google Scholar 

  • Booch G, Rumbaugh J, Jacobson I (1999) The Unified Modeling Language User Guide. Addison-Wesley

  • CancerGrid Tissue Tracking Database System Last accessed July 2008. http://www.cancergrid.org/public/documents/2006/mrc/Report%20MRC-1.2.2.1%20Tissue%20tracking%20database%20requirements.pdf

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

  • Cliff N (1993) Dominance statistics: Ordinal analyses To Answer Ordinal Questions. Psychol Bull 114:494–509 doi:10.1037/0033-2909.114.3.494

    Article  Google Scholar 

  • Cliff N (1996) Answering Ordinal Questions With Ordinal Data Using Ordinal Statistics. Multivariate Behav Res 31:331–350 doi:10.1207/s15327906mbr3103_4

    Article  Google Scholar 

  • Cliff N (1996) Ordinal Methods for Behavioral Data Analysis. Lawrence Erlbaum Associates

  • Cockburn A (1995) Structuring Use Cases with Goals, Technical Report. Human and Tech., 7691 Dell Rd, Salt Lake City, UT 84121, HaT.TR.95.1, http://members.aol.com/acockburn/papers/usecaes.htm

  • Cockburn A (2000) Writing Effective Use Cases. Addison-Wesley

  • Constantine LL, Lockwood LAD (1999) Software for Use. A Practical Guide to the Models and Methods for Usage-Centered Design. Addison-Wesley

  • Cox K, Phalp K (2000) Replicating the CREWS Use Case Authoring Guidelines Experiment, J. Empirical Software Engineering

  • El-Attar M, Miller J (2006) AGADUC: Towards a More Precise Presentation of Functional Requirement in Use Case Models, Proc. 4th ACIS International Conference on Soft. Eng., Research, Management & Applications

  • El-Attar M, Miller J (2006) Producing Robust Use Case Diagrams via Reverse Engineering of Use Case Descriptions, Journal of Software and Systems Modeling

  • FAIN Active Network Enterprise Model UC model. Last accessed July 2008. www.ee.ucl.ac.uk/lcs/papers2000/lcs026.pdf

  • Firesmith DG (1999) Use Case Modeling Guidelines. Proc. of Tech. of Object-Oriented Languages and Systems

  • Fowler M, Scott K (2003) UML Distilled: a Brief Guide to the Standard Object Modeling Language. Addison-Wesley Professional

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

    Google Scholar 

  • Gomaa H (2000) Designing Concurrent, Distributed, and Real-Time Applications with UML Addison Wiley

  • Gomaa H (2004) Designing Software Product Lines with UML. Addison Wiley Professional

  • Harwood RJ (1997) Use case formats: requirements, analysis, and design. J Object-Oriented Program 9:54–57

    Google Scholar 

  • Höst M, Regnell B, Wohlin C (2000) Using students as subjects – A comparative study of students and professionals in lead-time impact assessment. Empir Softw Eng 5:210–214 doi:10.1023/A:1026586415054

    Article  Google Scholar 

  • Hess MR, Kromrey JD, Ferron JM, Hogarty KY, Hines CV (2005) Robust Inference in Meta-Analysis: An Empirical Comparison of Point and Interval Estimates Using the Standardized Mean Difference and Cliff’s Delta, Annual meeting of the American Educational Research Association, pp. 36, available at: www.coedu.usf.edu/main/departments/me/documents/RobustMeta-AnalysisAERA2005.pdf

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

    Google Scholar 

  • Jacobson I (1992) Object-Oriented Software Engineering. A Use Case Driven Approach. Addison-Wesley

  • Jacobson I, Ericsson M, Jacobson A (1995) The Object Advantage. ACM Press

  • Kaner C, Bach J, Pettichord B (2003) Lessons Learned in Software Testing. John Wiley & Sons

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

  • Kromrey J, Hogarty K (1998) Analysis Options For Testing Group Differences On Ordered Categorical Variables: An Empirical Investigation Of Type 1 Error Control And Statistical Power. Multiple Linear Regres Viewpoints 25:70–82

    Google Scholar 

  • Kromrey J, Hogarty K, Ferron J, Hines C, Hess M (2005) Robustness in Meta-analysis: An Empirical Comparison of Point and Interval Estimates of Standardized Mean Differences and Cliff’s Delta, American Statistical Association 2005 Joint Statistical Meetings, pp.7; available at: luna.cas.usf.edu/~mbrannic/files/meta/Robust%20Estimates.pdf

  • Kruchten P (1999) The Rational Unified Process: An Introduction (2nd Edition). Addison-Wesley Longman Inc.

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

  • Larman C (2001) Applying UML Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. 2nd Edition. Prentice Hall

  • Lehmann EL (1998) Non-Parametrics: Statistical Methods Based On Ranks, Revised. Pearson

  • Lilly S (1999) Use Case Pitfalls: Top 10 Problems from Real Projects Using Use Cases, Proc. of Technology of Object-Oriented Languages and Systems

  • MAPSTEDI UC Model. Last accessed July 2008. mapstedi.colorado.edu/documents/Mapstedi_High_Level_Use_Case_Model.pdf

  • Mattingly L, Rao H (1998) Writing Effective Use Cases and Introducing Collaboration Cases. J Object-Oriented Program 11:77–84

    Google Scholar 

  • McBeen P (2007) Use Case Inspection List, www.mcbreen.ab.ca/papers/QAUseCases.html, last accessed Nov

  • McCoy J (2003) Requirements use case tool (RUT), Companion of the 18th Annual ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pp. 104–105

  • UML 2.0 Infrastructure Specification, OMG, http://www.omg.org/docs/ptc/03-09-15.pdf. 2003

  • Optimal Trace, Compuware, Ver. 4.1., www.compuware.com/optimaltrace, last accessed Nov. 2007

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

  • Rational Unified Process: Rational Software, IBM, Ver. 2002.05.00, 2002.

  • Regnell B, Andersson M, Bergstrand J (1995) A Hierarchical Use Case Model with Graphical Representation, Proc. of Second IEEE Int’l Symp. on Requirements Eng.

  • Ren S, Butler G, Rui K, Xu J, Yu W, Luo R (2004) A Prototype Tool for Use Case Refactoring, Proc. of the 6th Int’l Conf. on Enterprise Information Systems, pp. 173–178

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

  • Schneider G, Winters J (1998) Applying Use Cases – A Practical Guide. Addison-Wesley

  • Shapiro SS, Wilk MB (1972) An analysis of variance test for the exponential distribution. TechnoMeterics 14:355–370 doi:10.2307/1267427

    Article  MATH  Google Scholar 

  • Siegel S, Castellan NJ Jr (1988) Non-parametric Statistics for the Behavioral Sciences (2nd Edition). McGraw-Hill

  • STEAM Laboratory website, University of Alberta, Simple Structured Use Case Descriptions, http://www.steam.ualberta.ca/main/research_areas/SSUCD.htm, last updated Nov. 2007

  • Supply Change Management UC Model. Last accessed July 2008. ws-i.org/SampleApplications/SupplyChainManagement/2002-11/SCMUseCases-0.18-WGD.pdf

  • Use Case Studio, Rewritten Software, Vers. 3.0., www.rewrittensoftware.com, Last accessed Nov. 2007

  • Visual Use Case 2006, TechnoSolutions, Ver. 2.05., www.technosolutions.com, Last accessed Nov. 2007

  • Wohlin C, Runeson P, Host M, Ohlsson MC, Regnell B, Wesslen A (2000) Experimentation in Software Engineering - An Introduction. Kluwer

Download references

Acknowledgements

We would like to thank all the graduate students who participated in this experiment.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to James Miller.

Additional information

Editor: Per Runeson

Appendices

Appendix A: SSUCD – Syntax Rules (E-BNF)

Appendix B: Requirements Documents

2.1 Airline Ticketing System

The system allows the Clerk to order tickets and to look for a suitable flight. In order to look up a ticket, the Clerk needs to enter the name of the traveler, the chosen flight, and finally booking the airline tickets. When looking up a flight, the system provides a list of available flights between two airports at a given date. The system must allow the ability to look up a flight without having to order a ticket. When the order information to buy a ticket is entered, this information is automatically used to look up the flight.

A third service (the help service) is available for the clerk while ordering a ticket to provide a help page specific to ordering tickets. The help service can be invoked independently by the Clerk, which will provide the Clerk with a “main” help page.

2.2 Banking System

The bank has several automated teller machines (ATMs), which are geographically distributed and connected via a wide area network to a central server. Each, ATM machine has a card reader, a cash dispenser, a keyboard/display and a receipt printer. By using the ATM machine, a customer can withdraw cash from either a checking or savings accounts; query the balance of an account; or transfer funds from one account to another. A transaction is initiated when a customer inserts an ATM card into the card reader. Encoded on the magnetic strip on the back of the ATM card is the card number, and start and expiration dates. Assuming the card is recognized, the system validates the ATM card to determine that the expiration date has not passed; that the user-entered PIN matches the PIN maintained by the system; and that the card is not lost or stolen. The customer is allowed three attempts to enter a correct PIN. The card is confiscated if the third attempt fails. Cards that have been reported lost or stolen are also confiscated.

If the PIN is validated satisfactorily, the customer is prompted to choose a withdrawal, query, or transfer transaction. Before a withdrawal transaction can be approved, the system determines that sufficient funds exist in the chosen account; the maximum daily will not be exceeded; and that there are sufficient funds at the local cash dispenser. If the transaction is approved, the requested amount of cash is dispended, a receipt is printed containing information about the transaction, and the card is ejected. Before a transfer transaction can be approved, the system determines that the customer has at least two accounts and that there are sufficient funds in the account to be debited. For approved transactions, a receipt is printed and the card is ejected. A customer may cancel a transaction at any time; the transaction is terminated and the card is ejected. Customer records, account records, and debit card records are all maintained at the server.

Appendix C: Scoring UCs Developed in the Experiment

3.1 C.1. Scoring UCs from the Banking System developed in UNL

3.1.1 UC Diagram

Fig. 13
figure 13

Example banking system UC diagram developed by a subject

Use Case Name: Perform Transaction

Preconditions: The customer must have an ATM card.

Basic Flow: The customer inserts their ATM card into the card reader and enters the correct PIN. The customer is given a selection of performing a withdrawal, query, or transfer. Once the customer chooses an option, the use case for the selected transaction type takes place. Once the child use case has completed, a receipt is printed and the card is ejected.

3.1.2 Alternative Flows:

  • ▪ If the PIN is entered incorrectly three times or the card is lost or stolen, the Confiscate Card use case is carried out.

  • ▪ If the customer cancels the transaction, the Cancelled Transaction use case takes place.

  • ▪ If the transaction to be carried out by the child use case is not approved, the Approval Failed use case is carried out.

Use Case Name: Perform Withdrawal

Preconditions: Sufficient funds must be available in the account that is to have the money debited, the amount to be removed must not exceed the remaining daily limit, and there must be sufficient funds in the local cash dispenser.

Basic Flow: The customer specifies that amount of money to withdraw and the account to withdraw it from. The transaction is then approved and the requested amount of cash dispensed, and then control returns to the Perform Transaction use case.

Use Case Name: Approval Failed

Basic Flow: The customer is informed of the reason that the transaction was not approved, and any pending transactions are cancelled.

3.1.3 Scoring:

  1. 1.

    The “Perform Transaction” is depicted as an abstract UC in the diagram but this characteristic was not stated in the description. (1 defect)

  2. 2.

    The “Perform Transaction” is depicted to have two extension points both of which were not stated in the description. (3 defects)

  3. 3.

    The “Approval Failed” UC is depicted to extend the “Perform Transaction” but this fact was not stated in the “Approval Failed” UC. As an extension UC, it is the “Approval Failed” UC that is responsible for indicating when and under what clause will the exceptional it describes will be performed. Meanwhile, in an alternative flow contained in the “Perform Transaction” UC, it is mentioned that the “Approval Failed” UC is called upon to perform the required, which is a description of an include relationship between the UCs that was not depicted. These inconsistencies are a result of the same mistake and hence are scored as one defect. (1 defect)

  4. 4.

    The “Perform Withdrawal” UC states at the end of the Basic Flow that “control returns to the Perform Transaction use case” which is a description of a include relationship rather than an implementation relationship. (1 defect)

Inconsistency defects total = 6

3.2 C.2. Scoring UCs from the Airline Ticketing System developed in SSUCD

3.2.1 UC Diagram

Fig. 14
figure 14

Example airline ticketing system UC diagram developed by a subject

Use Case Name: Order Tickets

Associated Actors: Clerk

3.2.2 Description

Basic Flow: Clerk enters the name of the traveler then enters the flight name which is INCLUDE <Find Flight> by the system based on the entered order information, and the books the tickets.

Sub Flows: Find Flight

Postconditions: The tickets have been ordered

Extension Points: need help

Use Case Name: Use Help Page

Associated Actors: Clerk

3.2.3 Description

Basic Flow: The clerk invokes the help service and the order flight page is brought up.

Alternative Flows: If the Clerk invokes the help service outside of ordering tickets the main page is brought up.

Alternative Flows: If the Clerk invokes the help service outside of ordering tickets the main page is brought up.

3.2.4 Extended Use Cases

Base UC Name: Order Tickets

Extension Point: need help

IF the clerk needs help while ordering a ticket

3.2.5 Scoring

  1. 1.

    For the “Order Tickets” UC:

  • ▪ The depicted include relationship with the “Find Flight” UC was correctly stated in the description.

  • ▪ The depicted extension point “need help” was correctly stated in the description.

  • ▪ The depicted association with the “Clerk” actor was correctly stated in the description.

  • ▪ A Sub-flow was stated which indicates that “Find Flight” is a sub routine described within the UC, which is incorrect since this behavior is described in the inclusion UC “Find Flight”. This results in a inconsistency within the UC description since the inclusion relationship was already stated. (1 defect)

  1. 2.

    For the “Use Help Page” UC:

  • ▪ The depicted association with the “Clerk” actor was correctly stated in the description.

  • ▪ The depicted extend relationship with the “Order Tickets” UC is correctly stated in the description.

  • ▪ The depicted clause is correctly stated in the description.

  • ▪ The description states the extension point (“need help”) at the “Order Tickets” UC where the additional behavior is inserted. This information should be depicted on the extend arrow but was not. (1 defect)

Inconsistency defects total = 2

Rights and permissions

Reprints and permissions

About this article

Cite this article

El-Attar, M., Miller, J. A subject-based empirical evaluation of SSUCD’s performance in reducing inconsistencies in use case models. Empir Software Eng 14, 477–512 (2009). https://doi.org/10.1007/s10664-008-9101-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-008-9101-9

Keywords

Navigation