ABSTRACT
Context: The concept of transaction is used in Use Case Points (UCP), and in many other functional size measurement methods, to capture the smallest unit of functionality that should be considered while measuring the size of a system. Unfortunately, in the case of the UCP method many different definitions of use-case transaction (and approaches to their identification) have been proposed thus far. Therefore, a question arises whether all of them define the same concept, and do they provide similar results when used by different people.
Objective: The goal of this study was to investigate differences and similarities between the existing definitions of use-case transactions that can have an impact on reliability of the use-case-based functional size measurement.
Method: A controlled experiment was conducted on a group of 120 students. The independent variable was a technique used for transaction identification (four methods were investigated), while the dependent variable was the number of transactions identified by participants in a use-case-based requirements specification.
Results: A significant difference in the median number of transactions was observed between groups using the original Karner's definition, and the definition proposed by Diev, which is based on the elementary process known from Function Point Analysis. In addition, a list of problems influencing intramethod reliability was defined based on the qualitative analysis of the experiment data.
Conclusions: It seems that there are two main sources of use-case transactions definitions. The Karner's definition of transaction is based on the concept of use-case transaction proposed by Jacobson -- the inventor of use cases, while the second one proposed by Diev, is based on the elementary process. There are also other methods for transaction identification that follow one of these definitions (e.g. Robiolo and Orosco stimuli-verbs approach). The important observation is that both main definitions of transactions yield different on-average results when used by different people. Therefore, it is important to consistently use only one in order to create a reliable historical database.
- S. Adolph, P. Bramble, A. Cockburn, and A. Pols. Patterns for Effective Use Cases. Addison-Wesley, 2002. Google ScholarDigital Library
- A. Albrecht. Measuring Application Development Productivity. Proceedings of the Joint SHARE/GUIDE/IBM Application Development Symposium, pages 83--92, 1979.Google Scholar
- B. Alchimowicz, J. Jurkiewicz, M. Ochodek, and J. Nawrocki. Building Benchmarks for Use Cases. Computing and Informatics, 29(1):27--44, 2010.Google Scholar
- B. Anda. Comparing Effort Estimates Based on Use Case Points with Expert Estimates. Empirical Assessment in Software Engineering (EASE 2002), 2002.Google Scholar
- B. Anda, H. Dreiem, D. Sjøberg, and M. Jørgensen. Estimating Software Development Effort Based on Use Cases-Experiences from Industry. Fourth International Conference on the UML, pages 487--504, 2001. Google ScholarDigital Library
- A. Cockburn. Writing Effective Use Cases. Addison-Wesley Professional, 2000. Google ScholarDigital Library
- R. Collaris and E. Dekker. Software cost estimation using use case points: Getting use case transactions straight. IBM, The Rational Edge, 2009.Google Scholar
- S. Diev. Software estimation in the maintenance context. ACM SIGSOFT Software Engineering Notes, 31(2):1--8, 2006. Google ScholarDigital Library
- S. Diev. Use cases modeling and software estimation: Applying Use Case Points. ACM SIGSOFT Software Engineering Notes, 31(6):1--4, 2006. Google ScholarDigital Library
- T. Fetcke, A. Abran, and T. Nguyen. Mapping the OO-Jacobson approach into function point analysis. Proceedings of TOOLS-23, 1997. Google ScholarDigital Library
- D. Garmus and D. Herron. Function Point Analysis: Measurement Practices for Successful Software Projects. Addison-Wesley Boston, 2001. Google ScholarDigital Library
- M. Hollander and D. Wolfe. Nonparametric Statistical Methods. John Wiley and Sons, New York, 2nd edition, 1999.Google Scholar
- ISO/IEC. 20968:2002 Mk II Function Point Analysis - Counting Practices Manual, 2002.Google Scholar
- ISO/IEC. 19761:2003 COSMIC-FFP - A functional size measurement method, 2003.Google Scholar
- ISO/IEC. 20926:2003 IFPUG 4.1 Unadjusted functional size measurement method - Counting practices manual, 2003.Google Scholar
- I. Jacobson, M. Christerson, P. Jonsson, and G. Övergaard. Object-Oriented Software Engineering: A Use Case Driven Approach. Addison Wesley Longman, Inc., 1992. Google Scholar
- G. Karner. Resource Estimation for Objectory Projects. Objective Systems SF AB (copyright owned by Rational Software), 1993.Google Scholar
- B. Kitchenham, S. Pfleeger, and N. Fenton. Towards a Framework for Software Measurement Validation. IEEE Transactions on Software Engineering, 1995. Google ScholarDigital Library
- W. Kruskal and W. Wallis. Use of ranks in one-criterion variance analysis. Journal of the American Statistical Association, 47(260):583--621, 1952.Google ScholarCross Ref
- S. Kusumoto, F. Matukawa, K. Inoue, S. Hanabusa, and Y. Maegawa. Estimating Effort by Use Case Points: Method, Tool and Case Study. Proceedings. 10th International Symposium on Software Metrics, pages 292--299, 2004. Google ScholarDigital Library
- T. McCabe. A complexity measure. IEEE Transactions on software Engineering, pages 308--320, 1976. Google ScholarDigital Library
- M. Ochodek and J. Nawrocki. Automatic Transactions Identification in Use Cases. In Balancing Agility and Formalism in Software Engineering: 2nd IFIP Central and East European Conference on Software Engineering Techniques CEE-SET 2007, volume 5082 of LNCS, pages 55--68. Springer Verlag, 2008. Google ScholarDigital Library
- M. Ochodek and J. Nawrocki. Enhancing Use-Case-Based Effort Estimation with Transaction Types. Foundations of Computing and Decisions Sciences, 35(2), 2010.Google Scholar
- J. Ouwerkerk and A. Abran. An Evaluation of the Design of Use Case Points (UCP). In A. Abran, R. Dumke, and M. Ruiz, editors, Proceedings of the International Conference on Software Process and Product Measurement MENSURA 2006, pages 83--97. Publish Service of the University of Cádiz www.uca.es/publicaciones, 2006.Google Scholar
- G. Övergaard and K. Palmkvist. Use Cases: Patterns and Blueprints. Addison-Wesley, 2005. Google ScholarDigital Library
- K. Ribu. Estimating object-oriented software projects with use cases. Master's thesis, University of Oslo, Department of Informatics, 2001.Google Scholar
- G. Robiolo and R. Orosco. Employing use cases to early estimate effort with simpler metrics. Innovations in Systems and Software Engineering, 4(1):31--43, 2008.Google ScholarCross Ref
- G. Schneider and J. P. Winters. Applying Use Cases: A Practical Guide. Addison-Wesley, 1998. Google ScholarDigital Library
- S. Shapiro and M. Wilk. An analysis of variance test for normality (complete samples). Biometrika, 52(3--4):591--611, 1965.Google Scholar
- C. Symons. Software sizing and estimating: Mk II FPA (Function Point Analysis). Wiley Series In Software Engineering Practice, 1991. Google ScholarDigital Library
- K. E. Wiegers. Software Requirements. Microsoft Press, Redmond, WA, USA, 2003. Google ScholarDigital Library
- M. Wilk and R. Gnanadesikan. Probability plotting methods for the analysis for the analysis of data. Biometrika, 55(1):1, 1968.Google Scholar
Index Terms
- Reliability of transaction identification in use cases
Recommendations
Improving the reliability of transaction identification in use cases
Context: The concept of transactions is used in Use Case Points (UCP), and in many other functional size measurement methods, to capture the smallest unit of functionality that should be considered while measuring the size of a system. Unfortunately, in ...
Transaction chopping: algorithms and performance studies
Chopping transactions into pieces is good for performance but may lead to nonserializable executions. Many researchers have reacted to this fact by either inventing new concurrency-control mechanisms, weakening serializability, or both. We adopt a ...
Transaction communicators: enabling cooperation among concurrent transactions
PPoPP '11In this paper, we propose to extend transactional memory with transaction communicators, special objects through which concurrent transactions can communicate: changes by one transaction to a communicator can be seen by concurrent transactions before ...
Comments