Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

迭代开发模式下的质量管理论文

发布时间:2022-06-01 10:47:41 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):
 
  摘要:目前指挥信息系统领域软件功能日益复杂,规模庞大,用户需求多变,项目周期短。为适应多变的需求和紧迫的开发时间,很多项目采用迭代开发模式。迭代开发即迭代增量式开发,通过与传统的瀑布式开发相反的过程,它弥补了传统开发方式中的一些弱点,具有更高的开发效率。本文介绍了迭代开发过程的主要阶段,并针对各阶段中的质量管理要求进行了阐述。
 
  关键词:迭代开发;需求分析;设计;编码测试;迭代版本
 
  Quality Management in Iterative Development Mode
 
  MA Xiao
 
  (The 28th Research Institute of China Electronics Technology Group Corporation,Nanjing Jiangsu 210000)
 
  【Abstract】:At present,the command information system domain software function is increasingly complex,the scale is huge,the user demand is changeable,the project cycle is short.Many projects adopt an iterative development approach to meet changing requirements and tight development time.Iterative development is iterative incremental development,through a process that is the opposite of traditional Waterfall model,it makes up for some of the weaknesses in the traditional way of development,making it more efficient.This paper introduces the main phases of the iterative development process and describes the quality management requirements in each phase.
 
  【Key words】:iterative development;requirements analysis;design;coding testing;iterative release
 
  0引言
 
  在迭代式开发中,完整的软件开发工作被分解为多个小项目,这些小项目被称为一系列的迭代。每一次迭代都包括了需求分析、设计、编码与测试。采用这种方法,在需求被完整地确定之前就可以启动软件开发工作,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作并提供小版本给客户测试。然后,通过客户的反馈来进一步细化需求,并开始新一轮的迭代开发,直至最后满足客户的所有需求。

\
 
 
  传统瀑布模式下的开发过程包括需求分析、设计、编码和测试[1],每个阶段工作都必须全部完成,才能进入下个阶段,这种方式下的质量管理明显不能适用于迭代开发模式。迭代开发初期往往缺乏详细的需求和设计描述文档,只有在所有迭代周期完成后需求和设计文档才能定稿,每一次迭代过程中都包含了需求分析、设计、编码与测试,如果每一次迭代过程都以传统瀑布模式下的质量管理方式进行管理,质量成本将大大提高,而且研发效率也大大降低。
 
  在推动迭代开发的同时,降低项目质量管理的成本,提高研发人员工作效率,保证项目交付质量,变得日益重要。本文结合指挥信息系统开发过程,探索了如何在迭代模式下开展质量管理,达到质量与效率的双赢。
 
  1迭代开发模式
 
  迭代开发模式简要流程如图1所示。

\

图 1 迭代开发模式简要流程图
 
 
  在每一个迭代周期都包含了需求分析、设计、编码和测试[2],在开发过程中可以根据开发情况组织多次测试,并根据测试情况由开发人员进行编码完善软件质量。通过这种小步快跑的方式,经过若干次测试、编码、版本构建后,软件质量可以在较短时间内快速达到稳定状态。
 
  迭代式开发适用于项目事先不能完整定义产品所有需求、计划多期开发的软件开发,与传统的瀑布式开发相比,其具有以下特点:能够尽早的向用户提供试用,对需求变更的适应性较强,持续的系统集成,降低系统建设风险,提交更高质量的产品,易于项目开发进度控制。迭代式开发把复杂的需求分解成短期内比较容易解决的小需求,可以在短期内部分实现系统,提供给用户试用,从而让系统的缺陷尽早地暴露,促使项目负责人组织项目团队及时解决缺陷,加强了项目进度的可控程度,保证项目的按时完成。迭代式开发对风险控制来说非常有利,在传统的开发流程中直到项目开发后期,也就是测试阶段才能有效的降低系统风险,而在迭代式开发中,在项目开发的早期通过几次迭代则可以解决掉系统风险[3]。
 
  迭代式开发的方式有效提高了项目的开发效率,在提高效率的同时还需要严控产品的质量,为了确保最终交付产品的质量,在每一个迭代周期内应进行高效的质量管理确保迭代周期内产品的质量。迭代周期内的四个阶段虽与传统瀑布式项目过程类似,但是为了提高各阶段开发效率、降低管理成本,针对各阶段的质量管理方式有很大区别。
 
  2质量策划阶段
 
  项目质量策划是后面所有软件设计活动的基础。策划阶段首先需要基于获取、分析、整理及确认来获得软件需求,并采用层次分析法确定各需求的重要度;其次,将用户的需求进行分解,逐步树立软件产品和开发过程的质量目标;接着梳理软件开发的总过程并规划其子过程;最后,将第二步规划的质量目标转化为总过程及各个子过程的质量目标。在迭代开发模式下,质量策划需依据质量目标识别项目风险,策划配置管理,建立有效的会议制度,确定各阶段所需形成的文档以及经历几个迭代周期,确保每个迭代周期能快速有效、保质保量地完成阶段工作,形成有效的迭代周期产品。
 
  3需求分析阶段的质量管理
 
  需求分析是软件开发的一个重要阶段,这一阶段的主要工作是需求收集、制定和评审。该阶段的工作分三个步骤:收集原始需求→制定产品需求→产品需求评审。具体来说,首先通过各种渠道如用户调查、竞品分析等来收集原始需求,这些收集到的需求多半是概念性的、模糊的,无法直接用来指导进一步的开发工作,因此需要进一步进行归类、筛选,以整合为可指导开发的具体产品需求。在制定产品需求阶段,需要结合当前开发产品的特性,遵循改动最小及扩展性最大的原则来制定产品需求,通过这样的需求制定可以有效降低系统风险,同时提高系统灵活性。产品需求制定好后,需邀请用户进行评审,确保需求制定符合用户要求。
 
  每一个迭代周期内对原始需求进行分解细化,将原始需求分解到各分系统/模块,由各分系统/模块负责人对原始需求进行条目化分析,并制定出各条目化需求的优先级。条目化的需求需录入需求库,并根据优先级选择本迭代周期需实现的需求。为减小管理成本,提高效率,可邀请用户直接对条目化需求进行评审,无需对详细的需求文档进行评审。同时,定期收集用户在系统试用过程中的反馈意见,项目负责人组织召开需求对接会议,对变更的需求进行详细讨论,同时进行需求变更后的影响域分析,确定具体变更内容和修改方案,逐条答复用户提出的需求意见,梳理形成需求对接纪要。通过定期需求对接会的方式,确保各分系统/模块及时了解用户需求,以防产品偏离用户使用需求,导致大量返工,费时费力。
\
 
  4设计阶段的质量管理
 
  设计阶段的主要工作是基于产品需求进行软件设计。软件行业有一句老话是:软件质量是设计出来的,对于迭代式开发也是如此。设计的好坏对软件质量的高低有着决定性的影响。设计需求包含了人机交互设计、数据结构、模块交互接口以及易用性、安全性、可扩展性等诸多方面的设计思路,阐述了满足产品需求的详细设计方案。
 
  迭代周期内设计人员依据需求库首先匹配现有产品解决方案库,如果能够匹配,则直接复用,视情进行适应性功能模块改造分析,如果不能匹配,识别出新研、改造模块,进一步分析并完善产品清单。为提高效率,通过周期性例会或专题会议,由各分系统负责人组织分系统内的设计人员,通过简单的讨论,形成初步设计(主要是功能/性能/接口/数据的设计),设计的结果可以使用最简设计模板进行记录,迭代周期内无需形成详细的设计文档。
 
  5编码测试阶段的质量管理
 
  编码阶段的主要工作是严格按照设计需求来完成编码,并组织进行代码评审。测试阶段的主要工作则是尽可能多地覆盖需求点,并合理安排测试优先级,以将影响较大的缺陷提前暴露出来。在提高效率的同时为确保软件质量,迭代周期内编码和测试工作可进行多次迭代。
 
  迭代周期内,各分系统/模块的编码人员至少每天提交一次代码,提交的代码应该是可运行的软件,提交代码时在提交注释中给出对应的需求条目标识,并执行代码缺陷自动检测和单元测试。代码缺陷自动检测可通过代码扫描工具进行。单元测试可以使用自动化测试工具或手工执行测试,要求至少覆盖功能正常、异常、边界的情况,在提交源代码时同步提交测试代码或脚本。软件测试人员执行配置项测试、系统级测试,先针对软件版本对应的条目化需求进行重点测试,再选择相关用例对受影响的功能进行测试,要求每个迭代周期至少执行一遍全部配置项测试用例。各分系统/模块负责人组织设计和编码人员分析和修复软件缺陷,由软件测试人员进行回归测试,验证缺陷归零情况。
 
  6迭代版本的形成
 
  一个迭代周期经历过需求分析、设计、编码、测试后形成相应的迭代版本,配置管理师在对应的软件版本上打上标签固化版本,并确定下一轮迭代的初始版本号。必要时,可邀请用户对项目迭代版本进行试用,试用时发现的问题及时反馈到项目组,项目组对问题进行分析整改后,提交版本,配置管理师对更改后的软件版本打上标签固化版本。迭代周期完成后,项目负责人组织项目团队对项目本轮迭代成果进行审查,对需求库中条目化需求完成度进行确认。
 
  7结语
 
  应用软件开发过程中,用户需求不明确的情况较为常见,这就导致在开发过程中不可避免的会出现需求变更的情况。针对这样的问题,迭代式开发将整个项目周期分解成多个更小的更易管理的迭代周期,每个周期都会形成迭代版本供用户进行试用,这样可以让用户更早更多地参与软件开发,确保最终产品满足用户需求。因此迭代开发模式已经成为众多软件公司实施开发的流程规划方法。与传统瀑布模式相比,它具有降低风险、持续满足客户需求变更、保证项目开发进度和更具灵活性的特点。本文针对迭代开发模式下主要阶段的质量管理要求进行了探索,只有对每个迭代周期内质量管理细化要求,确保每个迭代周期内产品的质量,才能确保最终产品的质量。
 
  参考文献
 
  [1]顾明.软件工程中几种常用软件生命周期模型的简介[J].计算机时代,2003(1):20-21.
 
  [2]蔡牧.BGQT迭代式开发软件项目风险管理研究[D].沈阳:东北大学,2016.
 
  [3]宋成光.迭代式开发在信息化项目中的应用[N].中国信息化周报,2013(06).
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/38658.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml