{'fraction_non_alphanumeric': 0.022179974651457542, 'fraction_numerical': 0.0, 'mean_word_length': 5.265873015873016, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A goal-based technique for requirements prioritization

It is a well-known fact that the number of software requirements from customers usually exceeds the number of features that can be implemented within a given time and available resources. Therefore, requirements prioritization (RP) is essential during the requirements elicitation activity of the requirements engineering phase of software development. In addition, not all requirements can be implemented within one release, so RP is also essential for release planning. There are many RP techniques available in the literature, which are mostly attempting to solve a multi-criteria decision making problem. However, most of them work well on a small number of requirements, and many still suffer from different shortcomings such as scalability, uncertainty, a lot of stakeholders' time consumption, and complexity. According to many studies, none of the RP techniques can be considered the best; the best RP technique depends on the situation. In addition, most of the RP techniques don't take into account the effects of the required goals on the final alternatives' ranking. In this paper, we present a brief survey of the most popular decision making RP techniques, before presenting our new goal-based RP technique. Our goal-based RP technique is based on generating a relative weight for the requirements with respect to the identified goals by stakeholders. It is inspired from prioritization decision making techniques in an attempt to enhance reported RP problems of time consumption, scalability and complexity.