节点文献

软件需求获取过程关键技术研究

Research on Key Technologies of Software Requirements Elicitation Process

【作者】 湛浩旻

【导师】 印桂生;

【作者基本信息】 哈尔滨工程大学 , 计算机应用技术, 2013, 博士

【摘要】 需求获取过程处于软件开发的前端,贯穿软件开发项目的始终。需求获取直接决定项目的成败。通过对目前需求获取过程的分析与归纳,和对现有需求获取方法和需求优先级排序方法中优缺点的研究,提出了一些新的思想和算法,并进行了相应的实例验证。本文主要做了以下几个方面的研究:⑴提出了基于需求模式匹配的需求获取算法。针对软件开发过程中对获取的需求往往缺乏完整性和可复用性的问题,提出了基于需求模式匹配的需求获取算法。从典型的需求模式中匹配出恰当的需求模式,来指导用户获取需求,并定性给出判断需求获取是否完成描述的参考标准,以进一步提高需求获取的完整性和可复用性。⑵提出了基于解释结构模型的最高需求优先级设定算法。针对现有的需求优先级排序过程中,经常忽视需求相关性的问题,提出了使用解释结构模型对需求进行层次化的处理,使之显示出需求的相关性。首先通过模型的精化来解决功能结构有向图中不能存在回路的问题,然后使用解释结构模型获得多级递阶有向图,接下来进行区域间集合运算,最后得到需求最高优先级集合。⑶提出了结构化层次分析的需求优先级排序方法。针对基于解释结构模型设定最高需求优先级算法中,缺乏对层次化模型顶层的所有需求进行优先级设定的问题,提出了将反应系统层次性的解释结构模型的建模思想与具有精确计算的层次分析法相结合,在保持需求相关性前提下对所有需求优先级排序的方法,并将该方法命名为结构化层次分析法,案例分析的结果表明性能总体上优于层次分析法和分级法,该方法能够有效提高需求优先级设定的合理性。⑷提出了风险驱动的需求组合方案优化决策算法。针对当前软件开发过程中,需求获取通常不完整、容易发生变更和风险因素经常被忽略的问题,提出了首先以解释结构模型分析得到的层次化需求集为基础,然后使用0-1背包问题的回溯求解算法,将成本作为约束条件,选择能够创造更大价值的需求,生成多个可行的需求组合方案,接下来考虑价值、成本以及风险因素,使用Wiegers方法和层次分析法来设定不同需求组合方案的优先级,来完成对若干个候选的需求组合方案的决策,最后得出将要迭代实现的一个需求组合方案,并为下一次迭代做准备,直至实现所有的需求。本文结合项目实例,对上述研究的内容进行了案例分析,研究结果表明,提高了需求的获取效率、完整性和可复用性,使设定的需求优先级排序更加合理,有利于项目涉众之间冲突的解决,较大提高了项目的成功率。

【Abstract】 The process of requirements elicitation is in the initial stage of the front-end softwaredevelopment. It performs throughout the project of software development. Requirementselicitation determines directly the success or failure of the project.By the analysis and summary of the existing process of requirements elicitation, and theresearches of the advantages and disadvantages about the methods of requirements elicitationand prioritizing requirements, some novel ideals and algorithms were proposed in this paper.In addition, an example was given to verify the feasibility and rationality of these algorithmsand methods.The main researches of this paper are on the following:(1)The algorithm of requirements elicitation based on requirements pattern matching wasproposed. According to reusability and completeness of the requirements that were reflectedeffectively by the requirements patterns and requirements templates in the project, thealgorithm of requirements elicitation based on requirements pattern matching was proposed.User requirements were elicited by requirements pattern that were selected by patternmatching. The criteria that were used to estimate the completeness of requirements wereintroduced. It further improved the completeness of requirements elicitation.(2)The algorithm of setting the highest priority of requirements based on theinterpretative structural model was proposed. According to the interdependences ofrequirements that were often ignored in the existing methods,the layering of requirementswas emerged by modeling about interpretative structural model. Then, the fact that it couldn’thave circuit in structure graph of function was solved by the abstracting or refining of model.Following, the multi-level hierarchical directed graph was elicited by interpretative structuralmodel, and the operation of the sets was applied to the area of graph. Final, the set of thehighest priority of requirements was got.(3)The method of prioritizing requirements based on the structuring analytical hierarchyprocess was proposed. According to the algorithm based on interpretative structural modelthat prioritized the highest priority of requirements by qualitative analysis,the method ofprioritizing requirements was proposed in a quantitative way. The method was based on the combination of interpretative structural model and analytical hierarchy process, and calledstructuring analytical hierarchy process. The analysis of case was given, and the strengths andweaknesses of analytical hierarchy process and the method were compared. The results showthat this method is better than analytical hierarchy process and ranking as s whole, and canimprove the rationality of the prioritizing requirements.(4)A risk-derived algorithm for prioritizing the solution of requirements combinationwas proposed. According to the fact that requirements elicited was incomplete, eased tochange and risk factor was often ignored, the algorithm that was based on analysis ofinterpretative structural model, a backtracking algorithm of0-1knapsack problem, cost asconstraint conditions, the requirements with the max value that were selected, and some setsof requirements that were generated was proposed. Then, the solutions of requirementscombination were prioritized by Wiegers’ method and analytical hierarchy process after thecost, value, and risk were considered adequately. An iteration of software project was endwhen the only solution of requirements combination was selected and realized. It was carriedon until all user requirements were implemented.In this paper, the analysis of case was given. The results show that these algorithms andmethods can improve the efficiency of requirements elicitation; the completeness andreusability of requirements, the rationality of the prioritizing requirements, and the solution ofthe conflict among stakeholders and enhance significantly the success probability of theproject.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络