投稿邮箱:cngxkj@126.com

网站首页 > 科技大数据 > 传媒与出版 > 正文

外包软件开发项目质量管理研究

来源:《中国高新科技》杂志社 时间:2018-07-06

自国家天文台通过质量管理体系认证,至今已经平稳、有序运行十多个年头。经过这些年的不懈努力,国家天文台已经建立起一套完善的组织内部管理体系,使质量管理工作制度化、体系化和常态化,有效地提高了国家天文台各类软、硬件产品的研制质量,并确保各类产品质量的稳定性,为国家天文台承担的各类国家重点项目和科研活动的顺利、有序执行提供了有力的支撑。

1 质量管理体系运行现状

月球与深空探测研究部作为国家天文台的组织机构之一,依照国家天文台质量管理体系要求以及探月工程软件产品质量管理要求,建立并运行了相应的质量管理过程,对探月工程地面应用系统各类软件系统的研制过程展开了严格的过程管理。

地面应用系统作为中国的探月工程五大系统之一,已经成功完成了探月工程“绕”和“落”两个阶段的科学探测和工程任务目标,目前正在后续探测任务的实施。在此期间,地面应用系统针对嫦娥一号、二号和三号任务各自的不同特点,分别研制、建设和运行了相应的任务系统。事实证明,地面应用系统研制建设的各型号任务系统是高效、稳定的,能够满足工程任务的需求。正是基于地面应用系统持续、细致的建设自身的质量管理体系,才能确保地面应用系统各类软件产品的研制过程始终是有序和正确的,为探月工程各型号任务的成功执行奠定基础。

但是,在地面应用系统研制和建设过程中,质量管理体系的运行也遇到了各类问题,需要根据实际业务情况进行适应性改进。其中,有些问题是由于地面应用系统产品开发模式引入的,主要是由于地面应用系统的产品研制基本采用外包的方式,而目前执行的质量管理体系主要是针对自研产品的过程管理。因此,在各型号系统研制中会出现质量管理体系对研制过程未覆盖或者不适应的情况。主要表现出下述几个问题:

1.1 产品功能不符合业务需求

在外包产品研制过程中,产品需求通常是通过任务书或者技术要求的方式向产品开发人员传递。但是,对于一个复杂的系统,通常仅在文档中提出功能和性能需求是无法完整描述系统的实际需求。因此,当产品开发人员基于任务书或技术要求文档开发出的产品,其功能可能会与实际业务的需求产生偏差,这与自研产品具有相对明确的需求输入有所区别。

1.2 文档管理不规范

外包产品的研制过程是在质量管理体系之外执行的,无法有效的实现研制过程的实时监督和检查。因此,对于很多外包产品的开发人员,通常只专注于产品功能的尽快实现,而疏于对研制过程的计划和记录,导致整个研制过程产生混乱和无法追溯的现象。

1.3 过程监督不到位

对于外包产品的开发人员来说,尽快完成产品的研制,向用户提供可用产品是他们最关注的事情。但是,实际效果却总是欲速则不达。因为追求产品的研制速度,将会模糊开发阶段的界限,导致阶段检查的缺失。从而将前面阶段的错误带入后续过程,再花费更多的时间去纠正这些问题。

2 外包产品质量管理过程的改进

软件外包是在基于用户产品要求的前提下,为用户提供满足软件需求的,高质量的软件开发服务。对软件承包方开展质量管理的目的,是为了有效的控制承包方的软件项目的开发进度和完成质量。对外包产品进行质量管理的重点,是确保软件的承包方的软件开发过程是依据有效的质量保证体系开展的,在软件研制活动中有明确的岗位的职责和权限,并监督其质量管理体系是有效运行的。

通过地面应用系统嫦娥一号、二号和三号任务系统的研制和建设,对外包产品的研制过程进行梳理和总结,在外包产品的质量管理过程中需要重视下述几点的改进。

2.1 明确产品需求

对外包软件产品进行质量管理最根本的目的,是控制外包软件的承包方按照进度要求提供符合用户需求的产品。因此,质量管理工作的前提是用户对承包方明确产品的需求,并在此后的过程中管理和监督产品功能的实现满足所提需求。

如何有效的确定用户需求,在外包软件研制过程中是一个关键的问题。在软件开发初期的分析和设计阶段,让软件需求真正反映用户的实际意图是一件十分重要的工作。明确的软件需求既是后继开发阶段进行设计和实现的基础,又是软件产品最后验收的依据。同时,用户方提出的产品需求是承包方进行工期和开发成本估算的出发点,也是软件开发项目生命周期内各阶段质量管理活动的基础。如果在实际开发过程中,用户对软件的需求描述不明确,或者在开发过程中需求一再变更。那么,这种模糊或者不明确的需求必定会将风险引入软件开发过程中,从而埋下软件产品质量缺陷的隐患。

因此,用户和软件开发人员需要在产品需求分析阶段深入沟通,通过产品要求文档和面谈等方式,明确的界定研制产品的功能范围和需求。需求分析阶段的主要任务不是具体地解决设计或实现问题,而是在于准确地描述“为了满足用户的需求,目标系统必须做到什么”。在软件研制前期分析和设计阶段,用户最重要的是需要根据所面对的实际需求问题,确定软件系统必须要达到怎样的功能,并将这种需求完整准确的表达出来。而承包方的开发人员则需要准确的理解用户的需求,再考虑如何使软件实现用户需求。

所以,在需求分析阶段,有两个方面重要的工作:首先,用户方充分对系统所要实现的功能进行分析,不仅需要确定系统的功能性需求,还需要明确系统非功能性需求,并将这些需求固化下来,作为系统开发的输入。其次,承包方的软件开发人员在这个阶段必须和用户密切配合,充分交流各类信息,深入了解和明确用户的需求,得出经过用户确认的系统逻辑模型。

2.2 加强文件管理

在外包软件项目研制过程中,不少软件开发人员仅仅将关注的重点放在软件系统的开发和实现上,认为尽早实现系统的功能是重要的,不愿受规范化管理的约束。从而忽视在此过程中所涉及到的过程文件的编写和管理,经常出现开发活动事先不作计划,活动过程中不作记录,项目临近结束补写资料和赶制文档等现象。这些都是不重视软件项目文件体系管理的表现,然而完善的质量文件体系才是保证整个软件项目成功的基础。

合理的文件管理体系是外包软件质量管理的重要组成部分,同时也是过程管理的依据。由于用户和软件承包方都可能运行各自的质量管理体系,在外包过程中制定可行的文件管理体系,可以起到双方意图沟通、行动统一的作用,并为软件质量管理体系运行的有效性提供重要证据。通过过程文件的严格管理,可以对软件整个开发过程都进行有效的监督,不仅制度上使软件管理更加规范化,还能提高软件项目的整体质量水平。

此外,合理、全面的文件管理体系,可以使软件项目开发人员对项目的分析和设计能够记录到文件中,更容易理解,并为此后各阶段的开发提供有据可查的依据。这一点尤为重要,因为在软件项目开发过程中,难免会发生开发人员流动的情况,如果没有将其工作记录在过程管理文件中,那么随着开发人员的流动,项目前期的积累也会随之流失,项目开发的质量也会受到严重影响。相反,如果软件开发项目具有良好的文件管理体系,那么每个阶段的成果均会形成相应文档,新的开发人员可以从这些文档中较容易的继承前期成果,最大的消除人员流动对软件项目开发带来的影响。

加强文件管理的另一个方面是要重视软件研制过程的记录,主要是指在开发过程中能够对所完成的各类活动或形成的结果提供直接或间接证据的文件,这些记录可以用于对开发过程的追溯与验证等。通过对软件研制过程的记录能够证明产品、过程符合研制要求,为研制过程采取纠正或预防措施,以及为改进质量管理体系提供信息。

2.3 完善评审制度

外包软件的开发涉及需求分析、概要设计、详细设计、编码、单元测试、集成测试和系统测试等多个环节和阶段,各个阶段之间的衔接处对于软件开发而言都是重要的状态变化,但是软件开发的每个阶段所形成的工作产品并不像其它产品一样有很明确的物理形态,能够易于测量与评价。因此,需要在软件开发的不同阶段切实的引入评审制度,借助评审的手段对阶段成果加以验证,达到阶段性修正软件开发过程所产生错误的目的。

评审是依据项目输入对软件项目开发过程各阶段所进行的有效性和正确性评价,评审的范围包括软件产品开发的整个过程,对软件项目的开发进度、设计和实现质量、过程管理,以及人员配置等内容是否满足客户要求和软件的质量目标,是外包软件开发项目进行阶段转换的关键控制手段。只有对外包软件项目的每个阶段都开展有效的评审活动,并且根据项目阶段得到相应的纠正和预防措施,才能保证开发过程的每个阶段输出都能得到有效的监督和控制,从实现整个外包软件开发过程的有效控制。

对于外包软件的评审活动,需要根据软件研制阶段确定相应的参加人员。根据参与软件评审的人员区分,评审可以分为跨级评审和同级评审,跨级评审往往适合于对软件研制状态进行确认或者制定相关决策的情况,而同级评审适用于仅仅对设计方案或者是技术问题的评审,是为了发现不同阶段软件产品设计和实现中的缺陷。在实际项目实践中,需要合理的安排评审的级别。既不能忽视评审的重要作用,但同样不要“小题大做”。在外包软件开发重要的转阶段过程,可以安排跨级评审,如需求分析阶段、概要设计阶段和集成测试阶段等,这些阶段的评审是需要用户确认软件开发项目的需求理解、功能设计和产品实现的正确性。而其他一些阶段的评审则可以进行同级评审,对软件开发项目进行查漏补缺。

3 结语

对于外包软件的质量管理,更多的是对承包方的设计和实现进行监督,采取必要的质量控制措施,发现和改正软件在研制过程中产生的错误。通过对需求的正确理解,对过程的详细计划与记录,以及对阶段的严格监督,才能确保外包软件产品实现的质量与正确性。

质量管理体系的提升不是一朝一夕就能完成的事,需要所有参与的相关方在工作实践中不断的改进和积累,将质量管理的精神切实融入到工作中去,才能真正将质量管理体系落实到实处,提升软件研制的质量和水平。

参考文献

[1]杨枫.软件外包企业的软件质量管理研究[D].厦门:厦门大学,2006.

[2]李凌.软件开发过程中的质量管理问题研究[J].中国科技信息,2005,(18).

[3]时晓飞,王秀兰.保障质量管理体系高效运行的关键环节[J].水利技术监督,2012,(2).

(作者系中国科学院国家天文台助理研究员)

 

上一篇:水电厂监控系统信息安全防护优化研究
下一篇:一种无人商超场景下的防转移电子标签天线设计

1.凡本网注明“来源:高新科技网”的所有作品,版权均属于高新科技网所有,未经本网授权,任何单位及个人不得转载、摘编或以其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“高新科技网”。违反上述声明者,本网将追究其相关法律责任。

2.凡本网注明“来源:XXX(非高新科技网)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

版权声明:凡注有稿件来源为“中国高新科技网”的稿件,均为中国高新科技网版权稿件,转载必须注明来源为“中国高新科技网”