ABSTRACT
Use cases describe a set of interactions between actors/users and the system under study. These interactions should be described textually according to some style and template to be simultaneously readable, consistent and verifiable. The main reason for these qualities is that use cases specification should be used both by business analysts and requirements engineers, when specifying functional requirements, as well as by software developers, when designing and implementing the involved system functionality. In spite of the popularity of use cases, there are not many patterns and guidance to help produce use cases specifications in a systematic and high-quality way. Furthermore, in the context of Model Driven Development (MDD) approaches, use cases specifications can be also considered models with precise syntax and semantics to be automatically validated or used in model-to-model or model-to-text transformations.
In this paper we propose a pattern language to improve the quality of use cases specifications. These patterns are concrete guidelines that have emerged from the research and industrial experience of the authors throughout the years, particularly in the designing of MDD languages and approaches and in applying them in concrete applications. These patterns are interconnected among themselves and are the following: (P1) Define Use Case Types, (P2) Keep Use Case Consistent with the Domain Model, (P3) Define Use Case with Different Scenario and Interaction Block Types, and (P4) Define Use Case with Different Action Types.
- Christopher, A., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., Angel, S., A Pattern Language. Oxford University Press, New York, 1977.Google Scholar
- Gamma, E., Helm, R., Johnson, R., Vlissides, J., Design Patterns: Elements of Reusable Object Oriented Software, Addison Wesley Professional, 1994. Google ScholarDigital Library
- Coplien, J., Software Patterns, SIGS, 1996.Google Scholar
- Buschmann F., Meunier R., Rohnert H., Sommerlad P. & Stal M., Pattern Oriented Software Architecture: A System of Patterns, John Wiley & Sons, 1996. Google ScholarDigital Library
- Pohl, K., Requirements Engineering - Fundamentals, Principles, and Techniques. Springer, 2010. Google ScholarDigital Library
- Mahendra, P., & Ghazarian, A., Patterns in the Requirements Engineering: A Survey and Analysis Study, 2014.Google Scholar
- Withall, S. Software Requirements Patterns. Microsoft Press, 2007. Google ScholarDigital Library
- Cheng, B., Atlee, J. Research Directions in Requirements Engineering, Future of Software Engineering (FOSE '07), pp. 285--303, 2007. Google ScholarDigital Library
- Toval, J. A., Nicolás, J., Moros, B., Garcia. F., Requirements Reuse for Improving Information Systems Security: A Practitioner's Approach, Requirements Engineering, 6(4), pp. 205--219, 2002.Google ScholarCross Ref
- Wahono, R. S., Cheng, J., Extensible Requirements Patterns of Web Application for Efficient Web Application Development, International Symposium on Cyber Worlds (CW), 2002. Google ScholarDigital Library
- Robertson, S., Requirements Patterns Via Events/Use Cases. PLoP, 1996.Google Scholar
- Durán, A., Bernárdez, B., Ruíz, A., Toro, M., A Requirements Elicitation Approach Based in Templates and Patterns, 1999.Google Scholar
- Moros, B., Vicente, C., Toval, A., Metamodeling Variability to Enable Requirements Reuse, EMMSAD, 2008.Google Scholar
- J. Yang, L. Liu, Modeling Requirements Patterns with a Goal and PF Integrated Analysis Approach, COMPSAC, 2008. Google ScholarDigital Library
- Franch, X., Palomares, C., Quer, C., Renault, S., Lazzer, F., A Metamodel for Software Requirement Patterns, REFSQ 2010: 85--90, 2010.Google Scholar
- Adolph, S., Bramble, P., Cockburn, A., Pols, A., Patterns for Effective Use Cases. Addison Wesley, 2002. Google ScholarDigital Library
- Overgaard, G., Palmkvist, K., Use Cases: Patterns and Blueprints. Addison Wesley, 2005.Google Scholar
- Langlands, M., Inside The Oval: Use-Case Content Patterns, Technical report, Planet Project, 2010. Accessed on 2015. http://planetproject.wikidot.com/use-case-content-patternsGoogle Scholar
- Chung, L., Supakkul, S. 2006. "Capturing and reusing functional and non-functional requirements knowledge: A goal-object pattern approach", IEEE International Conference on Information Reuse and Integration (IRI).Google ScholarCross Ref
- Issa, A. A., Al-Ali, A. 2010 "Use Case Patterns Driven Requirements Engineering", International Conference on Computer Research and Development (ICCRD) Google ScholarDigital Library
- Chung, L., Paech, B., Zhao, L., Liu, L., Supakkul. S. 2012., RePa Requirements Pattern Template, International Workshop on Requirements Patterns (RePa'12)Google Scholar
- Stahl, T., Volter, M., Model-Driven Software Development, Wiley, 2005. Google ScholarDigital Library
- Selic, B., Personal reflections on automation, programming culture, and model-based software engineering. Automated Software Engineering, 15(3-4): 379--391, 2008. Google ScholarDigital Library
- Silva, A. R., Model-Driven Engineering: A Survey Supported by a Unified Conceptual Model, in Computer Languages, Systems & Structures, Elsevier (to be published), 2015.Google Scholar
- Silva, A. R., Videira, C., Saraiva, J., Ferreira, D., Silva, R., The ProjectIT-Studio, an integrated environment for the development of information systems, In Proc. of the 2nd Int. Conference of Innovative Views of NET Technologies (IVNET'06), SBC and Microsoft, 2006.Google Scholar
- Silva, A. R., Saraiva, J., Ferreira, D., Silva, R., Videira, C., Integration of RE and MDE Paradigms: The ProjectIT Approach and Tools, IET Software, IET, 2007.Google ScholarCross Ref
- Ferreira, D., Silva, A. R., A Controlled Natural Language Approach for Integrating Requirements and Model-Driven Engineering, ICSEA, 2009. Google ScholarDigital Library
- Silva, A. R., Saraiva, J., Silva, R., Martins, C., XIS -- UML Profile for eXtreme Modeling Interactive Systems, in Proceedings of MOMPES'2007, IEEE Computer Society, 2007. Google ScholarDigital Library
- Ribeiro, A., Silva, A. R., XIS-Mobile: A DSL for Mobile Applications, Proceedings of the 29th Annual ACM Symposium on Applied Computing (SAC), 2014. Google ScholarDigital Library
- Ribeiro, A., Silva, A. R., Evaluation of XIS-Mobile, a Domain Specific Language for Mobile Application Development, Journal of Software Engineering and Applications, 7(11), pp. 906--919, Oct. 2014.Google ScholarCross Ref
- Savić, D., Vlajić, S., Lazarević, S., Antović, I., Stanojević, V., Milić, M., Silva, A. R., SilabMDD: A Use Case Model Driven Approach, ICIST 2015 5th International Conference on Information Society and Technology, 2015.Google Scholar
- KOSTMOD4.0 http://rapporter.ffi.no/rapporter/2009/01002.pdf, accessed in January, 2013Google Scholar
- Savić, D., Silva, A. R., Vlajić, S., Lazarević, S., Antović, I., Stanojević, V., Milić, M., Use Case Specification at Different Abstraction Level, Proceedings of QUATIC'2012 Conference, IEEE Computer Society, 2012. Google ScholarDigital Library
- Ferreira, D., Silva, A. R., RSLingo: An information extraction approach toward formal requirements specifications, Proceedings of MoDRE'2012, IEEE Computer Society, 2012.Google Scholar
- Ferreira, D., Silva, A. R., RSL-PL: A Linguistic Pattern Language for Documenting Software Requirements, in Proceedings of RePa'13, IEEE Computer Society, 2013.Google Scholar
- Ferreira, D., Silva, A. R., RSL-IL: An Interlingua for Formally Documenting Requirements, in Proceedings of MoDRE, in the 21st IEEE International Requirements Engineering Conference (RE'2013), IEEE Computer Society, 2013.Google Scholar
- Jacobson I. et al. Object-Oriented Software Engineering: A Use-Case Driven Approach, Addison-Wesley 1992. Google Scholar
- Nakatani, T., Urai, T., Ohmura, S., Tamai, T., A requirements description meta-model for use cases, Eighth Asia-Pacific Software Engineering Conf. (APSEC'01), 2001. Google ScholarDigital Library
- Verelst, J., Silva, A. R., Mannaert, H., Ferreira, D., Huysmans, Identifying Combinatorial Effects in Requirements Engineering. In Proceedings of Third Enterprise Engineering Working Conference (EEWC 2013), Advances in Enterprise Engineering, LNBIP, May 2013, Springer.Google Scholar
- Silva, A. R., Verelst, J., Mannaert, H., Ferreira, D., Huysmans, P., Towards a System Requirements Specification Template that Minimizes Combinatorial Effects, Proceedings of QUATIC'2014 Conference, IEEE Computer Society, 2014.Google Scholar
- Caramujo, J., Silva, A. R., Analyzing Privacy Policies based on a Privacy-Aware Profile: the Facebook and LinkedIn case studies, Proceedings of IEEE CBI'2015, IEEE, 2015. Google ScholarDigital Library
- The Standish Group, Chaos Summary 2009 Report, The 10 Laws of Caos, 2009.Google Scholar
- Eveleens, L., Verhoef, C., The Rise and Fall of the Chaos Report Figures, IEEE Software, Jan/Feb, 2010. Google ScholarDigital Library
- Cruz, A. M., A Pattern Language for Use Case Modeling, Proceedings of MODELSWARD 2014, INSTICC Press, 2014.Google Scholar
Recommendations
Linguistic Patterns and Linguistic Styles for Requirements Specification (I): An Application Case with the Rigorous RSL/Business-Level Language
EuroPLoP '17: Proceedings of the 22nd European Conference on Pattern Languages of ProgramsSystem requirements specification describes technical concerns of a system and is used throughout the project life-cycle. Requirements specification helps sharing the system vision among its stakeholders, as well facilitating the communication, project ...
From use cases to system operation specifications
UML'00: Proceedings of the 3rd international conference on The unified modeling language: advancing the standardThe purpose of this paper is to first showcase the concept of an operation schemá a precise form of system-level operation specification and secondly show how operation schemas enhance development when they are used as a supplement to use case ...
Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation
ICSE '02: Proceedings of the 24th International Conference on Software EngineeringIn object-oriented software development, requirements of different stakeholders are often manifested in use case models which complement the static domain model by dynamic and functional requirements. In the course of development, these requirements are ...
Comments