敏捷开发环境下软件可靠性分析及相关问题研究

敏捷开发环境下软件可靠性分析及相关问题研究

论文摘要

敏捷方法,如极限编程(XP,Extreme Programming)等,是一种适应性的开发方法,主要关注的是软件开发效率和产品上市时间。强调与客户的充分合作,它根据客户的需求变化适时调整开发计划,其开发过程是渐进的、增量迭代的。敏捷宣言强化响应变更、客户协作和可用的软件,弱化了文档、合同和工具。经常地交付系统,获得用户反馈以促进软件产品最终质量的提高,避免了开发过程的恶性膨胀,避免了软件错误的集中爆发。当前,由于人们广泛地认为敏捷方法是适应性的开发过程,而非可预测性的,对开发周期、工作量、可靠性等量化分析问题研究较少。然而,作为最重要的敏捷方法,极限编程具有用户素材可以量化、迭代增量开发的显著特点,为进一步的量化分析提供了依据。本论文以敏捷方法之一的极限编程方法为主要研究对象,结合其需求管理和开发过程的特点,对极限编程过程进行量化分析研究。探讨了敏捷方法动态的需求形成、变更管理及需求实现过程,本论文发现极限编程方法实际上提供了一种严格的用户需求确认和验证手段;提出了极限编程迭代周期和迭代工作量预计方法,提出基于敏捷开发过程的可靠性管理和软件产品初始可靠性估计方法,本论文研究结果表明敏捷方法也并非是不可预测的;最后讨论了极限编程环境下开发人员和客户的协作关系。本文在收集和分析了大量近年来国内外关于敏捷开发方法方面的研究报告、学术论文等文献的基础上,对敏捷方法量化分析问题进行了研究,主要的研究工作和成果包括以下几个方面:1、根据用户素材可以估计工作量,以及在固定时间盒下进行迭代增量开发的特点,本论文提出一种简单、实用的估计XP项目开发效率和迭代周期的数学方法。这种方法可用于项目开发成本和工作量估计。XP项目开发周期依赖于项目团队的开发效率,这个效率可以用每个迭代开发阶段加入的用户素材被成功实现的概率来描述。采用基于历史数据和项目规模进行估计的方法度量项目团队的开发效率及估计项目开发时间。2、提出项目规模和工作量的度量方法,给出了基于用户素材的迭代阶段工作量(IE)及任务效率(TE)等过程指标的计算方法。考虑实际开发中难以保证每个素材大小一样,使用用户素材点来度量用户素材的工作量更符合项目实际,并据此度量和预计项目规模、迭代工作量、团队效率等。任务延迟率和素材误估率反映了开发人员对项目中不稳定因素的把握程度。3、本论文分析XP项目持续测试过程和软件产品迭代增长过程,对缺陷修正率进行度量并进行过程模拟,预计不同功能组在不同迭代周期产生的缺陷数。结合XP方法下测试驱动、多版本发布和用户使用测试的实践,探索XP测试过程在不同迭代周期对每个功能组缺陷的影响。迭代计划把一次发布中的用户素材分成了不同的功能组。数值模拟结果显示软件核心功能组在迭代结束时,接近零缺陷。研究结果表明基于用户使用测试和迭代增量开发的XP测试过程对提高软件产品的可靠性有重要作用。4、本论文给出了XP可靠性管理过程,并结合缺陷纠正率和测试充分度提出了软件初始可靠性预计方法。探讨在XP过程中引入可靠性管理实践,通过指导和增强用户使用测试,促进软件可靠性的提高。版本计划把用户素材分成了不同的功能组。XP方法每次交付给用户一个工作软件,用户进行使用并进行评价,因此本论文认为在不同发布阶段交付给用户的软件具有一定可靠性,在实现用户所有功能性需求以后,软件具有初始可靠性。基于用户使用剖面设计测试用例,并指导客户对工作软件的测试,收集历史数据,这种初始可靠性是可以度量的。对于有k个版本的XP项目,在开发结束时有k组失效数据,首先实现的软件功能在迭代过程中有一个可靠性增长过程。用一组数据对该方法进行了数值模拟。5、本论文结合XP项目实践的特点,提出了开发方和客户在开发活动中的协作模式,该模式规范了双方的活动、义务,并指出了协作过程中应该予以重视的问题。敏捷方法如XP等在强调快速适应变更、强调客户协作和个体作用,然而有关文献对于双方如何协作未提供具体的指导方案。面对软件开发过程中不确定因素及过程管理中的矛盾,项目管理人员、软件开发人员、客户必须有一个共同应对的策略。客户在敏捷开发程中扮演着十分重要的角色,为了促进了开发人员与客户之间的有效协作,提出双方的协作模式尤其重要。并给出了需求形成过程的算法实例。

论文目录

  • 摘要
  • ABSTRACT
  • 目录
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.2 国内外研究现状
  • 1.3 存在的问题
  • 1.4 主要研究内容
  • 1.5 本论文的组织
  • 第二章 敏捷项目需求管理
  • 2.1 敏捷方法概述
  • 2.1.1 敏捷方法
  • 2.1.2 极限编程
  • 2.2 敏捷项目中的需求管理与实现
  • 2.2.1 用户素材书写过程
  • 2.2.2 用户需求变更管理过程
  • 2.2.3 用户素材实现过程
  • 2.3 本章小结
  • 第三章 XP项目迭代周期估计
  • 3.1 不同迭代阶段的用户素材
  • 3.2 用户素材完成率度量
  • 3.3 XP项目迭代周期
  • 3.4 样例
  • 3.5 本章小结
  • 第四章 XP项目迭代工作量及相关度量
  • 4.1 素材点与工作量的关系
  • 4.2 基于素材点的度量
  • 4.2.1 XP项目规模和预期迭代工作量
  • 4.2.2 实际迭代工作量和额外工作量
  • 4.2.3 XP团队任务效率和任务延迟率
  • 4.2.4 XP项目迭代工作量
  • 4.3 样例
  • 4.4 本章小结
  • 第五章 XP过程对软件缺陷影响分析
  • 5.1 XP测试过程
  • 5.2 软件产品MTBF
  • 5.3 估计缺陷改正率RCD
  • 5.5 样例
  • 5.6 本章小结
  • 第六章 基于XP方法的软件可靠性分析
  • 6.1 XP项目可靠性管理
  • 6.1.1 强化用户测试的XP项目生命周期
  • 6.1.2 敏捷过程中的可靠性保证实践
  • 6.1.3 XP测试
  • 6.1.4 由XP客户确定的操作剖面
  • 6.2 迭代产品的初始可靠性
  • 6.2.1 XP迭代增量开发
  • 6.2.2 XP产品可靠性
  • 6.3 样例
  • 6.4 不同功能组可靠性的Bayes分析
  • 6.4.1 Bayes统计方法
  • 6.4.2 不同功能组可靠度Bayes分析模型
  • 6.5 本章小结
  • 第七章 敏捷方法中开发商与客户协作关系研究
  • 7.1 XP方法的特点
  • 7.2 有客户参与的主要敏捷实践
  • 7.3 基于敏捷开发的协作过程
  • 7.3.1 开发方活动
  • 7.3.2 客户活动
  • 7.3.3 协作过程中存在的问题
  • 7.4 协作活动举例
  • 7.5 本章小结
  • 第八章 总结与展望
  • 8.1 主要研究成果
  • 8.2 进一步的研究工作
  • 参考文献
  • 致谢
  • 附录
  • 附录一 攻读学位期间论文发表情况
  • 附录二 攻读学位期间主持和参与的科研项目情况
  • 相关论文文献

    • [1].生产力、商业价值和敏捷[J]. 程序员 2009(02)
    • [2].基于敏捷方法的校园拼单购物系统分析与设计[J]. 中国新技术新产品 2018(02)
    • [3].敏捷方法:源于最佳实践,升级软件开发[J]. 中国制造业信息化 2011(24)
    • [4].应用型本科软件工程课程敏捷方法实践教学探索[J]. 西昌学院学报(自然科学版) 2017(04)
    • [5].在Visual Studio 2010中实践Scrum[J]. 程序员 2010(04)
    • [6].频繁更换结对之惑[J]. 程序员 2008(07)
    • [7].同时运用用户故事和用例有效开发敏捷需求[J]. 信息与电脑 2013(11)
    • [8].基于敏捷方法的雷达系统软件测试V模型研究与改进[J]. 无线互联科技 2014(12)
    • [9].以用户为中心的敏捷开发[J]. 中国计算机用户 2008(31)
    • [10].基于微简敏捷方法的软件开发新模式[J]. 电子技术与软件工程 2019(02)
    • [11].敏捷开发正走向成熟[J]. 软件世界 2009(07)
    • [12].基于敏捷教学的创新创业课程体系研究[J]. 新西部 2018(26)
    • [13].Scrum敏捷方法在快速开发中的实践及改进[J]. 电脑知识与技术 2012(21)
    • [14].图书馆敏捷项目管理研究综述[J]. 高校图书馆工作 2020(02)
    • [15].基于敏捷方法的发控系统软件测试模型研究和改进[J]. 无线互联科技 2019(05)
    • [16].敏捷创新:改变我们的工作方式[J]. 商学院 2016(05)
    • [17].Scrum敏捷方法在电子商务研发项目中的应用分析[J]. 经营管理者 2019(10)
    • [18].基于Scrum敏捷方法的测试管理策略探讨[J]. 电子测试 2016(08)
    • [19].基于CMMI质量管理体系引入敏捷方法的实践[J]. 计算机与网络 2014(01)
    • [20].基于Scrum敏捷方法自主学习系统的设计[J]. 黑河学院学报 2020(01)
    • [21].第三方软件动态测试模型的研究[J]. 电子测试 2020(05)
    • [22].敏捷方法在GJB 5000A二级中的应用研究[J]. 软件 2020(08)
    • [23].DD公司基于敏捷方法的研发项目流程优化研究[J]. 中国管理信息化 2018(02)
    • [24].敏捷过程改进模型与方法[J]. 电子技术与软件工程 2015(04)
    • [25].谈计算机软件开发中的敏捷方法[J]. 通讯世界 2016(03)
    • [26].敏捷进行时——专访敏捷方法学家Scott W.Ambler[J]. 程序员 2010(03)
    • [27].敏捷在实践[J]. 程序员 2010(10)
    • [28].平衡领导力:为项目而生[J]. 项目管理评论 2019(03)
    • [29].战略还是工具?企业高管容易陷入两大数字化误区[J]. 中国机电工业 2016(09)
    • [30].敏捷测试理论与实践[J]. 软件导刊 2009(01)

    标签:;  ;  ;  ;  ;  ;  ;  

    敏捷开发环境下软件可靠性分析及相关问题研究
    下载Doc文档

    猜你喜欢