Font Size: a A A

Research On Key Technologies Of Search-based Software Requirements Prioritization

Posted on:2019-01-17Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z X TongFull Text:PDF
GTID:1368330590972755Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
When planning for the next release version,software companies are faced with a series of candidate requirements,each with a certain development cost.And every stakeholder will provide the corresponding profits to the company when all his requirements are implemented.The continuous expansion of the software systems with increasing applications and customers will lead to the repetition,overlapping and enormous number of requirements.The major challenges facing requirements specification are to get the core requirements using requirements elicitation techniques.This is very important for the software developers in building a complete and robust systems that eventually balance the development cost and the user's requirements,and also important for solving the conflict between fully capturing requirements and selecting the core requirements.In this paper,current major requirement optimization techniques are reviewed and several key questions that need to be solved urgently are introduced.Focusing on these problems,four different aspects of research work are carried out: 1)developing requirement clustering method for ultra-large scale requirement prioritization;2)developing method for solving multi-stakeholder tradeoffs in requirements optimization;3)solving requirements interdependency;4)developing requirement changing management method.In chapter 2,in solving large-scale requirements denoising and clustering,a requirement clustering approach based on Word Embedding semantic understanding technique and hypergraph clustering method is proposed.In the first step,the Word Embedding method is used for the deep semantic understanding of the requirements and then Cosine similarity is used for getting rid of requirements redundancy.In the second step,the hypergraph segmentation method is used to cluster the requirements.Finally,the performance of the proposed model is tested by using three other popular methods to replace each key step in our model.To evaluate the effect of denoising in requirements clustering,the hypergraph clustering results with and without denoising process are compared.In addition,to assess the effectiveness of requirements presenting by Word Embedding,its clustering result is compared with that using a TF-IDF statistical method.Both the average and the maximum F value of the proposed method in this paper are significantly better than the above three baseline methods.In chapter 3,the multi-stakeholder tradeoffs in requirements optimization is transformed as a multi-objective optimization problem and an archived NonDominated Sorted Genetic Algorithm-II(NSGA-II)for the automated analysis of requirements assignments is introduced.In one aspect,to solve the high complexity and low efficient inherently existing in multi-objective optimization problem,the NSGA-II algorithm to decrease the high computational complexity is introduced.In the other aspect,an archive process to record the non-dominated solutions in each iteration is introduced to avoid the loss of non-dominated individuals.The results show that the proposed method can generate a set of optimal requirements satisfying multiple stakeholders with the constraints of the resources and the cost.In chapter 4,the A* search algorithm with tree pruning to handle the requirements interactions,such as the dependencies that may exist between requirements,is proposed.By using topological sorting,heuristic search and afterwards tree pruning method,the new algorithm could select a set of costeffectiverequirements satisfying the requirements interdependency,cost and resources constraints.The results indicate that the proposed algorithm outperform many other methods such as the breadth-first search,depth-first search,greedy search,or the A* search algorithms,either on achieving the maximal value under limited resources or requiring the minimal resources when achieving a certain value goal.In chapter 5,the software requirement change management in early stages of software requirements specification is focused on,and a novel strategy which is based on Nash equilibrium algorithm is proposed.Firstly,a Nash equilibrium model is built up and computed to determine when the system will make a local or an overall adjustment.Secondly,to find a solution to balance the user experience which is quantified as customer satisfaction and the development cost,the overall adjustment scheme is formulated as a non-cooperative game which can be solved by Nash equilibrium.The results demonstrate that the proposed method could effectively stimulate or suppress the requirement change with linear time complexity.Overall,in this study the possible solutions to the above four urgent questions existing in current software optimization techniques are proposed and further discussed.
Keywords/Search Tags:Requirement optimization, requirement clustering, multiobjective optimization, requirements interactions, nash equilibrium, requirement change management
PDF Full Text Request
Related items