软件企业建立质量体系应注意的几个问题新
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件企业建立质量体系应注意的一些问题(一)
软件产品的实现与硬件产品的实现过程在质量管理方面有很大的差异.在按照ISO9000:2000《质量管理体系要求》标准建立质量管理体系时,应根据其产品特性注意以下问题:
一、建立质量管理体系应依据的主要准则和要求:
软件企业建立质量管理体系主要依据的准则是GB/T19001-2000《质量管理体系要求》标准或TL9000 R3。
0《质量管理体系要求手册》和《质量管理体系测量手册》。
但同时还应满足以下技术标准和规范:
GB/T19000.3—1997 ISO 9000—3-97《GB/T19001—ISO9001 质量保证标准在计算机软件开发、供应、安装和维护中的应用指南》;
以及下列软件专业基础、过程、质量、技术与管理、工具方法、数据标准和规范:专业基础:
GB/T11457—1995 《软件工程术语》
GB/T13702-1992 《计算机软件分类与代码》
GB/T15538—1995 《软件工程标准分类》
软件过程:
GB/T 8566-2001《信息技术软件生存周期过程》
GB/T 8567-1988 《计算机软件产品开发文件编制指南》
GB/T9385-1988 idt IEEE 830:1984 《计算机软件需求说明编制指南》
GB/T9386-1988 idt IEEE 829:1983 《计算机软件测试文件编制规范》
GB/T12505-1990 《计算机软件配置管理计划规范》
GB/T15532-1995《计算机软件单元测试》
GB/T14079-1993《软件维护指南》
GB/T16680-1996《软件文档管理指南》
GB/T 8566-2001《信息技术软件生存周期指南》
软件质量:
GB/T 12504—1990《计算机软件质量保证计划规范》
GB/T17544—1998 《信息技术软件包质量需求合测试》
GB/T18491.1— 2001《信息技术软件测量功能规模测量第一部分概念定义》GB/T18492—2001 《信息技术系统文件完整性级别》
技术管理:
GB/T 13423-1992《工业控制用软件评定准则》
GB/T 14394-1993《计算机软件可靠性可维护性管理》
GB/T16260—1996 idt ISO/IEC 9126:1991 《信息技术软件产品评价质量特性及其使用指南》
GB/T18905。
1—2002 《软件工程产品评价第一部分概述》
GB/T18905。
2-2002 《软件工程产品评价第二部分策划和管理》
GB/T18905.3—2002 《软件工程产品评价第三部分开发者的过程》
GB/T18905。
4-2002 《软件工程产品评价第四部分需方用的过程》
GB/T18905。
5-2002 《软件工程产品评价第五部分评价者用的过程》
GB/T18905。
6—2002 《软件工程产品评价第六部分评价模块的文档编制》工具与方法:
GB/T15853-1995《软件支持环境》
GB/T18914-2002《信息技术软件工程 CASE工具的采用指南》
GB/T18234-2000《信息技术CASE工具的评价与选择指南》
数据:
GB/T1526—1998 《信息处理数据流程图、程序流程图、系统流程图、程序网络和系统资源图的文件编制符号及约定》
GB/T13502-1992《信息处理系统计算机系统配置图符合及约定》
GB/T15535-1995《信息处理单命中判定》
GB/T15697—1995《信息处理按记录组处理顺序文卷的程序流程》
质量管理体系:
GB/T19001—2000 idt ISO 9001:2000 《质量管理体系要求》
GB/T 19004-2000 idt ISO 9004:2000《质量管理体系—业绩改进指南》
GB/T 19000。
3-1997 ISO 9000-3-97《GB/T19001—ISO9001 质量保证标准在计算机软件开发、供应、安装和维护中的应用指南》
行业标准规定:
信息产业部文件信部规[1999]1047号《计算机信息系统集成资质管理办法(试行)》
信息产业部文件信部规[2003] 440号文《计算机信息系统集成资质等级评定条件(修订)》
2000年10月16日信息产业部、教育部、科学技术部、国家税务总局《软件企业认定标准及管理办法(试行)》
SJ/T30003-93《电子计算机机房施工及验收规范》
GB 2887-89 《计算机场地技术条件》
GB 9361-88 《计算机场地安全要求》
GB/T50314--2000《智能建筑设计标准》
GBJ/T 50311-2000 《建筑与建筑群综合布线工程系统设计规范》
GBT/T 50312-2000 《建筑与建筑群综合布线系统工程验收规范》
上述准则并不是全部,仅以为例。
应注意保持所建立的质量体系与上述标准、规范的符合性.
二、按照ISO9001:2000标准的 4.1总要求的规定,应识别软件设计、开发、安装及计算机系统集成服务的实现过程,这些过程与硬件产品的实现过程有较明显的区别。
体现在以下几方面:
(一)研制过程不同
-——-—软件
计算机软件是一种以逻辑实体形式存在的信息产品。
经确认并实现的软件产品的本身始终不会自然变化,只是其载体可变:如计算机硬盘、软盘、MO磁光盘、CDRW、CDR可刻录光盘或磁带等。
与硬件相比具有以下特点:
1、软件产品的研制过程主要依靠开发者利用适宜的开发工具的一系列智力劳动的过程。
其可见性差,难以测量,产品的缺陷和不可靠问题基本上是人为差错。
为此,应对软件的设计开发人员进行经常性的培训、教育,提高开发技能和水平。
保证开发所需的基础设施、工作环境、计算机软件、硬件应与开发项目要求相适宜。
但这一点,因软件业存在人员频繁流动,员工新旧更替相对比较频繁的特点,新员工未经规范性系统培训的开发习惯及人员之间的沟通问题可能导致产品质量控制不能到具体的人,使这种人为差错难以规避。
没有前兆;并
2、软件研制的工作量大都集中在计划和开发阶段。
没有明显的生产制造过程,其生产和制造过程即是软件产品的复制、包装、安装、交付和交付后的维护(补丁、升级)活动.因此:
软件的设计与开发过程往往密不可分;
产品的开发与实现过程往往密不不可分;
开发输出的验证和确认过程与产品的监视和测量过程往往密不分。
这三个密不可分可导致在质量管理体系的策划中往往把软件产品的设计验证和确认活动与过程监视测量和产品的监视测量作为同一过程来策划和实施.
3、软件之间存在一定的耦合,耦合的不正确性可能导致缺陷。
软件之间的耦和可分为:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合七种耦合。
是对模块之间相对独立性的量度,也称为块间联系。
软件之间的耦合亦可称为开发各环节的接口,它不易保证其正确性.这种偶合的不正确性可能导致“软件缺陷"。
它是程序内部不合理的逻辑结构、不正确的语句和不适当的指令所引起的。
又由于软件系统模型的离散性,输入微小变化可能引起输出的巨大变化,在前阶段出现的缺陷,可能残留,并在后续阶段被放大。
据统计,如软件概要设计中出现的缺陷残留,在详细设计阶段可能放大到1。
5倍,而在产品的实现阶段,缺陷的放大系数甚至达到3。
这种情况可能导致一个程序的修改会影响其他模块。
因此,程序修改后,必须进行回归测试。
但另一方面,软件缺陷的存在并不一定会引起程序不能运行.只有当程序中的缺陷被执行时,故障才会发生.故障的形成无物理原因,失效发生取决于输入值和运行状态的组合。
所以,一旦程序出了故障,其中必定隐藏着相应的缺陷。
4、软件产品应在其整个“生命活动周期”内都实施配置管理,保证对其开发过程和交付后的维护支持过程中的各种变化的“标识和可追溯性”。
软件的交付后维护支持过程包括修改设计、增加补丁及补丁程序以及增加软件功能。
任何软件都不可能逾越这一阶段.除非该软件已经到了生命的结束期,即软件产品的终止期。
5、由于大多数软件产品孤立性(单个开发,不能形成批量销售的产品),导致对其控制要求存在很大的差异。
主要来自于以下方面:
◆软件的研制过程模型不同:瀑布模型或原型开发模型。
◆嵌入式软件或非嵌入式:多用汇编语言编写的嵌入式软件与硬件联系紧
密;实时性要求高;有严格的时序;要求具有高可靠性、安全性、更能抵
抗恶劣环境.
◆开发工具的应用程度;不同的软件可能采用手工开发或采用开发工具、管
理工具和测试工具开发两种开发方式.手工开发难于避免出现差错.
◆软件关键性等级;一般分为A、B、C、D四级。
等级越高控制要求越高。
软件的规模;对源代码行数小于5000的非嵌入式软件和源代码行数小于3000的嵌入式软件,可视为小型软件,控制要求相对弱些.
6、软件测试技术具有局限性,尤其是不少小型软件组织和小规模软件。
7、软件质量指标许多尚未量化,也难已量化;
8、软件(客户)的需求不定性及软件技术的快速发展,使软件产品不可能绝对无缺陷才释放发布。
软件产品始终处于需要不断更新的状况。
软件(客户)的需求不定性使软件开发初期阶段不能真正反映用户意图。
而确定需求是非常重要的工作,它既是后继阶段开发的基础,又是完成后验收的依据,并且还是工期和开发成本估计的出发点.
————-- 硬件
1、硬件产品是物理实体。
每件同规格产品之间都有散差,会随时间和使用而老
化、磨损,以至失效;
2、生产和服务提供过程是人力劳动和机具设备的加工过程,过程有形,便于测控;
3、除了设计原因外,产品(或零、部件)在生产和使用过程中都会产生故障;
4、故障总是由组成产品的零、部件或其结合的故障引起;
5、系统故障的形成和失效一般都是物理原因,有前兆.
(二)可维护性和可靠性工程不同
—---- 软件
软件维护阶段的关键任务是通过各种必要的维护活动使系统持续满足用户需要。
通常有四类维护活动:
改正性维护,也就是诊断和改正在使用过程中发现的软件错误;
适应性维护,即修改软件以适应环境的变化;
完善性维护,即根据用户的要求改进或扩充软件使它更完善;
预防性维护,即修改软件为将来的维护活动预先做准备。
前三种维护是在用户提出请求后由维护人员完成的.预防性维护对那些生命周期较长,但需作重大修改、完善功能的软件进行的可靠性或可维护性改善。
据有关资料统计各种维护活动的分布如图:
改正性维护20%;适应性维护25%;完善性维护50%;预防性维护5%
可靠性(Reliability)是软件的一项重要指标。
它指的“在规定的条件下和规定的时间内,计算机完成规定功能(无故障运行)的概率”。
为了提高其可靠性,需要注意以下几方面:
1、研究的对象:应考虑软件与一般的系统或产品不同的特有的一些性质;
2、规定的功能、故障和缺陷的含义;
3、规定软件的工作环境和使用环境:不同的环境,软件发生故障和暴露缺陷的可
能性有很大差距;
4、规定的时间:泛指的广义时间。
如因对象的不同遇到的次数、周期、距离等
时间的量。
此外,还有连续使用、间歇使用、放置、长时间、短时间、瞬间等各种时间概念.
———-—硬件
1、产品的可维护性和可靠性往往在设计开发过程中已经确定。
可靠性参数有物
理基础.生产过程对产品的可靠性影响也很大,应加强控制;
2、产品的生产需要建立环境应力条件,通过对零、部件的筛选,排除故障;
3、相同的部件之间是自然独立的,在可靠性设计中采用适当的冗余可以提高其可靠性;
4、使用过程中出现产品故障,只需通过维护活动更换或修复失效部件即可使产品恢复良好状态,但可靠性一般不会因此提高;
5、维修一处一般不会对它处造成影响;
6、失效率变化类似浴盆曲线;
(三)生成活动周期阶段及其过程不同
1、典型的软件的生存活动周期阶段划分(Life Cycle Mode—生命周期模式)
上图1实际上把软件的生命活动周期过程(LCM)划分成为5个阶段:
1)需求分析(Requirement Analysis);
2)设计(Design);
3)程序编写(Coding);
4)测试(Testing);
5)运行和维护(Run and Maintenance);
每个阶段都有确定的任务,并生成一定规格的文档交送给下一个阶段。
见表1.
表1 软件工程各阶段的基本情况
需要说明的是:并非所有的软件开发都必需经过上述各个阶段。
在实际的开发活动中,可根据所开发软件的规模大小,允许对某些阶段进行合并或“删减”.具体的合并或“删减”可通过对软件产品的形成过程进行分析,在策划阶段来决定。
应策划软件工程的各个过程活动。
主要活动如下:
指明工作环境:指明影响“删减”的工作环境特征;
收集信息:向所有可能会影响“删减”的组织和个人收集信息;
选取过程、活动和任务:根据收集到的信息,确定要实施的过程活动和任务;
编制文件:将所有的“删减"决策和作出这些决策的理由按ISO9000;2000标
准要求将其写入质量管理体系文件,明确体系的覆盖范围。
“删减”可分为两级:
第一级,根据组织提供产品的不同应用领域进行“删减";
第二级,根据组织所提供的每个具体的项目或合同进行“删减”。
“删减”只能是对ISO9000:2000标准1。
2 规定的允许删减的第7章的要求。
“删减"不应影响组织提供产品满足顾客和法律法规要求的能力和责任。
2、通用(硬件)产品的生成周期阶段
三、软件产品的实现过程识别:
软件工程的规范规定:产品(软件)的实现过程是围绕着产品的“生命活动周期”
进行的。
产品“生命活动周期”是如前图1所述的从一个产品(软件)的“点子、需
求分析、软件概要设计、详细设计、编码、产品测试、确认、验收、软件释放、维护和增强、产品终止”的各个里程碑的PDCA循环全过程。
应根据上述过程策划软件产品的设计、开发、实现、交付、维护和持续改进的全过程。
软件生命活动周期的各个过程及其相互关系如下图2:它描述了这些过程之间的关系,软件企业的质量管理体系应紧紧围绕这五个阶段去建立和保持。
图2
上述各个过程与ISO9000:2000标准的各条要求的关系可能如下表:
从表中反映的上述各个过程与GB/T19001-2000标准4.1注中所述的“质量管理体系所需的过程应当包括与管理活动、资源提供、产品实现和测量有关的过程”这一
通常的要求是完全相符的。
可以非常清楚地看出:对“软件生命活动周期的各个过程"覆盖了ISO9001:2000标准的全部要求,对其控制有效,则表现出组织建立的ISO9001:2000质量体系运行有效。
此外,GB/T19001-2000标准的4。
1“总要求”规定:
“组织的最高管理者应识别产品(软件)的实现过程,同时应识别产品的外包过程”。
软件产品实现过程中可能的外包过程有:软件模块的委外开发、系统质量指标的委外评测等.应对这些外包过程加以识别,并在相关的过程,如“采购过程”中加有效控制。
软件企业建立质量体系应注意的一些问题(二)
对与软件产品实现过程有关的GB/T19001标准的主要过程要求的理解和认识:
通常,软件企业按照GB/T19001—2000标准建立质量管理体系,应满足标
准的全部要求,即不允许任何删减。
但对与软件产品实现过程特性相关的几个质量管理过程要求,如:4.2.3,5.4.1,5.4.2,5。
5。
3,6.2。
2,6.3,6.4,7.1,7。
2,7.3, 7.4,7.5,7。
6,8。
2。
3,8。
2。
4,8。
3,8.5应加以尤其的理解和重视。
所建立的质量管理体系要充分、控制要有效、提供的运行有效的证据应与软件产品的专业特性相适应、保证符合前述的各个准则要求。
以下简介相关过程要求的理解和控制要点。
1、4.2.3“文件控制要求”:
按照GB/T8567—1988 《计算机软件产品开发文件编制指南》的规定,计算机软件开发过程中会形成多达13种文挡。
含:管理文档、开发文档、用户文档。
而这些文挡大部分是以“电子文挡”形式完成的,应注意对它们的控制,并在GB/T19001-2000标准要求必须文件化的《文件控制程序》和《设计和开发过程控制程序》中,明确地规定它们在软件的“生命活动周期"内的生成阶段(表1)和控制要点。
这是因为,在线和基于Web的“电子文挡”太容易被变更,而且因为它们的内在的易变性更容易被怀疑.应明确对这类文档的控制要点,规定控制方法并实施有效控制.包括:采用适当的工具和环境支持变更管理,审计跟踪、电子签名和其他群件,对文挡的编制、发布、访问、COPY、备份、存档、防护等,以保证文挡的充分性、有效
性、适宜性、完整性和安全性,最终取代纸质文档。
1。
1 软件开发过程的13种文档: 表1
对于嵌入式软件,设计文挡可以单独形成,也可以包含在一个由硬件和软件集成的系统或产品的文件中.
软件的开发策划可与系统或产品的设计策划一并进行,软件的规格说明可以系统的需求形式提供,但应确保系统需求正确地分配到软件及适当的接口说明中.
1。
2 13种文挡的生成阶段(表2):
软件的生命活动周期内各阶段生成的文档(表2)
2,4。
2。
4记录控制:
计算机业的质量体系运行记录,是用于证实组织有效运行体系,并取得绩效的证据。
其示例有:
-—测试结果;
——问题报告;
—-更改请求;
-—带注释的文档;
——评审记录;
-—会议记录;
——审核报告。
所有的记录应清晰,保管方式应便于存取和检索,保管设施应提供适宜的环境,以防止损坏、变质和丢失。
应规定并记录质量记录的保存期。
合同要求时,在商定期内质量记录可提供给顾客或其代表评价时查阅。
记录可以呈任何媒体形式,如硬拷贝或电子媒体。
当记录保存在电子媒体中时,考虑保存时间和记录的可访问性时应考虑到电子图像的退化速率,以及为访问记录所需的设备和软件的可用性.
3,5。
4。
1“质量目标":
软件业的质量目标的建立和确定应依据GB/T 19000。
3—1997 ISO 9000—3—97《GB/T19001-ISO9001 质量保证标准在计算机软件开发、供应、安装和维护中的应用指南》,GB/T 12504—1990 《计算机软件质量保证计划规范》和GB/T16260—1996 idt ISO/IEC 9126:1991 《信息技术软件产品评价质量特性及其使用指南》的规定,建
立和确定企业的“质量目标”。
按照GB/T19001—2000标准要求,所建立的质量目标应是“可测量的”,并能分解到企业的各个管理层次,与企业的质量方针保持一致。
此处“可测量的”意思是指“可度量”和“可感知”两个方面。
因此,参照GB/T 16260—1996 idt ISO/IEC 9126:1991 《信息技术软件产品评价质量特性及其使用指南》的规定和TL9000 R3.0《质量管理体系要求手册》和
《质量管理体系测量手册》中有关软件产品的测量指标要求,“可度量”的概念讲,
应包含:
(1)软件的系统中断(SO):
指对计算机系统集成的全部或部分功能性完全丧失的度量。
以一个平均系统的全部年度数字(中断频率)和全部中断周期(停工).可直接转换为系统平均失效间隔时间(MTBF)和系统的可用性。
平均失效间隔时间( MTBF )= 平均失败时间(MTTF)+ 平均修复时间MTTR
或MTBF=[(365)*(24)/OF],
其中:OF=12*中断数量/月底在用系统的数量。
系统的可用性:指在规定的时间点上程序能够按照需求执行的概率.
可用性=MTTF/(MTTF+MTTR)* 100%
(2)软件的可度量的质量目标:
如软件产品的缺陷率。
可以用“每千行代码的缺陷数量”来定义,并按照缺
陷的严重程度或功能性影响进行度量。
没有那一个软件是十全十美的,任何软件都有缺陷,只是你还没有发现。
因此,为消除缺陷,开发者采取了很多措施(如,打补丁),但如何知道所采用措施是否有效?看CPQ 、FPQ和 SWU三个指标.
① CPQ即“补丁- 软件缺陷纠正质量".
CPQ指标表征了某一版本软件纠正缺陷所采用措施的有效性。
CPQ值越高,
表示措施越有效.
被确定为有缺陷的正式纠正补丁的百分比=
( 版本为N的产品本月缺陷纠正补丁总数量/ 版本为N的产品本月成为通用版本可用的纠正补丁总数量)X 100%
② FPQ即“补丁——功能缺陷纠正质量"
被确定为有功能缺陷的正式功能补丁的百分比=
( 版本为N的产品本月缺陷功能补丁总数量/ 版本为N的产品本月成为通用版本可用的功能补丁总数量) *100%
【注:补丁计算应根据软件发出之日起的可用时间按月计算产品的三个主要版本。
包括:一个单元中包含在一起的不相同的补丁,在一个系统中的同样的补丁,分散提供的影响不同部分的代码的补丁,包含在版本内的需要额外努力实施的补丁。
】
③ SWU即“软件的更新质量”
该指标是评估有缺陷的软件的更新级别,以减低顾客风险。
评估必须按月计算,并包括产品的最主要的三个版本。
SWU =( 版本N的缺陷软件更新的累计数/ 版本N的软件更新的累计数)*100%
(3)软件的服务目标(SQ)和子指标可包括:
S1:安装服务量;
S2:维护服务量;
S3:返修服务量;
S4:呼叫服务量;
S5:支持服务量;
Sd1:安装/或工程不合格数;
Sd2:维护回收数;
Sd3:缺陷维修保证单元数;
Sd4:客服中心超过特定协议规定的时间,按时提出解决方案数量;
Sd5:支持服务的缺陷数;
服务质量(SQ)测量标识符和计算公式:
SQ1(安装/或工程合格)= (1- Sd1/S1)X 100%审查合格
SQ2(成功维护调查)=(1- Sd2/ S2)X 100% 调查无回收
SQ3(成功维修)=(1- Sd3/ S3)X 100%成功维修
SQ4(合格呼叫中心)=(1- Sd4/ S4)X 100%协议时间内准时解决
SQ5(合格顾客支持服务)=(1- Sd5/ S5)X 100% 无缺陷处理
而“可感知"的质量目标至少应包括GB/T16260—1996 idt ISO/IEC 9126:1991
《信息技术软件产品评价质量特性及其使用指南》中要求的软件产品的六个质量特性指标:
✧功用性(Functionality),即软件是否满足了客户功能要求;
✧可靠性(Reliability),即软件是否能够一直在一个稳定的状态上满足可用性;
✧可用性(Usability),即衡量用户能够使用软件需要多大的努力;
✧效率(Efficiency),即衡量软件正常运行需要耗费多少物理资源;
✧可维护性(Maintainability),即衡量对已完成的软件进行调整还需多大的努力;
✧可移植性(Portability),即衡量软件是否能够方便地部署到不同的运行环境中.
4,5。
4.2“质量体系策划”:
应注意软件产品的重大变更、软件开发团队的重大变更如何保持质量体系的完整性. 5,5.5。
3“内部沟通”:
计算机软件企业的内部沟通具有非常好的技术平台,即Internet或Intranet计算机网络的互联互通.通常采用公司内部的办公自动化网络来实现沟通。
在建立质量体系时可考虑充分利用这种网络资源,规定以包括:文件处理流程、网络通知、Email 等等在内的电子类文件实现这些沟通并保持记录(证据)。
6,6。
2.2人力资源控制:
软件产品的开发和实现过程是依靠具有专门技能的人员(系统分析员、程序员、高级程序员)使用计算机软件、硬件等开发工具的智力创造过程。
因此,对人员的能力确定和资格的认定非常重要。
应在公司的《人员能力要求》或《岗位任职要求》中参照信息产业部文件《软件企业认定标准》中的规定,对软件项目的开发人员,管理人员作出适宜的规定和确定。
同时,应注意收集和保持这些人员的经历、经验和资格的证据(证书).
由于计算机软件技术的日新月异的飞速发展,对这些人员应提供技能和知识更新的机会,应向这些人员告知和提供培训的机会。
以保证软件产品的开发和实现过程的控制有效性.
7,6。
3“基础设施控制” :
在软件产品实现过程中的基础设施,与制造业中的硬件产品实现过程所需的基础设施有很大的不同。
在此处,没有机床设备,只有用于产品开发的计算机网络设施、PC工作站、第三方的操作系统软件、组织本体开发的或第三方的开发工具软件、数据库软件、配套的电源支持系统等等硬、软件设施。
应按照标准要求,进行识别,并加。