Prioritizing Use Cases: A Systematic Literature Review

: The prioritization of software requirements is necessary for successful software development. A use case is a useful approach to represent and prioritize user-centric requirements. Use-case-based prioritization is used to rank use cases to attain a business value based on identiﬁed criteria. The research community has started engaging use case modeling for emerging technologies such as the IoT, mobile development, and big data. A systematic literature review was conducted to understand the approaches reported in the last two decades. For each of the 40 identiﬁed approaches, a review is presented with respect to consideration of scenarios, the extent of formality, and the size of requirements. Only 32.5% of the reviewed studies considered scenario-based approaches, and the majority of reported approaches were semiformally developed (53.8%). The reported result opens prospects for the development of new approaches to ﬁll a gap regarding the inclusive of strategic goals and respective business processes that support scenario representation. This study reveals that existing approaches fail to consider necessary criteria such as risks, goals, and some quality-related requirements. The ﬁndings reported herein are useful for researchers and practitioners aiming to improve current prioritization practices using the use case approach.


Introduction
Software requirements prioritization is one of the early and crucial processes conducted in software management to produce high-quality software, optimize investment in resources, and reduce potential risks.Requirements prioritization (RP) is an iterative process whereby a set of requirements is ranked from highest to lowest priority in relation to their importance to the development of the most critical requirements for the earliest release of a project [1].RP is a complex, multicriteria decision-making process [1], contributing to increased customer satisfaction, even in cases in which a project is overbudget or behind schedule, as the highly prioritized requirements are delivered early in the project.
Software engineers strive to develop highly flexible, reusable, and maintainable systems.A well-known paradigm in this context is the component-based paradigm.In this paradigm, prioritization is applied to use cases that are user-centered functionality artifacts [2].The research community has reported its efforts to develop requirements prioritization techniques whereby requirements are specified in a textual natural language form [3].Although natural language text-based specified requirements are vital, prioritization cannot be omitted.However, natural language requirements lack some necessary characteristics.First, specifying precise and unambiguous requirements written in natural language is difficult.Second, a natural language depends on the reader's and the writer's understanding and skills, as there is no standardized format for writing natural requirements statements.Unlike standardized visuals, misinterpretation is significantly reduced.These visual models assist different stakeholders in arriving at a common understanding of system requirements, facilitating the prioritization process.For example, a use case diagram assists in visualizing user-centered requirements that show the scope of the system.Third, specifying natural language requirements is time-consuming, resulting in the need for RP, especially for requirements that lack clarity.Fourth, finding the dependencies between natural language requirements and their change impact is difficult unless they are labelled, automated, and fulfilled within a requirements traceability matrix, which cannot easily detect semantic tradeoffs.Natural language requirements inevitably lack a unique interpretation.Therefore, to minimize the impact of these issues while prioritizing requirements, some researchers have proposed a data-entity-focused linguistic pattern that is extracted from use cases as reusable artifacts [4].Use cases are feasible for requirements prioritization.In the past two decades, researchers have developed use-case-based prioritization approaches and investigated their effectiveness in eliciting and prioritizing essential requirements and scenarios [5][6][7].Tools have also been developed to assist analysts in collecting requirements from essential use cases [8].The use case concept has been employed for emerging subjects, such as bridging the gap between business and systems [9].The contributions of this research are as follows: 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.
The use case concept was introduced in the mid-1990s as a tool to assist in eliciting user and functional requirements in software engineering [10][11][12][13], acting as a driver for test cases through the application of forward engineering [14,15].The rich specification of a use case is used to estimate effort and cost [16,17], as well as in planning and deriving test cases [18,19].A significant role of use cases has been reported in bridging the gap between business and software systems [9,20,21].
Whether a traditional or agile software engineering process is adopted, RP is conducted during each phase (i.e., requirements engineering, design, implementation, testing, and maintenance) [22] and during the planning of each sprint or iteration with the obligatory involvement of the customer and relevant stakeholder classes [23].Therefore, owing to the necessity of prioritization, RP occupies a considerable place in the literature as researchers have reported the prioritization methods for large, medium, and small projects [3,[24][25][26].Researchers have recognized the criticality of RP not only in software development but also in industry and the Internet of Things [27][28][29][30].
The research community has reported a significant lack of reviews of current usecase-based prioritization approaches within recent decades [31].Only five approaches have been reported in a small review.Table 1 shows a summary of the gap between the work reported in [31] and this work, indicating the need to review current approaches to derive the current state of the art and identify and discuss gaps to facilitate development in various fields that employ the concept of use cases, such as business/IT alignment, artificial intelligence, big data, health informatics, and the Internet of Things.The current review can verify the sustainability of the use case concept for further evolution in IT-based projects.
The remainder of this paper is structured in five sections.In Section 2, we present the research methodology.Results and answers to the specified research questions are presented in Section 3. A critical discussion is presented in Section 4. Finally, Section 5 concludes the work.

Materials and Methods
The research methodology of this systematic literature review was designed as a protocol-based process.The process was adopted from the medical domain and redesigned and adapted to software engineering research.The protocol process was previously in other reviews [3,32,33].We refined, blueprinted, and applied the process in this research, as shown in Figure 1.Each rectangle represents a main phase in the protocol-based process: identifying a specific set of research questions that stem from the research problem; designing the research strategy; performing study selection; conducting data collection and analysis; and, finally, producing review results.The following subsections present each phase in the designed methodology.
Table 1.A Summary of the gap between the current literature and this research work on use case prioritization.

Comparison Factor
Current Literature [31] This Research Number of reviewed approaches 5 40

Number of scenariobased 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.

Materials and Methods
The research methodology of this systematic literature review was designed as a protocol-based process.The process was adopted from the medical domain and redesigned and adapted to software engineering research.The protocol process was previously in other reviews [3,32,33].We refined, blueprinted, and applied the process in this research, as shown in Figure 1.Each rectangle represents a main phase in the protocol-based process: identifying a specific set of research questions that stem from the research problem; designing the research strategy; performing study selection; conducting data collection and analysis; and, finally, producing review results.The following subsections present each phase in the designed methodology.

Identifying Research Questions
Having a clear research problem facilitates the derivation of a research aim and questions.Given the lack of literature reviews summarizing research on use case prioritization

Identifying Research Questions
Having a clear research problem facilitates the derivation of a research aim and questions.Given the lack of literature reviews summarizing research on use case prioritization in the last two decades, with the use case concept related to emerging technology topics, all reported attempts need to be reviewed to align them with the current growth era in use-case-centric software development [34][35][36].
In this research, we conducted a systematic literature review to summarize the existing literature on use-case-based prioritization approaches in software development.In this review, we consider research dimensions related to use case prioritization, prioritization criteria, the size of the project use cases or requirements, contributions, and limitations.The following research questions were formulated to be answered through the literature review: 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?

Research Strategy
In the first phase, we identified relevant digital libraries and search strings to answer the four research questions in related articles, conference proceedings, technical reports, books, book chapters, patents, theses, and journals.We searched eight databases: IEEE Xplore, ACM, Google Scholar, Elsevier (Science Direct), Semantic Scholar, Springer, Research Gate, and Academia.These digital libraries were selected because they encompass the most relevant work published in software engineering, in addition to the advanced search options provided on their websites [36].Other digital libraries were considered for this research, such as EBSCO and Pro-Quest; however, they were excluded because they returned no results regarding the selected search strings, possibly highlighting a shortage of use-case-based RP publications.
The search strings were derived from the research problem.Core and common searching strings were "Use case prioritization" AND/OR "Prioritizing use cases", including different UK/US spellings and syntax.The following strings were used: 1.
Significance OR Importance of prioritizing use case OR use case prioritization (RQ1); 2.
Use case prioritization methods OR techniques OR algorithms OR approaches (RQ2); 3.
Criteria OR Factors used in prioritizing use cases OR use case prioritization (RQ2); 6.
Benefits OR advantages OR Contributions of use case prioritization (RQ2); 7.
Size of use cases in use case prioritization method OR technique OR algorithm OR approach (RQ2); 8.
Limitations OR Challenges in use case prioritization OR prioritizing use cases (RQ2 and RQ4); The above strings paved the way to answer the research questions indicated next to each search string.

Study Selection Strategy
In this stage, we applied inclusion and exclusion criteria, followed by the quality assessment criteria (QAC) checklist.A total of 40 studies were included in this research after filtering and selection.
Inclusion Criteria

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"; • Redundant studies.
QAC were formulated as a checklist comprising five criteria with associated scoring points, as shown in Table 2.The QAC were used for filtering after applying the exclusion criteria.The Five QACs were applied to publications titles, abstracts, content, and conclusions.Any publication the attained fewer than 5 points was excluded.A total of 40 studies were selected for this research.The pie chart in Figure 2 shows a quantitative classification of the publications selected after applying the inclusion criteria and QAC.QAC were formulated as a checklist comprising five criteria with associated scoring points, as shown in Table 2.The QAC were used for filtering after applying the exclusion criteria.The Five QACs were applied to publications titles, abstracts, content, and conclusions.Any publication the attained fewer than 5 points was excluded.A total of 40 studies were selected for this research.The pie chart in Figure 2 shows a quantitative classification of the publications selected after applying the inclusion criteria and QAC.

Data Collection and Synthesis
Each study was analyzed carefully to obtain relevant answers to the four research questions.Therefore, quantitative and qualitative data are presented.Any data clarifying the importance of prioritizing use cases is considered an answer to RQ1.Data related to use case prioritization approaches that involve prioritization criteria such as project requirement size and formality are considered an answer to RQ2.Information about the contributions and limitations of each use-case-based prioritization approach answers RQ2.Information about stakeholder viewpoints and involvement in use case

Data Collection and Synthesis
Each study was analyzed carefully to obtain relevant answers to the four research questions.Therefore, quantitative and qualitative data are presented.Any data clarifying the importance of prioritizing use cases is considered an answer to RQ1.Data related to use case prioritization approaches that involve prioritization criteria such as project requirement size and formality are considered an answer to RQ2.Information about the contributions and limitations of each use-case-based prioritization approach answers RQ2.Information about stakeholder viewpoints and involvement in use case prioritization answers RQ3.Identifying common gaps across reviewed and analyzed works assists in formulating answers to RQ4.

Answering the Research Questions
A total of 40 publications were selected after applying the inclusion and exclusion criteria, including journal articles, technical reports, dissertations, conference proceedings, books, white papers, and web pages.The included publication types and associated percentages are shown in Figure 2. The most prevalent type of publication was conference proceedings, followed by journal articles, accounting for 45% and 27%, respectively, whereas dissertations and reports accounted for 10% and 8%, respectively; books accounted for 5%; and webpages and white papers accounted for 3% of included publications.

RQ1: Significance of Employing Use Cases in Requirements Prioritization
The importance of employing a use case diagram in prioritization stems from its distinctive visualization with rich embedded requirements.A use case diagram also presents requirements in textual form, using descriptions [37].The concept of scenarios is another rich information source within use cases.The research community considers scenario prioritization within use cases to be an important early activity in project planning within the process of software development [37].However, covering all scenarios with limited time, budget, and resources is difficult [37,38].Use cases represent an important aspect of big data innovation and digitalization.A scoring model is used to generate data-driven prioritized use cases to achieve a desired business value [34,39].In big data, use case prioritization is necessary to discover use cases with significant potential impact on an organization [34].A data-based scoring model quickly presents data related to a use case, permitting data scientists to decide whether to proceed with a case in the next release with minimal potential risks.
Moisiadis provided an explicit answer to this question and indicated the need to prioritize use cases, particularly their scenarios, during the requirements engineering process [40,41] in order to expand and elaborate the most important functionalities or scenarios to the market to improve quality and reduce development time and cost, whereas less important use cases are not considered in the elaboration of the current release.The same approach was applied in [42,43], where prioritized use cases were employed early in each iteration of agile development, concentrating on the increment to be delivered, taking into account a quality delivery with minimal possible cost and development time [43].
In agile development, use case prioritization plays a significant role in the planning of iterations [44].In agile practice, developers prioritize old and new use cases at the beginning of each iteration in backlog, allowing them to review important functionalities for the next release early if needed and to shorten agile development time between launched releases, leading to increased user satisfaction [45].The consistency of customers' logical judgment is represented by prioritization [46].In agile development, use cases are employed to increase team osmotic communication.Some research has highlighted the importance of representing features as prioritized use cases to improve understanding of the system being developed and its estimated effort according to use-case-driven cost, resource, and time management plans [31,38,[47][48][49][50].In Scrum, sprints are planned based on prioritized use cases.Personas are employed to identify user requirements representing use cases for sprint planning [44].Use cases were found to be appropriate in terms abstractness to present user requirements, acting as an intermediate model between abstract persona analysis and elaborated scenario models [44].
Scenarios have assisted in prioritizing test cases using a scenario-based traceability matrix, facilitating early detection of bugs [19,38,50], and contributing to a reduction in testing and maintenance costs [31,51].In component-based systems, use cases and their scenarios facilitated the identification of the centrality value of an identified use case node for the sake of improved component interaction management [52].Prioritization cannot be addressed without considering requirements dependencies; the literature shows that use cases indicate dependencies between functional requirements [37].In ontology engineering, use-case-driven ontologies are prioritized to evaluate respective commitments during the test of a workflow [53].Use cases are used to derive use case function points (UFP), which are employed for effort estimation [54].
Researchers have reported the significance of use-case-based prioritization not only in the early stages of software development but also in consequent later stages, resulting in the development of the use-case-centric software development process, which reflects the influence of the use case concept on requirements engineering, development, testing, and change management [38].Use case prioritization implicitly prioritizes the most critical defects [6,18,38], which requires a finite set of test cases [55].Prioritizing use cases is the cornerstone of the process of identifying critical classes that are most frequently used within use cases to address critical non-functional requirements such as reliability [55].In software product line engineering, the development strategy relies on the development of reusable functionalities and test assets to support the development of a new product in the same line with minimum effort and cost [38].In this context, use-case-driven development improves the testing process in terms of time, cost, and effort [54], as reported with respect to the classification of use-case-driven test cases that are obsolete (i.e., new tests), retestable (i.e., currently exist but require a rerun to address the impact of change), and reusable (no retests needed) [38].Use-case-driven test case classification can also take the form of RP.
According to Kundu and Samanta [5], prioritization of use cases is necessary to address quality goals and business goals.The former are related to non-behavioral aspects indicating which scenarios of a use case are more critical than others in terms of soft characteristics.Such goals should be addressed during the software analysis phase, highlighting areas of attention for consequent design quality, implementation, and testing activities.Business goals are related to behavioral aspects indicating which scenarios of a use case and which use cases should be released for the next increment to address customer business needs for a particular value or benefit.Neither type of goal can be defined without employing prioritized use cases and their embedded scenarios.
Use case prioritization has been conducted using well-known techniques such as analytic hierarchy processing (AHP) to consider stakeholder preferences and plays a central role in mobile development [44,55,56].A mobile application must meet frequently changing market needs based on customer preferences [56].Therefore, this paves the way for product optimization and mobile application development with reduced costs, resources, and effort [56].
Garcia et al. have analyzed use cases that are critically required to identify the most important functionalities of any system [57].They analyzed not only applications in the software engineering field but also other fields, such as the oil and automotive industries.In the heavy vehicle industry, use case scenario prioritization was used to provide information about the most frequent accidents with associated injury and cost data [27].
Use case prioritization is employed in data analytics to generate use-case-driven data that are used in a prioritization matrix, assisting in the scaling of the respective manufacturing processes and accelerating the knowledge innovation level to maintain the competitiveness of an organization with maximum possible benefit [28][29][30].Use case prioritization can also be used for early implementation and diagnostics with a minimum cost and failure rate [28,30].Use case classification has also contributed to the identification of critical business metadata in system requirements to maintain the quality of data for the users' benefit [58].In manufacturing, use case prioritization in data analytics systems contributed to the selection of optimal use cases for a production that was 28% more costeffective than traditional approaches [29].Identifying and prioritizing use cases in the big data context supports the improvement of organizations' business processes to address their goals [30].
Owing to the difficulty of selecting a project for digitalization with respect to constraints in terms of cost, resources, and know-how, use-case-based prioritization has paved the way for the appropriate selection of projects for digitalization purposes [39,58], contributing to further improvement of business processes and the selection of the appropriate experts and resources for a high-quality project implementation [39,58,59].In the oil and gas industry, use case prioritization was utilized to identify the most and least important factors in implementing digital technology [60].
The role of use case identification and prioritization is evolving in the domain of the Internet of Things as part of customer experience priority understanding [35].Use case prioritization can be employed to support decision makers in increasing sales, consumerdriven optimization, marketing, and brand awareness [35].

RQ2: Reported Research on Use-Case-Based Prioritization
This research question was answered by reviewing and analyzing the content of the 40 publications induced according to the selection strategy.Resources are ordered historically in Appendix A, which shows the resource, type of publication, prioritization criteria/approach applied, size of requirements, extent of formality (formal, semiformal, or informal) scenarios considered in the prioritization, respective contributions, and limitations.

RQ3: Stakeholders Invovled in Use Case Prioritization and Their Viewpoints
Moisiadis considered stakeholder goals as the driving source in prioritization.Stakeholder goals may embody the values of a customer, cost preference, technical risk mitigation, or conformity with an organization's regulations.Prioritization of viewpoints is based on the degree to which a use case satisfies or fulfils (a) business goal(s) [40,41].Some researchers consider the viewpoint of developers viable only within use case scenario-based prioritization, for which details matter [42,45].In ontology engineering, some researchers have highlighted the need for domain knowledge experts to indicate and assess prioritization factors [53].If ontology is employed, then ontology domain experts are involved in prioritization, particularly in identifying competency questions [53].Domain experts are not only involved in prioritization in ontology engineering but also in big data, as a data scientist team and domain experts contribute to the classification of data-driven use cases based on strategic criteria [28,30,34].Therefore, skilled domain experts who are willing to learn are essential stakeholders in prioritization [57][58][59][60].
Some prioritization techniques require the modeling of scenario-based diagrams using a system sequence diagram or UFP.In this regard, a business analyst or domain expert is responsible for prioritizing use case scenarios or function points by considering respective quantitative metrics [5,37,54,55].During requirements analysis, Wah differentiated between user and customer stakeholders [49].The former is the end user who directly uses the system, whereas the latter is the sponsor of the project.A sponsor can also be the end user.In this regard, users and customers are those in charge of prioritizing use cases as features of interest for the next release.However, a developer or development manager evaluates the feasibility of prioritization and negotiates whether changes are required [48,49].Synthesis of the prioritization of users and developers is essential to minimize the expectation gap between users and sponsors [50].In many cases, business analysts and other stakeholders implement prioritization techniques in concert to prioritize use cases [2,38,46].
In agile development, particularly in Scrum, use cases or features should be prioritized, which is the responsibility of the product owner, who lists the use cases in backlog for each sprint iteration [43].One recommendation is to establish a feature team that is in charge of understanding, analyzing, prioritizing, and validating the new features for a use case.Feature team members are responsible for specifying features, business planning, designing, software implementation, testing, project management, platform implementation, and interworking.The team also consists of representatives of the requestor of a feature or simply the customer [43].Others who implement Scrum in their projects include analysis teams, design teams, and management teams [44].
In the mobile development context, mobile applications must be frequently updated and aligned with market needs and changes to maintain or increase customer satisfaction [56].Therefore, researchers have considered the involvement of customers or app users as essential evaluators in prioritization sessions [56].Although the aforementioned research works classified stakeholders, some classified them as internal and external stakeholders [39], including any individual, group, or organization that can affect the project either positively or negatively or directly or indirectly [12].
The future of use case prioritization is represented by the Internet of Things, as stakeholders such as marketers, consumers, innovators, brand strategists, executives, and technologists are still involved [35].

RQ4: Gaps and Opening Insights to Enhance the Existing Use-Case-Based Prioritization Approaches
This review highlights gaps in terms of strategically driven prioritization of use cases that stem from the absence of strategic views represented in the form of goal-oriented models.Among the forty publications included, only 7.5%, represented by three research works, considered the goals of use-case-based prioritization [31,41,46].One study implicitly mentioned the importance of considering goals without involving them in prioritization [31], and only one employed goals which were considered to be stakeholder-driven in a scenariobased context [41].However, goals were not methodologically elicited, analyzed, designed, and operationalized [41], indicating that current use-case-based prioritization approaches are applied without considering the rationale of prioritizing requirements or use cases for system implementation.Overcoming this gap is anticipated to contribute to decisionmaking support for use cases prioritization, resulting in a highly complete, correct, feasible, testable, and consistent set of use cases.Consideration of goals informs the stakeholders of prioritization implications with respect to business objectives that are aligned with systems [10,11].A thorough understanding of strategically driven and business-process-based prioritization of use cases is a high priority prerequisite to develop a decision support system [61] because decisions cannot be prioritized independent of respective strategic goals or domain processes, both of which consider actors a source of goals and use cases [62,63].For example, the i* framework is a goal-oriented and actor-centric modeling approach that considers goal prioritization as a means of criticality in its strategic dependency model.Moreover, the strategic rational model in the i* framework supports strategic scenarios to address a goal in the form of social modeling [64], providing insight to engage strategic views and pave the way to influence the respective prioritization of not only the use cases but also their associated scenarios.Further insight is provided, supporting the proposition of a 2D traceability prioritization matrix that links goals or business objectives to respective use cases.An initial view of the 2D matrix is shown in Table 3.The prioritization ranking level is the intersection of a use case with a goal.For example, Use case 2 may be highly important for Goal a, whereas Use case 1 may be moderately important for the fulfilment of Goal b.The ranking level is indicated based on the selected prioritization approach [3].The matrix is anticipated to act as a validation tool upon strategically based use case prioritization.Although scenarios are minimally considered in use case prioritization in the literature, in 13 of the reviewed studies (32.5%) [5,12,14,19,27,37,38,40,41,[50][51][52]55], as shown in Table 4, each scenario required resources, cost, effort, and a risk management plan; however the stimulation incorporates the scenario as a third dimension in the proposed matrix, highlighting another gap in the current literature, i.e., that few of the reviewed studies reported scenario-based use case prioritization approaches.Although the proposed matrix is anticipated to resolve the gap described above, another gap is still apparent in relation to the operational business processes relevant to goals.
1 [60] 1 In addition to the absence of a strategic view, the absence of a business view is apparent and is represented in the form of business process models, representing another gap, providing eye-opening insight into current use-case-based prioritization.Business processes are inevitably considered when prioritizing use cases, as use cases are implicitly derived from business domain processes [7,63].In research, use cases can bridge the gap between businesses and systems through business processes [63].A business process is designed to fulfil at least one strategic goal and to derive at least one use case [62].Therefore, we anticipate that prioritization of goals cascades further to respective business processes, use cases, scenarios, software design, implementation, and testing.In this situation, we suggest that use-case-based prioritization be initiated by strategic goals and associated business processes, which is anticipated to enrich the description of prioritized use cases and associated scenarios to become strategically driven and process-based and to increase the prioritization consistency of use cases.Because a use case specification is rich in required information that involves identifying data entities, strategic prioritization of a use case may also influence prioritization [63], highlighting the anticipated essential role of use cases in prioritizing data entities.This process also provides insights into the necessity of obtaining an architectural blueprint of the business processes that operate in the domain, namely, business process architecture.The architecture is anticipated to aid in assessing the impact of changes in reprioritization with respect to other business-process-driven use cases [63].
We anticipate that an elaboration of business goals can support the fulfilment of business processes and associated business rules, as described by the following proposed chain relationship: Business goals → business processes → prioritization rules → prioritized use cases → prioritized scenarios.
Business process models are rich in rules that are represented, for example, in the form of conditional or event-based gateways that can be translated into prioritization rules that are formed with respect to process-based customized criteria, which are missing in the reported literature.Each business domain has customized goals that are operationalized in terms of requirements or use cases [67], motivating specification of the above chain within a framework that structurally derives customized prioritization rules and respective prioritized use cases from goals and business process models.This process also provides insight that can support the employment of conceptual modeling techniques to represent the framework.
Regarding identified criteria for prioritization, the literature lacks a structured and comprehensive classification of prioritization criteria that direct stakeholders for appropriate decision making.The majority of the reported approaches are informally conducted, accounting for 37.5% of reviewed publications, as shown in Table 5. Regarding the size of projects applied in case studies, small projects accounted for the majority (16, corresponding to 40% of the reported literature), whereas 65.5% of studies reported in the literature were not scenario-based, as shown in Table 4. Therefore, there is a need to propose a structured and comprehensive classification method for prioritization criteria that are customized by the derivation of goals and scenarios to pave the way for formalization considering project sizes, given the lack of formal scenario-based approaches, as reported in Table 6 (30.8%).

Discussion
Despite extensive coverage of requirements prioritization in the literature [3,24,25], only 40 systematic mapping studies have applied use-case-based prioritization: 18 conference proceedings, 11 journal articles, 1 webpage, 4 dissertations, 3 technical reports, 1 white paper, and 2 books, highlighting the need for continued research on the importance of use-case-based prioritization.The discussion presented below is relevant to the four research questions.
To answer the first RQ, it appears that use case prioritization is necessary for the planning of project iterations [37,38,44], determining further innovation and digitalization [34,39], minimizing risks [34,39], increasing team osmotic communication [45], reducing testing and maintenance costs through an early detection of bugs [31,50,51], appropriate selection of projects [36,57,58], estimating efforts using function points [54], and addressing organizations' processes and goals [30].Use case prioritization supports scaling of the respective manufacturing processes and acceleration of knowledge innovation levels to maintain the competitiveness of an organization with maximum possible benefit [28][29][30], resulting in improved quality and reduced development cost, time, and effort [40][41][42][43], as well as further increases in customer satisfaction [45].Use case modeling not only supports the presentation of linked functional and non-functional requirements but extends further to show interdependencies that are necessary to indicate the impact on prioritization [68].Use case prioritization can be employed to support decision makers in increasing sales, consumer-driven optimization, marketing, and brand awareness in mobile development [35].Therefore, answering the first question highlights the extent to which use case modeling is necessary to support project-development-related information.
Answers to the second RQ are shown in Appendix A. Considering scenarios is essential for prioritization when each use case is elaborated into one or more scenarios [10][11][12].Therefore, we analyzed 40 reviewed publications and found that only 32.5% of them were scenario-based [5,12,14,19,27,37,38,40,41,[50][51][52]55], as shown in Table 4, indicating a lack of scenario-based prioritization approaches, with 38.5% of studies considering use case as an abstract concept, whereas use case specifications or relations were not employed in [19,27,37,52].Paying attention to scenarios during prioritization is necessary, as each scenario contains embedded information essential to understanding and specifying system functionalities, imposing constraints, and determining objectives to fulfil what is formulated as system behavior [68].Hence, missing a scenario in use-case-based prioritization contributes to increased incompleteness and inconsistency of system functionalities [68].
We also quantitatively analyzed the included studies in terms of the extent of formality.The results show that use-case-based prioritization approaches were either informally applied (37.5%), formally applied (35%), or semi formally applied (27.5%), respectively, as shown in Table 5, motivating researchers to develop new approaches that are either formal or semiformal for automation in order to increase prioritization efficiency in terms of reducing efforts, costs, and errors.The majority of the 13 scenario-based prioritization approaches are classified as semiformal (53.8%), whereas the rest are classified as formal (30.8%) and informal (15.4%), indicating that the majority fits with the semiformal approaches represented in the form of models or diagrams.Therefore, any further improvement in a scenario-based approach is recommended to be represented using a semiformal approach.
Regarding the size of use cases, 16 approaches have a small size, 6 of which are scenario-based; 11 are medium-sized, 4 of which are scenario-based; and 12 are large, 3 of which are scenario-based, as shown in Table 4, indicating that research efforts were directed within the small size scope of use cases.Most of the scenario-based approaches are applied for the small size use cases, indicating that research efforts in the early stage of proposing formal or informal scenario-based approaches for medium-to-large use cases.
As stakeholders' goals were among the reported prioritization criteria and although very few were identified among the reviewed studies (3 of 40; 7.5%) [41,46,63], goals require special attention as they are the rationale for indicating the importance of use cases that meet stakeholder needs [41], representing a drawback in the literature regarding the consideration of goals in prioritization (only one of the three reported studies considered goals in a scenario-based approach (33.3%) [41], whereas the remaining two were not scenario-based (66.7%)) [46,63].Because goal fulfilment requires elaboration of alternatives, which can be mapped to scenarios [64], semiformal scenario-based prioritization approaches can be enhanced using goal-oriented approaches [64,67].This approach can be similarly applied to the concepts of business process modeling, whereby a goal can be achieved in a business process model in different flows of activities formulated as scenarios [69], bridging the prioritization-related gap between businesses and systems [63].
To answer the third RQ regarding the involvement of stakeholders in use-case-based prioritization, some researchers reported generic stakeholders [41], and some specified their roles.For example, domain knowledge experts conduct prioritization with respect to domain competency factors [53], and data scientists are responsible for prioritizing use cases according to strategic criteria [28,30,34].Although researchers have attempted to specify stakeholders, the business analyst and direct users appear to be the primary stakeholders in all situations, collaboratively implementing prioritization, whereas managers and developers may contribute to the evaluation of prioritization feasibility to reduce the expectation gap [48][49][50].In agile development, the product owner, along with users, prioritizes use cases in each iteration [43].In order to meet market needs, marketers, consumers, innovators, brand strategists, executives, and technologists contribute to use case prioritization [35] in order to increase customer satisfaction.
The answer to the fourth research question is summarized by an analysis of the gap in the reported studies in relation to the consideration of goal-based and actor-oriented approaches to prioritization [64].Such approaches entail the absence of associated business processes that embody use case scenarios, as business process models are designed to visualize main workflows considering alternative paths [9,62].Prior to obtaining business process models, the process architecture must be presented in order to assess the impact of anticipated prioritization on interrelated processes that embody use case scenarios.This process architecture must also consider an organization's policies, procedures, and protocol governance.In this study, we report a clear absence of customized prioritization criteria that are described as business rules derived from business processes, which are sources of use cases [63].Another recent work proposed a hybrid model to customize priorities according to project factors [69,70].
Another recent study proposed the automatic generation of use case models [71], although the prioritization perspective remains absent from the business perspective.The origin of prioritization should a be source with a higher-level view of the business process models, namely, the business process architecture.Prioritization shows the organization and relationship among business processes before enacting software systems.Owing to the importance of prioritization in domain understanding, we recommend initiating prioritization in the early stage.
Even if goals and process models are considered, several challenges can rise during use case prioritization, such as the following: 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.

Conclusions
In this paper, we reported on research undertaken to inform the current state of usecase-based prioritization approaches using a methodological research design based on the systematic mapping method.Only 40 research articles that addressed the orchestrated SMS research process were identified with a set of search keywords, inclusion and exclusion criteria, and a set of four research questions to summarize attempts articulated in usecase-based prioritization applied in different fields and contexts.The analysis presented in this study classifies use case prioritization approaches into scenario-based and nonscenario-based approaches.Only 32.5% of the reviewed studies involved scenario-based prioritization approaches, about 50% of which were applied to small projects, whereas 7.5% of reviewed studies considered goals as a source for the prioritization of stakeholder use cases, indicating that the research community has made few efforts to develop such perspectives on use cases, although goals should be the contributing driver specifying prioritization criteria in order to achieve business and development objectives.Our analysis also shows that the majority of use-case-based prioritization studies involve informal specified approaches (37.5%), highlighting the limited number of efforts to develop semiformal and formal approaches.
This review highlights the need to engage goal-oriented modeling (i.e., strategic view) and business process modeling (i.e., business view), as both are anticipated to improve the communication of prioritization criteria between stakeholders.Both contribute to the creation of a common understanding without delving into the technology of software systems.The integration of both is anticipated to contribute to an increase in use case prioritization consistency, as they are both goal-driven and utilized to educate stakeholders.The present study also highlights the lack of a classification of prioritization criteria.For example, criteria can be classified into use-case-related (behavioral or non-behavioral), development-plan-related (e.g., resource availability, time, cost, etc.), or externally related factors (e.g., policies, regulations, and standard-related).This classification paves the way for the specification of comprehensive prioritization criteria.
This study highlights another drawback of failing to consider organizational policies and procedures with implicitly or explicitly embedded stakeholder needs and prioritization criteria.Risks were identified as necessary missing criteria.Using data science and analytics, risks can be identified by data-driven approaches, drawing attention to the necessity of including them in use case prioritization.One limitation of the present study is related to reporting the traceability impact of use case prioritization relative to dependent detailed system models, such as class models, sequence diagrams, and state diagrams.Each use case description is designed according to a template that shows all possible use case scenarios.One use case contains at least one scenario; 2.

Appendix
Each use case scenario is converted into a system sequence diagram (SSD) that shows the message flow between actors and the system; 3.
All SSDs are converted into one scenario graph (SG); 4.
Scenarios are prioritized on the SG: a.
Convert the SG into a tree; b.
Calculate the weight of each edge; c.
Calculate weight of scenarios to generate a prisonization metric.
High scenario cost (SC) values indicate the most important/critical paths.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.

•
Scenarios in a use case are represented using UML activity diagrams.Each path in the activity diagram represents one scenario of a use case; • Prioritization is applied using simple mathematical formulas; • Each activity diagram is converted into a tree using depth-first search traversal steps: 1.
Convert the activity diagram into a tree structure; 2.
Prioritize scenarios in the tree based on: a. Weights of nodes: each node is assigned a weight between one and three based on the complexity and possibility of occurrence of defects; b.
Weights of edges: each edge is assigned a weight based on the number of incoming dependencies and the number of outgoing dependencies of its node; c.
Each path (scenario) is assigned a weight that equals the sum of the weights of its nodes and edges; d.
The highest-priority scenario is that with the lowest-weight path.
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.The approach involves the steps listed below: 1. Store use case diagrams as .xmlfiles; 2.
Capture data from the primitive use case diagrams; 3.
Generate activity diagrams and store them as xml files; 4.
Generate scenarios from the activity diagrams; 5.
Assign weight to nodes depending on the complexity of the activity diagram and the possibility of defects; 6.
Calculate the weight of each path based on: a.
Actor priority; b.
Customer prioritization of use cases based on importance; c.
Effort; e. Time; Weights are assigned by both customers (based on their importance) and managers (based on their technical knowledge).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:
Find accident statistics regarding frequent accident scenarios; 2.
Identify use cases using complex subsystems, including braking, steering, and integrated braking and steering for collision avoidance maneuvers; 3.
Find path stability simulation results.Identify the actors and use cases and map them to a directed topological network model; 3.
Find the priority list.The most important use case node is ranked based on a metric that measures the mutual influence of nodes and sorts them in ascending order.In phase 2: A requirement analyzer is applied to the nodes with the same importance value using the 'analytic hierarchy process'.If the number of transactions >8, then the UC weight is complex.

3.
Calculate the 'unadjusted use case points' (UCP) using an actor and use case weights; 4.
Determine the technical complexity factor of the entire system that ranges between no effects (0) and large effects (5) on the entire system; 5.
Apply an environmental factor weight based on the UCP classification; 6.
Compare and rank the extracted UCPs for UCP-based prioritization.
Find the basic and alternative paths in scenarios; 2.
Design the activity diagram and extract the control flow graph (CFG) and the independent paths; 3.
Find the complexity of each path: 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: 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:

Figure 2 .
Figure 2. Quantitative Classification of Resulted Publications in this Research.

Figure 2 .
Figure 2. Quantitative Classification of Resulted Publications in this Research.

Table 2 .
The quality assessment criteria.
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?

•
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.

Table 2 .
The quality assessment criteria.

Table 3 .
Suggested prioritization matrix of use cases with respect to goals.

Prioritized Goal/Use Case Use Case 1 Use Case 2 Use Case n
. . . . . .

Table 4 .
Classification of publications in the literature in terms of the size of the project for scenario and non-scenario use case prioritization.

Table 5 .
Classification of studies regarding formalization.

Table 6 .
Classification of studies regarding formalization for scenario-based approaches.
A 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.
• Must-do use cases: required for a business base; • Can-do use cases: a use case is addressed as an opportunity; • Case by case: a use case can be addressed, although better results are achieved with AI.