CORC  > 软件研究所  > 互联网软件技术实验室  > 学位论文
题名基于随机过程仿真的测试驱动开发策略研究及其实现
作者苏峰
学位类别硕士
答辩日期2010-05-27
授予单位中国科学院研究生院
授予地点北京
导师王永吉
关键词软件过程
学位专业计算机软件与理论
中文摘要现代软件开发项目规模的日益增大和复杂度的日益提高要求软件组织采用更有效的软件开发方法。学术界和工业界提出了一系列的软件工程方法,其主要目的是提高软件产品质量,保障项目进度,降低项目成本,减少维护费用。测试驱动开发(Test-Driven Development TDD),作为敏捷开发中一种非常流行的方法,经过最近十来年的发展,无论在工业界还是在学术界均有大量成功应用案例;同时测试驱动开发的思想也已经日益为越来越多的软件开发组织和开发者所接受。 尽管测试驱动开发(TDD)可以提高软件产品的质量和软件开发人员的生产率,但是其实施难度令众多软件开发组织对于测试驱动开发方法望而却步。同时在实际项目中由于进度压力,严格的测试驱动开发往往不能自始至中贯彻执行,而且在满足软件产品质量要求的条件下,我们没有必要为了达到零缺陷而对每个开发模块进行测试驱动开发。因此我们有必要对于软件组织是否采用TDD方式开发,对于哪些模块采用TDD方式开发进行有效合理的评价,以便为软件项目管理人员提供决策依据。软件过程仿真,无疑是一种低成本,且较为科学的方法,它能够在已有信息的基础上,提供科学的决策依据。 本文以测试驱动开发大量的经验研究结论为依据,提出一种基于过程模型随机仿真的TDD模块选取方法。该方法以随机进程代数为建模工具,通过用例度量软件模块的复杂性,来获取模型的仿真参数,进行仿真并得到该模型的仿真结果。最终采用TDD模块选取算法来分析仿真结果,得出最佳TDD实施策略,可以为项目经理提供合理的TDD实施策略。本文主要研究内容包括 第一、提出一种度量软件模块复杂性的简易计算方法,该方法从软件模块的内部复杂度和外部复杂度出发,引入结构熵的概念;用结构熵度量软件外部复杂度,用例中的事件流来度量内部复杂度,最终得到模块复杂度和该模块相应的仿真参数。 第二、对于测试驱动开发过程和传统的软件开发过程,建立随机进程代数仿真模型。经过比较多种仿真方法后,选取Gibson-Bruck随机仿真方法对于软件过程进行仿真。并分析了采用该算法的合理性。 第三、提出一种基于过程模型随机仿真的TDD实施模块选取算法,从仿真结果出发,为项目经理提供合理的决策支持。同时为了便于本方法的应用,设计实现了基于过程模型随机仿真的TDD模块选取系统。
英文摘要As the scale and the complexity of modern software development projects have been increasing, software organizations are required to adopt more effective development methods and tools. Both in the academia and industry a series of software engineering approaches has been developed to improve software quality, control the project progress, and reduce project development and maintenance cost. T Test-Driven Development (TDD), as one agile development method, is very popular. During the past decade, a large number of successful applications came forth both in academia and industry. TDD has attracted lots of attention in the software engineering community. Although TDD can improve the quality and productivity of software, software project managers often need to make hard decisions to decide whether to adopt it in a project. Since under the pressure of schedule and budget, the test-driven development can not be strictly followed from the beginning to the end. We also need not to achieve zero-defect in each module, as long as the final software product meets the quality requirements. Therefore, it is of paramount importance to study the strategies deciding whether to adopt TDD in a project or which modules should be developed with TDD, so as to provide decision support to project managers. In this thesis, we provide a new approach for TDD strategy selection using stochastic simulation based on the process algebra. The following are included in this thesis: Firstly, a method is proposed to compute the internal and external complexity of software modules. The concept of structure entropy is introduced to calculate the external complexity of a module, while the event stream of use cases is employed to measure the internal complexity. Then, the stochastic parameters for simulation models are obtained from those metrics. Secondly, a simulation model based on the stochastic process algebra is established for TDD process and the traditional software development process, respectively. The Gibson-Bruck algorithm is selected to conduct a stochastic simulation analysis and the results of the two kinds of processes are compared. Thirdly, a simulation-based TDD module selection algorithm is proposed. The algorithm synthesizes the results from the raw simulation data, and provides a concrete decision support to software project managers. Meanwhile, in order to facilitate the application of this method in real development environment, a system is developed to support the TDD strategy selection process.
语种中文
学科主题软件工程
公开日期2010-06-17
内容类型学位论文
源URL[http://124.16.136.157/handle/311060/2388]  
专题软件研究所_互联网软件技术实验室 _学位论文
推荐引用方式
GB/T 7714
苏峰. 基于随机过程仿真的测试驱动开发策略研究及其实现[D]. 北京. 中国科学院研究生院. 2010.
个性服务
查看访问统计
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。


©版权所有 ©2017 CSpace - Powered by CSpace