An integrated approach for simultaneous prioritization of functional and nonfunctional requirements / Mohammad Dabbagh
Requirements prioritization, as one of the important activities in the requirements engineering phase, is the process of giving precedence to one requirement over another to help accomplishing software projects on a predefined schedule. Over the recent past years, a substantial amount of research...
| Main Author: | |
|---|---|
| Format: | Thesis |
| Published: |
2015
|
| Subjects: | |
| Online Access: | http://studentsrepo.um.edu.my/6584/ http://studentsrepo.um.edu.my/6584/4/MOHAMMAD_DABBAGH.pdf |
| Summary: | Requirements prioritization, as one of the important activities in the requirements
engineering phase, is the process of giving precedence to one requirement over another
to help accomplishing software projects on a predefined schedule. Over the recent past
years, a substantial amount of research effort has been dedicated to proposing various
approaches to perform requirements prioritization. Although these approaches have
contributed a lot to the software development process, an in-depth study of current
research work has found that they can only be applied with functional requirements or
non-functional requirements separately though most have been adopted with respect to
functional requirements. However, it is not an effective way to prioritize functional and
non-functional requirements separately since both types of requirements are interrelated
and have an influence on each other. Moreover, considering merely each type of
requirements separately during the requirements prioritization process may lead to
failure in the final software product, or at least, may result in a poor-quality system
because both types of requirements have a serious impact on each other. To achieve a
high-quality software system, both functional and non-functional requirements need to
be taken into consideration together during the prioritization process. Hereupon,
fulfilling this gap is considered as a major motivation toward conducting this research to
provide software researchers and practitioners with an approach which is capable of
integrating the process of prioritizing functional and non-functional requirements
simultaneously.
In this research, an approach called Integrated Prioritization Approach (IPA), is
proposed, which aims to simultaneously integrate the process of prioritizing functional
and non-functional requirements. IPA allows practitioners to prioritize both functional
and non-functional requirements simultaneously in an integrated manner by establishing
their relationships, ultimately producing the prioritized lists of functional and noniv
functional requirements separately. It utilizes triangular fuzzy number to prioritize nonfunctional
requirements based on their importance degree for achieving functional
requirements. Furthermore, IPA prioritizes functional requirements according to the
importance degrees of non-functional requirements using weighted average decision
matrix. Two successive controlled experiments were conducted to evaluate IPA against
two state-of-the-art approaches. In the first experiment, IPA was compared with AHPbased
approach, whereas in the second experiment, IPA was compared with HAMbased
approach. In both experiments, evaluation was based on measuring three
properties: actual time-consumption, accuracy of results, and ease of use.
Statistical analysis of the experimental results obtained from the two controlled
experiments shows the better performance of IPA compared to both AHP-based
approach and HAM-based approach, with respect to actual time-consumption, accuracy
of results, and ease of use. IPA requires a time reduction of 43% and 20% compared to
AHP-based approach and HAM-based approach respectively, to perform the
prioritization task. Furthermore, IPA is validated to be easier to use and produces more
accurate results compared to these two approaches at 95% confidence level (i.e.
p<0.05). Results extracted from the conducted experiments provide practitioners with
valuable information to choose the most appropriate approach for a given prioritization
problem, and also could be used as a guideline by interested researchers for identifying
trends before conducting a study in future. |
|---|