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.
Similar content being viewed by others
Notes
Technical knowledge is referred to here in the sense of software development technical knowledge.
From this point onwards, the term “analyst” will be used to refer to both business and systems analysts.
We use the term authors since anyone can write a UC, however UC authors are most likely to be analysts.
The UC diagrams in appendix C were redrawn using a UML modeling tool for clarity and presentation purposes.
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
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
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
Cliff N (1996) Answering Ordinal Questions With Ordinal Data Using Ordinal Statistics. Multivariate Behav Res 31:331–350 doi:10.1207/s15327906mbr3103_4
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
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
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
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
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
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
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
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
Acknowledgements
We would like to thank all the graduate students who participated in this experiment.
Author information
Authors and Affiliations
Corresponding author
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
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.
The “Perform Transaction” is depicted as an abstract UC in the diagram but this characteristic was not stated in the description. (1 defect)
-
2.
The “Perform Transaction” is depicted to have two extension points both of which were not stated in the description. (3 defects)
-
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.
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
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.
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)
-
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
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-008-9101-9