Abstract
Use cases are popular means to specify functional requirements in terms of application logic. A typical way to represent this logic is through scenarios expressed using textual or graphical notations. Use case scenarios can be generalised to offer abstract use cases – use case logic patterns. Such patterns capture recurring logic of user-system interactions independent of the particular problem domain. They are composed of abstract use case models and use case scenarios formulated in constrained natural language. Scenarios refer uniformly to an abstract domain model. Use case patterns can be easily instantiated through substituting the abstract domain with a concrete one. In this paper we present a study on application of use case patterns in a real industry project. At first, the project attempted at specifying reoccurring functionality using an ad-hoc approach. This resulted in poor quality specifications as judged by experienced analysts. Following this, we have proposed to use the pattern approach which could be compared with the previous attempt. We have used a library of patterns that were applied through instantiating them in a particular problem domain. Lessons learnt from this comparison show improvement in clarity, repeatability and correctness, regardless of a tooling environment used.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Permission to use the name of the system or the organization was not given due to commercial issues. As a result, all the examples were generalized and detached from the original business domain of the study.
References
Aballay, L., Introini, S.C., Lund, M.I., Ormeno, E.: UCEFlow: a syntax proposed to structuring the event flow of use cases. In: 8th IEEE Computing Colombian Conference, pp. 1–6 (2013). https://doi.org/10.1109/ColombianCC.2013.6637517
Adolph, S., Bramble, P., Cockburn, A., Pols, A.: Patterns for Effective Use Cases. Addison Wesley, Reading (2002)
Ambroziewicz, A., Smialek, M.: Application logic patterns - reusable elements of user-system interaction. In: MODELS 2010. Lecture Notes in Computer Science, vol. 6394, pp. 241–255 (2010). https://doi.org/10.1007/978-3-642-16145-2_17
Astudillo, H., Génova, G., Śmiałek, M., Llorens Morillo, J., Metz, P., Prieto-Diáz, R.: Use cases in model-driven software engineering. Lecture Notes in Computer Science, vol. 3844, pp. 262–271 (2006). https://doi.org/10.1007/11663430_28
Chou, A., Yang, J., Chelf, B., Hallem, S., Engler, D.R.: An empirical study of operating system errors. In: Symposium on Operating Systems Principles (2001). https://doi.org/10.21236/ada419594
Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Reading (2000)
Díaz, I., Losavio, F., Matteo, A., Pastor, O.: A specification pattern for use cases. Inf. Manag. 41(8), 961–975 (2004). https://doi.org/10.1016/j.im.2003.10.003
Génova, G., Llorens, J., Metz, P., Prieto-Díaz, R., Astudillo, H.: Open issues in industrial use case modeling. In: Jardim Nunes, N., Selic, B., Rodrigues da Silva, A., Toval Alvarez, A. (eds.) UML Modeling Languages and Applications, pp. 52–61. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-31797-5_6
Georgiades, M.G., Andreou, A.S.: Patterns for use case context and content. In: Proceedings of the 13th International Conference on Software Reuse, pp. 267–282 (2013). https://doi.org/10.1007/978-3-642-38977-1_18
Issa, A., Odeh, M., Coward, D.: Using use case patterns to estimate reusability in software systems. Inf. Softw. Technol. 48, 836–845 (2006). https://doi.org/10.1016/j.infsof.2005.10.005
Jacobson, I., Christerson, M., Jonsson, P., Övergaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading (1992)
Kaindl, H., Smialek, M., Wagner, P., et al.: Requirements specification language definition. Project Deliverable D2.4.2, ReDSeeDS Project (2009). www.redseeds.eu
Kulak, D., Guiney, E.: Use Cases: Requirements in Context, 2nd edn. Addison Wesley, Reading (2012)
Langlands, M.: Inside the oval: use case content patterns. Technical report, Planet Project, v. 2 (2014)
Metz, P., O’Brien, J., Weber, W.: Against use case interleaving. In: UML 2001. Lecture Notes in Computer Science, vol. 2185, pp. 472–486 (2001). https://doi.org/10.1007/3-540-45441-1_34
Misbhauddin, M., Alshayeb, M.: Extending the UML use case metamodel with behavioral information to facilitate model analysis and interchange. Softw. Syst. Model. 14(2), 813–838 (2015). https://doi.org/10.1007/s10270-013-0333-9
Object Management Group: OMG Unified Modeling Language, version 2.5, ptc/2013-09-05 (2013)
Ochodek, M., Koronowski, K., Matysiak, A., Miklosik, P., Kopczynska, S.: Sketching use-case scenarios based on use-case goals and patterns. In: Proceedings of XVIIIth KKIO Software Engineering Conference on Software Engineering: Challenges and Solutions, pp. 17–30 (2017). https://doi.org/10.1007/978-3-319-43606-7_2
Overgaard, G., Palmkvist, K.: Use Cases: Patterns and Blueprints. Addison Wesley, Reading (2005)
Powell, S.G., Baker, K.R., Lawson, B.: Errors in operational spreadsheets. J. Organ. End User Comput. 21(3), 24–36 (2009). https://doi.org/10.4018/joeuc.2009070102
Simons, A.J.H.: Use cases considered harmful. In: Proceedings of the 29th Conference on Technology of Object-Oriented Languages and Systems, Nancy, France, pp. 194–203. IEEE Computer Society Press, June 1999. https://doi.org/10.1109/tools.1999.779012
Śmiałek, M., Jarzebowski, N., Nowakowski, W.: Runtime semantics of use case stories. In: 2012 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 159–162. IEEE (2012). https://doi.org/10.1109/VLHCC.2012.6344506
Śmiałek, M., Jarzebowski, N., Nowakowski, W.: Translation of use case scenarios to Java code. Comput. Sci. 13(4), 35–52 (2012). https://doi.org/10.7494/csci.2012.13.4.35
Śmiałek, M., Nowakowski, W.: From Requirements to Java in a Snap: Model-Driven Requirements Engineering in Practice. Springer, Cham (2015). ISBN 978-3-319-12837-5
Śmiałek, M., Straszak, T.: Facilitating transition from requirements to code with the ReDSeeDS tool. In: 2012 20th IEEE International Requirements Engineering Conference (RE), pp. 321–322. IEEE (2012). https://doi.org/10.1109/RE.2012.6345825
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Ambroziewicz, A., Śmiałek, M. (2019). Applying Use Case Logic Patterns in Practice: Lessons Learnt. In: Kosiuczenko, P., Zieliński, Z. (eds) Engineering Software Systems: Research and Praxis. KKIO 2018. Advances in Intelligent Systems and Computing, vol 830. Springer, Cham. https://doi.org/10.1007/978-3-319-99617-2_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-99617-2_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-99616-5
Online ISBN: 978-3-319-99617-2
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)