您现在的位置: 新语文 >> 市场营销 >> 营销攻略 >> 营销战略 >> 正文
从软件工程化谈知识产品质量控制的方法           ★★★ 【字体:
从软件工程化谈知识产品质量控制的方法

作者:佚名     人气:252    全球最全的财富中文资源平台

篇名] 从软件工程化谈知识产品质量控制的方法 [刊名] 科学学研究<1999.02> [作者] 许可,杨红 [关键词] 软件工程化, 知识产品, 质量控制 [摘要] 本文从软件工程化的角度,分析了软件工程化能够提高软件质量的原因,进而将软件工程的方法推广到一般知识产品的生产上,提出了知识产品质量控制的一般方法。   随着科学技术的迅猛发展,产品中的知识含量正逐渐成为商品是否具备竞争力的主要因素,目前一些经济发达国家,尤其是美国,知识经济的发展已经带来了经济的高速增长。我们国家目前正在实施科教兴国的战略,可以预见知识经济在我国未来的发展中将起到越来越重要的作用,知识产品随之也将成为知识经济中的重要角色。  产品的质量是产品的生命,那么如何才能保障知识产品的质量呢?知识产品不同于传统的工业产品,其生产的规律也有所不同,要保证知识产品的质量同样也要有个方法问题。计算机软件产品是一项知识产品,保证计算机软件的质量目前普遍采用软件工程化的方法来进行,本文试图从这一角度,结合作者自身在工作中的体会,谈一谈知识产品质量控制的方法问题。谈这一问题的目的是为了在知识经济在于中国全面兴起之前,寻找知识产品质量控制的一般方法,使我们在开发知识产品的过程中能够遵循一般规律,有效地保证知识产品的质量。  1 软件产品的工程化  计算机软件是一项知识产品,它的生产过程是一组严密组织的智力活动,它的设计和生产有其独特的规律。在软件工程化出现以前,人们一直认为计算机软件是软件工程师们的智力艺术,没有把它用工程的方法加以控制,这种错误认识在开始还没引起人们的重视,直到本世纪60年代末期爆发了众所周知的“软件危机”。例如IBM公司的OS/360操作系统、美国空军的后勤系统(花费217亿美金)和UNIVAC联合航空定票系统等都是很著名的例子。当时OS/360的负责人犅狉狅狅犽狊曾把该系统开发的最后状态懊丧地形容成“落在泥潭中的一头巨兽,挣扎得越猛,泥浆就沾得越多,最后淹没在泥潭之中”。由此“软件危机”成了当时的热门话题,软件危机带来了时间和资金的巨大浪费,分析软件危机的原因,主要是缺乏软件开发过程中质量控制的手段和方法。那么如何才能保证软件开发的质量,避免软件危机呢?目前软件开发产业中一致的看法是采用软件工程化的方法:即借鉴其它很多工程学科的成功做法,在软件开发上走工程化的道路。  11 软件具备工业产品的共性    软件既然是一种工业产品,它就具有一般工业产品的共性,即必须具备理论和技术、标准和规范、组织和管理、工具和设备4个要素〔1〕:  (1)软件工程的理论与技术:包括3个方面的内容:①软件开发的过程模型、软件方法论和相关技术;②软件过程和软件产品的评价模型、方法和技术;③软件质量保证的方法和技术,包括可靠性和安全性技术。  (2)软件工程的标准和规范主要包括:①软件开发规范;②软件文档规范;③软件质量保证规范。  (3)软件的组织和管理主要包括:①技术管理;②质量管理;③计划管理。  (4)软件工程工具和环境主要包括:①集成环境;②软件开发工具箱。  从上面介绍的4个要素可以看出软件工程已经具备了一般工业品生产的共性,这也是目前国内外特别是航天领域比较广泛采用软件工程方法的原因,实践证明采用软件工程化的方法,的确为保证软件的质量提供了十分有效的手段。  12 软件质量的保证必须采用工程化的方法由此便产生了一个疑问:采用软件工程化的方法为什么会保证软件的质量呢?这个问题可以说是每一位从事软件工程化工作的人员首先想到的问题,但当完成过一项软件工程化工作以后,就会有一些深刻的体会:  (1)首先,软件产品是一种逻辑产品,描述的是逻辑思维的过程,所以软件开发方法有它自己的规律性,经过软件开发研究人员多年的探索,目前已经寻找到了一些软件开发的一般性规律和方法,并上升到一定的理论高度,即总结出了上面提到的软件工程的理论和技术,这些理论和技术对软件开发具有普遍的指导意义。例如:软件工程理论中提到了结构化设计的方法,这仍是目前航天软件开发中比较普遍采用的方法,利用这种方法设计出的软件层次清楚,逻辑清晰,在审查中也比较容易发现软件中的设计缺陷,因而设计出的软件可靠性比较高。所以利用这些理论来指导开发工作可以提高工作效率,较好地避免“软件危机”。 (2)现在大规模的软件已不再是个别人的独创产品,它需要一个集体的合作;这个集体中有设计人员、编程人员、测试人员和管理人员,有的大型软件还需要由几个承包商来共同完成。很多人员合作就需要有一个标准和规范,大家按统一的标准来行事就能有效的统一起来,例如:标准中规定了软件开发中的各个阶段、各阶段中产生的文档以及文档的统一规范,这些就为各类工程人员提供了沟通的桥梁,把大家的智力活动协调起来。  (3)对软件开发来说,工程的组织和管理也相当重要,它包括技术管理和质量管理。其中的技术管理包括制定开发计划、技术接口协调、阶段评审等;质量管理包括制定质量保证计划、实施软件质量保证方面的分级管理、实施配置管理等。通过有效的工程组织和管理,保证软件开发的进度和产品的质量。 (4)软件工程工具和环境,是软件产品生产达到一定阶段的产物。按其功能分类可分为CASE集成环境、软件工具箱和专用软件工具3类。通过这些工具,使软件开发基本达到通用模块集成;软件自动生成的目的,使计算机软件的开发更接近于工业化的程度。从上面的分析可以看出,实行软件工程化,是软件产业发展到一定阶段的产物,是提高软件工程质量的必然要求,也是软件生产成熟的重要标志  2 软件工程化对知识产品质量控制问题的启示  21 知识产品的有形化过程  软件产品是一项知识产品,知识产品的许多特点在软件产品中都有所体现,从上面的分析可以看出,软件工程化的方法有效地保证了软件生产中的质量问题,由此可以想到:为了保证知识产品的质量及生产过程中不出现危机,知识产品的生产是否都要走工程化的道路呢?  从软件工程化的过程来看,软件工程化主要解决软件产品生产过程的“透明”的问题。这道理很简单,传统的工业产品要保证质量,就要有标准和规范、有设计、有生产、有质量监督,因为传统的工业产品是有形的,是看得见、摸得着的,所以控制起来比较容易;而软件产品是看不见、摸不着的,所以解决软件产品的质量问题首先是要将这些看不见、摸不着的产品变成看得见、摸得着的产品,再借鉴传统工业产品质量控制的方法加以控制,便能有效地保证产品的质量。知识产品在这一点上与软件产品的性质是一样的,也需要一个由无形变有形的过程。  22 那么如何才能实现变无形为有形呢?  具体的方法因知识产品的形态不同而不同,这需要从事具体某项知识产品生产的专业人员来进行研究。还以软件工程化为例,软件工程化强调文档的作用,即将软件开发的思想按文档规范的要求写出来,将软件的需求、设计、编程、测试全部形成文件的形式,逻辑是无形的,但文档是有形的,这样解决了一个从无形到有形的过程。  23 软件知识产品的质量管理  解决了由无形为有形的问题,下一步就是变个人拥有为集体监督,具体地讲,就是借鉴传统工业产品质量控制的方法具体加以控制的问题了。再以软件工程化为例,在开发过程中注重评审,组织同行专家对开发过程的各阶段结果进行评审,这就是借鉴了传统工程的质量控制方法,在管理上注重计划管理、质量管理和配置管理,这也和传统工程的管理方法很相似。由此可以看出,解决知识产品的质量问题可以参照软件工程的方法走工程化的道路,只有这样才能将个人头脑中的“天才加艺术”的创造工作变成“集体智慧的结晶”,进而保证产品的质量。  3 知识产品质量控制的方法设想  知识产品的质量控制方法应该采用工程化的方法,具体可分为以下3个阶段:  第一阶段为工程化建立阶段,该阶段主要解决知识产品文档的规范、测试方法、评审方法,解决由“无形变有形”的问题,实现由“个人拥有变为集体监督”。  第二阶段为工程化的完善阶段,即通过工程化的运行,逐渐完善工程的标准和规范。  第三阶段为推广阶段,即将成熟的标准和规范向同行业推广应用。综上所述,我们可以看出知识产品做为一类特殊的产品,其产品的质量可以通过工程化的方法加以控制,相信在我国未来的知识经济中,工程化的方法将作为控制知识产品质量的有效手段得到广泛应用。

财富论今——新的理念  心的飞越   
  • 上一篇财富:

  • 下一篇财富:
  • 打造全球最全最实用的财富中文资源平台!     的理念   的飞越