中国科学院软件研究所机构知识库
Advanced  
ISCAS OpenIR  > 互联网软件技术实验室  > 学位论文
学科主题: 计算机软件,计算机软件::软件工程
题名:
基于随机过程仿真的测试驱动开发策略研究及其实现
作者: 苏峰
答辩日期: 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.
语种: 中文
内容类型: 学位论文
URI标识: http://ir.iscas.ac.cn/handle/311060/2388
Appears in Collections:互联网软件技术实验室 _学位论文

Files in This Item:

There are no files associated with this item.


Recommended Citation:
苏峰. 基于随机过程仿真的测试驱动开发策略研究及其实现[D]. 北京. 中国科学院研究生院. 2010-05-27.
Service
Recommend this item
Sava as my favorate item
Show this item's statistics
Export Endnote File
Google Scholar
Similar articles in Google Scholar
[苏峰]'s Articles
CSDL cross search
Similar articles in CSDL Cross Search
[苏峰]‘s Articles
Related Copyright Policies
Null
Social Bookmarking
Add to CiteULike Add to Connotea Add to Del.icio.us Add to Digg Add to Reddit
所有评论 (0)
暂无评论
 
评注功能仅针对注册用户开放,请您登录
您对该条目有什么异议,请填写以下表单,管理员会尽快联系您。
内 容:
Email:  *
单位:
验证码:   刷新
您在IR的使用过程中有什么好的想法或者建议可以反馈给我们。
标 题:
 *
内 容:
Email:  *
验证码:   刷新

Items in IR are protected by copyright, with all rights reserved, unless otherwise indicated.

 

 

Valid XHTML 1.0!
Copyright © 2007-2017  中国科学院软件研究所 - Feedback
Powered by CSpace