研究软件开发过程的质量管理体系

(整期优先)网络出版时间:2024-04-10
/ 2

研究软件开发过程的质量管理体系

张立霞

金航数码科技有限责任公司    100028

摘 要:在信息化进程中,软件系统的研制起着举足轻重的作用。大规模装备系统软件的研制,具有高成本、高风险、长周期、参与方多和人员多等特点,如何保证软件的质量,提升其性能,是目前亟须解决的问题。在此基础上,提出了一种新的、可持续的、可扩展的、可编程的方法。为信息化建设,尤其是在软件系统研制方面具有一定的参考价值。

关键词:软件;质量管理;ISO9000

由于软件的研制过程比较漫长,涉及的人员和专业也比较多,为了保证软件的品质,有必要将质量管理系统引进到研发小组(以下统称为组织)中,根据 QMS的规定对软件开发进行控制。要贯彻执行ISO9001标准,必须由工程主管本人来主持。主管制订本单位的品质政策及目标,配置充足的人力、物力资源,确定每个工作人员的责任,确保品质系统的正常运作。要贯彻落实ISO9001,必须有书面的操作程序,也就是按照ISO9001的要求,制定了程序文件、操作指导书以及质量记录,为企业的内部操作流程制定了相应的操作流程,并在工作中加以贯彻。

1.软件产品质量

根据ISO9126对软件的定义,软件的品质一般由以下标准来度量:通用性,可靠性,可用性,效率,可维护性。相对于其他商品而言,软件产品的品质具有鲜明的特点。(1)由于难以对产品的品质进行具体的定量描述,因此也就没有与之对应的国际、国内和工业的相关的规范。(2)在软件开发过程中,没有一个完美的“过/过”边界,也没有所谓的“零缺陷”。(3)难以从水平方向上比较不同的软件产品。(4)如果你的程序能够符合你的要求,那么你的程序就是一个好的品质。若该软件在科技上非常发达,界面非常美丽,而且有很多的功用。但是并不符合使用者的需求。仍然不能算是品质优良的软件。(5)对于不同种类的软件,其度量指标的重点是不一样的。在实时应用中,评价一个软件的品质首先要考虑的是效能:某些应用程序中,用户必须与其自身发生频繁的互动,因此,对可用性的需求就更高了。

2.软件开发流程

2.1项目驱动

针对软件的发展特性,采用“项目驱动”的方法对其进行管理,也就是将面向不同使用者的各种软件开发流程融入一个工程管理体系之中,通过一个工程的方法对每个版本的软件进行开发。

2.2建立完整的质量管理体系做依托

成立一个独立的品质监督团队,借鉴 CMM (Software Capability Maturity Model, CMM)的实践,持续地优化整个研发流程。

2.3设置一定规模的软件测试手段

建立一个专门的软件测试团队,站在终端使用者的立场上,对软件进行严密的检测,保证软件在功能和性能上满足使用者的需求。

3.软件开发的质量管理体系

3.1质量管理部门的职责

鉴于其特殊性与复杂程度,建议将“检、监、控”三个部门的职能配置纳入企业中。品质检验团队对软体品质进行检查(功能性,功能性,功能性,回归等);品质管理部负责对本单位的品质系统运作进行规划、督导、指导与改进,并对研发成果进行检验,使其能更全面、客观、公正地对工程运作进行监督;并且每个研发团队的组长都要在这个团队中推进品质的工作,并承担相应的管理职责。

3.2基于ISO9001标准和CMM原则的开发流程管理文件

在遵循ISO9001国际准则的基础上,结合 CMM的原理,在企业的内部,制定了一套相关的工作文件和指令,包括合同评审,采购,项目管理,软件开发,变更控制,设计评审,文档控制,测试控制,不合格品控制,现场安装,后期服务,技术支持,培训管理等,除此之外,还包括管理评审,内审,文件/记录控制,纠正/预防措施控制等,为每一项工作的实施都提供了一套完善的、严谨的品质保障系统。

3.3软件开发的项目管理

(1)确定项目管理人员(PM)的岗位职责。(2)项目管理内容包括:内容管理,时间管理,成本管理,风险管理,合同管理,质量管理,人力资源管理,工程交流管理等。在实际操作中,以上各项工作均以项目审查为起点,从项目的制定、项目的组织、项目的实施到项目的跟踪等环节进行。(3)项目管理过程。工程建设的进程并非一种单向的进程,它是一种反复循环、不断改进的螺旋式进程。在具体实施中,不仅要把工程管理的内容融入工程的全流程中,还要对工程的流程进行定期的审核,对不能达到现实需求的部分进行完善。

3.4软件配置管理

软件的组态管理主要有以下几个部分:按规定的时限对系统进行配置;在软件开发过程中,对那些配置进行系统性的调节,保持它们的完整和可追踪性;在软件结构管理中,工作成果既包含了向使用者提供的软件产品(例如:要求文件、程序代码),也包含了生成软件的必要内容(比如编译器等)。可以利用诸如 CVS之类的工具软件来对程序进行配置管理,为代码定义了各个层级的目录,通过该程序可以实现对各个目录下的代码模块的访问和版本控制,确保不同的版本之间不会出现混淆。

3.5变更管理

因为要求的改变以及对软件自身的错误进行修正,导致了文件和代码的更改十分的频繁,后期的工作需要对上一个阶段的更改进行密切地追踪,因此,对更改的控制是一个既重要又繁琐的过程。企业内部可以建立“更改管控组”,对更改进行全面的管控,确保更改的各个环节都处于可控状态。

3.6文档管理

对开发流程中的原始程式码及各类发展文件执行严密的版本控制,确保最新版本.利用 CVS技术实现了对文件进行版本管理。对每个项目的研发文件进行有效的审核;编制文件要有审核人,审批人,确保文件的品质;对已出版的文件所做的更改,是经过“变更控制”来进行的。上述各项由品质控制团队审核。

3.7对软件开发过程的监督

按照ISO9001要求,在整个软件发展进程中,建立一套完整的程序文档。在此基础上,品质控制团队对研发中的具体工艺进行现场检查,若未能达到,应立即跟进,直至纠正为止。将研发工作中的随机检查纳入研发组的评估中,从而使得质检组的随机抽样更具权威。

结束语:

综上所述,做好软件开发流程质量的项目管理工作,是软件的使用中不可或缺的一部分,但是这项工作的范围比较广,时间比较长,因此,我们必须在工作中,根据规范,对软件质量进行评估和测试,尽量避免出现意外,只有如此,降低了研发费用,提高了企业的竞争能力,保证了人民群众的生命和财产安全。

参考文献

[1]韩思音,弋陪余,韩建美.大型软件开发过程的质量管理体系(续)[J].上海质量, 2021(08):45-46.

[2]宋丹.浅谈软件开发过程的质量管理体系[J].数码设计:下, 2022(03):331-334.

[3]张欢.A公司对日软件开发的品质管理研究[J].吉林大学2020(04):451-453.