Prioritizing Use Cases: A Systematic Literature Review
Abstract
:1. Introduction
- ▪
- Summary and organization of all use case prioritization approaches in one repository to open prospects for improvement in terms of usefulness and effectiveness with respect to emerging technologies;
- ▪
- Acting as a roadmap by classifying all use case prioritization approaches according to the inclusion of scenarios, size, and formality to assist stakeholders in selecting an appropriate approach;
- ▪
- Identifying shortcomings regarding necessary but missing criteria that may lead to the integration of other research areas, for example, goal-oriented and business process models.
2. Materials and Methods
2.1. Identifying Research Questions
- RQ1: What is the significance of use cases in requirements prioritization?
- RQ2: Which reported studies have employed use the case concept, modeling, or scenarios for requirements prioritization?
- RQ3: Which stakeholder classes are involved, and what are their views on use-case-based prioritization?
- RQ4: What gaps exist in the literature that must be addressed to enhance existing use-case-based prioritization approaches?
2.2. Research Strategy
- Significance OR Importance of prioritizing use case OR use case prioritization (RQ1);
- Use case prioritization methods OR techniques OR algorithms OR approaches (RQ2);
- Prioritizing use cases (RQ2);
- “Use Case” prioritization (RQ2);
- Criteria OR Factors used in prioritizing use cases OR use case prioritization (RQ2);
- Benefits OR advantages OR Contributions of use case prioritization (RQ2);
- Size of use cases in use case prioritization method OR technique OR algorithm OR approach (RQ2);
- Stakeholders in use case prioritization (RQ2 and RQ3);
- Limitations OR Challenges in use case prioritization OR prioritizing use cases (RQ2 and RQ4);
2.3. Study Selection Strategy
- Studies published in English;
- A relevant answer to at least one research question within the publication;
- The paper includes strings with any UK/US spelling of “use case prioritization”, “scenario prioritization”, and “use-case prioritization”;
- Technical reports, white papers, and research studies from industry domain experts that do not necessarily employ use case prioritization in software engineering but in other areas, such as IoT and big data.
- Studies published in languages other than English;
- No relevant answer to at least one research question in the publication’s content;
- Redundant studies.
2.4. Data Collection and Synthesis
3. Answering the Research Questions
3.1. RQ1: Significance of Employing Use Cases in Requirements Prioritization
3.2. RQ2: Reported Research on Use-Case-Based Prioritization
3.3. RQ3: Stakeholders Invovled in Use Case Prioritization and Their Viewpoints
3.4. RQ4: Gaps and Opening Insights to Enhance the Existing Use-Case-Based Prioritization Approaches
4. Discussion
- ▪
- Stakeholder agreement: Different stakeholders may have conflicting priorities, interests, and multicriteria factors, making it challenging to arrive at a consensus agreement on prioritization. To reduce this challenge, in each iteration, a class of representative stakeholders is recommended to participate in prioritization. Agile development processes support a reduction in this challenge [72]. Approaches applied to IoT technology can be used to resolve the challenge of multicriteria factors in prioritization [73].
- ▪
- Limited resources: Budget, time, and manpower are limited resources for any organization, making it challenging to determine the optimal use of these resources with competing use cases. Algorithms can be developed to determine the optimal use of resources in this regard. Such an algorithm could be used to identify desirable features for project management tools.
- ▪
- Unclear business value: Quantifying and evaluating the business value of each use case is a difficult task. Prioritization becomes more difficult when there is a lack of clarity in terms of potential benefits, return on investment, and the impact on goals. However, this challenge can be reduced when the research community proposes quantitative evaluation methods to determine levels of business values for prioritized use cases.
- ▪
- Changing priorities: As use case prioritization is an iterative process and owing to changes in market needs and the involvement of different stakeholders, requirements and priorities change over time. New use cases may emerge, whereas existing ones may become less relevant. Managing the change in these priorities is challenging. One proposed solution for this challenge is to tailor a change management process that aligns with the notion of the project.
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
Seq | Digital Library (Publication Type) | Use-Case-Based Prioritization Reference | Criteria/Approach Used in Prioritization | Requirements Size | Formal/Informal Scenario-Based? | Contributions/Strengths | Challenges/ Limitations/ Weaknesses |
1 | IEEE Xplore Research Gate (Conference) | [40] | Criteria were applied at the use case scenario level by indicating the following:
| Small | Semiformal Scenario-based | Enhanced the elicitation of entities for UML modeling. Supports forward and backward stakeholder-centric traceability for derivation of the most important scenarios, supporting change management. | Time-consuming approach to prioritize each single scenario. Criteria are not comprehensive. |
2 | Google Scholar IEEE Xplore Research Gate Semantic Scholar (Conference) | [41] | Applies a semi-quantitative method based on total quality management (TQM) in a two-tier prioritization framework. Tier 1: Determine the rank of use cases in the use case model by aggregating the rating values of stakeholders, business goals, and usage metrics. Tier 2: Identify the most important scenarios of the important use cases that satisfy stakeholder and product needs. | Medium | Semiformal Scenario-based | Addresses business goals and reduces risks in software design and implementation. Supports rationalization of each use case with respect to stakeholders, business goals, and usage metrics. | Few software organizations are willing to adopt this formal tool, as it highly depends on human decision making and heuristics. The technique is not well-structured. |
3 | Google Scholar IEEE Xplore ACM Semantic Scholar Academia (Journal) | [15] | Use cases prioritization is conducted from a user perspective according to the steps outlined below:
| Medium | Informal Not scenario-based | Guides reviewers with respect to all kinds of software inspection artifacts by finding the most important problems from a user’s perspective. Facilitates resource-scheduling activities, as this guide can be considered to identify the most important problems in requirements engineering, design, implementation, and inspection. | The relationships between use cases and actors are not considered. |
4 | Google Scholar Research Gate Semantic Scholar (Technical Report) | [60] | Developers apply user-centric prioritization criteria to use cases based on:
| Medium | Formal Not scenario-based | The CICE tool enables effective prioritization coordination between developers and users and facilitates early risk management during project planning. Enriched ontology implementation of an informational model representation by considering prioritization as constraints in the ontology. | A complex approach. Prioritization is highly dependent on developers’ and end users’ subjective personal capabilities. |
5 | Google Scholar Academia.edu Research Gate (Technical Report) | [45] | Use cases are prioritized based on the most important user-oriented interactions indicated by:
The approach is applied in domain ontology prior to interface development. | Large | Formal Not scenario-based | Permits early indication of use case quantities that should be implemented, along with associated risks before interface design and development, contributing to improved risk management. No prior domain knowledge is required to prioritize clients’ needs in the form of use cases. | Prioritization is highly dependent on developers’ perspectives and the influence of data and its sources. Criteria are not comprehensive. The relationships between use cases and actors are not considered. |
6 | Google Scholar Springer Research Gate Semantic Scholar (Conference) | [57] | Prioritization is based on analysis of a structured use case model. Criteria values result from computation of criticality factors including but not limited to:
| Medium | Semiformal Not scenario-based | The prioritized analyzed use cases provide valuable early information related to design, implementation, and testing. The use case relationships (included and extended) are considered in prioritization. | Prioritization of critical factors is highly dependent on knowledge experts. Many factors are subjective. Some are hard to predict during the early stage of system development. |
7 | Google Scholar Research Gate Academia (Conference) | [53] | A new context of use cases is introduced. Use cases are described as “paths of knowledge” to specify the respective knowledge that should be encoded in the ontology. | Large | Informal Not scenario-based | An ontology-oriented use-case-driven model bridges the gap between the users (i.e., who requires the ontology) and the ontology developers. Facilitates user-centric ontology building. | Highly dependent on the complexity of the ontology being built, as well as the skills and experience of involved stakeholders. Understanding use case concept in ontology development context is challenging and not well-structured. No clear prioritization technique/criteria are presented. The relationships between use cases and actors are not considered. No use case model is used for demonstration. |
8 | Google Scholar ACM IEEE Xplore Elsevier Research Gate Academia (Conference) | [18] | Expert-based use case prioritization performed by domain application experts according to their importance the user viewpoint. Then, test cases are generated accordingly. | Small | Semiformal Not scenario-based | Reduced defects in the software product. Employed in validation and verification to control the number of generated test cases. | No use case model is used for demonstration. Importance criterion needs further elaboration. No clear prioritization criteria are presented. Limited involvement of stakeholders, with domain experts only consulted during prioritization. |
9 | Google Scholar IEEE Xplore Academia.edu Research Gate Semantic Scholar (Conference) | [5] | The path density and criticality of use case scenarios are prioritized based on:
The calculation of SC is independent of the software analyst. | Small | Formal Scenario-based | Improves the SDLC quality by paying more attention to the scenarios that are involved in design, implementation, and testing phases early in the process. Reduces disagreement between involved stakeholders in prioritizing the use cases, as the approach is described as a structured formal analytical technique that is free of human heuristics. Therefore, the need for domain analyst experts during prioritization is low. Determined early during the analysis phase by the cost of each scenario and associated effort in each use case, paving the way for automation. | The design of the SSDs of all considered use cases for prioritization is time- and effort-consuming. Prioritization weight is absent in use case relations (extended and included). Prioritization weight is absent among use case actors (primary and secondary) and stakeholders. Criteria are not comprehensive. |
10 | Google Scholar Research Gate IEEE Xplore (Conference) | [47] |
| Small | Semiformal Not scenario-based | Prompts the implementation phase due to the consideration of the developer’s viewpoint. The use case relationships (included and extended) are considered in prioritization. | Other stakeholders’ viewpoints are not considered. Prioritization is limited to a fixed set of use cases. Prioritization criteria are not comprehensive. |
11 | Google Scholar Springer Research Gate (Journal) | [42] | The approach has two main phases:
| Small | Formal Not scenario-based | Contributes to early prediction and estimation of efforts in incremental software development processes. | Actors and use case relations are not considered in prioritization. No clear prioritization criteria are presented. |
12 | Google Scholar Springer Academia.edu Research Gate ACM (Journal) | [49] | Prioritization criteria are:
| Small | Informal Not scenario-based | Supports traceability requirements and their dependencies. | Criteria are not comprehensive and not well-specified. Actors and use case relations are not considered in prioritization. |
13 | Google Scholar IEEE Xplore ACM Springer Research Gate (Conference) | [51] |
The criteria are based on the lowest calculated weight path in a scenario in a single use case. | Small | Semiformal Scenario-based | Finds critical scenarios to assisted in highly accurate estimation of the effort required for planning in software design, implementation, and testing. Contributes to improved software quality. | Overall prioritization of use cases is not considered, as the approach targets use case scenario prioritization only. Use case relations (‘include’ and ‘extend’) and actors are not considered in prioritization. Calculating each path weight value is time-consuming. The validity and reliability of assigned weights require further investigation. Criteria are not comprehensive. |
14 | Google Scholar IEEE Xplore Research Gate ACM Semantic Scholar (Conference) | [50] | The approach involves the steps listed below:
| Medium | Formal Scenario-based | Contributes to early derivation of scenario tests that aid in validating requirements and reducing failures. Relations between use cases (included and extended) are considered in prioritization. | Highly dependent on the designer’s effort in capturing scenarios; any missing scenarios lead to missing requirements and undetected faults. The impact of assigning weights has not been investigated or evaluated to date. Criteria do not indicate whether they are representative or comprehensive. |
15 | Google Scholar Research Gate (Master’s Thesis) | [19] |
| Small | Informal Scenario-based | Facilitates the testing process, as the work is applied in different testing approaches. | The technique cannot be performed for functional testing. A use case model is not presented. No clear identification of stakeholders. No clear prioritization criteria are presented. The criteria “importance” and “frequency” are not comprehensive and require further elaboration. |
16 | Google Scholar ACM Research Gate (Conference) | [55] | Proposed genetic-based algorithm technique that prioritizes test cases based on:
| Small | Semiformal Scenario-based | Assists in selecting test cases that have the highest impact regarding the perceived reliability of the system. Similar advantages to those listed in No. 9. | The algorithm is highly time- and effort-consuming, particularly in designing the SDG. Prioritization weight is absent in use case relations (extend and include) and actors. |
17 | Google Scholar Research Gate ACM (Journal) | [58] | Use cases are prioritized from 1 to 5, where 5 represents the highest priority. Most important use cases are prioritized based on two criteria:
| Medium | Informal Not scenario-based | Contributes to the derivation of structured business metadata and associated requirements that are traceable to business needs. | The evaluation is not representative enough and requires further analytical study. The stakeholders’ criteria are not clearly identified, as they are highly dependent on their personal perspectives. Business value and implementation cost are not comprehensive criteria. |
18 | Google Scholar (Master’s Thesis) | [27] | Use case prioritization is conducted based on simulation of subsystems using complex mathematical computations:
| Large | Formal Scenario-based | Use case prioritization and alternative flows in a sequence diagram cover all possible solutions for large accident scenarios involving trucks that were not considered by previous approaches. | No use case model was used for demonstration, as this work falls in the heavy vehicle industry. Use case relations (‘include’ and ‘extend’) and actors are not considered in prioritization. Domain-dependent approach. |
19 | Google Scholar BSC Thesis | [43] | Prioritization of use cases is considered for each iteration. The prioritization criteria are:
Prioritization criteria are applied by the feature team during the use case workshop:
| Small | Informal Not scenario-based | Improved quality of an increment in a current iteration. Improved quality of requirements such as accuracy. Prioritization is enriched with inputs from different categories of stakeholders in the use case workshop. The feature team adds a special value. The generated list of prioritized use cases provides a common understanding between different team member roles. | No use case diagram shown for demonstration. |
20 | Google Scholar IEEE Xplore Research Gate Semantic Scholar (Conference) | [52] | Prioritization is based on the centrality of interactions in a component-based use case scenario. Prioritization is based on two criteria derived from the component interaction graph (CIG):
| Medium | Semiformal Scenario-based | The approach contributes to understanding of component interaction and the planning of integration, testing, and maintenance. The approach is simple and addresses the feature level. | Not automated and fully depends on human effort. Customer role, actors, and use case relations are missing in the prioritization. Features in a use case are not clearly demonstrated. Criteria are not comprehensive. |
21 | Academia Research Gate (Journal) | [65] | Prioritize use cases based on the requirement structure and importance values through two steps: In phase 1:
A requirement analyzer is applied to the nodes with the same importance value using the ‘analytic hierarchy process’. | Small | Formal Not scenario-based | Contributes to a reduction in effort and time spent on prioritization. Enriches use-case-related documents. | Relationships between requirements and use cases are not considered. Scenarios of use cases are not considered. Criteria are not comprehensive. |
22 | Google Scholar Research Gate Semantic Scholar (Journal) | [6] | Classify use cases into three categories based on fault importance. The fault-based prioritization categories are as follows:
| Small | Informal Not scenario-based | Contributes to increased quality of a system by prioritizing its functions according to fault-prevention importance. | Use case model and its actors, as well as use case relationships, are not used for demonstration. Criteria are limited to fault categories. |
23 | Google Scholar Research Gate (Conference) | [48] | Prioritize use cases based on their consistency and stability according to the following steps:
| Small | Formal Not scenario-based | Contributes to the generation of a high-level documentation guide that supports the maintenance phase. Supports consideration of resources in prioritization for improved stakeholder and resource management. Requires a complete use case model to generate a solution. | Developers’ involvement in prioritization is minimal. Prioritization criteria significance and stability are not comprehensive. |
24 | Google Scholar IEEE Xplore Research Gate Semantic Scholar (Conference) | [31] | Prioritize use cases using neuro fuzzy systems with the support of real and artificial datasets. | Large | Formal Not scenario-based | Higher customer satisfaction according to the performance on the real dataset. | No use case model is used for demonstration. Use case relations are not considered in the prioritization. No clear prioritization criteria are identified. |
25 | Google Scholar Research Gate (Journal) | [46] | Prioritize use cases based on the analytic hierarchy process (AHP) mechanism through the five following steps:
| Medium | Formal Not scenario-based | Contributes to business goals by considering them as prioritization factors. Verification of use case consistency results in fewer faults than in later activities. | The approach is described as complex and time-consuming. The n*n matrix requires rework, as it depends on use case properties without considering use case relations and actors. The matrix data are highly dependent on customer ‘questionnaires’ in which other stakeholders are not considered. The use of a pair comparison approach is limited to small and medium systems. |
26 | Google Scholar (Technical Report) | [35] | Customer-experience-based prioritization criteria:
| Not mentioned | Informal Not scenario-based | The approach contributes to a rethinking of the evolution of the use concept using five digital-marketing-driven characteristics. | No use case design model used for demonstration, only providing a description of how to enhance user experience. All defined criteria are theoretical where actors and use case relations are not considered in prioritization. The approach has not yet been evaluated. |
27 | Google Scholar Research Gate ACM Springer (Conference) | [37] | Systematic prioritization is applied to use case scenarios using: Four set-based similarity measure functions:
Scenario-based similarity measure functions:
| Large | Semiformal Scenario-based | Cost-effective in testing. Solves the optimization problem. | No use case model is used for demonstration. The set- and scenario-based prioritization criteria are difficult to understand. |
28 | IEEE Research Gate (Conference) | [54] |
The following criteria are used in prioritization: actor weight, use case weight, unadjusted use case point, technical complexity factor, and environmental factor. | Medium | Semiformal Not scenario-based | Improved estimation of UCP by prioritized use cases for more accurate results. Use case model and relationships are considered in prioritization. | The UCP does not consider use case specification. Criteria are still not comprehensive. |
29 | Google (Website—Blog) | [34] |
| Medium | Informal Not scenario-based | Sets up “systems of innovation” and supports organizations for explorative data analysis. | Time-consuming. No use case model used for demonstration. Actors and relations between use cases are not considered in the prioritization grid. Criteria are not clearly identified. |
30 | Google Research Gate Springer (Book) | [14] |
| Medium | Semiformal Scenario-based | Contributes to a reduction in the time and cost of test-suite execution. Facilitates planning and management in use-case-centric development. | Applying this approach is time-consuming, especially when accommodating other UML models. Stakeholders’ preferences are not involved in the weight calculations. Criteria are not comprehensive. |
31 | Google Scholar Research Gate (Journal) | [39] |
| Large scale | Informal Not scenario-based | Informs implementation readiness for business-driven projects. | Applying this approach is time-consuming and constrained by experts’ points of view. The use case model is not used for demonstration. Actors and use case relationships are not considered in the approach. Implementation benefits and costs criteria are not comprehensive. |
32 | Google Scholar Springer Research Gate (Book) | [66] |
| Medium | Informal Not scenario-based | Bridges the gap between business goals, processes, and systems, as user stories are linked to goals and used as part of other related prioritization project activities. | No use case model is designed for demonstration. Relations between user stories are not considered in the prioritization. Prioritization criteria are not well-defined. |
33 | Google Scholar Research Gate Elsevier (Conference) | [28] | Use cases are prioritized with respect to database criteria:
| Large | Formal Not scenario-based | Provides information about data diagnostics, scaling processes, and knowledge generation acceleration during the early phases of prototype development. Assists in determining the cost to implement each use case and their associated benefits. The output of the approach aids in planning the construction of IT infrastructure. | Complex approach. A large number of prioritized use cases might increase the overhead cost of computing power nodes. Definitions of the requirements and the benefits of each use case are limited to knowledge domain experts. A use case model is not used for demonstration. Actors and use case relations are not considered in the prioritization. |
34 | Google Scholar Springer Academia.edu Research Gate Semantic Scholar (Journal) | [44] | The approach is as follows:
| Small | Informal Scenario-based | The work demonstrates the role of a use case model and scenarios in mobile application development. The interaction model of use case scenarios contributes to the understanding mobile development. The approach requires input from different classes of stakeholders, as Scrum involves heavy communication between stakeholders. | Lack of clear criteria for prioritization of use cases. Prioritization highly depends on the Scrum stakeholder domain experts. |
35 | Google Scholar Research Gate Springer (Journal) | [56] | Analytic hierarchy process (AHP) applied to evaluate the use cases for the development of mobile apps that meet users’ needs.
| Small | Formal Not scenario-based | Simple approach. Contributes to the development a tool to determine the importance of the requirements in mobile apps considering user preferences. The approach is stakeholder-centric and contributes to the optimization of the value of the product, development time, and project costs. | The use case relations are not mentioned explicitly in the approach. The model has only been applied to to-do list apps. The criteria are indicated by an importance scale that is not well-defined. The approach is limited and not scalable. Needs further evaluation with a higher number of use cases. A large number of evaluators with small use cases may lead to disagreement and complex communication. |
36 | Google Scholar Research Gate Elsevier (Conference) | [29] | Prioritization is mathematically performed to identify the optimal combination for each use case by calculating:
| Large | Formal Not scenario-based | Supports optimal prioritization of data analytics-based use cases for large-scale manufacturing during the planning and development phases. The approach is 28% more cost-effective than other existing approaches. | The approach is complex. Use case actors and relations are not considered in demonstrating the prioritization. Cost and benefit criteria are not sufficiently comprehensive. |
37 | Google Scholar (Conference) | [60] | This prioritization approach is based on the following factors:
| Large | Informal Not scenario-based | The use case concept helped the oil and gas industry to investigate technologies that can be applied to oil and gas challenges. | No use case model used for demonstration. Use case actors and relations are not considered in the prioritization. Prioritization criteria are not well-defined. |
38 | Google Scholar White paper | [30] | This technique combines two approaches:
| Large | Informal Not scenario-based | Contributes to identifying hidden patterns and correlations that are necessary for organizations to create new opportunities and improve their existing business processes. Contributes to reductions in costs and the failure rate. | Prioritization criteria are subjective and not well-defined. Prioritization highly depends on the analyst’s experience and skills. |
39 | Google Scholar Research Gate Semantic Scholar (Journal) | [38] | The prioritization approach is applied by classifying use cases as essential or optional according to their variability relation. | Large | Formal Scenario-based | Supports test cases prioritization in the incremental testing of product lines. Use case model, actors, and use cases are all considered in prioritization. | A complex mathematical approach is applied. None of the stakeholders are involved in prioritization, which may lead to missing information, as they are the source of requirements and use cases. Prioritization criteria are essential or optional based on variability, which is not a sufficiently representative criterion. |
40 | Google Scholar (Master’s Dissertation) | [59] | A use-case-based AI road map that involves two criteria (complexity of implementation and business benefits) to identify the four prioritization categories:
| Small | Informal Not scenario-based | Various stakeholders are involved in the proposed framework that enriches prioritization of the use case. The approach contributes to:
| No use case diagram is used for demonstration. Actors and use case relations are not considered in the prioritization. Lack of measurable AI criteria for prioritization of use cases. |
References
- Perini, A.; Susi, A.; Avesani, P. A Machine Learning Approach to Software Requirements Prioritization. IEEE Trans. Softw. Eng. 2013, 39, 445–461. [Google Scholar] [CrossRef]
- Ali, S.; Hafeez, Y.; Hussain, S.; Yang, S.; Jamal, M. Requirement Prioritization Framework Using Case-Based Reasoning: A Mining-Based Approach. Expert Syst. 2021, 38, e12770. [Google Scholar] [CrossRef]
- Hujainah, F.; Abu Bakar, R.B.; Abdulgabber, M.A.; Zamli, K. Software Requirements Prioritisation: A Systematic Literature Review on Significance, Stakeholders, Techniques and Challenges. IEEE Access 2018, 6, 71497–71523. [Google Scholar] [CrossRef]
- Da Silva, R.; Savić, D. Linguistic Patterns and Linguistic Styles for Requirements Specification: Focus on Data Entities. Appl. Sci. 2021, 11, 4119. [Google Scholar] [CrossRef]
- Kundu, D.; Samanta, D. A Novel Approach of Prioritizing Use Case Scenarios. In Proceedings of the 14th Asia-Pacific Software Engineering Conference (APSEC’07), Nagoya, Japan, 4–7 December 2007; pp. 542–549. [Google Scholar] [CrossRef]
- Medeiros, P.; Santos, D.; Travassos, G. On the representation and aggregation of evidence in software engineering: A theory and belief-based perspective. Electron. Notes Theor. Comput. Sci. 2013, 292, 95–118. [Google Scholar] [CrossRef] [Green Version]
- Shishkov, B. Business Modeling and Software Design, 1st ed.; Springer: Berlin, Germany, 2020. [Google Scholar]
- Kamalrudin, M.; Grundy, J.; Hosking, J. Tool Support for Essential Use Cases to Better Capture Software Requirements. In Proceedings of the 25th of the ASE’10: IEEE/ACM International Conference on Automated Software Engineering, Antwerp, Belgium, 20–24 September 2010; pp. 255–264. [Google Scholar] [CrossRef] [Green Version]
- Odeh, M.; Kamm, R. Bridging the Gap Between Business Models and System Models. Inf. Softw. Technol. 2003, 45, 1053–1060. [Google Scholar] [CrossRef] [Green Version]
- Jacobson, I.; Booch, G.; Rambaugh, J. The Unified Software Development Process, 1st ed.; Addison Wisely: London, UK, 1998. [Google Scholar]
- Booch, G.; Rumbaugh, J.; Jacobson, I. The Unified Modeling Language User Guide, 2nd ed.; Addison Wesley: Boston, MA, USA, 2011. [Google Scholar]
- Wiegers, K.; Beatty, J. Software Requirements, 3rd ed.; Microsoft: Redmond, WA, USA, 2013. [Google Scholar]
- Chung, L.; Supakkul, S. Representing NFRs and FRs: A Goal-Oriented and Use Case Driven Approach; Springer: Berlin, Germany, 2006; pp. 29–41. [Google Scholar]
- Bhuyan, P.; Ray, A.; Das, M. Test Scenario Prioritization Using UML Use Case and Activity Diagram. In Computational Intelligence in Data Mining Computational Intelligence in Data Mining; Springer: Singapore, 2017. [Google Scholar] [CrossRef]
- Thelin, T.; Runeson, P.; Wohlin, C. Prioritized Use Cases as A Vehicle for Software Inspections. IEEE Access 2003, 20, 30–33. [Google Scholar] [CrossRef]
- Azzeh, M. Software Cost Estimation Based on Use Case Points for Global Software Development. In Proceedings of the 5th International Conference on Computer Science and Information Technology, Bristol, UK, 2–5 December 2013; IEEE: Amman, Jordan, 2013; pp. 214–218. [Google Scholar] [CrossRef]
- Issa, A.; Odeh, M.; Coward, D. Software Cost Estimation using Use-Case Models: A Critical Evaluation. In Proceedings of the 2006 2nd International Conference on Information & Communication Technologies, Damascus, Syria, 24–28 April 2006; pp. 2766–2771. [Google Scholar] [CrossRef]
- Winkler, D.; Riedl, B.; Biffl, S. Improvement of Design Specifications with Inspection and Testing. In Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, Washington, DC, USA, 30 August–3 September 2005; IEEE: Porto, Portugal, 2005; pp. 222–230. [Google Scholar] [CrossRef]
- Saeed, U.; Amjad, A. ISTQB: Black Box Testing Strategies Used in Financial Industry for Functional Testing. Master’s Thesis, Blekinge Institute of Technology, Ronneby, Sweden, 2009. Available online: http://bth.diva-portal.org/smash/record.jsf?pid=diva2%3A830538&dswid=-1751 (accessed on 18 August 2020).
- Odeh, Y. Deriving a Goal-based Use Case Model from Business Goals and Process Model. In Proceedings of the ICIME 2018: 2018 10th International Conference on Information Management and Engineering, Salford, UK, 22–24 September 2018; ACM: New York, NY, USA, 2018; pp. 16–20. [Google Scholar] [CrossRef]
- Majthoub, M.; Odeh, Y.; Hijjawi, M. Non-Functional Requirements Classification for Aligning Business with Information Systems. In Proceedings of the ICBDM 2020: 2020 International Conference on Big Data in Management, Manchester, UK, 15–17 May 2020; ACM: Manchester, UK, 2020; pp. 84–89. [Google Scholar] [CrossRef]
- Aasem, M.; Ramzan, M.; Jaffar, A. Analysis and Optimization of Software Requirements Prioritization Techniques. In Proceedings of the 2010 International Conference on Information and Emerging Technologies, Karachi, Pakistan, 14–16 June 2010; IEEE: Karachi, Pakistan, 2010; pp. 1–6. [Google Scholar] [CrossRef]
- Daneva, M.; Van Der Veen, E.; Amrit, C.; Ghasis, S.; Sikkel, K.; Kumar, R.; Ajmeri, N.; Ramteerthkar, U.; Wierings, R. Agile requirements prioritization in large-scale outsourced system projects: An empirical study. J. Syst. Softw. 2013, 86, 1333–1353. [Google Scholar] [CrossRef]
- Yaseen, M.; Mustapha, M.A.; Ur Rahma, A.; Khan, S.; Kamal, W. Importance of Requirements Prioritization in Parallel Developing Software Projects. Int. J. Comput. Sci. Eng. 2020, 8, 171–179. [Google Scholar]
- Jawale, B.; Patnaik, G.; Bhole, A. Requirement Prioritization using Adaptive Fuzzy Hierarchical Cumulative Voting. In Proceedings of the 7th International Advance Computing Conference (IACC), Hyderabad, India, 5–7 January 2017; IEEE: Hyderabad, India, 2017; pp. 95–102. [Google Scholar] [CrossRef]
- Albuga, S.; Odeh, Y. Towards Prioritizing Software Business Requirements in Startups. In Proceedings of the 8th International Conference on Computer Science and Information Technology (CSIT), Amman, Jordan, 11–12 July 2018; IEEE: Amman, Jordan, 2018. [Google Scholar] [CrossRef]
- Nozad, A. Heavy Vehicle Path Stability Control for Collision Avoidance Applications. Master’s Thesis, Chalmers University of Technology, Gothenburg, Sweden, 2011. [Google Scholar]
- Kampker, A.; Heimes, H.; Bührer, U.; Lienemann, C.; Krotil, S. Enabling Data Analytics in Large Scale Manufacturing. Procedia Manuf. 2018, 24, 120–127. [Google Scholar] [CrossRef]
- Heimes, H.; Kampker, H.A.; Bührer, U.; Schroth, P.; Krotil, S. Prioritizing Digitalization Use Cases during Early Development Phases of Large Scale Manufacturing Systems. Procedia Manuf. 2019, 28, 37–42. [Google Scholar] [CrossRef]
- Paradkar, S. BP Trends. 2019. Available online: https://www.bptrends.com/use-case-identification-framework/2020 (accessed on 20 November 2020).
- Ahmed, R.; Musleh, D.; Ahmed, M.; El-Attar, M. Use Case Prioritization Using Fuzzy Logic System. In Proceedings of the IEEE 5th International Conference on Software Engineering and Service Science, Beijing, China, 27–29 June 2014; IEEE: Piscataway, NJ, USA, 2014; pp. 149–152. [Google Scholar] [CrossRef]
- Kitchenham, B.; Charter, S. Guidelines for Performing Systematic Literature Reviews in Software Engineering; EBES: New Castle, DE, USA, 2007. [Google Scholar]
- Achimugu, P.; Selmat, A.; Ibrahim, R.; Mahrin, M. A Systematic Literature Review of Software Requirements Prioritization Research. Inf. Softw. Technol. 2014, 56, 568–585. [Google Scholar] [CrossRef]
- Bange, C. Big Data and Digitalization Use Cases: How to Identify and Prioritize. 2016. Available online: https://www.thedigitaltransformationpeople.com/channels/analytics/how-to-prioritise-your-big-data-analytics-use-cases/ (accessed on 20 March 2020).
- Groopman, J. Customer Experience in the Internet of Things. Available online: https://jessgroopman.com/wp-content/uploads/2022/02/1503-Customer-Experience-in-the-IoT_Altimeter-2015.pdf (accessed on 18 June 2023).
- Al-Moslmi, T.; Omar, N.; Abdullah, S.; Albared, M. Approaches to Cross-Domain Sentiment Analysis: A Systematic Literature Review. IEEE Access 2017, 5, 16173–16192. [Google Scholar] [CrossRef]
- Zhang, H.; Yue, T.; Ali, S.; Liu, C. Facilitating Requirements Inspection with Search-Based Selection of Diverse Use Case Scenarios. EAI Endorsed Trans. Creat. Technol. 2016, 3, e4. [Google Scholar] [CrossRef] [Green Version]
- Hajri, I.; Goknil, A.; Pastore, F.; Briand, L. Automating System Test Case Classification and Prioritization for Use Case-Driven Testing in Product Lines. Empir. Softw. Eng. 2020, 25, 3711–3769. [Google Scholar] [CrossRef]
- Heberle, A.; Löwe, W.; Gustafsson, A.; Vorrei, O. Digitalization Canvas—Towards Identifying Digitalization Use Cases and Projects. Univers. Comput. Sci. 2017, 23, 1070–1097. [Google Scholar] [CrossRef]
- Moisiadis, F. Prioritising Scenario Evolution. In Proceedings of the Fourth International Conference on Requirements Engineering, ICRE 2000, Karlskrona, Sweden, 19–23 June 2000; IEEE: Karlskrona, Sweden, 2000. [Google Scholar] [CrossRef]
- Moisiadis, F. Prioritising Use Cases and Scenarios. In Proceedings of the 37th International Conference on Technology of Object-Oriented Languages and Systems, TOOLS-Pacific 2000, Sydney, Australia, 20–23 November 2000; IEEE: Sydney, NSW, Australia, 2000; pp. 108–119. [Google Scholar] [CrossRef]
- Pow-Sang, J.; Nakasone, A.; Imbert, R.; Moreno, A. An Approach to Determine Software Requirement Construction Sequences Based On Use Cases. In Proceedings of the 2008 Advanced Software Engineering and Its Applications, Hainan, China, 13–15 December 2008; IEEE: Hainan, China, 2008; pp. 17–22. [Google Scholar] [CrossRef]
- Vainola, K. Agile and Iterative Requirement Definition-Efficient Requirement Definition in Agile and Iterative Software Development. Bachelor’s Thesis, University of Applied Sciences, Vankanlähde, Finland, 2012. [Google Scholar]
- Lopes, A.; Valentim, N.; Moraes, B.; Zilse, R.; Conte, T. Applying User-Centered Techniques to Analyze and Design a Mobile Application. J. Softw. Eng. Res. Dev. 2018, 6, 5. [Google Scholar] [CrossRef] [Green Version]
- Pohl, J.; Pohl, K.; Leighton, R.; Zang, M.; Gollery, S.; Porczak, M. The ICDM Development Toolkit: Purpose and Overview. Available online: https://digitalcommons.calpoly.edu/cadrc/25/ (accessed on 16 August 2020).
- Park, B.; Kim, R. Making A Decision About Importance Analysis and Prioritization of Use Cases Through Comparison the Analytic Hierarchy Process (AHP) With Use Case Point (UCP) Technique. Int. J. Softw. Eng. Its Appl. 2014, 8, 89–96. [Google Scholar] [CrossRef]
- Pow-Sang, J.; Imbert, R. Effort Estimation in Incremental Software Development Projects Using Function Points. Computer Applications for Software Engineering, Disaster Recovery, and Business Continuity; Springer: Berlin, Germany, 2012; pp. 458–465. [Google Scholar] [CrossRef]
- Costal, D.; Javier, F.; Nuria, R.; Luis, D.; Carme, J. Introducing Use Cases in a Small Organization: An Experience and Lessons Learned. In Proceedings of the CIbSE—IberoAmerican Conference on Software Engineering Steering Committee, Montevideo, Uruguay, 8–10 April 2013; pp. 26–31. [Google Scholar]
- Wah, B. Requirements Specification and Analysis. In Wiley Encyclopedia of Computer Science and Engineering; John Wiley & Sons: Hoboken, NJ, USA, 2008; pp. 1–8. [Google Scholar] [CrossRef]
- Spana, P.G.; Mohanty, H. Prioritizing Use Cases to Aid Ordering of Scenarios. In Proceedings of the 3rd UKSim European Symposium on Computer Modeling and Simulation, Athens, Greece, 25–27 November 2009; IEEE: Athens, Greece, 2009; pp. 136–141. [Google Scholar] [CrossRef]
- Spana, P.G.; Mohanty, H. Prioritization of Scenarios Based on UML Activity Diagrams. In Proceedings of the 1st International Conference on Computational Intelligence, Communication Systems and Networks, Bhopal, India, 26–28 November 2010; IEEE: Indore, India, 2009; pp. 271–276. [Google Scholar] [CrossRef]
- Mahmood, S.; Khan, M. A Degree Centrality-Based Approach to Prioritize Interactions of Component-Based Systems. In Proceedings of the International Conference on Computer & Information Science (ICCIS), Kuala Lumpur, Malaysia, 12–14 June 2012; IEEE: Kuala Lumpur, Malaysia, 2012; pp. 863–867. [Google Scholar] [CrossRef]
- Missikoff, M.; Navigli, R. Applying the Unified Process to Large-Scale Ontology Building. IFAC Proc. 2005, 38, 94–99. [Google Scholar] [CrossRef] [Green Version]
- Park, B.K.; Moon, S.Y.; Kimm, R. Improving Use Case Point (UCP) Based on Function Point (FP) Mechanism. In Proceedings of the 2016 International Conference on Platform Technology and Service (PlatCon), Jeju, Republic of Korea, 15–17 February 2016; IEEE: Jeju, Republic of Korea, 2016; pp. 1–5. [Google Scholar] [CrossRef]
- Ray, M.; Mohapatra, D. A Scheme to Prioritize Classes at the Early Stage for Improving Observable Reliability. In Proceedings of the ISEC ‘10: 3rd India Software Engineering Conference, Mysore, India, 25–27 February 2010; pp. 69–72. [Google Scholar] [CrossRef]
- Yildirim, O.; Peker, S. Prioritizing Use Cases for Development of Mobile Apps Using AHP. Mob. Web Intell. Inf. Syst. 2019, 11673, 308–315. [Google Scholar] [CrossRef]
- García, J.D.; Carretero, J.; Pérez, J.M.; García, F. A Model for Use Case Priorization Using Criticality Analysis. In Computational Science and Its Applications—ICCSA 2004, Proceedings of the ICCSA 2004, Lecture Notes in Computer Science, 3046, Assisi, Italy, 14–17 May 2004; Laganá, A., Gavrilova, M.L., Kumar, V., Mun, Y., Tan, C.J.K., Gervasi, O., Eds.; Springer: Berlin, Germany, 2004. [Google Scholar] [CrossRef]
- Stock, D.; Wortmann, F.; Mayer, J. Use Cases for Business Metadata—A Viewpoint-Based Approach to Structuring and Prioritizing Business Needs. In Proceedings of the BIS 2010 International Workshop, Berlin, Germany, 3–5 May 2010; pp. 226–237. [Google Scholar] [CrossRef]
- Seetharam, S.B. 2020 Developing a Digital AI Roadmap for Retail, Metropolia University of Applied Sciences, Helsinki. Available online: https://core.ac.uk/download/pdf/326044700.pdf (accessed on 20 August 2022).
- Wishnow, D.; Azar, H.R.; Rad, M.P. A Deep Dive into Disruptive Technologies in the Oil and Gas Industry. In Proceedings of the Offshore Technology Conference, Houston, TX, USA, 6–9 May 2019. [Google Scholar] [CrossRef]
- Nute, D.; Rosenberg, G.; Nath, S.; Verma, B.; Rauscher, H.M.; Twery, M.J.; Grove, M. Goals and Goal Orientation in Decision Support Systems for Ecosystem Management. Comput. Electron. Agric. 2000, 27, 355–375. [Google Scholar] [CrossRef]
- Kavakli, V.; Loucopoulos, P. Goal-Driven Business Process Analysis Application in Electricity Deregulation. Inf. Syst. 1999, 24, 187–207. [Google Scholar] [CrossRef]
- Schneider, G.; Winters, J. Applying Use Cases: A Practical Guide; Addison-Wesley: Boston, MA, USA, 2001. [Google Scholar]
- Giorgini, E.; Giorgini, P.; Maiden, N.; Mylopoulos, J. Social Modeling for Requirements Engineering; The MIT Press: London, UK, 2010. [Google Scholar]
- Ma, Y.; Liu, Y.; Zhang, H.; Chen, G. A hybrid method for prioritizing software requirements in terms of use cases. J. Converg. Inf. Technol. 2012, 17, 17–27. [Google Scholar]
- Neubauer, M.; Stary, C. S-BPM in The Production Industry—A Stakeholder Approach; Springer: Cham, Switzerland, 2017. [Google Scholar]
- Chung, L.; Nixon, B.; Yu, E.; Mylopoulos, J. Non-Functional Requirements in Software Engineering; Kluwer Publisher: Baltimore, MD, USA, 2000. [Google Scholar]
- Supakkul, S.; Chung, L. Integrating FRs and NFRs: A Use Case and Goal Driven Approach. Framework 2005, 6, 7. [Google Scholar]
- Ali, H.; Ahmad, A.; Ahmed, S. A Hybrid Approach for Requirements Prioritization. Int. J. Sci. Eng. Res. 2018, 9, 100–105. [Google Scholar]
- Arshad, H.; Shaheen, S.; Khan, J. A Novel Hybrid Requirements Prioritization Approach Based on Critical Software Project Factors. Cogn. Technol. Work. 2023. [Google Scholar] [CrossRef]
- Chen, X.; Deng, Y. An Evidential Software Risk Evaluation Model. Mathematics 2022, 10, 2325. [Google Scholar] [CrossRef]
- Borhan, N.; Zulzalil, H.; Hassan, S.; Ali, N. Requirements Prioritization in Agile Projects: From Experts’ Perspectives. J. Theor. Appl. Technol. 2022, 100, 5710–5723. [Google Scholar]
- Khan, H.; Sohail, M.; Ali, F.; Nazir, S.; Ghadi, Y.; Ullah, I. Prioritizing the Multi-criterial Features Based on Comparative Approaches for Enhancing Security of IoT Devices. Phys. Commun. 2023, 59, 102084. [Google Scholar] [CrossRef]
Comparison Factor | Current Literature [31] | This Research |
---|---|---|
Number of reviewed approaches | 5 | 40 |
Number of scenario-based approaches | 2 | 13 |
Prioritization criteria | Goals, usage of use case, safety, security, infrastructure, dependency, frequency, revenues, availability, reliability, density of scenario path, structural aspects, number of actors, number of included use cases in a use case, number of use cases that include a use case, and customer prioritization | All criteria in [31] and more |
Domains | Fuzzy logic systems | The majority in software engineering. The work reports domains such as industry and emerging technologies. |
QAC No. | Question | Point Scores of Answers |
---|---|---|
1 | Is the aim of the research defined and addressed? | Yes = 2, moderately = 1, no = 0. |
2 | Does the research scope focus on use case prioritization? | |
3 | Is the presented approach/algorithm/technique clearly explained? | |
4 | Is the use-case-based prioritization evaluation technique clearly explained using a case study or datasets? | |
5 | Is the result of the research clearly explained? |
Prioritized Goal/Use Case | Use Case 1 | Use Case 2 | Use Case n | …… | Use Case m |
---|---|---|---|---|---|
Goal 1 | Ranking level | ||||
Goal 2 | Ranking level | ||||
Goal a | Ranking level | ||||
…… | Ranking level | ||||
…… | Ranking level | ||||
Goal b | Ranking level |
Seq ID No. | Ref No. in Historical Order | Size of Use Case | |||||
---|---|---|---|---|---|---|---|
Small | Medium | Large | |||||
Scenario-Based | Not Scenario-Based | Scenario-Based | Not Scenario-Based | Scenario-Based | Not Scenario-Based | ||
1 | [40] | 1 | |||||
2 | [41] | 1 | |||||
3 | [15] | 1 | |||||
4 | [60] | 1 | |||||
5 | [45] | 1 | |||||
6 | [57] | 1 | |||||
7 | [53] | 1 | |||||
8 | [18] | 1 | |||||
9 | [5] | 1 | |||||
10 | [47] | 1 | |||||
11 | [42] | 1 | |||||
12 | [49] | 1 | |||||
13 | [51] | 1 | |||||
14 | [50] | 1 | |||||
15 | [19] | 1 | |||||
16 | [55] | 1 | |||||
17 | [58] | 1 | |||||
18 | [27] | 1 | |||||
19 | [43] | 1 | |||||
20 | [52] | 1 | |||||
21 | [65] | 1 | |||||
22 | [62] | 1 | |||||
23 | [48] | 1 | |||||
24 | [31] | 1 | |||||
25 | [46] | 1 | |||||
26 | [35] | Not mentioned | |||||
27 | [37] | 1 | |||||
28 | [54] | 1 | |||||
29 | [34] | 1 | |||||
30 | [14] | 1 | |||||
31 | [39] | 1 | |||||
32 | [66] | 1 | |||||
33 | [28] | 1 | |||||
34 | [44] | 1 | |||||
35 | [56] | 1 | |||||
36 | [29] | 1 | |||||
37 | [60] | 1 | |||||
38 | [30] | 1 | |||||
39 | [38] | 1 | |||||
40 | [59] | 1 | |||||
Sum (Percentage) | 6 (15%) | 10 (25%) | 4 (10%) | 7 (17.5%) | 3 (7.5%) | 9 (23%) | |
Overall | 16 | 11 | 12 | ||||
Percentage | 40% | 28% | 30% |
Seq ID No. | Ref No. in Historical Order | Formalization | ||
---|---|---|---|---|
Informal | Semiformal | Formal | ||
1 | [40] | 1 | ||
2 | [41] | 1 | ||
3 | [15] | 1 | ||
4 | [60] | 1 | ||
5 | [45] | 1 | ||
6 | [57] | 1 | ||
7 | [53] | 1 | ||
8 | [18] | 1 | ||
9 | [5] | 1 | ||
10 | [47] | 1 | ||
11 | [42] | 1 | ||
12 | [49] | 1 | ||
13 | [51] | 1 | ||
14 | [50] | 1 | ||
15 | [19] | 1 | ||
16 | [55] | 1 | ||
17 | [58] | 1 | ||
18 | [27] | 1 | ||
19 | [43] | 1 | ||
20 | [52] | 1 | ||
21 | [65] | 1 | ||
22 | [62] | 1 | ||
23 | [48] | 1 | ||
24 | [31] | 1 | ||
25 | [46] | 1 | ||
26 | [35] | 1 | ||
27 | [37] | 1 | ||
28 | [54] | 1 | ||
29 | [34] | 1 | ||
30 | [14] | 1 | ||
31 | [39] | 1 | ||
32 | [66] | 1 | ||
33 | [28] | 1 | ||
34 | [44] | 1 | ||
35 | [56] | 1 | ||
36 | [29] | 1 | ||
37 | [60] | 1 | ||
38 | [30] | 1 | ||
39 | [38] | 1 | ||
40 | [59] | 1 | ||
Sum | 40 | 15 | 11 | 14 |
Percentage | 100% | 37.5% | 27.5% | 35% |
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
Odeh, Y.; Al-Saiyd, N. Prioritizing Use Cases: A Systematic Literature Review. Computers 2023, 12, 136. https://doi.org/10.3390/computers12070136
Odeh Y, Al-Saiyd N. Prioritizing Use Cases: A Systematic Literature Review. Computers. 2023; 12(7):136. https://doi.org/10.3390/computers12070136
Chicago/Turabian StyleOdeh, Yousra, and Nedhal Al-Saiyd. 2023. "Prioritizing Use Cases: A Systematic Literature Review" Computers 12, no. 7: 136. https://doi.org/10.3390/computers12070136
APA StyleOdeh, Y., & Al-Saiyd, N. (2023). Prioritizing Use Cases: A Systematic Literature Review. Computers, 12(7), 136. https://doi.org/10.3390/computers12070136