An Improved User Requirements Notation (URN) Models’ Construction Approach
Abstract
:1. Introduction
- This work performs a detailed analysis of the existing URN modeling process, which is an important step towards the improvement of the process.
- We also endeavored to establish the vertical relationship between GRL and UCMs, where a UCM refines an input GRL. This lays the foundation for the development of mechanisms to automate the GRL transformation into a UCM, especially in a model-driven development approach.
- We propose an improved URN models’ construction process whereby GRL models are constructed independently of UCMs and used as input to UCMs construction. Two algorithms were developed for the improved GRL and UCMs construction processes to facilitate their description and to lay the foundation for their implementation.
2. Related Works
3. An Overview of the User Requirements Notation (URN)
3.1. The URN Meta-Model
3.2. The Goal-Oriented Requirement Language (GRL)
3.3. The Use Case Maps (UCMs)
3.4. The URN Construction Tool: jUCMNav
4. The URN Models Construction Process
4.1. The GRL Model Construction
4.1.1. Developing Softgoals and (Hard) Goals
4.1.2. Developing Other Intentional Elements: Task, Resource and Belief
4.1.3. Connection Points between Softgoals and (Hard) Goals
4.2. The UCM Construction
4.2.1. The Construction of UCM Paths and Path Elements
4.2.2. Drawing UCM Components and the Binding of UCM Paths to Components
4.2.3. Refining the UCM Model
The Case Study Description
5. An Analysis of the URN Construction Process
5.1. The URN Inputs
5.2. Stakeholders
- A voter is a person who fulfills the voting requirements related to, for instance, the minimum age, the citizenship, the place of residence, etc. A voter must be registered prior to the voting date.
- A vote officer ensures the good functioning of the voting system, the voting environment and the respect by all actors of the rules and regulations surrounding the voting process.
- A security company ensures the safety of the physical resources needed for the system.
- The system includes the hardware and software with all the desired functionalities.
5.3. Stakeholders’ Goals
- A voter would probably like the system to be easy to use and to preserve the privacy of the voters. For example, it should not be possible for any user to identify and recognize the choice of a any voter.
- On the other hand, the vote officer is more concerned about the security of the entire system.
5.4. Business Use Cases
5.5. The URN Model of the Case Study
5.6. Observation on GRL and UCM Models’ Construction
5.7. Analysis of URN Outputs
6. Some Challenges with the Standard URN Process
6.1. Inconsistency between the GRL and UCM Models
6.2. Traceability Problem
- Parallelism may be introduced into a UCM to address a performance requirement specified in GRL as a softgoal.
- Stubs or layers may be needed in UCM to respond to a security requirement represented in GRL as a goal or softgoal. For example, to group together those functionalities that require a certain level of security.
- Some elements of a UCM may need to be re-arranged in a certain order to facilitate for example the usability of the system.
6.3. Specification of Irrelevant Requirements
6.4. The Vertical Relationship between GRL and UCM Models
7. An Improved URN Process
7.1. The Improved GRL Model Construction Process
7.1.1. Process Description
Algorithm 1: The improved GRL construction algorithm |
7.1.2. The GRL Model of the Case Study
7.1.3. Presentation and Analysis of the GRL Model of the Case Study
- Easy to use is decomposed into two complementary sub-goals: the first is GUI; having a system with a graphical user interface would contribute to rendering the system easy to use. The second goal is to Provide training and assistance by making training videos, as well as online tips with audio instantly accessible to users. Hence, we (the developers) are convinced that the system would be easy to use if the three tasks, including the development of a graphical user interface, are altogether successfully implemented. A different developer with more or less knowledge of the field, user experience, existing tools, etc. may have a different understanding of the softgoal and, hence, a different solution.
- Having a Simplified vote process as intended by the vote officer would also contribute to making the system easy to use. In return, developing a GUI in addition to the way people cast votes would help to simply the voting process.
- Another concern of the vote officer is for the entire system to be Highly secured. This softgoal is decomposed into two complementary sub-softgoals: the Software security and the Hardware security, which depends on a security company to ensure the safety of the physical equipment. The software security is achieved through user Authentication. A user can be authenticated by means of biometrics or a password.The belief that a certain class of voters may not easily use a password is in favor of the biometric solution.
7.2. Preparing a GRL Model for UCM Specification
7.3. The Improved UCM Model Construction Process
7.3.1. The UCM Process Description
7.3.2. The Processing of the Standard Inputs
7.3.3. The Processing of the Input Softgoal
7.3.4. The Processing of a New Requirement
7.3.5. The Iterative Nature of the Process
Algorithm 2: The improved UCM construction algorithm |
7.3.6. Traceability with Trace Operations
7.3.7. The Resulting UCMs
7.4. The Application of the Proposed UCM Process to the Case Study
7.4.1. Description of the UCM Model of the Case Study
- “Biometric authentication” aims to achieve the software security goal. The scenario specifying this operation is visually the most complicated despite our objective to keep scenarios’ paths as simple as possible to facilitate the comparison of the suggested UCM process with the existing one. This is especially due to the decision to have two starting points: one from the voter component and the other from the Vote officer’s component. Binding the starting point to a specific component facilitates the visual interpretation of the model but is not a necessity. The main function, specified with the responsibility point labeled Biometric authentication, is to authenticate a user using the input biometric data. This results in a system accepting or denying access to the system.
- “Cast a vote” is actually a process that can only be started after the voter has successfully been authenticated. A UCM process element is used to specify the process nature of the task and a responsibility point to specify the abstract operation to cast a vote.
- The “Tips with audio” function is accessible by the user any time when the system is running. The user activates the function represented by the responsibility point to generate tips and audio that enable the system to provide the user with the appropriate onscreen tips or an audio message. This functionality, as are the others, is represented at a high level of abstraction. For example, it does not indicate when only tips or audio is activated and how they are generated.
- “Training videos” can be accessed at any time by the user during operation. The user who wishes to watch the video has to activate the function to access training videos represented by a UCM responsibility point. This is, in fact, an abstract representation which has to be refined to unpack the complexity of the functionality.
7.4.2. Analysis of the UCM Model of the Case Study
Tracing UCM Elements from the Input GRL
Refining the Initial UCM
- A UCM start point specifies the triggering event or precondition.
- A UCM responsibility point specifies the GRL task.
- A UCM endpoint specifies each possible post-condition.
- Keep a database of videos. For instance to ensure that all users access the same version of the videos.
- Install a video player.
- Run a video player to play a downloaded video.
- Download a video and keep a copy in local host.
- Play a video directly online.
- Ensure a stable network connection.
- Others as needed.
8. Future Work
9. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Cervantes-Ojeda, J.; Gómez-Fuentes, M.; Chacón-Acosta, G. Can non-developers learn a simplified modeling notation quickly? J. Softw. Evol. Process. 2022, 34, e2481. [Google Scholar] [CrossRef]
- Grobelna, I. Scratch-Based User-Friendly Requirements Definition for Formal Verification of Control Systems. Inform. Educ. 2020, 19, 223–238. [Google Scholar] [CrossRef]
- Canché, M.; Ochoa, S.F.; Perovich, D.; Gutierrez, F.J. Analysis of notations for modeling user interaction scenarios in ubiquitous collaborative systems. J. Ambient. Intell. Humaniz. Comput. 2022, 13, 5321–5333. [Google Scholar] [CrossRef]
- van der Poll, J.A.; Kotzé, P.; Ahmed, S.; Thiruvengadam, P.; Asmaa, A. Combining UCMs and Formal Methods for Representing and Checking the Validity of Scenarios as User Requirements. In Proceedings of the SAICSIT’03: Proceedings of the 2003 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on Enablement through Technology, Johannesburg, South Africa, 17–19 September 2003; pp. 111–113. [Google Scholar]
- Qaisar, A.M.; Dragos, T.; Johan, L. Using UML Models and Formal Verification in Model-Based Testing. In Proceedings of the 2010 17th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems, Oxford, UK, 22–26 March 2010; pp. 50–56. [Google Scholar] [CrossRef]
- Rasoolzadegan, A.; Barforoush, A. Reliable yet flexible software through formal model transformation (rule definition). Knowl. Inf. Syst. 2014, 40, 79–126. [Google Scholar] [CrossRef]
- Jean-Raymond, A. Formal Methods in Industry: Achievements, Problems, Future. In Proceedings of the 28th International Conference on Software Engineering, Shanghai, China, 20–28 May 2006; pp. 761–768. [Google Scholar] [CrossRef]
- Alagar, V.S.; Periyasamy, K. Specification of Software Systems; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
- Gherabi, N.; Bahaj, M. Robust representation for conversion UML class into XML Document using DOM. arXiv 2012, arXiv:1205.5921. [Google Scholar]
- Brink, L.; Stoter, J.; Zlatanova, S. UML-Based Approach to Developing a CityGML Application Domain Extension. Trans. Gis 2013, 17, 920–942. [Google Scholar] [CrossRef]
- Amyot, D.; He, X.; He, Y.; Cho, D.Y. Generating Scenarios from Use Case Map Specifications. In Proceedings of the QSIC ’03: Proceedings of the Third International Conference on Quality Software, Dallas, TX, USA, 6–7 November 2003; p. 108. [Google Scholar]
- Abdelzad, V.; Amyot, D.; Alwidian, S.A.; Lethbridge, T.C. A Textual Syntax with Tool Support for the Goal-oriented Requirement Language. In Proceedings of the Eighth International i* Workshop (ISTAR 2015), Ottawa, ON, Canada, 24–25 August 2015; pp. 61–66. [Google Scholar]
- Kehrer, T.; Ihler, E. Process-integrated refinement patterns in UML. In Proceedings of the 21st International Conference on Software and Systems Engineering and their Applications (ICSSEA), Paris, France, 9–11 December 2008. [Google Scholar]
- Said, M.Y.; Butler, M.; Snook, C. Class and state machine refinement in UML-B. In Proceedings of the Workshop on Integration of Model-Based Formal Methods and Tools (Associated with IFM 2009), Eindhoven, The Netherlands, 2–3 November 2009. [Google Scholar]
- Liu, Z.; Li, X.; Liu, J.; Jifeng, H. Consistency and refinement of UML models. In Consistency Problems in UML-Based Software Development: Understanding and Usage of Dependency; Springer: Berlin/Heidelberg, Germany, 2004; p. 19. [Google Scholar]
- Akhigbe, O.; Amyot, D.; Anda, A.A.; Lessard, L.; Xiao, D. Consistency Analysis for User Requirements Notation Models. In Proceedings of the iStar, Beijing, China, 12–13 September 2016; pp. 43–48. [Google Scholar]
- Sebastián, G.; Gallud, J.A.; Tesoriero, R. Code generation using model driven architecture: A systematic mapping study. J. Comput. Lang. 2020, 56, 100935. [Google Scholar] [CrossRef]
- Ozkaya, M.; Erata, F. Understanding Practitioners’ Challenges on Software Modeling: A Survey. J. Comput. Lang. 2020, 58, 100963. [Google Scholar] [CrossRef]
- ITU-T, Recommendation Z.151 (10/12), User Requirements Notation (URN)—Language Definition, Geneva, Switzerland. 2012. Available online: https://www.itu.int/rec/T-REC-Z.151/en (accessed on 6 June 2023).
- Amyot, D.; Mussbacher, G. URN: Toward a New Standard for the Visual Description of Requirements. In Telecommunications and Beyond: The BroaderApplicability of SDL and MSC; Sherratt, E., Ed.; Springer: Berlin/Heidelberg, Germany, 2003; pp. 21–37. [Google Scholar]
- Amyot, D.; Mussbacher, G. User Requirements Notation: The First Ten Years, The Next Ten Years (Invited Paper). J. Softw. 2011, 6, 747–768. [Google Scholar] [CrossRef] [Green Version]
- Buhr, R.J.A.; Casselman, R.S. Use Case Maps for Object-Oriented Systems; Prentice Hall: Hoboken, NJ, USA, 1999. [Google Scholar]
- Liu, L.; Yu, E. From Requirements to Architectural Design—Using Goals and Scenarios. In Proceedings of the ICSE 2001, Toronto, ON, Canada, 12–19 May 2001. [Google Scholar]
- Roy, J.F.; Kealey, J.; Amyot, D. Towards Integrated Tool Support for the User Requirements Notation. In System Analysis and Modeling: Language Profiles; Gotzhein, R., Reed, R., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4320, pp. 198–215. [Google Scholar]
- Buhr, R.J.A. Use Case Maps: A New Model to Bridge the Gap Between Requirements and Design. In Proceedings of the SCE 95—Conttribution to the OOPSLA 95 Use Case Map Workshop, Austin, TX, USA, 15 October 1995; pp. 1–4. [Google Scholar]
- Amyot, D.; Buhr, R.J.A.; Gray, T.; Logrippo, L. Use Case Maps for the Capture and validation of Distributed Systems Requirements. In Proceedings of the ISRE’99, Fourth International Symposium on Requirements Engineering, Limerick, Ireland, 7–11 June 1999. [Google Scholar]
- Mussbacher, G.; Amyot, D. Goal and Scenario Modeling, Analysis, and Transformation with jUCMNav. In Proceedings of the ICSE Companion, Washington, DC, USA, 16–24 May 2009; pp. 431–432. [Google Scholar]
- Mussbacher, G.; Ghanavati, S.; Amyot, D. Modeling and Analysis of URN Goals and Scenarios with jUCMNav. In Proceedings of the 2009 17th IEEE International Requirements Engineering Conference, Washington, DC, USA, 31 August–4 September 2009; pp. 383–384. [Google Scholar] [CrossRef]
- Amyot, D.; Rashidi-Tabrizi, R.; Mussbacher, G.; Kealey, J.; Tremblay, E.; Horkoff, J. Improved GRL Modeling and Analysis with jUCMNav 5. In Proceedings of the iStar, Valencia, Spain, 17–18 June 2013; pp. 137–139. [Google Scholar]
- Amyot, D.; Ghanavati, S.; Horkoff, J.; Mussbacher, G.; Peyton, L.; Yu, E. Evaluating goal models within the goal-oriented requirement language. Int. J. Intell. Syst. 2010, 25, 841–877. [Google Scholar] [CrossRef]
- Baslyman, M.; Amyot, D.; Mylopoulos, J. Reasoning about Confidence in Goal Satisfaction. Algorithms 2022, 15, 343. [Google Scholar] [CrossRef]
- Merx, G.G.; Norman, R.J. Unified Software Engineering with Java; Prentice-Hall, Inc.: Hoboken, NJ, USA, 2006. [Google Scholar]
- Sommerville, I. Software Engineering, 8th ed.; Addison-Wesley: Boston, MA, USA, 2007. [Google Scholar]
- Herrmann, A.; Paech, B. MOQARE: Misuse-oriented quality requirements engineering. Requir. Eng. 2008, 13, 73–86. [Google Scholar] [CrossRef]
- Gregor, V.B. User Requirements Notation (URN). Powerpoint Presentation. 2010. Available online: http://csis.pace.edu/~marchese/CS775/Lectures/User%20Requirements%20Notation.pptx (accessed on 15 October 2021).
- Mussbacher, G.; Amyot, D.; Heymans, P. Eight Deadly Sins of GRL. In Proceedings of the iStar, Trento, Italy, 28–29 August 2011; pp. 2–7. [Google Scholar]
- Dorin Bogdan, P.; Murray, W. Software Performance Models from System Scenarios. Perform. Eval. 2005, 61, 65–89. [Google Scholar] [CrossRef]
- Miga, A. Application of Use Case Maps to System Design with Tool Support. Ph.D. Thesis, Carleton University, Ottawa, ON, Canada, 1998. [Google Scholar]
- Dongmo, C. Formalising Non-Functional Requirements Embedded in User Requirements Notation (URN) Models. Ph.D. Thesis, The University of South Africa, Pretoria, South Africa, 2016. Available online: https://uir.unisa.ac.za (accessed on 6 June 2023).
- Silva, A.; Pinheiro, P.; Albuquerque, A.; Barroso, J. A Process for Creating the Elicitation Guide of Non-functional Requirements. In Software Engineering Perspectives and Application in Intelligent Systems; Silhavy, R., Senkerik, R., Oplatkova, Z.K., Silhavy, P., Prokopova, Z., Eds.; Springer International Publishing: Cham, Switezerland, 2016; pp. 293–302. [Google Scholar]
- Cai, K.Y. Non-Functional Computing: Towards a More Scientific Treatment to Non-Functional Requirements. In Proceedings of the 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), Beijing, China, 24–27 July 2007; Volume 2, pp. 493–494. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Dongmo, C.; Van der Poll, J.A. An Improved User Requirements Notation (URN) Models’ Construction Approach. Systems 2023, 11, 301. https://doi.org/10.3390/systems11060301
Dongmo C, Van der Poll JA. An Improved User Requirements Notation (URN) Models’ Construction Approach. Systems. 2023; 11(6):301. https://doi.org/10.3390/systems11060301
Chicago/Turabian StyleDongmo, Cyrille, and John Andrew Van der Poll. 2023. "An Improved User Requirements Notation (URN) Models’ Construction Approach" Systems 11, no. 6: 301. https://doi.org/10.3390/systems11060301
APA StyleDongmo, C., & Van der Poll, J. A. (2023). An Improved User Requirements Notation (URN) Models’ Construction Approach. Systems, 11(6), 301. https://doi.org/10.3390/systems11060301