论软件工程过程中的质量管理
摘要:本文详细论述了如何在公司质量管理体系大环境下,进行项目的质量规划、质量保证和质量控制等项目质量管理工作,总结了如何通过建立强有力的领导机制,遵循和灵活运用组织级的质量管理体系来提升项目的质量绩效,论述了质量保证在项目管理过程中的重要性,总结了项目执行中的经验和教训.
关键词:质量管理
1前言
2015年6月,作者参与了“XXXX”软件项目(以下简称为S软件)主管一职,任务来源于航天系统外部客户,XXXX应用于航天XX卫星载荷分系统导航任务处理机计算机模块S,主要目的设计支持应用程序的上载和重构功能。由于本软件应用于航天卫星系统,对软件质量、可靠性和安全性要求较高,本软件的开发过程中结合国军标GJB5000A能力成熟度模型三级的框架要求(相当于CMMI三级要求),以及软件工程学的质量保证策略进行项目的质量保证工作。S软件类型为新研类项目,使用C语言编码。软件的生存周期包括:软件需求分析、软件设计、软件实现、单元测试、集成测试、配置项测试、软件验收交付7个阶段,由于S软件应用于航天系统,可靠性安全性要求较高,需要对每个阶段的工作进行认真的评审和审查,所以整个阶段采用瀑布模型进行软件的☣研发。2016年1月,S软件已随卫星发射,目前卫星在轨运行,本软件运行正常。
2软件开发平台下的质量保障
下面作者以此软件开发平台项目为背景,论述了如何在公司质量管理体系大环境下,进行项目的质量规划、质量保证和质量控制等项论软件工程化过程中的质量管理文/许琴本文详细论述了如何在公司质量管理体系大环境下,进行项目的质量规划、质量保证和质量控制等项目质量管理工作,总结了如何通过建立强有力的领导机制,遵循和灵活运用组织级的质量管理体系来提升项目的质量绩效,论述了质量保证在项目管理过程中的重要性,总结了项目执行中的经验和教训。摘要目质量管理工作。
2.1项目初始阶段,对组织级项目管理过程进行剪裁,制定项目的已定义过程
作者所在的公司是一家科研研究所,我所已经建立ISO9000质量管理体系,也通过了国军标GJB5000A能力成熟度模型三级认证。我所具有较为完备的项目管理体系文件,其中包含了质量管理体系。我所制订了相关的质量方针和目标,落实了质量责任。按照我所项目管理流程,项目管理团队在项目启动后需要对组织的质量管理过程以及相关的项目管理过程进行剪裁,剪裁过程依据我所制定的过程剪裁指南执行。为保证用户需求不被遗漏、蔓延,为项目制定了需求双向跟踪矩阵,并根据体系文件《需求管理过程剪裁指南》,将需求双向跟踪矩阵包含在《需求规格说明》中;ฟ根据《工程过程域剪裁指南》将《概要设จ计说明》和《详细设计说明》合并为《设计说明》;过程和产品质量保证过程的工作产品输出为:质量保证计划、不符合项记录、产品评价记录单、过程评价记录单、软件质量保证报告。剪裁完毕后,形成本项目的已定义过程,之后我作为项目经理组织了同行评审,邀请项目组成员、相关专家、以及所EPG组成员参与,经过评审通过后,作为本项目执行过程中的指导。并将已定义过程写入开发计划的一个章节,作为制定质量管理计划的输入之一。
2.2项目计划实施阶段,制定质量计划、实施质量保证和质量控制
在完成项目管理的剪裁和开发计划后,作者领导和组织质量保证人员开始制定项目的质量管理计划。在质量管理计划中,明确了组织和资源,人员的分工;明确了质量目标;明确了质量保证活动和进度安排、以及使用的工具;明确了质量控制过程、进度安排、以及使用的工具;明确了工作产品和过程不符合项的解决和处理途径,软件BUG的管理。作者和项目组成员进行了充分的沟通,明确了质量对项目的重要性以及大家如何做才能保证项目的质量,使大家对于如何实现项目的质量目标充满了信心。使大家就以下内容达成了一致:
(1)项目的质量是靠规范的项目管理流程和质量保证人员对项目的监管,而不是单靠测试保证的;
(2)要十分重视项目的质量成本,越在项目早期ซ发现的错误,纠正的成本越低。
(3)项目质量目标的达成需要全体项目成员的参与,而不是个别人的事,质量保证人员在对过程和产品评价过程中指出的问题,项目组所有成员都应予以配合,及时纠正。根据规划,在项目实施期间,质量保证人员对软件工作产品和工作过程进行评价。过程评价依据组织级过程检查单,对工ด程过程和管理过程进行评价,包含需求分析需求分析过程、软件设计过程、软件实现过程、软件测试过程、需求管理过程、配置管理过程、项目管理过程、同行评审过程、测量分析过程的评价。除配置管理过程由事件促发评价外,其他过程评价每周一次,生成不符合项记录和质量趋势评价报告,对发现的质量问题用Excel进行统计分析。工作产品完成后两天内由质量保证人员完成审核,然后开展同行评审。对质量保证过程中发现的不符合项,形成不符合项纪录,及时通报给相关责任人,遇到质量保证人员和责任人意见不一致则逐级上报,先汇报给作为项目经理的作者,对仍不能解决的问题,再汇报给部门领导。考虑到本软件应用于航天系统,对质量要求较高。对本软件的源代码由测试组人员开展了单元测试、集成测试、配置项测试,测试组人员设计了相关的测试用例,单元测试语句和分支覆盖率均达到100%;在集成测试中,制定了模块设计和集成测试用例的双向跟踪举证;在配置项测试中,根据《需求规格说明》,制定了需求和配置项测试用例的双向跟踪举证。除开展单元测试、集成测试、配置项测试外,增加了代码走查,由每个模块的二岗设计师按照《航天软件C语言安全子集》要求对代码进行代码走查,形成走查报告,及时发现问题,修改代码直至符合要求;对关键模块代码进行代码开展同行评审;并请专业测评机构对软件开展第三方测评。对所有工作产品进行同行评审,对需求规格说明和配置项测试报告开展了用户参与外部评审,形成评审报告,对评审过程中发现的问题,有质量保证人员跟踪验证,直至问题关闭。对测试过程中发现的BUG,使用TestDirector进行BUG的跟踪、管理,直至问题关闭。对软件源代码和相关技术文档使用SVN系统进行配置管理,工作产品经过评审并对评审问题经质量保证人员验证关闭后进入配置管理系统,对交付用户的工作产品,待验收通过后需入产品库,再交付用户,保证了软件版本的有序性和正确性。
2.3项目收尾阶段,总结经验教训,丰富组织过程资产
在项目交付时,由用户和相关部门领导、资深工程师组成的评审委员会,对项目的成果进行了验收。认为项目的主要交付物已达到用户要求,可以交付用户使用,参与XX卫星载荷分系统的分系统联试。但也提出技术文档和源代码版本的配套说明欠缺,在《版本说明》文档中加以描述,经过评审后,入配置管理受控库。之后,源代码和需交付用户的文档入我所产品库后交付用户。作为软件开发主管,组织了项目组成员开展了项目的总结会议,分析了项目执行过程中的经验和教训,形成项目总结报告,并归入我所资产库,作为历史数据供后续项目参考。对质量保证过程检查单进行了修正,经过评审通过后,也归入组织资产库中,丰富组织过程资产。
3结语
经过半年多的努力,S软件已随卫星发射,目前卫星在轨运行,本软件运行正常,这次项目的质量保证工作基本达到了GJB5000A三级的框架要求。证明了过程质量管理在项目实施和管理过程中的重要性,为本项目顺利地、高质量地完成做出很大的贡献。