节点文献
基于约束规划的软件过程控制方法研究
Research on Constraint-based Software Process Control
【作者】 万静;
【作者基本信息】 北京化工大学 , 控制理论与控制工程, 2011, 博士
【摘要】 借鉴制造业通过控制和改进工艺流程提高产品质量的方法,软件工程界提出通过控制和改进软件过程来提高产品质量的思想。软件过程已成为保障软件质量的关键因素。针对软件过程中的动态性和不确定性,现有的过程模型缺乏对执行过程控制的支持。本论文基于软件过程理论和约束规划,对动态软件过程控制方法进行研究。本文提出了TDSPCM模型;定义了组织标准的过程框架;提出将标准过程框架进行裁剪的方法;根据裁剪后的过程框架,将过程活动分解为需要完成的任务集合,得到执行过程;使用面向任务的计划方法,对过程任务和资源进行调度和分配;在过程执行过程中,通过定期评审任务执行情况和外界变化,当任务执行数据超过给定阈值,则对计划进行调整,从而实现对执行过程的控制;本文基于XML构建了SPM,可实现过程模型的规范化描述,探讨了其在数据交换中的应用,为组织间过程数据共享提供了解决方法。对于TDSPCM模型中的关键问题,即任务和资源的分配问题,采用约束规划方法,建立了软件过程调度的约束模型。根据软件过程中的任务和工具特点,确定了全局约束变元和约束条件,建立了静态约束模型,并对分支和搜索策略进行了讨论。通过实验证明了该方法的实际应用价值。针对动态约束模型,提出了两种求解方法。本文分析了软件过程中动态的变化特性,针对问题改变通常发生在局部几个变量上,任务的执行时间和约束发生较小变化的情况,在分析现有LC算法的基础上,提出了一个改进的LC算法,该算法利用启发式知识和禁忌策略,具有较好的求解速度和解的质量。实验结果表明,改进的算法在求解速度和解的质量上都明显优于LC算法。针对软件过程中对任务发生概率的经验型知识,提出了采用按比例缓冲生成鲁棒基线解,在变化发生时采用调整算法进行修正的策略。为了检验该方法的有效性,进行了大量的实验和不同类型的结果分析。实验结果表明该方法求得的解具有较好的鲁棒性。
【Abstract】 Learning from the approach of controlling and improving processes to improve product quality in manufacturing, the idea of controlling the software process to improve software product quality is proposed by software engineering researchers. Software process has become a key factor of software quality. The existing process models are lack of support for the dynamics and uncertainty in software process. In this paper, dynamic software process control methods based on software process theory and constraint programming are studied.In this paper, we propose a TDSPCM model. An organizational standard process framework is defined; an approach for tailoring the standard process methods is proposed; process activities are decomposed into a collection of tasks based on the tailored process framework; tasks and resources are allocated by task-oriented scheduling methods; the process, which is measured through regular review and external changes, is adjusted when the data exceed a given threshold to achieve process control during process implementation; a SPM based on XML is built to realize the standardization process model description, and its application in data exchange is discussed, which provides a solution to data sharing among organizations.The key issue in TDSPCM is scheduling of tasks and resources. Constraint programming is used to model the problem. According to the tasks and tools of software process, the global variables and constraints are determined, a static constraint model is established, and branch and search strategies are discussed. Experimental results demonstrate the effectiveness of the method.We propose two approaches to solve the dynamic constraint model. The characteristics of the dynamic changes are analyzed. Then, ar improved LC is proposed, which uses heuristics and taboo strategy to get better solutions in a short time. The approach aims at minor changes of variables and constraints. Experimental results show that the improved algorithm is better than LC algorithm in solution quality and efficiency. According to the experience-based knowledge of task probability, we propose a proportion buffered approach to generate baseline solution. If changes occur, an adjustment algorithm is used to adjust the base solution A large number of experiments were carried out, and results were analyzed. Experimental results show that the solution obtained by this method has better robustness.
【Key words】 software process; process modeling; process control; constraint programming; scheduling;