软件开发的质量保证体系.docx_第1页
软件开发的质量保证体系.docx_第2页
软件开发的质量保证体系.docx_第3页
软件开发的质量保证体系.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文章编号 :100622475 (2002) 0620001204软件开发的质量保证体系叶俊勇 , 汪同庆 ,杨波 ,彭健(重庆大学人工视觉研究室 ,重庆 400044)摘要 : 软件因其复杂性和难以度量 ,使软件产品的质量很难得到保证 。如何确保软件项目的质量 ,提高我国软件产品的竞争力 ,是我国软件企业必须考虑的问题 。通过对目前国际上流行的软件质量保证体系的分析 ,提出了在应用 ISO 9000的基础上应逐渐过渡到 CMM ,实现软件开发过程的持续改进 。关键词 : ISO 9000 ; 质量保证体系 ; 软件能力成熟度模型中图分类号 : TP31115文献标识码 : AQual ity System of Soft ware DevelopmentYE J un2yong ,WANG Tong2qing , YANG Bo ,PENG J ian(Laboratory of Artificial Vision ,Chongqing University ,Chongqing 400044 ,China)Abstract :Its difficult to ensure the quality of software product because of complexity and inestimability of software . How to ensure thequality of software project and improve competitive power of software product is an important problem for our software corporation. By an2alyzing popular quality system in the world , improving software process should transfer to CMM based on ISO 9000 step by step .Key words :ISO 9000 ; quality system ;capability maturity model for software分析 ,印度从一开始就非常重视软件业的国际化管理尤其是技术方面的标准化 。在创业初期 ,印度软件产 业规模跟中关村 80 年代情形相差不多 ,可是 ,不管公 司大小 ,都能做到在文字方面打破民族偏见 、在经营 方面以 IBM 等公司为参照 , 在开发过程中更是严格 地采用国际标准 。我国软件开发企业在技术上与国 际开发技术水平差距不大 ,但是在软件开发过程中过分依赖技术人员的个人能力 ,没有系统的项目管理和配置管理 ,缺乏软件质量保证 。软件开发企业的管理 水平远远落后于技术水平 ,软件工程管理和质量保证 在长时间内都没有引起我们的重视 ,软件的大部分质 量问题都出在管理上 。为了提高我国软件产业的发展水平 ,必须对如何改进软件开发的管理水平 ,如何 对软件开发的质量进行控制进行研究 。计算机事业 的发展使人们认识到要高效率 、高质量和低成本地开 发软件 ,必须以改善软件生产过程为中心 ,实施科学 的软件工程管理 ,这是世界各国软件产业迟早都要走 的道路 ,也是目前我国和软件产业发达国家的差距所 在 。当代世界上关于软件质量保证体系存在三个流0引言软件危机的概念并不陌生 ,所谓软件危机就是软件质量达不到要求 、软件项目无法按时完成以及软件 项目费用超出预算 。为此 ,我们需要研究如何保证软件开发的质量 ,需要引入软件工程过程管理与软件工 程过程改进的概念 。在全球软件市场中 ,美国占据了2/ 3 的市场 , 美国有什么诀窍 ? 据最近一期美国软件战略杂志发表的报告看 ,美国软件业发达 ,很重要 的一个原因就是 : 无论规模大小 ,绝大多数企业都按 照规范化的工作方法管理软件循环过程 ,始终把最终 用户放在软件产品供应优化和质量控制的中心 ,把达 到认证标准放在很重要的位置上 。印度是另外一个 例子 。据有关专家分析 ,中国软件业在基础研究 、技 术前瞻性 、市场前景的把握上都要比印度强 ,在软件 发展的社会环境 、地区发达程度上 ,印度与中国也相 差十年 。但就在近 10 年中 ,印度却一跃而成为除美 国以外最大软件出口国 ,它所生产的计算机软件产品 已远销 75 个国家 ,出口量是中国的 100 倍之多 。据收稿日期 :2001209229作者简介 :叶俊勇 (19732) ,男 ,四川西昌人 ,重庆大学博士研究生 ,研究方向 :图像处理 、图像识别系统 。派 : CMM/ PSP/ TSP 、ISO 9000 系 列 和 ISO/ IEC 15504( SPICE) ,其中以美国国防部支持的 CMM/ PSP/ TSP 流 派研究得最为深入 ,使用得最为广泛 。过程的输入 。系统地识别和管理组织内应用的过程 ,特别是这些过程之间的相互作用 ,称为“过程方法”。过程方法的目的是获得持续改进的动态循环 ,并使得软件企业特别是在软件产品和业务的业绩 、有效性 、ISO 9000 系列ISO 9001 (或 ISO 9002) 是国际通行的质量管理体 系质量保证模式 , ISO 9000 起源于硬件产品的质量控 制 ,但同样适用于软件开发企业 , ISO 9001 : 1994 在 计算机软件开发 、供应 、安装和维护中的使用指南就 是对软件产品的质量保证的补充性指南 。ISO 9000 从 20 个方面描述了质量体系要求 ,通过这 20 个方面 的要求互相作用而建立起来的软件质量体系 ,充分反 映了企业内部对内部质量审核机制和企业外部用户 的审核与评价机制 ,同时也反映了质量体系通过合同 分包方的控制 ,保证外部提供的软件产品质量 。1 . 1 ISO 9000 在软件企业质量保证体系中的应用由于我国软件企业以中小型为主 ,软件开发的方 式以项目开发组为主要方式 ,过分强调技术 ,忽视了 软件开发的管理 ,使软件开发处于一种无序的状态或者过分依赖于开发人员 。软件质量问题主要是由于 管理问题引起的 。针对这些特点 ,在软件开发企业如 何应用 ISO 9000 来保证开发软件的质量应侧重于以 下几点 : (1) 引进软件机构的开发组织方式 ,以建立系 统化 、规范化 、全员化的质量体系为根本目标 。(2) 结合我国有关软件工程开发和管理的国家标准 ,恰当地 给予应用 。(3) 建立 ISO 9000 质量保证体系以后还应 该不断地改进不合理的地方 ,实现软件质量保证的持 续改进 。1 . 2 ISO 9000 :2000 质量管理体系的过程方法新版 ISO 9000 族 标 准 ( 2000 年 版 , 书 写 形 式 为ISO 9000 :2000) 已经正式出版发行 ,同我们目前普遍 使用的 ISO 9000 标 准 ( ISO 9000 : 1994) 相 比 较 , ISO9000 :2000 中更加强调了管理层的质量策划职能 、组 织内部以及组织与客户之间的沟通职能 。总体来说 , ISO 9000 :2000 新标准从其内容来看 ,对于质量管理体系的要求更加纲领化 ,适用范围也更 加广泛 ,由于其不拟对质量管理体系的结构和文件进 行统一 ,客观上提高了对质量体系审核员的要求 。新版 ISO 9000 : 2000 标准促进在制订 、实施和改 进质量管理体系 (QMS) 时 采 用 过 程 方 法 , ISO 9000 :2000 第 2 . 4 款过程方法指出 “: 任何使用资源将输入 转换为输出的活动或一组活动可视为过程 。为使组 织有效运作 ,必须识别和管理许多相互关联和相互作 用的过程 。通常 ,一个过程的输出将直接成为下一个1效率和成本方面得到显著的收益 。按 ISO 9001 : 2000的内容 ,过程方法要求组织识别 、实施 、管理和持续改 进质量管理体系所需的过程 ,并管理这些过程的相互作用 ,以实现组织的目标 ,包括高层管理 、产品实现和相关的支持过程 ,以及监视和测量过程 。质量管理体 系实施的过程方法示意图见图 1 。图 1 过程方法过程的有效性和效率可以通过内部或外部的评审过程和对完善等级的评估来进行评价 。这些等级 一般从“无正式的体系”到“最优秀的业绩”等完善度 分类 。这一方法的优点是可以将其结果形成文件并 在一段时间内监视 ,以达到改进的目标 。对于不同的 应用场合已经制订了许多的完善度表格 , ISO 9004 :2000 附录 A“自我评价指南”中含有一个这样的样式 。采用 ISO 9000 :2000 质量管理体系的过程方法对软件开发的质量保证体系的持续改进会有很大的帮助 。由于 ISO 9000 :2000 发布时间不长 ,还需要根据自身的情况 ,对其进行研究 ,从而确定采用什么样的质量 保证体系 。2软件能力成熟度模型( CMM)我国目前谈及的 CMM 是指“软件能力成熟度模型”, 其 英 文 全 称 为 Capability Maturity Model for Soft2ware (英文缩写名是 SM2CMM) , 更确切地说 ,是指“软 件能力成熟度模型. 1 . 1 版”和“能力成熟度模型的关 键惯例. 1 . 1 版”( Capability Maturity Model for Software ,Version 1 . 1 和 Key Practices of the Capability MaturityModel , Version 1 . 1 简称 CMM 1 . 1 版) 。CMM 是美国 卡内基2梅隆大学软件工程研究所 ( 以下简称 SEI) 的 研究成果 ;CMM 1 . 1 版发表于 1993 年 。SEI 是美国国防部出资于 1984 年设立 。从 1986 年开始 , SEI 针对软件组织改善其软件过程 ,特别是美国国防部对软件 承包 商 的 能 力 评 价 问 题 , 研 究“过 程 成 熟 度 框 架”。1987 年 9 月 ,SEI 发表了关于过程成熟度框架的简要说明和成熟度调查问卷 。以这一过程成熟度框架为 蓝本 ,在美国联邦政府促进下 ,从 1987 年到 1991 年 在美国的一些大公司的软件组织进行了软件过程能 力成熟度模型的评估实践 。根据这 4 年的实践经验 , 特别是从美国政府和工业界反馈的关于软件过程评估的信息 ,SEI 在原过程成熟度框架的基础上开发出 了“软件能力成熟度模型 ( CMM) 1 . 0 版”。在 CMM 1 .0 版发表 后 的 两 年 里 , 先 后 产 生 了 30 多 稿 草 案 , 于1993 年 2 月发表了“软件能力成熟度模型 1 . 1 版”和 “能力成熟度模型的关键惯例 1 . 1 版”( 统称 SM2CMM1 . 1 版 ,有时干脆简称为 CMM) 。2 . 1 软件能力成熟度模型的用途11 用于软件过程的改进 ( SPI Software Process Im2 provement) 。帮助软件企业对其软件过程的改变进行 计划 、制定以及实施 。提高企业软件产品的质量 。21 用 于 软 件 过 程 评 估 ( SPA Software Process As2 sessment) 。在评估中 ,一组经过培训的软件专业人员 确定出一个企业软件过程的状况 ,找出该企业所面对 的与软件过程有关的 ,最迫切的所有问题 ; 以及取得 企业领导层对软件过程改进的支持 ( 用途 2 是用途 1的前一步) 。31 软件能力评鉴 ( SCE Software Capability Evalua2 tion) 。在能力评鉴中 ,一组经过培训的专业人员鉴别 出软件承包者的能力资格 ;或者是检查监察正用于软 件制作的软件过程的状况 。中国软件企业要进入国 际软件市场参与竞争 ,从软件企业本身来说 ,如下几点应该是比较核心的 。首先是软件质量优异 。这个 质量要经过国际独立机构根据世界标准来认证 ;其次 是建立标准的软件开发过程 。而目前 CMM 基本上成 为国际事实上的标准 。我国的软件产品要想打入国 际市场 ,采用国际化的质量保证体系是非常重要的条件 。2 . 2 软件能力成熟度模型简介CMM 标准共分五个等级 , 从第一级到第五级分 别为 :初始级 、可重复级 、定义级 、管理级和优化级 ,从 低到高 ,软件开发生产的计划精度越来越高 ,每单位工程的生产周期越来越短 ,每单位工程的成本也越来 越低 。这五个级别具体内容包括 : 在初始级中 ,过程无 序 ,进度 、预算 、功能 、质量不可预测 ,企业一般不具备稳定的软件开发环境 ,常常在遇到问题的时候 ,就放弃原定的计划而只专注于编程与测试 ; 在可重复级 中 ,建立了管理软件项目的政策以及为贯彻执行这些 政策而定的措施 。基于以往项目的经验来计划与管理新的项目 。达到此级别的企业过程已制度化 ,有纪 律 ,可重复 ; 定义级 ,即过程实现标准化 。在这一级 , 有关软件工程和管理工程的一个特定的 、面对整个企业的软件开发与维护的过程的文件将被制订出来 。同时 ,这些过程是集成到一个协调的整体 ;管理级 ,企业对产品与过程建立起定量的质量目标 ,同时在过程 中加入规定得很清楚的连续的度量 。作为企业的度 量方案 ,要对所有项目的重要过程活动进行生产率和质量的度量 。软件产品因此具有可预期的高质量 。达到该级的企业已实现过程定量化 。最高级为第五级即优化级 ,整个企业将会把重点放在对过程进行不 断的优化 , 企业会采取主动去找出过程的弱点与长 处 ,以达到预防缺陷的目标 。同时分析有关过程的有 效性的资料 ,作出对新技术的成本与收益的分析 ,以 及提出对过程进行修改的建议 。达到该级的公司过 程可自发地不断改进 ,防止同类缺陷二次出现 。具体来说 , CMM 为软件的过程能力提供了一个 阶梯式的改进框架 , 它基于以往软件工程的经验教 训 ,提供了一个基于过程改进的框架图 ; 它指明了一 个软件组织在软件开发方面需要哪些主要工作 ,这些工作之间的关系 ,以及以怎样的先后次序 ,一步一步 地做好这些工作而使软件组织走向成熟 。2 . 3 关键过程域( KPA)除第一级外 ,软件能力成熟度模型的每一级是按 完全相同的结构构成的 。每一级包含了实现这一级 目标的若干关键过程域 ( KPA) ,每个 KPA 进一步包含若干关键实施活动 ( KP) ,无论哪个 KPA ,它们的实施 活动都统一按五个公共属性进行组织 ,即每一个 KPA 都包含五类 KP 。11 目标 。每一个 KPA 都确定了一组目标 , 若这组目标在 每一个项目都能实现 ,则说明企业满足了该 KPA 的要求 。若满足了一个级别的所有 KPA 要求 , 则表明达到了这个级别所要求的能力 。21 实施保证 。 实施保证是企业为了建立和实施相应 KPA 所必须采取的活动 ,这些活动主要包括制定企业范围的政 策和高层管理的责任 。31 实施能力 。实施能力是企业实施 KPA 的前提条件 。企业必须采取 措 施 , 在 满 足 了 这 些 条 件 后 , 才 有 可 能 执 行KPA 的执行活动 。实施能力一般包括资源保证 、人员 培训等内容 。41 执行活动 。执行过程描述了执行 KPA 所需求的必要角色和 步骤 。在五个公共属性中 ,执行活动是唯一项目执行 相关的属性 ,其余四个属性则涉及企业 CMM 能力基 础设施的建立 。执行活动一般包括计划 、执行的任 务 、任务执行的跟踪等 。51 度量分析 。 度量分析描述了过程的度量和度量分析要求 。典型的度量和度量分析的要求是评定执行活动的状 态和执行活动的有效性 。61 实施验证 。实施验证是验证执行活动是否与建立的过程一 致 。实施验证涉及到管理的评审和审计以及质量保 证活动 。在实施 CMM 时 ,可以根据企业软件过程存在问 题的不同程度确定实现 KPA 的次序 ,然后按所确定次序逐步建立 、实施相应过程 。在执行某一个 KPA 时 ,对其目标组也可采用逐步满足的方式 。过程进化 和逐步走向成熟是 CMM 体系的宗旨 。ISO 9001 被认为是适用于所有各类专业领域的一种质量保证模式 ;但是 ,对于软件组织来说 ,尽管加 上了 ISO 900023 作为实施指南 , ISO 9001 似乎仍然不 够贴切 ,留给审核员作解释的回旋余地相当大 。于是就软件能力评定而言 ,按 ISO 9001 进行认证时 ,不确 定性很大 ;换言之 ,同是通过了 ISO 9001 认证的组织 , 其间的软件能力可能有很大差别 。CMM 是专门针对软件组织设计的一种描述软件 过程能力的模型 。考虑到按 ISO 9001 对软件组织进行认证审核时存在的较大不确定性 ,在设计 CMM 时 , 注意了尽量缩小审核员解释的回旋余地 ,因此 ,不仅 对每个关键过程方面给出了明确的目标和体现这些 目标的各个关键惯例 ,而且对各个关键惯例都给出了 明确的定义和详细的说明 ,以期按 CMM 进行评估时能有较大的一致性和可靠性 。5建立软件开发的质量保证体系对于一个软件组织来说 , 市场可能要求它拥有ISO 9001 证书 。无疑 ,瞄准 CMM 的要求进行软件过程改进将有助于本组织通过 ISO 9001 认证审核 。就 软件过 程 改 进 而 言 , 虽 然 这 两 份 文 件 都 可 用 , 不 过 CMM 给出的指南更详细并且视野更宽阔 ,因此 CMM 应该是较好的选择 。我国已经有不少软件开发机构通过了 ISO 9001认证 ,但因为 SEI 的软件能力成熟度模型 ( CMM) 提供 了一个过程管理和过程改善的基础 ,现在有许多公司 正在考虑采用 CMM 。在从 ISO 9001 到 CMM 的过渡 中 ,必须强化过程以适应 CMM 的要求 ( 同时保留 ISO9001) 。在讨论软件机构从 ISO 向 CMM 过渡时 ,可能 需要涉及到关于对过程予以加强的内容 。已经有人对 ISO 9001 和 CMM 两种模型进行比 较 。他们一般的做法就是逐个条款或逐个关键过程 域 ( KPA) 地 进 行 分 析 。这 些 研 究 , 虽 然 有 一 定 的 意 义 ,但几乎不能对软件机构从 ISO 9001 向 CMM 的过 渡提供任何实质性指导 ,因为这时主要关心的是这些模型的实施 。已通过 ISO 认证的机构真正需要的也 许只是它相对于 CMM 标准尚存在的“差距”,换句话 说 ,如果一个已通过 ISO 认证的机构能够很容易地发 现它相对于 CMM 的过程还存在那些差距 ,这才是最 有用的 。因为一个模型可以有许多种可能的实现 ,所以 ,确定差距的困难实际上就来自确定一个模型的具体(下转第 11 页)3ISO/ IEC 15504( SPICE)CMM 的方法很快就引起了软件界的广泛关注 ,1991 年国际标准化组织采纳了一项动议 , 开展调查研究 ,在此后引发了一系列的研究工作 ,现已取得重 要成果 ,产生了技术报告 ISO/ IEC 15504信息技术2软 件过程评估,预计于今年产生正式标准 。从该技术 报告的内容来看 ,其基本的目的和思路 ,均与 ISO/ SEI的 CMM 相似 。CMM 与 ISO 比较ISO 9000 是国际标准化组织提出的系列标准 ,其 中 ISO 9000 - 3 是专门为软件行业定制的 。而 CMM 则是美 国 卡 内 基2梅 隆 大 学 软 件 工 程 研 究 所 ( CMU/ SEI) 提 出 的 软 件 研 发 项 目 管 理 的 一 系 列 方 法 。ISO9000 和 CMM 的共同点是两者都强调了软件产品的 质量 。所不同的是 , ISO 9000 强调的是衡量的准则 , 例如应该做什么 、什么算好 、什么算不好 ,却没有告诉软件开 发 人 员 如 何 达 到 好 的 目 标 , 如 何 避 免 差 错 。 CMM 则提供了一整套较为完善的软件研发项目管理 的方法 。4常接近全局最优路径 。这种算法的时间复杂度是线性的 ,即 O (N) ,而且通过适当增大模型 ,可以控制路 径规划的精度 ,并根据统计原理提出了控制精度的两 个指数 ,这两个指数的含义是计算结果的绝大部分的误差应小于它们 。经过对南昌市交通网络的计算及 分析 ,并与其它方法进行比较 ,表明该方法快速 、可靠 及有效 ,而且要获得可靠的计算结果 ,两个指数应小 于 0 . 3 ,如果需要高度可靠 ,则必须小于 0 . 1 。本文提 出的方法如何应用到其它问题的路径规划还有待于研究 。参考文献 :1Dijkstra E. A Note on Two Problems in Connection with GraphsJ . Numerical Mathematics ,1959 (1) :269271.Russell S , Norvig P. Artificial Intelligence :a Modern ApproachM . Prentice Hall ,1995.严寒冰 ,刘迎春. 基于 GIS 的城市道路网最短路径算法 探讨 J . 计算机学报 ,2000 ,23 (2) :210215.刘清 ,衷仁保 ,朱志勇 ,谢磊 1 实现城市工交线网优化的 数学模型 和 广 义 A 3 算 法 J . 系 统 工 程 理 论 与 实 践 ,1992 ,12 (2) :1117.234(上接第 4 页)实现的困难 。尽管一个模型的实现可以多种多样 ,但 所有的实现都应该有某种共同的特性 。应该将 CMM 第 2 、3 、4 级要求下的过程与一个“典型的”ISO 9001 软件机构的过程加以比较 ,比较的结果是符合 ISO 质量体系要求的机构 ,其过程相对于 CMM 可能存在一 组差距 ,这一结论对 ISO 机构向 CMM 体系过渡是非 常有用的 。首先考虑一个“典型的 ISO 机构”,然后 ,针对每 一个 CMM 的关键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论