软件质量浅谈

2008-04-09 04:08:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  随着社会生产力的发展和科学技术的进步,全球性贸易竞争日益加剧,用户对质量提出了越来越严格的要求。如果企业想在竞争中生存,更不用说获利了,那么除了接受质量观念外就别无选择。软件行业作为一个知识和智力密集型的产业,相对传统产业而言具有某些独特性,比如软件产品的无形性、软件开发的高科技含量等,处处体现出“人脑”工程的特点,给质量工作的开展蒙上了一层神秘色彩。为此,本文试图从软件质量的内涵、软件质量保证、软件工程标准及应用、软件质量不断改进、开放源码思想对软件质量工作的深远影响等几方面对软件质量工作进行初步讨论,为读者进一步深入理解软件质量工作提供帮助。

一、软件质量的内涵

  软件质量是一个软件企业成功的必要条件,其重要性无论怎样强调都不过分。对于稍具软件工程基础知识的人士而言,“软件危机”这一概念并不陌生,其典型表现是软件交付延期、费用超支、质量无法保证,著名案例是IBM/360机操作系统的开发失败,在花费了上千人年的开发成本以及不断修正后,该操作系统终因错误过多、性能不稳定而被放弃。这种现象在20世纪60年代引起了业内人士高度重视,导致软件工程研究的诞生,成为软件质量工作历程中的重要里程碑。

  那么,究竟什么是软件质量呢?事实上,软件质量与传统意义上的质量概念并无本质差别,只是针对软件的某些特性进行了调整。从最狭义上讲,质量可被定义为“无缺陷”。但是,绝大多数以顾客为中心的企业对质量的定义远不止这些,他们是根据顾客满意来定义质量的。例如,以高质量闻名于世的摩托罗拉公司对缺陷的定义是:“如果顾客不喜欢,那该产品就是有缺陷。”同样,美国质量管理协会把质量定义为与一种产品或服务满足顾客需要的能力有关的各种特色和特征的总和。这些以顾客为中心的定义说明质量以顾客的需要为开始,以顾客满意为结束。

  软件质量天生符合上述含义,最初的定制式软件系统首先要求必须满足用户的需求。为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的主要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。软件质量反映了以下三方面的问题:

  1、软件需求是度量软件质量的基础。
  2、在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。
  3、往往会有一些隐含的需求没有明确提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求, 软件质量也得不到保证。

  值得指出的是,风靡于20世纪80年代的全面质量管理思想正以新的形式应用于创造顾客满意的领域内,当今全面质量行动的基本宗旨已变成使顾客完全满意,尽管许多企业已不再使用“全面质量管理”的说法,但是对绝大多数成功的企业来说,顾客驱动型质量已成为企业经营理念,要求企业从战略高度来看待质量问题,可从如下9个方面来理解:

  1、质量要从顾客的角度来看——质量始于顾客的需要,终于顾客的理解。
  2、质量不仅要反映在企业的产品上,而且要反映在企业的每一个行为上。
  3、质量需要全体员工同心协力——应使外部顾客和内部顾客都感到满意。
  4、质量要求高质量的合作伙伴——包括高质量的供应商和销售商。
  5、质量方案不能够挽救劣质产品——一个质量运动并不能够补救产品缺陷。
  6、质量是可以得到改进的——要靠每一个人去不断地改进每一件事。
  7、质量改进有时需要数量上的飞跃——较大的改进必须有新的解决办法和更精明的工作的方式。
  8、质量并不导致成本上升——改进质量要求“一次性做好”,以减少补救、修正和重新设计的成本,更不 必说在顾客满意度方面有什么损失了。
  9、质量是必须的但可能还不够——尤其当所有的竞争者都将其质量提高到大致同一水平时。

  显然,上述观点对于软件企业而言极为重要,软件质量不仅仅是缺陷率,还包括不断改进、提高内部顾客和外部顾客满意度、缩短产品开发周期与投放市场时间、降低质量成本等,是全面质量概念。面对日新月异的技术发展,如何不断创新以满足顾客快速变化的需求,是每个软件企业必须解决的重要课题。

二、软件质量保证

  为了克服软件危机和提高软件质量,人们进行了大量的研究和实践。最初的重点是着眼于技术革新,从各种软件工具(如编辑、编译、调试工具等等)研制开始,发展成为对开发各阶段进行全面支持的计算机辅助软件工程(CASE)环境。同时,注重软件开发“模型”研究,也就是如何划分软件开发过程的不同阶段,并针对不同阶段开展了有关技术和方法的研究如需求工程、设计工程、程序设计方法学、软件测试等等。通过长期的实践发现,仅仅依靠这些工具环境、模型及方法学来提高效率和质量,并未达到预期的目标。但是,人们逐渐认识到,如果能够同时对软件开发过程的质量加以控制,则可以大幅度的提高软件质量。只有从一开始就在开发过程中严格贯彻质量管理,软件产品的质量才有保证。否则,开发工作一旦进行到后期,无论怎样通过测试和补漏洞,都会无济于事。这就是近年来国际上十分重视的“软件过程管理”思想。这种思想并非凭空想象,而是借鉴了在硬件领域成功实施全面质量管理的经验,对软件开发实行相应的质量保证工作,并已取得了成功的经验。

  在实际工作中,可以从两个方面来理解软件质量保证工作。一方面,从顾客驱动观点看,注重于复审和校核方法并保证一致性,其关键是需要一种客观的标准来确定并报告软件开发过程及其工作成果的质量,一般由某个独立的小组(一般称为“软件质量保证小组”)完成,关键步骤包括:

  选择项目应遵循的标准。制定项目开发计划,评价其完整性并选择项目将采用的标准。
  对软件工程活动进行复审。根据事先制定的计划和选择的标准来复审软件工程活动。
  校核工作成果。根据选择的标准来校核软件工作成果。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:软件重用的过程与意义

下一篇:为软件质量保驾—过程管理与项目管理技术的应用