008039-浅析引进质量标准体系的重要性-工程硕士池永权_第1页
008039-浅析引进质量标准体系的重要性-工程硕士池永权_第2页
008039-浅析引进质量标准体系的重要性-工程硕士池永权_第3页
008039-浅析引进质量标准体系的重要性-工程硕士池永权_第4页
008039-浅析引进质量标准体系的重要性-工程硕士池永权_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

软件工程学习总结 浅析引进质量标准 体系的必要性 授课教师:殷人昆 单位: 计算机科学与技术系 专业: 计算机技术工程领域 姓名:池永权 学号:008039 2003 年 6 月 软件工程学习总结 i 目 录 1. 前言 .1 2. 软件工程的定义 .1 3. 软件工程管理的必要性 .2 4. 软件工程管理中存在的危机 .3 4.1 版本难以控制 .3 4.2 资源变化频繁 .3 4.3 配置审核问题 .4 4.4 项目开发中的组织管理问题 .4 4.5 没有软件项目开发的历史数据 .4 4.6 忽视用户的需求的变动 .5 4.7 忽视监督项目的进度 .5 4.8 忽视设计复查和代码复查 .5 5. 软件业中主要标准及规范 .6 5.1 CMM 认证: .6 5.2 IS0 9000 标准: 10 5.3 SJ/TI1234 和 SJ/TI1235 标准: .13 6. 国际标准在国内面临的尴尬 .14 7. 国际标准实施中的两面性 .15 结束语 .17 软件工程学习总结 1 1. 前言 本人有幸在这个学期学习殷老师的软件工程技术课程,感触很多也学到了 很多软件工程管理技术,本人在 94 年95 年曾经参与开发了医院管理系统软件, 后来在清华大学企业集团下属一家软件公司工作,进行过一些初级的软件开发管理 工作,也参与的公司 ISO9000 质量体系认证工作,很多工作中的疑惑在学习当中得 到了答案,很感谢殷老师的指导。 本文是本人在工作和学习当中的一些体会,本文中如有哪些错误请您及时指正。 (因为 SARS 病毒,清华封校,5 月以后的课程我没能参加听课,我到网站上下载了您提供 的课件,后半部分是我自己看的,可能会有很多理解错误的地方,请您谅解。) 2. 软件工程的定义 软件的开发伴随着计算机的诞生而诞生,是随着计算机硬件技术的发展而发展。 最初的软件开发从计算机刚刚诞生的 50 年代就已经开始,因为当时计算机的 处理能力很差,所以开发出来的程序的复杂性也不是很高,开发出来的程序之间的 数据交换也不是很多,专家们定义当时的软件开发处于程序设计阶段。 进入 60 年代到 70 年代随着计算机硬件技术不断提高对软件也提出了很高的要 求,程序的数量不断提高,程序之间的数据交换慢慢增多,随之而来的程序的复杂 性也逐渐提高,对程序开发的系统性也提出了很高的要求,这个阶段开始程序开发 也开始侧重于软件本身的系统性,运行中的程序也不是一两个程序,而是一个庞大 的软件系统。 到 70 年代后期,随着计算机硬件基础的突飞猛进,各行各业都希望计算机能 够参与到生产和管理中来,软件业市场的突然增大,软件的需求量急剧上升,软件 市场对开发商的软件开发周期、开发质量等都提出了很高的要求,面对其它行业的 规范化和工程化,软件开发也面临着危机,软件商也开始不断改进软件的制作流程 的同时提出了软件工程的概念,随后各种国际标准化组织机构也针对软件开发提出 了各种各样的标准,软件工程也与制造、建筑等传统工业一样进入了一个逐步走向 标准的新的发展阶段。 软件工程的定义很多,软件工程学定义软件工程为:建立并使用完善的工程化 原则, 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 ISO 9000 定义:软件工程过程是把输入转化为输出的一组彼此相关的资源和活 动。 从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间 等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为 输出(软件产品)。 也有一些专家认为软机工程就是运用现代科学技术知识来设计并构造计算机程 序及为开发、运行和维护这些程序所必须的相关文档资料。 软件工程过程定义了: 方法使用的顺序、 要求交付的文档资料、为保证质量和 适应变化所需要的管理、软件开发各个阶段完成的里程碑。 近几年软件也每年以高于 50的速度增长,2002 年的总产值达到 200 亿美元, 电子信息技术的迅猛发展大大推动了全球经济的增长。 计算机软件在电子信息技术中的地位日益重要,软件产业作为一个朝阳产业对 各国经济的贡献越来越大。在美国,软件产业成为继汽车、电子工业后的第三大支 柱产业。90 年代后期,美国软件产业以每年 12.5%的速度递增着。1998 至 1999 年 度,印度的软件销售额已达到 40 亿美元。我国在 1999 年的软件销售额也上升到 176 亿元人民币。此外,软件技术对一个国家的安全和社会稳定也是至关重要的。 在信息时代的今天,存储在庞大计算机系统中的天文数字般的信息一旦受到”病毒” 感染或” 黑客”攻击,就有可能造成难以估量的损失。为此,各国都在积极制定有利 于软件产业发展的政策和措施,从宏观上为软件企业的发展营造良好的社会环境。 但另一方面,软件企业发展的真正动力应该来自企业内部,软件企业只有加强质量 管理,积极创新,才有可能在激烈的竞争中立于不败之地。 3. 软件工程管理的必要性 随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加。计 算机软件开发从传统的以一两个人独立开发软件的方式转向团队开发的模式,计算 机软件项目的管理也从“单人作战方式”管理转向“工厂流水线作业方式”。 从软件企业的发展战略来说,如何在技术日新月异、人员流动频繁的情况下, 建立本公司的知识库及经验库, 把企业中分散的隐性的财富,即个人的知识及经 验转变为企业的知识和经验,以便提高工作效率,缩短产品周期, 加强企业的竞 争力,具有至关重要的作用。 采用科学的管理思想,辅之以先进的管理工具,已经成为企业未来发展必不可 少的手段。如果软件开发机构不能有效地控制和使用软件资源,则在面对风险时就 可能导致软件开发活动出现各种问题。 由于不能很好地管理软件过程,使得一些好的开发方法和技术没有起到预期的 作用。项目的成功往往是通过工作组的杰出努力,这种仅仅建立在依赖特定高素质 开发人员基础上的成功,不能保证开发小组的持续稳定的软件生产和质量的长期提 高。因此,要降低软件开发过程的风险、保证软件产品质量,就必须加强管理,而 软件工程学习总结 3 软件配置管理是企业过程改善和能力提升的基础。 中国软件企业大多习惯于手工作坊式运营,质量效率和合作观念不强,产品与 国际市场接轨的条件和意识较差,这些使中国软件企业与美国、印度等相比更象游 击队之于正规军。软件产业的游戏规则的核心是标准和全球化,世界软件产业其实 处于一个开放的价值链中,落后于这些标准,就可能被抛出游戏中。软件企业必须 按照规范化的工作方法管理软件循环过程。 中国软件人才中工程设计管理专家严 重不足,技术工人人数偏少,尤其从业人员英语差距太大,都直接影响了中国软件 的出口和国际竞争。软件是技术密集型产业,获得竞争力的关键在于怎样提高开发 应用的效率,降低成本,同时提高产品质量。 美国在研究软件项目做不好的原因时,发现 70%的失败项目是因为管理不善引 起的,而不是技术实力不够,因此有一个结论,管理是影响软件项目全局的因素, 而技术只影响局部。1995 年,美国共取消了 810 亿美元的软件项目,其中 31%项目, 未做完就取消了,53%的项目进度通常要延长 50%的时间。软件是知识产品,进度 和质量难于度量,生产效率难以保证,宇宙飞船的软件系统源程序代码有 2000 万 行,如果按过去的生产效率一个人一年写 1 万行代码的话,那么需要 2000 人年的 工作量。在关系到软件项目成功与否的众多因素中,软件质量、工作量估计、项目 规划、进展控制、需求变化和风险管理等都与工程管理直接相关,因此,软件工程 管理是关键。 4. 软件工程管理中存在的危机 大部分软件开发商在计算机软件开发和维护过程中会遇到的一系列问题,对于 他们来说,可能遇到过或者正在被以下问题所困扰。 4.1 版本难以控制 一个软件往往由许多的模块组成,在不同的阶段(基础功能、新增功能),很 可能为了适应不同的环境(如不同的操作系统)、根据不同客户的要求开发了特点 各异的版本,这些版本之间有大量的共享模块,以及属于自己的模块。在最后将这 些模块组装成系统的某个版本时才发现,所需模块版本无法确定; 图表、源代码、文档等等,经过多人次修改后,发现实际有用的版本却不知去 向了; 团队中并行开发引起的冲突。例如:编程人员 A 和 B 共同修改同一个模块, 两人经过几个昼夜的奋战之后,又都回存到服务器上,但到了程序试运行的时候, 才发现有一个人的修改被冲掉了! 有的模块没有经过测试,就直接进入了产品之中; 4.2 资源变化频繁 某些开发人员在软件项目开发的过程中离去,由于他负责使用或维护的文档或 者资源不完善,使得后续人员接手他的工作时困难重重,造成开发过程的停滞。 由于没有控制好软件变化过程,消耗了大量人力物力,导致项目严重超期、预 算超支; 项目经过了几次大改动,几乎记不起原来是什么样子了;或者说,根据用户提 出的多次变更要求更改后的成型软件,与用户的需要相距甚远。 软件变化未经控制进入开发或维护活动之中,引入更严重的问题。例如:某程 序员未经正常的软件变化申请,自行修改软件中的某一错误,虽然局部错误是改正 了,但由于没有考虑到局部改动对全局的影响,使得整个系统不能正常工作。 4.3 配置审核问题 对软件生命周期中的变化没有正常的审核过程:比如在上述示例中导致的问题。 对于客户所提出的变更要求,缺少必要的审查和确认程序。物理配置审核问题: 比如发布出去的产品中,缺少文档,或者文档与应用不一致。 4.4 项目开发中的组织管理问题 项目开始之后,每人每天都在编程序,但却不知道他们的进展如何。项目开发 过程中,一部分人昼夜奋战,另一部分人则无事可干。整个项目的开发可控性差, 无法做到阶段控制。 4.5 没有软件项目开发的历史数据 缺乏软件开发的历史数据是大多数软件项目失败的关键所在, 这样的结论也 许使很多人感到吃惊,但事实就是如此。没有一个可靠的软件开发的历史数据会使 项目经理,程序员,客户对于软件开发的过程缺少清醒的认识。 假设现在你正在管理一个软件项目,而这个项目还没有一个公司在 36 个月内 完成。作为一个负责的经理,你作了一个比较细致和保守的估计,然后告诉你的客 户和你的手下说你认为这个项目需要 36-38 个月完成。然而常常有这样的情况发生: 你的客户和程序员要求把时间压缩到 18 个月。客户一方面希望软件尽早投入使用 而产生经济效益,一方面也想压缩项目时间作为一个讨价还价的筹码;而程序员一方 面可能过于自信,一方面尽早结束项目也能使他们多赚点钱。而此时你的手头上也 没有一个可靠的软件开发的历史数据,在他们的压力下你同意了 18 个月的计划, 于是一场灾难开始了。 软件工程学习总结 5 在项目的开始阶段你发现计划被拖延了,于是开始向程序员们施加压力,要求 他们加快进度,程序员为了追求进度而不得不把其它指标放在一边,这些问题不断 的积累下来而项目经理却蒙在鼓里。到了项目中后期这些质量问题会不断暴露出来, 而且互相关联并且难以解决,甚至有些是系统设计的问题,这时才发现好多模块要 推倒重来,18 个月完成计划变成了天方夜谭。虽然上面只是一个虚拟的例子,但在 实际中这种情况比比皆是。问题的关键就在于软件开发的历史数据是反映软件开发 队伍的能力的标尺,没有了这个标尺,就无法对软件的开发过程有一个清醒的认识。 4.6 忽视用户的需求的变动 尽管最初的用户需求在签定开发合同时已经包含在需求说明书中,但在整个开 发周期中期望用户的需求一直保持不变是不大可能的,因为用户对于如何应用计算 机软件并没有一个成熟的经验。 在项目进行中用户的需求会不断的增长,一般情况下用户的需求以每月 1%的 速率增加,如果一个项目在 12 个月内完成,最终将有超过 10%的改动,如果项目 要持续 36 个月,最后将增加 1/3 的功能。每月 1%也只是一个经验数据,一个缺乏 计算机应用经验的用户会更频繁的改变和增加他的要求。因此在作项目的费用和时 间估计时一定要考虑用户需求的变化。 一种比较明智的方法是在签定开发合同时把用户需求的改动和经济利益挂钩, 如果用户增加或改动了需求,那么软件的交付日期可以推迟,费用也应增加。 4.7 忽视监督项目的进度 到目前为止,软件产业还没有一个标准的项目进度的检查标准。一个比较清晰 的尺度是用已经实现的软件功能反映项目的进度。但这种方法是否就是最科学的衡 量标准,现在还不能定论,毕竟在一个软件项目中软件功能只是一个主要而非全部 的任务。因此一个项目经理在监控项目执行时不应该只关注实现的软件功能,还要 关心文档,测试,技术支持这些因素。在实际工作中我们经常听到经理或程序员说 这样的话:”项目已经完成了 90%”,这种结论带有明显的主观性,一个优秀的项目经 理不应该被手下的判断所迷惑,而应该按照一个比较客观的标准去深入检查。 4.8 忽视设计复查和代码复查 很多程序员习惯于这样一种工作方式:只做不想。他们更关心每天可以写多少行 代码,完成几个模块。在这种态度下,他们都很不愿意复查自己的工作,而习惯于 在软件测试阶段把隐藏的错误改正过来。但设计复查和代码复查在大型的软件项目 中已经有 30 年的应用历史,而且已经被证明在设计和代码编写阶段的复查比软件 测试更能有效的消除错误,一些经验数据表明,在设计和代码复查时发现的错误是 在同等工作量下软件测试发现的错误的两倍。 5. 软件业中主要标准及规范 以上的好多问题都是在软件项目管理过程中经常面临的问题,很多问题是老的 软件开发模式所造成的,也就是说项目管理人员的思维模式没有达到软件工程的高 度来面对这些项目而造成的,大部分问题可以通过引入先进的软件工程项目管理体 系来避免,至少可以大大降低很多问题的严重性。 CMM、ISO 等质量管理体制的引进正是软件工程管理的最受人信赖的一个观念 和手段。比如:印度 Infosys 公司 1992 年大约有 60%的软件开发项目不能按期交货, 在其通过 CMM4 级时,可以保证交货率达到 70%。印度 90%的软件企业都意识到 了 CMM 的重要性。 在这个章节中将简单介绍几个国际标准和国内的一些先进的管理体系标准和规 范。 5.1 CMM 认证: 1) CMM 的发展历程 为了保证软件产品的质量,80 年代中期,美国联邦政府提出对软件承包商的软 件开发能力进行评估的要求。因此,美国卡内基-梅隆大学软件工程研究所 (CMU/SEI) 于 1987 年研究发布了软件过程成熟度框架,并提供了软件过程评估和 软件能力评价两种评估方法和软件成熟度提问单。4 年之后,SEI 将软件过程成熟 度框架进化为软件能力成熟度模型(Capability Maturity Model For Software, 简称 SW-CMM),并发布了最早的 SW-CMM 1.0 版。经过两年的试用,1993 年 SEI 正 式发布了 SW-CMM1.1 版,这是目前使用最为广泛的版本。按照 SEI 最初的计划,应 该在 1998 年发表 SW-CMM 的 2.0 版。由于软件过程评估(SPA)国际标准项目的进 展,美国国防部下令暂时停止推进到 SW-CMM 的 2.0 版,以便吸收 SPA 的长处,于 是便产生了 CMMI(集成 CMM)。20002001 年 SEI 发表了系统工程和软件工程综 合能力成熟度模型(CMMI-SE/SW)1.0 版和 CMMI-SE/SW 1.1 版以及系统工程、 软件工程和集成产品与过程开发的综合能力成熟度模型(CMMI-SE/SW/IPPD)1.1 版。就软件而言,CMMI 是 SW-CMM 的修订本。事实上,它兼收了 SW-CMM 2.0 版 C 稿 草案和 SPA 中更合理、更科学和更周密的优点。在发表 CMMI-SE/SW1.0 时,SEI 宣 布大约用两年的时间完成从 CMM 到 CMMI 的过渡。 软件工程学习总结 7 CMM 基于众多软件专家的实践经验,是组织进行软件过程改善和软件过程评估 的一个有效的指导框架。CMMI 项目更为工业界和政府部门提供了一个集成的产品集, 其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。CMMI 将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获 取和维护能力。CMM 或 CMMI 不仅是一个模型,一个工具,它更代表了一种管理哲学 在软件工业中的应用。 CMM 的思想来源于已有多年历史的产品质量管理和全面质量管理。Watts Humphrey 和 Ron Radice 在 IBM 公司将全面质量管理的思想应用于软件工程过程, 收到了很大的成效。SEI 的软件能力成熟度框架就是在以 Humphrey 为主的软件专家 实践经验的基础上发展而来的。软件能力成熟度模型中融合了全面质量管理的思想, 以 5 个不断进化的层次反映了软件过程定量控制中项目管理和项目工程的基本原则。 CMM 所依据的想法是只要不断地对软件企业的软件工程过程的基础结构和实践进行 管理和改进,就可以克服软件生产中的困难,增强开发制造能力,从而能按时地、 不超预算地制造出高质量的软件。 2) CMM 的主要内容 CMM 把软件开发组织的能力成熟度分为 5 个可能的等级。除了第 1 级外,其他 每一级由几个关键过程方面组成。每一个关键过程方面都由公共特性予以表征。 CMM 给每个关键过程规定了一些具体目标。按每个公共特性归类的关键惯例是按该 关键过程的具体目标选择和确定的。如果恰当地处理了某个关键过程涉及的全部关 键惯例,这个关键过程的各项目标就能达到,这就表明该关键过程实现了。这种分 级的思路在于把一个组织执行软件过程的成熟程度分成循序渐进的几个阶段,这与 软件组织提高自身能力的实际推进过程相吻合。这种成熟度分级的优点在于级别明 确而清楚地反映了过程改进活动的轻重缓急和先后顺序。这一点很重要,因为大多 数软件组织只能在某一段时间里集中开展少数几项过程改进活动。 如果按管理、组织和工程三个方面分类,则 CMM 的关键过程方面分布如下表所 示。 等级 管理 组织 工程 CMM 1 级 CMM 2 级(可重复级) 需求管理 软件项目策划 软件项目追踪和监督 软件分包管理 软件质量保证 软件配置管理 CMM 3 级(定义级) 集成式软件管理 组间协调 组织过程定焦 组织过程定义培训 软件产品工程 对等审查 CMM 4 级(定量管理级) 定量过程管理 软件质量管理 CMM 5 级(优化级) 技术变更管理 过程变更管理 缺陷预防 3) CMM 的作用 CMM 主要应用在两大方面:能力评估和过程改善。 能力评估 CMM 是基于政府评估软件承包商的软件能力发展而来的,有两种通用的评估方 法用以评估组织软件过程的成熟度:软件过程评估和软件能力评价。 软件过程评估:用于确定一个组织当前的软件工程过程状态及组织所面临的软 件过程的优先改善问题,为组织领导层提供报告以获得组织对软件过程改善的支持。 软件过程评估集中关注组织自身的软件过程,在一种合作的、开放的环境中进行。 评估的成功取决于管理者和专业人员对组织软件过程改善的支持。 软件能力评价:用于识别合格的软件承包商或者监控软件承包商开发软件的过 程状态。软件能力评价集中关注识别在预算和进度要求范围内完成制造出高质量的 软件工程学习总结 9 软件产品的软件合同及相关风险。评价在一种审核的环境中进行,重点在于揭示组 织实际执行软件过程的文档化的审核记录。 过程改善 软件过程改善是一个持续的、全员参与的过程。CMM 建立了一组有效地描述成 熟软件组织特征的准则。该准则清晰地描述了软件过程的关键元素,并包括软件工 程和管理方面的优秀实践。企业可以有选择地引用这些关键实践指导软件过程的开 发和维护,以不断地改善组织软件过程,实现成本、进度、功能和产品质量等目标。 最近的 SEI 评估报告显示,从 1996 年到 2000 年,全球有 1012 个组织进行了 CMM 评估,其中 64.8%为商业组织,26.7%为美国官方和军方合同商,主要业务为软 件开发和维护的组织有 922 个,有将近一半的组织规模是在 100 人以下。这些数据 表明,CMM 认证已经引起软件企业的高度关注,并且这种认证同样适合中小企业。 根据 SEI 2001 年 8 月提供的数据,全世界有 1505 个机构申请 CMM 评估。通 过评估的软件公司对项目的估计与控制能力约提升 40%到 50%;生产率提高 10% 到 20%,软件产品出错率下降 13 以上。 在引进 CMM/CMMI 国际认证技术的国家中印度最为积极,效果也是最突出的 一个国家,经过多年的努力印度对 CMM 认证的重视也得到了回报,现在的印度软 件开发业也仅次于美国成为全球第二大软件生产国,摩托罗拉中国研发中心在 2000 年通过 CMM 第 5 级认证,他们从 1997 年到 2000 年间,研发中心每人的平均生产 率提高了 6 倍,开发过程中的错误率下降 10 多倍,软件总体调试过程中错误率下 降了 20 多倍,足可以看出 CMM 认证给软件开发商带来的好处。 更重要的是,通过实施 CMM,世界各地的软件企业可以通过共同的语言来协 调进程。而达到要求的成熟度有助于提高公司信誉,CMM 成了迈向国际市场的”通 行证” 。 在中国国内相关政策对推动 CMM 认证作用是明显的。 2000 年 6 月,国务院下发 18 号文件,其中第十七条明确规定鼓励软件出口型 企业通过 GB/T19000-ISO9000 系列质量认证体系认证和 CMM 认证。其认证费用通 过中央外贸发展基金适当予以支持。 为贯彻 18 号文件,各地分别制定了相应的政策。我国某些城市也相继下发了 很多规章制度,用以推动 CMM 认证,其中 2002 年 10 月,上海市下发了上海市 软件企业能力成熟度模型认证资助资金管理暂行办法。其中第二条规定,对在本 市注册并经认定的软件企业通过 CMM3 级、4 级、5 级认证的软件企业可以分别获 得 40 万、60 万、80 万元人民币资助。 截至 2003 年 3 月,全国共有近 50 家软件企业通过 CMM 认证,其中通过 2 级 的 32 家,3 级 9 家,4 级 2 家,5 级的 4 家。而全国仅有 1400 多家软件企业,实施 CMM 认证的企业比例己经高于世界平均水平。 其中大连海辉科技股份有限公司和东软软件产业集团更是通过了最高级别的 CMM5 级认证。而全球通过 CMM5 级认证的企业只有 70 多家,认证的时间更是远 远短于世界平均值。 5.2 IS0 9000 标准: 1) ISO 9000 系列标准简介 ISO 9000 是一个质量系统标准系列,1987 年由国际标准化组织 ISO 公布,并 出版了有关的材料。现在世界上大多数国家都采用了此标准作为国家标准,从采用 此标准的每个国家的国家标准化组织或从日内瓦的 ISO 总部都可以获的此标准。 “质量系统”是国际通用的用来描述确保并证明产品的生产过程和服务质量的 术语。 从此系列中可以选择相应的标准来满足不同工业部门的需要。其中软件工业的 标准如下: A) ISO 9001 质量系统是在软件设计、开发、生产、安装和维护是的质量保证 的参考文件。此标准应用于所有软件产品和满足各种技术需求的软件维护 活动中。它是评价软件质量的首要标准。 B) ISO 9000-3 是对 ISO 9001 进行改造后,将其应用到软件工业中对软件开 发、供应和维护活动的指导性文件。 C) ISO 9004-2 是指导软件维护和服务的质量系统标准。它指导和支持软件产 品的维护。 D) ISO 9004-4 是近来公布的很有用的附加标准,是用来改善软件质量的质量 管理系统文件。 E) ISO 9002 适用于评价软件产品是否满足技术需求,但是不包括设计需求。 此标准可以代替 ISO 9001,作为面向软件维护而不涉及设计的,为某些咨 询、计算机培训及服务公司使用的基本标准。 F) ISO 9003 适用于汇编及测试运行情况的标准。目前已经不在使用。 软件工程学习总结 11 2) ISO 90003 标准简介 ISO9000 系列标准原本是为制造硬件产品而制定的标准,不能直接用于软件制 作。后来曾试图将 ISO9001 改写用于软件开发方面,但效果不佳。于是,以 ISO9000 系列标准的追加形式,另行制定出 ISO90003 标准。这样,ISO90003 就成 了用于” 使 ISO9001 适用于软件开发、供应及维护 ”的”指南”。不过,在 ISO90003 的审议过程中,日本等国曾先后提出过不少意见。所以,在内容上与 ISO9001 已有 相当不同。ISO90003(即 GB/T19000.394),全称质量管理和质量保证标准第三部 分:在软件开发、供应和维护中的使用指南。 强调质量并非在产品检验中得到,而是形成于生产的全过程。ISO90003 叙述了 需方和供方应如何进行有组织的质量保证活动,才能得到较为满意的软件;规定了 从双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证 活动,但并没有规定具体的质量管理和质量检验方法和步骤。 ISO90003 的核心思想是”将质量制作入产品之中”。其实道理是很明显的,软件 在完成编码以后,不论花多大的力气用于测试,提高质量都是有限度的,更不必说 需求规格说明存在的问题常常是测试无法发现的。事实上,软件产品的质量取决于 软件生存周期。 为把握产品的质量,ISO9000 要求”必须使影响产品质量的全部因素在生产全过 程中始终处于受控状态”。为使软件产品达到质量要求,ISO90003 要求软件开发机 构建立质量保证体系。首先要求明确供需双方的职责,针对所有可能影响软件质量 的各个因素都要采取有力措施,作出如何加强管理和控制的决定。对与质量有关的 人员规定其职责和职权,使之责任落实到人,产品质量真正得到控制。 A) 总框架 框架涉及到管理职责、质量系统、内部质量系统审计和修改工作。 管理职责:包括质量政策、建立明确的职责、权力和通信联系、提供足 够的资源、人员的检验。它也涉及到用户的职责、与供应商的合作及参 加评审活动。 质量系统:包括建立和维护集中了项目所有方面的质量系统。 内部质量系统审计:保证质量系统的有效性。 修改工作:包括建立处理不合格软件产品或过程的程序。 B) 生存周期的活动 生存周期的活动包括: 合同概述; 采购需求; 开发计划; 质量计划; 设计和运行; 测试和验证; 验收过程; 维护过程。 C) 支持和维护活动 支持和维护活动必须在生存周期中确定。它们包括: 配置管理; 文档控制; 质量记录; 测量; 规则、实践和约定; 工具和技术; 采购; 包含的外部软件产品; 培训。 3) ISO 9000 标准推行过程 仔细阅读过 ISO9001 标准后,每个人都会产生这样一个概念,ISO9001 标准的 确非常全面,它规范了企业内从原材料采购到成品交付的所有过程,牵涉到企业内 从最高管理层到最基层的全体员工。 推行 ISO9000 这么全面而复杂的体系,不可否认是有一定难度,但是,只要每 个人真心实意地将推行 ISO9000 作为提升公司管理业绩的重要措施而不只是摆摆样 子,将它作为一项长期的发展战略,稳扎稳打,按照公司的具体情况进行周密的策 划,ISO9000 终究能在你的公司里生根结果。 简单地说,推行 ISO9000 有如下五个必不可少的过程: 知识准备立法宣贯执行监督、改进 你可以根据贵公司的具体情况,对上述五个过程进行规划,按照一定的推行步 骤,引导贵公司逐步迈入 ISO9000 的世界。 以下是企业推行 ISO9000 的典型步骤,可以看出,这些步骤中完整地包含了上 软件工程学习总结 13 述五个过程: 企业原有质量体系识别、诊断; 任命管理者代表、组建 ISO9000 推行组织; 制订目标及激励措施; 各级人员接受必要的管理意识和质量意识训练; ISO9001 标准知识培训; 质量体系文件编写(立法); 质量体系文件大面积宣传、培训、发布、试运行; 内审员接受训练; 若干次内部质量体系审核; 在内审基础上的管理者评审; 质量管理体系完善和改进; 申请认证 ISO9000 标准要求证实:”企业具有持续提供符合要求产品的能力”。质量认 证是取得这一证实的有效方法。产品质量若能达到标准提出的要求,由不依赖于供 方和需方的第三方权威机构对生产厂家审查证实后出具合格证明。显然,如果这一 认证工作是公正的、可靠的,其公证的结果应当是可以信赖的。正确实施产品质量 认证制度自然会在促进产品质量提高,指导消费者选购产品,提高质量合格产品企 业的声誉,以及节省社会检验大量费用等方面发挥积极作用。 生产企业为了达到质量标准,取得质量认证,必须多方面开展质量管理活动。 其中,企业负责人的重视以及企业全体人员的积极参与是取得成功的关键。 5.3 SJ/TI1234 和 SJ/TI1235 标准: 国家信息产业部结合国情,确定了以 CMMI 作为主要参考文件来制定标准。最 终形成了 SJ/T 11234-2001软件过程能力评估模型 和 SJ/T 11235-2001软件能力 成熟度模型行业正式标准,并于 2001 年 5 月 1 日正式实施。 SJ/T 11234-2001软件过程能力评估模型针对软件企业对自身软件过程能力 进行内部改进的需要,与 CMMI 连续表示形式基本相同。该模型有 22 个过程,分 为 4 大类,即:过程管理类、项目管理类、工程化类和支持类,每个过程能力从 0 到 5 划分为 6 个评估等级,每个等级包含了通用目标、通用惯例、特定目标和特定 惯例,它们组成一套衡量准则。按此准则对实际运行的过程进行评估,可以确定当 前软件过程的能力状态。对每个过程评估后,可以得到企业软件过程能力的一条” 谱线”。这是一个二维坐标曲线,横坐标是 22 个过程,纵坐标是 6 个等级。企业 也可以根据自己的业务目标对各项软件过程改进工作的轻重缓急做出恰当安排,拟 制出一条本企业希望达到的软件过程能力”谱线”,或者说是”目标轮廓”。企业 还可以针对软件开发项目,根据项目的目标和要求,有针对性地”弄清楚”有关过 程的能力状态,实施必要的过程改进,以支持项目的完成。 SJ/T 111235-2001软件能力成熟度模型针对软件企业综合能力第二方或第 三方评估的需求,与 CMMI 分阶段表示形式基本相同。该模型用成熟度 15 个等 级来描述综合软件能力。除了成熟度等级 1 外,每个等级包含若干个过程方面,每 个过程方面的实施情况由相应目标和惯例的实施情况体现。采用这种衡量准则可以 评估软件企业的综合能力软件能力成熟程度。 SJ/T 11234-2001软件过程能力评估模型和 SJ/T 11235-2001软件能力成熟 度模型两项软件标准的特点是对各项软件工程活动给出了比较全面、细致的描述。 在这两项标准的实施过程中,将会面临下列问题: 内容多,篇幅大。标准中涉及 22 个方面的过程,100 多个惯例,总篇幅 600 多 页,60 余万字。因此,需要恰当处理篇幅大与阅读便捷的问题。 概念新,实践少。我国目前软件企业熟悉这两个标准的人不多。需要培养一批 熟悉和运用标准的人才,指导软件企业稳步提高软件能力水平。 软件工程基础差。这两个标准给出了总体要求和方法,具体实施需要软件工程 基础作指导,但我国软件企业缺少对软件工程标准的了解。 针对以上问题,推进标准的实施需要考虑以下几个方面: 1. 开发相应的工具。软件能力评估标准涉及软件工程实践中的大量活动,为保 证清晰、迅速而恰当地掌握和评价这些活动,提高软件企业运用标准的能力,需要 具备一些评估工具。 2. 培训工作,在推进标准的过程中培训工作要及时跟上。 3. 软件工程标准的制定与宣贯。我国目前已发布了 20 多项软件工程标准,但 是要满足软件产业需要还有一定差距。因此,应加强对诸如软件生存周期标准、软 件接口标准、软件度量标准、配置管理标准、质量保证标准、系统测试标准、软件 项目管理标准、风险管理标准的宣贯工作。 4. 软件工程实践的交流。软件工程的发展要靠广大从事软件工程实践和理论研 究的人员共同努力,所以经常性的交流活动可以促进我国的软件工程理论和实践水 平,从而进一步支持模型标准的正确实施。 很多专家谈到:“CMM 认证在国内的流行是中国软件业积极提升自己竞争力 的体现。SJTl1234 和 SJTI1235 行业标准的制定和推出是中国政府对软件业积 极扶持和规范化的体现。国家以及市场通过认证对软件企业进行引导,这是非常积 软件工程学习总结 15 极的。然而,我国软件业起步较低,具备这种能力的培训机构、实施机构比较少, 这是目前推行 CMM 等认证亟需解决的问题。” 6. 国际标准在国内面临的尴尬 国家信产部制定的行业标准并不认可软件开发商通过的 CMM3 认证。信产部 的态度是,如果你要做国内项目,你就做信产部制定的行标认证,不一定去拿国外 SEI 的认证;你有出口的话,你就去拿一个洋证书。 政府主管部门不认同,获得 CMM3 认证对市场在中国的各家软件开发商来说 又有什么用? 另外的烦恼是,CMM 的制订者卡耐基-梅隆大学的软件工程学院 (SoftwareEngineering Institute SEI)在 2001 年 12 月推出 CMM 的改进模型 CMMI,并 宣布到 2005 年不在支持 CMM 而是转向 CMMI。很多已经得到 CMM 认证的软件 公司是不是要要转到 CMMI? 更严重的问题是,CMM 品牌在国内有被加速稀释的趋势。 某些美国 SEI 注册评估师也指出: “中国国内企业在认证过程中的弄虚作假、 评估师受贿等问题已经引起了 SEI 的关注。” 据了解,一个企业进行 CMM 认证要付出总计 150 万-200 万人民币的现金、人 力、物力和机会成本,这其中就包括可能的行贿金额。 我国于 2001 年 4 月发布并实施的行标更增加了企业的疑惑。 据介绍,行标是信息产业部及其有关主管司局依托中国电子技术标准化研究所 及其力友和咨询公司,调集国内众多的软件工程及软件质量管理专家和企业人士, 在研究了国外 CMM 和 ISO15504 等标准的基础上,集合我国多年软件工程和标准 化的理论和时间的进展而制定的。 但问题之一是,负责制定行标的中国电子标准化研究所即信息产业部第四研究 所被指定为行标的认证机构,它和从事 CMM 咨询服务的力友和咨询公司是一

温馨提示

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

评论

0/150

提交评论