您现在的位置是:首页软件开发论文

轨道交通车辆软件开发过程中的质量保证措施

发布时间:2018-09-30 11:07:37更新时间:2018-09-30 11:07:37 1

  摘要基于EN50128标准提出轨道交通车辆软件系统全生命周期质量管控策略。在遵循国际标准认证的质量管理体系框架内,定义适合轨道交通车辆软件产品生命周期模型及各阶段质量保证任务。针对软件生命周期各阶段不同质量任务,全面阐述软件需求、架构设计、软件编码、软件测试及维护运营等各阶段保证软件质量的管理方法和措施。通过制定并运用软件需求检查清单、安全性设计技术、编码规范、验收测试标准、维护变更管理等质量审核手段,来保障软件产品的质量要求。

  关键词轨道交通车辆;软件开发;质量保证;软件生命周期;过程控制

  车辆软件系统作为列车运行安全的关键系统,承担着传送列车运行控制命令、监测列车状态信息、诊断设备故障数据及在线计算等多种任务。软件开发全过程质量控制是保证其产品质量安全可靠的重要手段。如何实施软件全生命周期质量管控,减少软件产品缺陷,降低软件开发成本,已成为轨道交通车辆软件研发必须面临的关键性课题。

  1软件开发团队

  轨道交通车辆软件开发团队组织应符合中ISO9000系列标准中的质量体系要求。该体系覆盖整个生命周期的所有质量活动,包括计划、开发、执行、管理、测试及问题报告等。该质量体系要求涉及管理者职责、质量体系、质量评审、设计控制、文件和资料控制、产品标志与可追溯性、过程控制、试验、纠正及预防措施、质量记录的控制、内部审核、培训等方面内容。软件开发团队应按照相关的规程和准则实施。

  如开发的软件产品具有安全完整性等级,其软件开发团队成员中设计员、执行员、验证员和确认员之间都必须具有相对独立性。设计员、执行员和验证员可通过项目经理进行管理,确认员与评估员应独立于项目经理,其中确认员对软件产品有批准和发布权。不存在约束条件的软件产品其软件开发团队设计员,执行员、验证员和确认员可以是同一个人。轨道交通车辆软件开发团队的组织架构如图1所示。

图1

  2软件生命周期模型

  轨道交通车辆软件典型生命周期应包括需求阶段、架构设计阶段、编码阶段、测试阶段、集成阶段、确认阶段和维护阶段。软件生命周期规划了软件开发的阶段和活动,记录贯穿整个软件生命周期的所有与软件相关的质量活动。生命周期模型定义每个阶段软件开发活动和主要质量任务与检验标准,以及每个任务和活动负责的组织部门。图2为软件生命周期图。

图2

  3软件开发过程中质量保证措施

  3.1软件需求质量

  软件系统需求阶段应编写软件需求规范,阐述软件的功能、可靠性、可维护性、安全性、易用性及可移植性等相关内容,描述应完整、清楚、准确。软件需求可验证、可测试、可维护,在生命周期所有阶段均可追溯。软件需求阶段质量应建立软件需求检查单,确保每个软件需求的正确性与完整性,从而保证软件需求阶段的质量。软件需求应从合同、技术规范,顺次追溯到软件架构设计、软件模块设计、测试用例、软件编码。表1为软件需求检查单。

表1

  3.2软件设计质量

  软件系统设计阶段分为软件架构设计与软件组件(模块)设计,包含下列内容:软件组件应追溯到软件架构设计;软件组件与环境的接口描述;软件组件之间的接口描述;组件功能的划分;主要算法和顺序;确定可追溯到上一级别的所有最低层软件组件;与环境以及其它具体输入输出模块的详细接口;详细的算法和数据结构;每个软件模块应可读、易于理解和可测试。

  为保证软件的安全性与可靠性,在轨道交通车辆软件设计阶段,应基于EN50128标准选用表2中的技术方法与措施[2],其中包括形式化方法、模块化方法、结构化编程等技术措施。采取适合轨道车辆软件不同系统的设计技术措施组合,使其软件架构设计与模块设计达到相应软件安全等级,从而保障软件设计质量满足轨道车辆用途要求。

表2

  3.3软件编码质量

  软件编码阶段其软件开发应遵循制定的软件编码标准或相关规范。编码标准是为了规范良好的编程习惯,严禁不安全的语言特性要求。编码标准应定义模块尺寸大小、编码行数、注解率及复杂度等要求。依据编程语言定义编码规范,如C、C++语言编码规则可参照MISRAC、MISRAC++编程规范,结合自身软件开发特点定制轨道车辆软件系统编码规范。

  表3列举了部分代码质量检查项点。通过代码检查可减少编码错误,有效降低由编码错误导致的车辆运行故障。

表3

  3.4软件测试质量

  软件测试阶段应执行软件模块测试、软件集成测试和软件/硬件集成测试。为保证软件测试达到预期结果,在软件测试计划中应描述测试阶段所使用的标准、技术及工具,明确测试过程中所涉及人员的角色和职责,标志测试环境、测试工具、软件编码、测试用例及相关配置程序版本,完整记录测试数据结果与错误或缺陷。基于EN50128标准的测试技术包括概率测试、静态分析、动态分析、软件错误影响分析等措施。

  选取适合的软件测试技术能最大限度满足测试用例覆盖率的要求,从而可提高测试效率,保证测试过程的正确性与完整性。

  3.5软件维护变更质量

  软件产品投入运营后应建立完善的软件变更与版本升级流程。软件发布后须提供软件发布说明相关文件。该文件应描述已解决的问题,已知但仍未得到解决的问题,增加或更改的功能、要求及设计变更,相关软件文档的修改和文件审查的证据,测试计划和测试结果的说明等。软件发布说明应包含软件全生命周期文件及文件版本。记录和可交付的每个软件应从其初次发布开始处于配置控制下。维护变更管理系统还应包括在全寿命周期期间使用的软件开发环境,应包括所有的工具、编译器、数据和试验文件、参数文件和支持硬件平台。

  4软件质量评审

  质量管理团队应执行定期的软件质量审核。在审核前应向软件开发团队提供软件审核计划。软件审核计划包括软件审核时间、地点、审核依据的标准及内容等信息。进行软件审核时,软件开发团队应向审核人员提供所有与软件活动相关的人力资源配置、软件工具、开发文件、软件质量管理体系资质等材料。质量管理团队要对软件安装记录与软件配置清单进行核对,以确认所安装软件版本的正确性,同时将软件配置清单纳入车辆履历,并做到动态管理。

  5结语

  本文针对轨道交通车辆软件系统开发过程质量保证活动,提出建立软件全生命周期质量管理体系:组建符合国际标准认证的软件研发团队,深入论述软件需求阶段、软件架构设计、软件编码、软件测试和维护变更管理阶段质量保证措施;基于EN50128标准,制定符合轨道交通车辆软件开发全过程质量检查单;选取合理的软件设计技术措施,执行定期软件质量评审。遵循上述质量管控策略可有效减少软件产品缺陷,降低软件开发过程后续成本,对提高轨道交通车辆软件产品质量具有一定的指导实践意义。

  参考文献

  [1]PRESSMANRS.软件工程:实践者的研究方法[M].郑人杰,马素霞,译.7版.北京:机械工业出版社,2011.

  [2]CENELEC.RailwayApplications—Communications,SignallingandProcessingSystems—SoftwareforRailwayControlandPro-tectionSystems:EN50128—2011[S].Brussels:CENELEC,2011.

  [3]张权范.软件工程基础[M].北京:北京交通大学出版社,2009.

  [4]黎照,黎连业,王华,等.软件工程项目管理实用技术与常用模板[M].北京:清华大学出版社,2012.

  [5]孙国庆,李舒扬,李晖.TMIS工程软件开发过程中的质量控制和质量保证[J].铁路计算机应用,2005,14(7):50.

  [6]张根红.软件开发过程质量保证策略研究[J].计算机与网络,2010,36(11):47.


转载请注明来自:http://www.yueqikan.com/ruanjiankaifalw/67626.html