(工商管理专业论文)gd软件公司基于cmmi的过程改进实施与分析.pdf_第1页
(工商管理专业论文)gd软件公司基于cmmi的过程改进实施与分析.pdf_第2页
(工商管理专业论文)gd软件公司基于cmmi的过程改进实施与分析.pdf_第3页
(工商管理专业论文)gd软件公司基于cmmi的过程改进实施与分析.pdf_第4页
(工商管理专业论文)gd软件公司基于cmmi的过程改进实施与分析.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(工商管理专业论文)gd软件公司基于cmmi的过程改进实施与分析.pdf.pdf 免费下载

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

文档简介

国内图书分类号:c931.2 国际图书分类号:658.562.6 工商管理硕士学位论文 gd 软件公司基于 cmmi 的过程改进 实施与分析 硕 士 研究生:丁文英 导 师:吴 冲 申 请 学 位:工商管理硕士 所 在 单 位:哈尔滨工业大学软件工程有限公司 答 辩 日 期:2008 年 11 月 授予学位单位:哈尔滨工业大学 classified index: c931.2 u.d.c:658.562.6 a dissertation for the master degree of mba a practice and analyse about cmmi-based process improvement of gd software company candidate: ding wenying supervisor: wu chong academic degree applied for: master of business administration affiliation: hit software engineering limited company date of defense: november, 2008 degree- offering-institution: harbin institute of technology 哈尔滨工业大学工商管理硕士学位论文 摘 要 软件产业是一个迅猛发展的知识型产业。一个国家软件业的发达程度, 即体现了该国的综合国力,又决定着该国未来的国际竞争地位。gd 软件公 司作为黑龙江省软件行业的一支生力军,在省内软件产业中处于非常重要的 地位,但是它的软件过程管理基础较薄弱,软件过程管理不规范。因此迫切 需要研究软件公司的过程管理,提升其软件过程管理水平,从而获得更强的 竞争力和更好地经济效益。 能力成熟度模型集成(capability maturity model integration,cmmi)是在 能力成熟度模型(capability maturity model,cmm)基础上的发展和完善,是 当今软件过程改进领域的重要成果。cmmi 融合了全面质量管理的思想,为 软件企业的过程改进提供了标准。 本文从软件开发历史上的“软件危机”谈起,引入软件工程、软件过程 的概念, 并简要介绍了软件过程改进的两种标准。 另外介绍了 cmm 和 cmmi 产生的历史背景, 主要构成部件、 表示方法和主要内容, 并对 cmm 和 cmmi 进行了比较分析,为研究过程改进提供了理论基础。 通过结合 cmmi 的重点过程域的目标和实践,本文对 gd 软件公司的 cmmi 实施过程进行了分析。对 gd 软件公司 cmmi2 级和 3 级的所有过程 域进行了诊断,指出各个过程域的强项和弱项,根据诊断的结果实施了对各 过程域的改进措施。对 gd 软件公司实施基于 cmmi 的过程改进实施效果进 行了定量分析,同时列出了一些重要的过程域的后续改进意见。总结了 gd 软件公司 cmmi 实施过程中的常见问题和实施经验,同时提出了 it 企业实 施过程改进的措施与建议。 希望本文提出的方法能对国内的软件企业在提高软件过程能力方面提供 一些帮助。 关键词 软件企业;软件过程改进;能力成熟度模型 i 哈尔滨工业大学工商管理硕士学位论文 abstract the software industry is a knowledge-based industry which is developing rapidly. degree of development of software industry in a country reflects the extent of its comprehensive national strength, and decides the future of the countrys international competitive position. the gd software company which is a new and strong force of electronic information industry of heilongjiang province is in a very important position. however, its basis of software process management is relatively weak , and software process management is non-standard. in order to obtain stronger competitiveness and better economic returns, it is urgent to study the process management of software company and enhance software process management level of software company. capability maturity model integration(cmmi),which developed on the basis of capability maturity model (cmm),is the important production in current software process improvements field. cmmi includes the thoughts of tqm(total quality management) , and provides standards for the process improvements of software companies. the article starts with the“software crisis”in the history of software development,introduces the concept of software engineering and software process,and describes two standards of software process improvements in brief. in addition, this dissertation presents background of producing, the theory frame and contents of cmm and cmmi,and compares and analyzes cmm and cmmi. it provides theory basis for the research of the process improvements. by combination with the object and practice of important process areas of cmmi, the dissertation analyzes the process of implement of cmmi in gd company, diagnoses all the process areas of the second grade and third grade, points out the strength and weakness, and takes the measures of improvement in all process fields according to the results of diagnose. it analyzes the effect of cmmi-based process improvement implements of gd software company quantificationally,makes some suggestions of subsequent improvements in some important process areas at the same time, and summarizes the usual problems and the experiences of cmmi process improvement implements of gd software ii 哈尔滨工业大学工商管理硕士学位论文 company. finally it gives some advices about software process improvements to the it companies. finally i hope the method employed in this dissertation can provide some help to domestic software enterprises to improve their capability of software process. key words software enterprises, software process improvement, cmmi iii 哈尔滨工业大学工商管理硕士学位论文 目 录 摘 要 .i abstractabstract .ii 第 1 章 绪论 .1 1.1 问题的提出 .1 1.2 软件过程改进的国内外研究现状 .2 1.2.1 国外研究现状 .3 1.2.2 国内研究现状 .4 1.3 本文研究的目的和意义.5 1.4 本文研究的主要内容.6 第 2 章 软件过程改进概述 .7 2.1 软件危机及其特点.7 2.2 软件工程与软件过程改进.9 2.2.1 软件工程概述 .9 2.2.2 软件过程改进 .10 2.3 软件过程改进的主要标准.11 2.3.1 iso9001.12 2.3.2 cmm/cmmi .13 2.4 cmm体系结构.15 2.4.1 cmm的产生.15 2.4.2 cmm的主要内容.15 2.4.3 cmm的内部结构.16 2.5 cmmi体系结构 .16 2.5.1 cmmi的产生 .16 2.5.2 cmmi的主要内容 .18 2.5.3 cmmi的内部结构 .20 2.6 cmm与cmmi的比较分析 .21 2.7 本章小结 .22 第 3 章 gd软件公司基于cmmi软件过程改进的实施 .23 3.1 gd软件公司简介.23 3.2 实施cmmi的原因分析.23 iv 哈尔滨工业大学工商管理硕士学位论文 3.3 过程改进的ideal方法和目标 .25 3.3.1 过程改进的ideal方法.25 3.3.2 过程改进的目标 .26 3.4 实施诊断的结果分析.26 3.5 cmmi重点过程域的改进.30 3.5.1 需求管理(reqm)过程域的改进.30 3.5.2 项目计划(pp)过程域的改进 .32 3.5.3 项目监督与控制(pmc)过程域的改进.34 3.5.4 度量与分析(ma)过程域的改进.35 3.5.5 配置管理(cm)过程域的改进 .39 3.5.6 需求开发(rd)过程域的改进.41 3.5.7 产品集成(pi)过程域的改进 .43 3.5.8 组织培训(ot)过程域的改进.44 3.6 本章小结 .46 第 4 章 gd软件公司基于cmmi软件过程改进的分析 .47 4.1 软件过程改进实施效果分析.47 4.1.1 改进前后的质量数据分析.47 4.1.2 对各个过程域的后续改进意见.50 4.2 cmmi过程改进的经验总结.51 4.2.1 cmmi过程改进的常见问题.51 4.2.2 cmmi过程改进的实施经验.53 4.3 cmmi过程改进的措施和建议.54 4.3.1 实施cmmi过程改进的两个步骤 .54 4.3.2 实施cmmi过程改进的几点建议 .55 4.4 本章小结 .57 结 论 .58 参考文献 .59 哈尔滨工业大学硕士学位论文原创性声明 .62 哈尔滨工业大学硕士学位论文使用授权书 .62 哈尔滨工业大学硕士学位涉密论文管理 .62 致 谢 .63 个人简历 .64 v 哈尔滨工业大学工商管理硕士学位论文 第 1 章 绪论 1.1 问题的提出 软件产业是一个迅猛发展的知识型产业。一个国家软件业的发达程度, 也体现了国家的综合国力,决定着国家未来的国际竞争地位。我公司作为黑 龙江省电子信息行业的一支生力军,以打造拥有自主知识产权的高水平的民 族软件、硬件产品为己任,十年来一直处于一种高速发展、着力规范管理并 以项目为主导的形势之中。随着公司越来越多的项目因客户需求的不断提高 而导致产品生命周期缩短,因新技术的要求而导致研究和开发项目增加,在 组织内洞察力敏锐的人认识到所有的项目都超期并超出了预算,而且所有的 项目都经历了数量级比必要或预想都大得多的质量问题。主要原因在于组织 内没有定义和文档化易于理解的软件开发过程。每个项目或者从零开始定义 自己的软件过程,或者部分遵循最近开发的软件项目所使用的过程,结果在 项目开发过程中由于没有易于理解的软件开发过程作为制定项目软件过程的 参照点,则花费了比预想更多的时间去定义项目的软件过程。同时与过程相 关的问题不断发生。例如,许多项目成员没有计划要检查他们负责的需求或 设计及代码。因此当项目经理意识到人们没有执行相应的检查就宣称他们的 设计和编码已经完成时,他坚持让这些人回去执行相应的检查。由于许多项 目成员最初没有为检查做计划,因此,他们随后的活动就落后于计划。最终 项目经理取消了他的命令,允许一些设计和代码没有检查就进入测试。这个 决定导致了低质量的代码进入测试阶段。实际上,许多下游的活动需要更多 的时间从所产生的低产品质量中得到恢复。大部分的项目成员感到只有项目 经理掌握项目软件开发过程,自己在项目中没有一点儿过程的自主权。结果 大部分项目完成后,进度超期 50%,成本超出 70%,支持低质量产品的影响 使维护代价增加了 100%,这主要是由于低的客户满意度导致的。 鉴于上述存在的问题,公司管理层对软件工程的研究都倾注了大量的人 力、物力和财力,多年来也取得了一些成效,软件质量问题仍然非常严重, 企业管理软件过程的能力还比较弱,过程混乱使得新技术、新工具的优势难 以体现。究其原因,是因为我公司的软件过程管理缺乏规范化和标准化3。 于是,我公司开始关注软件过程能力的提高,我们把这种用于提高软件过程 1 哈尔滨工业大学工商管理硕士学位论文 能力的实践称为软件过程改进。有人将软件过程改进比喻成“练内功” ,作为 软件企业,只有通过苦练内功,加强软件过程改进,才能够参与到国际化的 竞争中去。cmm和cmmi是软件过程改进领域的重要成果,也是适用于软件 企业质量管理和过程改进的重要标准。近几年来,国内软件企业也兴起了认 证热潮,cmm受欢迎的程度远远超过了iso同类标准4。 本论文正是在这样的背景下,研究分析了软件过程改进的 cmm/cmmi 理论,并理论联系实际,以 gd 软件公司为对象,对软件企业基于 cmmi 的 过程改进实践作了更为深入的研究和分析,以期为国内其他软件企业实施软 件过程改进、提高软件质量、提高企业管理水平提供思路和借鉴。 1.2 软件过程改进的国内外研究现状 目前,软件产业的发展已经被提升到空前的战略高度,软件产业的持续 快速发展一方面得益于计算机、网络通信、数字家电以及各行业硬件平台的 建立和应用,另一方面得益于软件产业政策环境、技术条件的不断改进和完 善,国外软件业发达,很重要的一个原因在于:无论规模大小,绝大多数企 业都按照规范化的工作方法管理软件过程,始终把软件过程控制和改进放在 重要的位置。 cmm是美国卡耐基梅隆大学软件工程研究所应美国联邦政府的要求开 发的一种用于评价软件承包商能力并帮助其改善质量的方法。 该模型于 1991 年正式推出,迅速得到广大软件企业及其顾客的认可6。从 1987 年sei推出 sw-cmm框架开始,1991 年推出cmm1.0 版,1993 年推出cmm1.l版,2000 年推出cmmi-se/sw1.0 版本,随着cmm的广泛应用,其他学科也相继开发 了类似的过程改进模型,如系统工程、软件工程、软件采购、人力资源管理 以及筹划产品和过程开发等7。在过去的几年中,cmm以具体实践为基础, 以逐步演进的框架形势不断完善软件的开发和维护,成为了事实上软件过程 改进的工业标准8。 在全球软件市场中,北美、欧洲和日本等国家及地区应用cmmi最为广 泛,cmmi已经成为衡量软件公司软件开发管理水平的重要参考,根据美国 卡耐基梅隆大学的调查研究报告,全球已有数千家软件开发企业通过了 cmmi认证9。 随着 cmmi 逐步成为国际公认的软件产业评估标准, 通过 cmmi 的认证 对于面向软件出口的软件开发机构尤为重要。尝试进入国家软件市场的中国 2 哈尔滨工业大学工商管理硕士学位论文 企业,越来越深刻的认识到实施 cmmi 对于开拓海外市场的重要作用,因此 国内软件企业也掀起了一股 cmmi 的认证热潮。实践证明,cmmi 能够较为 准确地反映软件企业的质量管理水平,并为企业的进一步改进提供指导。 1.2.1 国外研究现状 1991 年,sei 发布了 cmm1.0 版本;1993 年,sei 对 cmm1.0 版本做了 新的修订,发布了 cmm1.1 版本,此版本一直使用到 2005 年。 cmm自从面世以来,在软件业中产生了巨大的影响,其在解决软件过程 存在的问题方面的成功使得相关领域也纷纷采纳和效仿它的模式,于是出现 了多种基于cmm的模型,构成了一个cmm族32。 ? pcmm:由 bill curitis 博士开发的人员能力成熟度模型,用于人力 资源管理。 ? sacmm:软件获取成熟度模型,任务是提高软件获取方能力的成 熟度。 ? ipdcmm:集成系统产品开发能力成熟度模型,面向集成系统产品 的开发管理。 ? secmm:系统工程能力成熟度模型,面向系统工程。 ? ssecmm: 系统安全工程能力成熟度模型, 面向系统安全工程管理 33。 多个 cmm 模型各有各的用处,每一种模型都讨论了某一特定领域中的 过程改进问题,随着系统复杂性的不断增长,面向不同领域的过程改进模型 已经不能很好的支持并行工程的混合式开发环境,cmm 模型主要用于软件 过程的改进,促进软件企业软件能力成熟度的提高,但它对于系统工程,集 成化产品和过程开发,供应商管理等领域的过程改进都存在缺陷,在具体实 施中存在问题: ? 如果一个组织涉及到多个领域,就要同时实施几个模型,而这些模型 之间有存在差异。 ? 在一个组织内或是几个不同的组织实施多个模型,将会在人员培训、 过程的评估和改进方面付出多重代价,这样会增加组织的负担,提高过程改 进的成本34。 这些问题促进了cmmi的产生。1997 年,sei开始研究cmmi,其任务是 将各种cmm模型结合成一个模型。2002 年年底,卡耐基梅隆大学软件工程 3 哈尔滨工业大学工商管理硕士学位论文 研究所宣布他们将不再对cmm进行更新, 而是将secmm/sscmm/ippd cmm/swcmm整合在一起,形成cmmi。cmmi集成了多种成熟度模型 的优点,改进了各自模型的不足,覆盖不同领域,代表了先进的软件过程改 进方向。35目前,cmmi已经成为一种软件质量管理的标准衡量模式。越来 越多的软件公司开始采用这个模型开展相应的过程改进工作,来提高过程能 力的成熟度,使软件开发或系统开发工作更加高效,更具有国际竞争力36。 1.2.2 国内研究现状 目前我国对软件过程改进的研究还处于起步阶段,因此既要借鉴国外现 有的模型和经验,又要结合我国实际情况,同时还要考虑可操作性。 我国在 1992 年颁布了第一套软件工程国家规范 计算机软件工程规范国 家标准汇编 ,目前最全面的是计算机软件工程规范国家标准汇编 2003 。 这些标准对我国软件的标准化起着重要的作用。 信息产业部有关主管司局依托中国电子技术标准化研究所及其咨询公 司,调集了众多软件专家和软件企业人士,在研究了国外的cmm和iso/iec tr 15504 等国际标准的基础上,结合我国多年软件工程和标准理论的基础 上,于 2001 年 4 月 3 日发布了电子行业标准sj/t11234软件过程能力评估 模型和sj/t11235软件过程能力成熟度模型 ,并于 2001 年 11 月 9 日发 布了 关于贯彻软件能力评估标准的通知 , 对软件能力评估试点工作进行了 部署l0。 中国工程院院士何新贵教授带领的一个研究小组在对国内外情况和技术 资料充分调查和分析的基础上,参照swcmm的总体框架,根据中国国情, 提出了cscmm(中国的cmm),并在大型工程中实施。cscmm把软件过程的 进化过程分为 6 个成熟度等级, 在原cmm等级 1 和 2 之间插入了一个基本级, 使得成熟度等级的划分更加均匀,易于软件开发组织的升级l7。cscmm是 一个框架,它试图为提高软件过程能力的软件开发组织描述了一条改进其过 程的途径11。 上海贝尔公司的软件工程专家林锐 2002 年提出了“精简并行过程 (simplified parallel process,spp)” ,spp是基于cmmi以及软件工程和项目管 理知识而创作的一种“软件过程改进方法和规范” 12。cmmi是spp的主要 参考标准,但是spp并不是对cmmi进行简化处理后的结果。两者都是用于指 导软件过程改进的方法论,cmmi主要描述“应当做什么才能使软件过程能 4 哈尔滨工业大学工商管理硕士学位论文 力达到cmmi某种级别” ,而spp则论述“应当怎样做才能使软件过程能力达 到cmmi3 级水平”13。 总之,我们看到 cmmi 在国内外已经产生了很大的影响,国内虽然刚刚 起步,存在一些问题,但发展很快,如果我们能够对比分析好国内外成功经 验和失败教训,就一定会对我国软件产业的发展起到巨大的推进作用。 1.3 本文研究的目的和意义 20 世纪 70 年代中期,软件质量管理引起广泛注意。当时美国国防部曾 立题专门研究软件项目做不好的原因,发现 70%的失败项目是因为管理不善 而引起的,而不是因为技术实力不够。他们进而得出一个结论,即管理是影 响软件研发项目全局的因素,而技术只影响局部。这个结论非常重要。软件 项目失败的主要原因有:需求定义不明确;缺乏一个好的软件开发过程;没 有一个统一领导的产品研发小组;没有经常注意改善软件过程;对软件构架 很不重视等等14。在关系到软件项目成功与否的众多因素中,软件度量、工 作量估计、项目规划、进展控制、需求变化和风险管理等都是与软件质量管 理直接相关的因素。由此可见,软件质量管理的意义至关重要。因此引用国 际通用cmmi规范,建立一套健全的软件开发过程改进模型,对于高速发展 的软件产业来说,具有相当大的现实意义。 由于cmmi主要是针对大型企业的过程改进, 对中小企业还不是很适用, 所以中小企业需要根据自身项目的具体情况进行裁剪, 在实施中不停的探索。 实施 cmmi 过程改进并不是一帆风顺的,总会遇到各种各样的问题,要充分 认识到过程改进工作的长期性与艰巨性。本文从国内外研究动态出发,查阅 了大量资料,并结合前期课题研究成果,对 cmm 和 cmmi 的体系结构进行 了分析和比较;并探讨了如何运用抽象的 cmmi 理论来实施 gd 软件公司的 软件过程改进,分析了 cmmi 在 gd 软件公司的实施成效,总结了 cmmi 实践中一些可供推广的经验、措施和建议。目的在于提高过程改进的可操作 性,使 gd 软件组织顺利地走上规范化,并为组织实施 cmmi 进行软件过程 改进起到一定的引导作用。对提高软件质量管理水平发挥作用。 5 哈尔滨工业大学工商管理硕士学位论文 1.4 本文研究的主要内容 本文将在总结和吸收参考文献研究成果的基础上,以 cmm/cmmi 的软 件过程改进的理论为核心,结合 gd 软件公司 cmmi 过程改进的实施,分析 实施 cmmi 改进的方法、步骤和措施等系列问题。 论文第二章从软件开发历史上的“软件危机”谈起,引入软件工程、软 件过程的概念,并简要介绍了适用于软件企业质量管理和过程改进的两种标 准。接着阐述软件过程改进的相关概念,详细介绍了软件过程改进领域的两 大重要成果 cmm 与 cmmi,对于 cmm/cmmi 理论框架的介绍为论文第三 章 gd 软件公司基于 cmmi 过程改进的实践研究提供理论基础。 论文第三章,针对 gd 软件公司基于 cmmi 软件过程改进作详细的描述 和分析,主要包括以下方面:实施 cmmi 改进的原因;如何确定 cmmi 改进 的步骤;对 gd 软件公司的 cmmi2 级和 3 级的所有过程域(pa)进行了诊 断,指出了各个过程域的强项和弱项,根据诊断的结果制定了对各个 pa 的 改进措施。 论文的第四章,对 gd 软件公司基于 cmmi 过程改进的实施效果作了进 一步分析,总结了过程改进过程中的常见问题和实施经验,同时提出了 it 企业实施软件过程改进的措施与建议。 论文的第三章和第四章,是理论联系实际,也是较多体现本人观点和研 究成果的章节。 论文的最后,提出了作者的观点:中国的软件企业实施基于 cmmi 的过 程改进能够有效地提高软件过程能力,改善软件质量水平。 6 哈尔滨工业大学工商管理硕士学位论文 第 2 章 软件过程改进概述 2.1 软件危机及其特点 在 20 世纪计算机发展初期, 人们对软件开发的理解就是编写程序, 而且 编程是一种崇尚个人技巧的工作,是少数聪明人干的事。他们的智力与技能 超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。当 时,编程还缺乏有效的方法和软件工具的支持,最多也只是通过框图来进行 简单的流程控制。程序设计被看作是一门“艺术” ,几乎没有软件编程的规范 和控制,软件开发人员一般都是独自工作,热情而陶醉地编写程序。日积月 累,不知不觉产生了一堆问题:程序质量低下,错误频出,进度延误,费用 剧增等, 这些问题统称为 “软件危机” 。 发生 “软件危机” 最突出的案例是ibm 公司在 1963 年至 1966 年开发的ibm360 操作系统。该项目花了 5000 人一年 的工作量,得到的结果却非常糟糕。据统计,这个操作系统的每一个新版本 都是从上个版本中找出上千个错误而修正后的结果15。 对于此次 “软件危机” 中所爆发的问题,我们可以从下面五个方面加以描述。 (1)软件开发成本高 随着计算机技术的进步, 生产规模的扩大, 计算机硬件价格的不断下降, 软件成本在整个计算机系统中所占的比重越来越高。到 60 年代中期已增至 50%左右,70 年代以后,软件费用进一步增加。随着时间的推移,计算机硬 件成本持续降低,而软件成本则不断增加,软件成本占计算机家族总成本所 占的比例呈现日益扩大的趋势。 (2)软件开发的进度难以控制 软件是一种逻辑系统,为了完成一个复杂的软件系统,人们常常需要考 虑建立一个庞大抽象的逻辑系统。此外同样的软件算法在程序实现上的差别 非常大,再加上在软件过程中可能遇到的种种问题,所以投入的资源能否产 出预想的结果,事先很难预料。软件开发的这一特点,往往不仅给项目计划 和论证工作带来很大的困难,而且使软件过程很难按照预定的计划实现。 (3)软件开发的工作量难以估算 通常,在进行一项工作时,需要根据其复杂性、工作量及进度要求而安 排人力,但是软件开发的工作量是很难估算的。这是因为,一方面软件开发 7 哈尔滨工业大学工商管理硕士学位论文 实际上是逻辑思维过程,在写出程序并将其拿到计算机上运行之前,软件开 发的效果难于衡量,质量也难以评估,因此其工作量也是很难估计的。另一 方面,软件开发的复杂性随着软件规模的扩大呈指数剧增,开发一个大型软 件系统,往往很复杂,需要成百上千人分工协作。软件系统结构的各部分联 系紧密,彼此相关,这是导致软件开发的工作量难以估算的一个很重要的因 素。 (4)软件开发的质量难以保证 软件产品不同于硬件,他不会用坏,不存在零部件更换种种问题。但是, 软件产品不允许出现偏差,不能发生错误,否则会带来严重的后果。例如, 医疗系统中的软件错误可能造成生命危险,银行系统中的软件错误可能引起 金融混乱,航空系统中的软件错误可能会引起飞机失事。 软件一旦发生错误,只能在生产现场修改和改正原来的设计。一些大型 系统软件,虽然可以通过测试排除大部分的软件错误,却无法保证系统的所 有功能全部正确无误,只有在系统投入运行后才能发现错误,但此时的软件 错误往往己经造成了严重的后果。所以,软件产品的质量问题与其他产品的 质量问题有很大不同。软件产品是人类逻辑思维的产物,有时软件开发人员 和用户对于问题的理解有很大的距离, 软件开发人员常常从自己的理解出发, 去进行软件开发。用户则对于自己需要的产品功能和要求难以表达清楚,但 用户无法也无力参与到软件的质量管理中, 这就导致企业在投入了大量人力、 物力和财力,而得不到自己满意的软件产品。 (5)修正维护软件困难 实际上即使是正式投入使用的商业软件,总会存在一定数量的缺陷。随 着时间的推移,在不同的运行条件下,软件会出现故障,需要维护。但软件 的维护和硬件的维护不完全相同。首先,软件不是一种实物,而是逻辑元件, 软件故障属逻辑故障,不是硬件的“用旧” 、 “磨损”之类的问题。维护软件 不是更换某种备件,而是要纠正逻辑缺陷,使之改正错误,增加适用性,或 提高性能。其次,当软件系统规模庞大,问题复杂时,经常会发生“纠正一 个错误带来更多的新错误”的问题。最后,软件修改和扩充表现为改变程序 中几条语句或几条指令,当系统投入运行后为适应新增加或变化的设备条件 或为增添新功能,经常要提出要求进行维护。可以看出,软件的维护工作量 较大。 综上所述,由于软件是计算机系统中的逻辑部件而非物理部件,软件开 发是逻辑思维过程,软件开发的工作量很难估计,进度难以把握,质量也难 8 哈尔滨工业大学工商管理硕士学位论文 以评价,软件开发的成本很高,维护工作量繁重。同时软件的复杂度又随着 规模按指数递增,这就需要许多人共同开发一个大型系统。团队开发软件虽 然增加了开发力量,但也增加了额外的工作量,组织不严密,管理不善,常 常是造成软件开发失败多, 费用高的重要原因。 人们面临的不仅是技术问题, 更重要的是管理问题。 2.2 软件工程与软件过程改进 2.2.1 软件工程概述 在 ibm 公司在内的许多软件企业陷入“软件危机”的困境而无法自拔的 时候,计算机科学家们和工业界人士聚在一起共商对策。通过借鉴传统工业 的成功做法,他们主张用工程化的方法开发软件,试图解决软件危机,并冠 以“软件工程”这一术语。30 多年来,尽管软件的问题如人类的感冒一样无 法根治,但软件的发展速度超过了任何传统工业,期间并未出现像“经济危 机”那样可怕的情景。如今,软件工程己经成了计算机领域的一门学科。 fritz bauer: 在 1969 年的nato(北大西洋公约组织)会议上给软件工程下 了非常模糊的 “定义” : 软件工程是为了经济地获得可靠的和能在实际机器上 高效率运行的软件而建立和使用的、好的工程原则37。 1993 年的ieee文献给出了更加综合的“定义” ,软件工程是:(1)将系统 化的、规范化的、可度量的方法应用于软件的开发、运行和维护的过程;(2) 对上述方法的研究38。 stephen r.schach在其著作里称:软件工程是一门旨在生产无故障、及时 交付的、在预算之内的和满足用户需要的软件的学科39。 像数学、物理等学科遇到的问题一样,我们很难找出软件工程的完美定 义。其实站在应用者的角度,只要理解软件工程的内涵就可以了,不必纠缠 于定义本身。人们不禁疑问,不是说搞软件开发的人都比较聪明吗,怎么也 会发生像“软件危机”所描述的那些问题呢?其实,这与软件开发人员是否聪 明没有多少关系。人们之所以不得不采用软件工程方法来解决软件开发中存 在的弊病,是因为“技术发展的需要”和“软件工业化生产的需要” 40。 (l)技术发展的需要 计算机技术的迅猛发展和应用领域的不断拓展,导致软件的规模与复杂 9 哈尔滨工业大学工商管理硕士学位论文 性急剧膨胀。现在的软件开发于早期的程序设计已经不是同一回事了,确切 的说,编程只是开发过程的一个环节而己。再聪明的程序员也不太可能独自 把复杂软件系统开发工作全部做完。软件开发尤其是企业级软件的开发再也 不是个人可以完成的工作了,尤其是电信领域的产品线需要成百上千的开发 人员,维护队伍也非常庞大。这种情况下,如何规范软件的开发过程,确保 按时、按质完成这些大型软件的开发呢?我们需要包括分析、设计、编程、维 护以及项目管理在内的一整套方法和技术,即软件工程。 (2)软件工业化生产的需要 很多国家纷纷把软件列为支柱产业之一,归根结底是因为软件产业的效 益(包括经济效益和社会效益)远远高于其他行业。所以在当前的国际形势下, 如果一个国家不发展信息产业(information industry,涵盖了软件业),那么经 济就无出头之日。 实现“软件的工业化生产”决不是靠某一项技术突破能解决的。毫无疑 问

温馨提示

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

评论

0/150

提交评论