摘要:随着计算机技术的发展,软件工程也取得了较大发展。人们希望软件工程像工业产品一样形成一定的标准和规范,但是在对软件工程的研究中只注重软件工程技术,而忽视了软件工程管理的研究。本文通过分析软件工程质量管理的标准、涵义和现状,就如何加强软件工程的质量管理提出了几点建议,希望能够使软件产品更具竞争力。
关键词:软件工程;标准;质量管理
软件工程开发的目的就是将软件工程技术大规模用于实际生活中,那么软件工程的质量就成为软件工程能否大规模运用的重中之重,软件工程应该遵循什么样的质量标准,如何加强软件工程的质量管理就成为一个重要课题。目前我国软件工程开发行业软件质量管理还不成熟,因此必须加强软件工程质量管理。
1、软件工程质量管理的涵义
软件工程是研究如何系统规范的开发和维护程序,主要包括两个方面:软件工程技术研究和软件工程管理研究。软件工程技术研究是对软件工程开发方法、开发工具和开发环境的研究,随着软件工程技术的不断完善,出现了快速原型法、瀑布模型法等研究方法,促进了软件工程技术的进一步发展;软件工程管理研究是对质量管理、费用管理和配置管理的研究,在管理过程中需要控制软件的开发成本、资源、质量、进度等因素。
软件工程质量管理是指对软件产品和软件开发过程的管理,其中软件产品包括中间软件产品、最终软件产品和附属软件产品。软件工程的质量主要取决于软件的设计和开发过程,而不是对软件产品的保证和测试,因此软件工程质量的提高依赖于软件工程质量管理水平的提高。
2、我国软件工程质量管理的现状
国外很多软件工程开发企业由于管理经验丰富,对软件工程质量管理已经成熟,而我国软件工程质量管理却始终处于一个比较低的水平。虽然我国对软件工程质量研究比较晚,但是最主要的原因还是软件工程研究的思想比较陈旧,尤其是软件工程质量管理的思想跟不上国际发展的步伐。值得庆幸的是,目前国内许多软件工程研究人员逐渐意识到软件工程质量管理的重要性,尤其是软件工程开发过程管理的重要性。鉴于软件工程质量管理的复杂性,必须制定一套完善的软件质量评估标准,有效控制软件的质量,为软件工程质量设置一定的标准。
3、软件工程质量标准的产生
根据国家标准GB3935的规定,标准是对重复性事物和概念所做的统一规定。它是以科学技术和实践经验为基础,经有关方面协商,由主管机构批准,并以特定形式发布的作为共同遵守的准则和依据。这里讲的“重复性”指的是同一事物和概念反复出现,例如批量生产的产品在生产过程中的重复投入,重复加工,重复检验等;同一类技术管理活动中出现同一概念的术语、符号、代号被反复利用等。只有当事物和概念重复出现并处于相对稳定状态时才有制定标准的必要。标准不是凭空制定的,而是把科学技术和实践经验经过分析、比较、综合和验证,加以规范化。制定标准的最终目的是促进产品的合理流通,实现社会资源的优化配置,促进社会的进步和发展。
随着国际贸易的扩大和全球化进程的加快,国际标准应运而生。随着互联网技术的发展,计算机软件工程成为一项全球化的产品,因此也需要制定相应的国际标准才能保证软件工程的质量。于是制定一套成熟的软件工程质量标准就成为当务之急。
4、软件工程质量管理的措施
4.1 加强对软件工程开发人员的培训和管理
软件工程质量管理主要是对软件工程开发过程的管理,而这些工作最终是由人完成的,因此需要加强对员工的培训与管理。第一,定期对技术人员和管理人员进行培训,使他们具备过硬的技术知识和管理知识,并定期考核;第二,引进先进的软件工程质量管理人才,学习国外先进的管理经验,避免管理上的漏洞。
4.2 完善软件工程质量管理程序
软件工程质量管理最终要将软件工程进行大规模工业化生产,这就需要一套完善的软件工程质量管理程序。第一,建立软件工程产品质量需求。产品质量需求必须符合所有客户的要求,并把客户的这些要求转换成具体的标准进行说明,并时刻关注这些要求的变化,随时对软件工程进行补充设计。第二,建立一整套开发、维护软件产品的方法。通过指定一套实施规范和标准加强对方法的支持,并通过共同的合作管理来实现。第三,建立软件工程的评价体系。在完成软件工程的开发后,要对软件产品进行复查、评估、检验,并作出评价,目的在于确认软件产品是否符合软件所要求的质量标准。
4.3 做好软件工程质量保证和质量控制
软件工程质量保证SQA是Software Quality Assurance的简称,主要检验软件产品在开发过程中是否符合工程质量标准。它主要负责对软件产品、设施和工具进行审查,评审软件开发过程,进行技术和管理评审,做SQA报告和度量。基本的流程如下:第一,建立SQA小组;第二,确定SQA所要进行的质量保证活动;第三,制定SQA计划,明确整个软件开发的每个步骤及关系;第四,不断完善SQA的过程,防止过程中出现的不足。其中,SQA小组是一个完全独立的个体,它有权对软件产品开发过程中出现的质量问题越级上报,这就对软件开发人员起到了一定的威慑作用,有效的保证了软件工程的质量。而软件工程质量控制是对软件开发过程中无法避免的缺陷进行消除,主要包括需求评审、系统测试、验收测试等过程,以使软件产品最终达到零缺陷。
5、结论
软件工程在开发过程中往往会出现低质量软件和难以避免的缺陷,这就要求软件工程产品在开发过程中制定一套完善的软件工程质量标准,要做好软件工程质量保证和质量控制。软件工程质量管理对软件工程产品的开发起着不可替代的作用,因此需要采取必要的措施加强软件工程质量管理,最终保证软件工程产品的质量。