




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)面向中小软件企业的过程改进模型的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文面向中小软件企业的过程改进模型的研究与设计 摘要 近2 0 多年来,信息技术和信息产业已成为新兴生产力的代表,作为信息产业 核心的软件产业更是得到了前所未有的迅猛发展。但是,上世纪7 0 年代出现的“软 件危机”一直困挠着软件行业。同样,我国的软件企业也面临着软件规模化生产的 挑战。我国中小型软件企业占软件企业总数的6 0 多,由于企业的规模偏小、可用 于软件工程环境建设资金和软件工程人员的缺乏等原因,致使他们软件开发过程的 控制能力较低,产品开发质量得不到保障。 本论文通过对软件成熟度模型的学习和研究,以中小软件企业实际开发过程为 基础,对c 2 级的关键过程域进行裁剪和提炼,针对中小型企业项目开发过程存 在的问题,提出一套适合我国中小型软件企业特点的过程改进模型- - s s p i 模型。 s s p i 模型的特点是更贴近我国中小软件企业实际情况、易操作和低成本。它是介 于c m m 公共模型标准与企业具体过程规范之间的过程改进模型,通过它可以降低中 小软件企业实施过程改进的难度。通过对此模型的裁剪,企业可以方便地定义出组 织过程标准或具体项目的开发过程。模型中集成了一个支持工具s s p i a n a g e r , 以方便其实施。 本文研究的目的是通过对面向中小软件企业过程改进模型的研究和应用,能逐 步规范中小软件企业的开发过程,提高他们的软件过程能力。 关键词:s s p i 模型能力成熟度模型( c m m ) 软件工程软件过程软件产业 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 a b s t r a c t i n f o r m a t i o nt e c h n o l o g ya n di n f o r m a t i o ni n d u s t r yh a v eb e c o m et h es y m b o l so f t h en e w p r o d u c t i v i t ys i n c et h el a s t2 0y e a r s p a r t i c u l a r l y , a st h ec o r eo f t h ei n f o r m a t i o n i n d u s t r y , s o f t w a r ei n d u s t r yh a sb e e nd e v e l o p e du n p r e c e d e n t e d l y h o w e v e r , s o f t w a r e c r i s i sh a ss t i l l h a n d i c a p p e dt h ed e v e l o p m e n to fs o f t w a r el i n e f r o mt h el a s t7 0 s a t p r e s e n t ,s o f t w a r ee n t e r p r i s e s i no u r c o u n t r y a r e f a c i n g t h e c h a l l e n g e o ft h e v o l u m e - p r o d u c e o fs o f t w a r e m e d i u ma n ds m a l l - s i z e ds o f t w a r ef i r m si ns o f t w a r e i n d u s t r ya c c o n n t sf o rm o r e6 0 ,a n ds u c hk i n d so fe n t e r p r i s e sh a v ei n f e r i o ra b i l i t yt o p r o d u c e w i t ht h el o w e r q u a l i t yp r o d u c t sd u e t ot h e i rm i n i a t u r es c a l e s ,l a c ko f c a p i t a la n d t a l e n t e de m p l o y e e s t h r o u g ht h el e a r n i n ga n ds t u d y i n gi n t h ec a p a b i l i t ym a t u r i t ym o d e l ,a n da l s o b a s e do nt h e c a p a c i t ys t a n d a r d o fc m m 2 ,t h i sp a p e rp r o p o s e sas e to fm o d e lf o r s o f t w a r ep r o c e s s i n gi m p r o v e m e n t ( s i m p l i f i e ds o f t w a r ep r o c e s si m p r o v e m e n t ,s s p i ) , w h i c hi m p r o v e da n de p u r a t e dt h ek e yp r o c e s s i n ga r e a si nc m m 2 s s p ii sa i m e dt ot h e t r u es i t u a t i o no ft h es o f t w a r ei n d u s t r yi n0 1 1 1 c o u n t r yw i t ht h ef e a t u r e s ,s u c ha se a s y o p e r a t i o na n dl o w - c o s t t h em o d e li sp r o c e s sm o d e l ,w h i c hi s b e t w e e nc m mm o d e l p u b l i cs t a n d a r da n dt h ef i r ms p e c i f i cc r i t e r i a s s p ii se a s i e rt 0u n d e r s t a n da n da c c e p t m a nt h eo t h e r s w i t ht h em o d e l c o r p o r a t i o n sc a nm a k eo u tt h er e c o g n i z i n gc r i t e r i aa n d p r o j e c td e v e l o p m e n te a s i l y as u p p o r t i n g t o o l s s p im a n a g e ri sd e v e l o p e dt oh e l pt h e i m p l e m e n t a t i o n o fs s p i t h ep u r p o s eo ft h e p a p e ri s t os t a n d a r d i z es o f t w a r e d e v e l o p m e n tp r o c e s s i n m e d i u ma n ds m a l l s i z e d f i n n s ,a n d t o i m p r o v et h e i r a b i l i t i e si ns o w a r e p r o c e s s p r o d u c t i v i t y k e y w o r d s :s s p i m o d e l ,c a p a b i l i t ym a t u r i t ym o d e i ( c m m ) ,s o f t w a r e e n g i n e e r i n g ,s o m v a r ep r o c e s s ,s o f t w a r ei n d u s t r y 预一1 :学位论文面向中小软件企业的过程改进模型的研究与设计 1 1 论文研究的背景 1 。1 1 软件业面临的挑战 第一章绪论 随着经济和科学技术的不断进步,软件产业已经成为信息产业中至关重要的角 色。但是,由于软件自身的特点给软件开发和维护带来了一些客观上的困难,导致 了软件的开发速度和软件维护远远赶不上人们对软件需求的增长,也就是所谓“软 件危机”。问题主要表现在:软件质量达不到用户要求,软件项目无法按时完成, 项目花费超出预算。2 0 世纪7 0 年代中期,美国国防部在调查软件项目做不好的原 因时发现,7 0 的失败项目是因为开发过程管理不善引起,并不是因为技术实力不 够,进而得出个结论:管理是影响软件研发项目全局的因素,技术只影响项目局 部。在商用软件开发中,这一现象尤为严重。1 9 9 5 年,美国共取消了8 1 0 亿美元 的软件项目,其中3 1 的项目未做完就取消了,5 3 的软件项目进度通常要延长5 0 的时问,通常只有9 的软件项目能够及时交付。美国国防部对1 7 个主要的项目调 查发现:项目平均合同时间是2 8 个月,平均延迟2 0 个月。3 。因此,软件工程管理 问题也就越来越得到人们的重视。 1 。1 2 国内外软件工程的发展现状 软件工程的研究开始于2 0 世纪7 0 年代,软件组织为了提高软件产品质量,开 始关注软件生产过程。通过逐步规范和改进软件生产过程来保证产品质量。目前世 界卜关于软件过程的研究主要有三个体系:美国的c 蹴c 渤i 、i s 0 9 0 0 0 系列以及 i s o s p i c e 标准。其中以美国s e i 的c m m c 埘i 体系研究的最为深入,应用最为 广泛,并且已经成为公认的软件过程改进标准”“。 i s 0 9 0 0 0 系列是国际标准化组织于1 9 8 7 年公布的一组质量体系标准。它强调 通过过程管理来保证产品的质量。具体体现在事前计划,严格按照计划实施,事后 检查、总结和分析,并采取相应的改进措施。在生产过程中,保证影响软件产品质 量的因素都处于受控状态。该标准从2 0 个方面提出了产品质量要求。 i s o s p i c e 是国际标准化组织专门为软件过程评估制订的国际标准。它借鉴 了当时世界上主要的软件过程体系,包括美国c a r n e g j em e l i o n 大学软件工程研究 所的轳件能力成熟度模型( c m m ) 、b e l lc a n a d a 的t r i l l i u m 、e s p r i t 的b o o t s t r a d 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 以及其它的软件过程模型。从1 9 9 1 年6 月提出,1 9 9 5 年发布了最初版本的草案。 c m m ( c m m i ) 软件过程体系是在美国国防部的支持下由c m u s e i 开发的。它己 成为国际上最流行的、使用最为广泛的一个改善软件开发过程的框架,是软件组织 的改善内部管理过程的指导。它将软件开发管理过程能力分为5 个级别,任何一个 软件组织都处于其中的某一个级别。据2 0 0 1 年的统计数据表明,全球已有一万多 家软件开发机构通过了c m m 评估,其中绝大多数被评估的软件开发组织为c m m 2 级 能力水平。 我国也在软件工程技术研究上投入了大量的人力物力,并取得了较好的效果。 为推进我国软件产业规范化和标准化发展,我国信息产业部2 0 0 1 年推出了“软件 过程能力评估模型s j t 1 1 2 3 4 ”和“软件能力成熟度评估模型j t 1 1 2 3 5 ”两个标 准模型,是参照c m m i 模型编写的。s j t 1 1 2 3 4 主要适用于软件企业内部过程改进, 对应于c m m i 连续表示形式。s j t 1 12 3 5 主要适用于对软件企业综合软件能力进行 评估,对应于c m m i 阶段表示形式。我国政府还出台了鼓励软件产业和集成电路 产业发展若干政策鼓励软件出口型企业通过i s 0 9 0 0 0 系列质量保证体系认证和 c m m 认证,其认证费用通过中央外贸发展基金适当予以支持。3 。 1 1 3 我国中小软件企业存在的主要问题 在分析中小企业特点之前,这里先明确中小型软件企业的概念。“小型”的定 义比较模糊,在1 9 9 8 年关于c m m 和小型项目的s e p g 研讨会上,“小型”被定义为 持续时间是3 4 个月,人员不多于5 个的项目”1 。而b r o d m a n 和j o h n s o n 定义“小 组织”为少于5 0 个软件开发人员的组织,“小项目”为少于2 0 个开发人员从事的 项目”。本文中提到的“中小型软件组织”是依据上面第二种定义。 软件产业在我国起步较晚,但发展比较迅速。特别是近几年来,软件产业年均 增长率达3 0 ,是同期g d p 增长速度的三倍。我国的软件产业已经形成了一定的规 模,但是软件企业发展还相当不均衡,我国的软件企业具体有以下特点: 1 我国中小型软件企业在数量上占绝对比重。 我国软件企业整体表现为规模小。2 0 0 4 中国软件年会上c c i d 公布数据显示, 目前。国内软件企业已达8 5 8 2 个,软件企业中1 0 0 0 人以上的大型企业数量只占全 行业0 8 ,5 0 人以下的企业则占到全行业的6 5 9 。从产品结构和规模上看,绝 大部分企业是在国外生产的软件平台上进行应用性开发,做基础软件的公司很少, 软件产品的规模普遍偏小,缺少集成多个软件产品和提供全面解决方案的能力。 2 中小型企业的软件开发过程不够规范 十软件组织:在本文中泛指软件开发企业或从事软件开发的企业事业、部门、科研 机构、学校等。 2 额主学位论文蜘垂惫孛枣软释众望齄过程敬进摸登翡硬竞与设计 尽管小型缀织在项目开发过程中辩闽题豹解决常表理有刽瓤能力犟珏较强躯灵 活性,但是由于他们缺少规范的软件开发过程,因此在项目开发中的离失败率也是 不可避受的。我国大多数中小型软搏企娃郡处于c 瓣初始级水平,软馋熬成功开发 往往依赖个人的能力,大部分工作都交给一个载一组人去做,缺少计划、分工和记 录,恧且忽视对过程移质量的簿理,整个软件开发过穰对辨赛薅言既不可褪,瞧不 可控。在这种过程状7 兄下,开缴微型软件时可能会成功,但在大型软件项目中,则 会遵予过程警璎混熬妻接导致颈g 失败。腰以,我国多数串,、软黉企敛摄难达到较 高的软件工程瓣求,缺乏承担商质量软件工程釉系统设计、开发、集成的能力。据 软件年会绞诗数字,到去年底,我国只蠹7 5 家软件金渡透过了e 溅谬健,其中多 数都处于较低的成熟度等级。 0 我国软转监发鼹还不够戏熬 按照软件工程的要求,软件开发应当分阶段分工进行。国外软件企业已经实现 7 这黪产、监链瓣转移,蘧轰敦农产最斡设诗帮链售上,在毽雾器建残立疆究院歹 = 漫 研发工作,把编码工作外包给印度等发展中国家的公司。中国软件业与印度相比还 青稷大麓距,铡数的匿索摄多:金监嗣予软传工程坯境建设熬浚金不是,对较 睾过 程改进的重视不够,缺少自己的核心投术等等。目前,我国的多数软件企业依然把 獗发、竣诗、缓妈、烈试、锩镁器维护等蕊考王俸都敖在本企炫内运行,恕企鼗有 限的资源平均分配使用,进行小作坊式软件生产,限制了软件工业化生产。 4 + 戮奁我曩软佟金选靛痊爱逐链于起步黔段 1 9 9 0 年c 州首次进入我国,引起了我国软件业实施c 删的热潮,但是由于起 步较黢,我莺敕敬磐金蝗在e 溅懿应爱主还链予搽索黔段。 趸舔l 发是安憝e 溅簸为 普及的发展中闯家,这也是印度软件产业迅速发展的一个重要阑索,他们的软件企 崆足乎完全是溅囊出弱,在遥避硬级试涯戆公镯数量上甚至超i 雯了美毽。搀绞诗o :, 2 0 0 1 年6 月底,全世界有1 6 5 4 家软件公司和机构通过了不同级别的认证。其中通 过5 缀议证懿家、缀4 4 家。在缀毒爨5 缀企监审,美露占6 0 家,印度占3 0 家、我国只有摩托罗拉中国软件公司l 家5 级众业。到目前,通过c 咖评估的企业 总数有7 5 家,雾羧蔻e 溅2 级。 2 论文研究的主要工作 本文论的课题来源于“上海市高等学校青年科研基金项目软件过程改进的模 鳖及方法驴,著结合囊己在中小登载 孛企韭中获事较 每开发辩经验帮对矮嚣开发 过程的认识以及在研究生阶段对软件工程知识的学习和研究等,提出了一个丽向 3 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 国内中小软件企业的精简软件过程改进模型。 本论文通过对软件能力成熟度模型研究和学习,依据c m m 2 级成熟度要求,针 对我国中小软件企业的具体特点,设计了面向中小软件企业的过程改进模型及过程 改进方法和模型支持工具。 1 精简软件过程改进模型 精简软件过程改进模型( s i m p l i f i e d s o f t w a r ep r o c e s si m p r o v e m e n t 以下简称s s p i ) 是基于c m m 2 级能力标准的提出过程改进模型。 该模型是针对我国中小软件企业过程规范程度 低、实施过程改进的经验不足、用于过程改进 的资金有限等特点设计的,是一套更贴近我国 中小软件企业实际情况的、易操作的、低成本 的过程改进模型。它是介于c 洲公共过程标准 与组织的具体开发过程或组织过程标准之间的 图1 1 依据s s p i 模型制定企业过程标准 过程模型( 如图1 1 所示) ,企业可以对此模型进行裁剪制定企业的具体项目过程 或组织过程标准,降t 氐o e d , 企业裁剪c m m 公共标准来定义企业项目过程的难度,提 高企业过程能力。s s p i 模型的实施框架的组成如图 1 2 所示。s s p i 模型的实施框架由模型、支持工具 和改进方法组成。支持工具是专为s s p i 模型开发的 s s p im a n a g e r 软件,改进方法是采用p d c a 循环实现 过程改进。 2s s p im a n a g e r 工具 图1 2s s p i 模型的实施框架 s s p im a n a g e r 软件是专为s s p i 模型设计的支持工具。针对中小型软件企业配 置管理相对薄弱的特点,在功能的设置上主要是以配置管理为主,还包括人员角色 管理和项目进度管理等功能。为了方便开发过程中的文档编写的工作,工具集成了 s s p i 模型中所有的文档模板。该工具参照了当前流行的配置管理工具软件 m i c r o s o f tv i s u a ls o u r c e s a f e 和w i n c v s 的一些特点。 1 3 论文的组织 第一章绪论。分析了当今软件产业所面l | 岛的挑战、研究了软件能力成熟度模 型( c m m ) 对软件过程改进的作用、总结了我国中小软件企业的特点,介绍了论文 的主要研究工作和意义。 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 第二章国内外软件工程研究情况。介绍了c m m 的发展及其基本内容,通过与 i s 0 9 0 0 0 系列标准对比,说明了c m m 更适用于软件行业的特点,并分析了当前流行 的软件生命周期模型的优缺点。 第三章s s p i 模型的设计原则。阐述了的s s p i 模型的主要设计原则。 第四章s s p i 过程模型。从整体上介绍了s s p i 模型的结构、生命周期、过程域 的设置,对模型的过程改进方法和支持工具s s p im a n g e r 进行了说明。 第五章s s p i 模型的过程域。描述了s s p i 模型的过程域的具体内容。 第六章s s p i 模型的支持工具。从软件的特点、设计和功能上对s s p im a n a g e r 工具软件进行描述。 第七单结束语。总结了整个论文的工作,并对论文研究中存在的不足提出今 后需要进一步完善的工作和研究方向发展的展望。 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 第二章国内外软件工程研究情况 软件工业发展的第一次浪潮是以瀑布式生命周期模型和结构化的方式为特征: 第二次浪潮是过程成熟运动;第三次浪潮是预期中的软件工业化“”1 。每次都是对 前一次的重大改进。目前软件工业处于软件成熟运动浪潮的中心,软件过程改进运 动正在全世界范围内传播,也得到了越来越多的组织和人员的支持。 结构化开发方法是于2 0 世纪7 0 年代逐渐发展起来的,它所关注的是开发方法 本身,即需求定义的正规化以及设计、创建那些可以在最终系统中加以追踪的需求 的方法。这成为软件从“手工作坊”向大规模生产转换的开端,但是那些导致软件 项目失败的真实原因( 例如项目管理以及需求管理) 还未成为关注的焦点。1 。软件 过程改进是对不断增加的软件项目失败率的一种反应。过程成熟度是结构化方法的 进一步发展。软件过程管理的范围不局限于分析、设计、编码和测试活动,而是覆 盖了软件开发过程及其支持活动的各个方面。对过程的关注开始于美国国防部最初 对软件工程研究所( s e i ) 的赞助,s e i 为美国国防部提出了评估软件供应商能力 的方法一能力成熟度模型。从那时起,s e i 所产生的关于过程的信息就越来越多地 影响到了全世界的软件行业。 s e i 推出的c 删( 软件生产能力成熟度模型) 是基于过去软件工程成果的基础 上,吸取了以往软件工程的经验教训,为软件企业的过程能力提供了一个阶梯式的 进化框架,指明了一个成熟的软件组织在软件开发方面需要管理的主要工作及这些 工作之间的关系,以及以怎样的先后次序,一步一步地做好这些工作使软件组织走 向成熟。c m l l c m m i 已经成为国际上流行也是公认的软件生产过程标准“。 过程成熟运动为软件行业的第三次浪潮铺平了道路,在第三次浪潮中,软件开 发将变得如同装配与制造过程一样。第三次浪潮启动的关键因素是规范软件工程过 程,在这个过程中,质量、进度与质量都是可以预测的。 2 1 能力成熟度模型( c m u ) 2 1 。1c m m 的发展 软件能力成熟度模型( c a p a c i t ym a t u r i t ym o d e l ,简称c m m ) ,是卡内基一梅 隆大学软件工程研究( s o f t w a r ee n g i n e e r i n gi n s t i t u t e ,s e i ) 为了满足美国联 邦政府评估软件供应商能力的要求,于1 9 8 6 年开始研究的能力成熟度模型。1 9 8 6 年1 1 月开始研究c m m 成熟度框架,1 9 8 7 年有了一些成果。1 9 9 0 年6 月首次评审了 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 c m m 的草案,1 9 9 1 年8 月正式发布了c m m1 o 版本。又于1 9 9 3 年2 月推出c m m l 1 版本,同时还发布了两个报告:s wc m m l 1 版本和s wc m m 的关键实践。这也是目 前世界上比较流行和通用的c 脚版本。按照s b i 原来的计划。c m m 的改进版本2 0 应该在1 9 9 7 年1 1 月完成,然后在取得版本2 0 得实践反馈意见之后,在1 9 9 9 年 完成准c m m 2 0 版本“”,但是,美国国防都办公室要求s e i 推迟发布c m m 2 0 版本, 而要先完成一个更为紧迫的项目c 删i ( c a p a b i l i t ym a t u r i t ym o d e li n t e g r a t i o n ) , 即能力成熟度模型集成。2 0 0 0 年4 月s e i 推出了第一个c 删1 1 0 版本,2 0 0 2 年, 推出了c m m l l 1 版本。 图2 。1c m m 发展历史的里程碑 c 删1 】版本的评级要素包括成熟度级别、关键过程域和目标,共有1 8 个关键 过程域,5 2 个目标,3 1 6 个关键实践。这些实践描述了什么是好的工程实践和管理 实践给出了过程改进的目标和方向,但它们并不对如何实施过程做出说明。 目前,c m m 代表着软件发展的一种思路,一种提高软件过程能力的途径。尽管 它存在着某些不足。例如,成熟级别、关键过程域、公共属性和关键实践还需要在 软件行业进一步深入地讨论和修订,但它确实为软件行业的发展提供了一个良好的 框架。并且是软件过程能力提高的有用工具。 c m m 和c 跚i 在2 级能力级别上所关注的过程方面和过程域的设置基本一致的, 所以本论文选择了己得到广泛实施的c 涮作为研究对象,以c 加l f i 作为参考。 2 1 2c m m 的阶梯式进化框架 c m m 描述和分析了软件企业的软件过程能力的发展程度,将软件企业的软件能 力成熟度划分5 个等级,如图2 2 所示。它为软件组织描述了从混乱的、不成熟的 软件过程向成熟的、有纪律的软件过程改进的一条途径。其中等级1 是初始级,是 混乱的、不可预测的过程:等级2 是可重复级,是经过训练的软件过程:等级3 是 定义级,是标准致的软件过程;等级4 是管理级,是可预测的软件过程:等级5 是优化级,是能持续改善的软件过程。任何软件企业所实施的软件过程,可能在某 一方面比较成熟,在另一方面不够成熟,但总体上必然属于这5 个层次中的某一 函 硕士学位论文 面向中小软件企业的过程改进模型的研究与设计 有 的 图2 2c i v n 的框架 个层次。因此,一个软件开发单位首先需要了解自己处于哪一个层次,然后才能够 针对该层次的特殊要求解决相关问题。任何软件开发组织在致力于软件过程改善 时,只能由所处的层次向紧邻的上一层次进化,软件过程的进化是渐进的,而不能 是跳跃式的。而且在由某一成熟层次向更高一成熟层次进化时,在原有层次中的那 些已经具备的能力必须得到保持与发扬。 初始级( 等级1 ) 该等级组织的开发过程是不可视的,随着项目的进展软件过程经常被改变。项 目进度、预算、功能和产品质量是不可预测的。项目性能取决于个人能力,且随着 个人的技能、知识和动机的不同而变化,几乎没有明显的稳定的软件过程。在项目 出现危机时,抛弃项目预定的开发规程,仅作程序编码和测试。但不排除个别有能 力的、坚强的软件经理,能经受住在软件开发中走捷径带来的压力,但是当他们离 开项目后,使过程稳定的影响也就随之消失。 可重复级( 等级2 ) 该等级的主要特征是已经建立了管理软件项目的方针和实旌这些方针的觌程。 软件组织对正在实掩的和已经实施的软件项目进行经验总结,从中抽取出软件过程 实施当中有效的、具体的、适用的方法,并将其文档化,形成规程,为以后的项目 预算、评估和软件过程实施提供依据。通过执行已文档化的规程,对当前项目进行 有效的管理和控制,形成稳定的软件过程能力。 已定义级( 等级3 ) 该等级的主要特征是标准化。与可重复级比较,已定义级更强调软件开发中各 有关组织的相互协调和作为个统一的整体参与软件开发。对软件开发和软件维护 的标准流程已做记录,而且这些流程都集成到一个连贯的整体中。项目的成本、进 度和功能性能均受到控制,对软件质量进行跟踪。这种过程能力建立在整个组织对 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 已定义过程中的活动、角色和职责的共同理解之上。组织在使其过程标准化时,需 设立一个负责软件过程活动的组,如软件工程过程组( s e p g ) 等。 已管理级( 等级4 ) 该等级过程能力可概括为可预测的。组织能在定量限制的范围内预测过程和产 品质量方面的趋势。为产品和过程设置定量的质量目标并限定这些目标的变化范 围。当超出限制范围时,采取纠正措施。软件过程均已具有完善定义和一致的度量, 使软件产品具有可预测的高质量。 优化级( 等级5 ) 该等级软件过程能力的特征为不断改进。组织为扩大其过程能力的范围进行着 不懈的努力,因而不断改善其项目过程性能。既可以采用在现有过程基础上增量前 进的方式,也可以通过采用新技术、新方法方式。为了预防缺陷出现,组织想办法 识别过程中的弱点并预先有针对性地加强过程。利用软件过程的有效数据对新技术 和组织软件过程的更改进行分析,识别出最好软件工程的技术创新,并推广到整个 组织。 2 1 3c m m 的结构 除了初始级外,c m m 模型的每个等级都具有完全相同的组成结构,如图2 3 所 示。每一等级包含了实现这一等级目标的若干个关键过程域( k p a ) ,每个k p a 又包 含若干个关键实践活动( k p ) :所有k p a 的实施活动都按五个公共属性进行分类,即 每一个k p a 都包含五类k p 。 图2 3c m m 的结构 目标:每一个k p a 都确定了一组过程目标,若这组目标在每一个项目中都能 实现,则说明组织满足了该i ( p a 的要求。当满足了一个级别的所有k p a 要求,则表 硕士学位论文 面向中小软件企业的过程改进模型的研究与设计* 明这个组织的能力成熟度达到了这个能力级别。 实施保证:组织为了建立和实施相应k p a 所必须采取的活动,这些活动主要包 括制定组织范围的方针和高层管理的责任。 实施能力:是组织实施k p a 的前提条件。组织必须采取措施,在满足了这些前 提条件后,才有可能执行k p a 的执行活动。实施能力般包括资源保证、人员培训 等内容。 执行活动:描述了执行k p a 所需求的必要角色和步骤。在5 个公共属性中,执 行活动是唯一与项目执行相关的属性,其余四个属性则只涉及组织c m m 能力基础设 施的建立。执行活动一般包括任务计划、任务执行、任务跟踪等。 度量分析:描述了过程的度量和度量分析的要求。典型的度量和度量分析的要 求是确定执行活动的状态和执行活动的有效性的依据。 实旋验证:是验证执行活动是否与建立的过程一致。实施验证涉及到管理评审 和审核以及质量保证活动。 2 1 4c m m 的关键过程域 每个关键过程域包含若干相关活动,当这些活动全部完成时,就能达到增强过 程能力的目标。每个关键过程域都处于一个成熟度等级上,如图2 4 所示。 图2 4 按成熟度排列的关键过程域 硕士学位论文 面向中小软件企业的过程改进模型的研究与设计 关键过程域是一些结构单元,它们指明了组织要改进软件过程必须关注的部分。关 键过程域是达到某一成熟度等级所必须解决的问题。下面是c 中所包含的1 8 个 关键过程域。 1 需求管理 需求管理的目的是建立和维护用户和软件项目开发方之间关于软件如何实现 用户需求的共识。 2 软件项目策划 软件项目策划的目的是建立合理的计划用于软件开发与软件项目控制。 3 软件项目跟踪和监督 软件项目跟踪和监督的目的是为软件项目的过程提供足够的能见度,使项目可 以在执行过程中发生的严重偏离计划时能够及时采取的纠正措施。 4 软件子合同管理 软件子合同管理的目的是选择合格的软件子承包商,并有效地管理他们。 5 软件质量保证 软件质量保证的目的是为了客观地反映软件项目的实旌行动与产品应遵从的 需求、过程描述、标准及规程的情况。 6 。配置管理 软件配置管理的目的是贯穿于整个软件生命周期,建立和维持软件项目产品的 完整性。 7 组织过程焦点 组织过程焦点的目的是建立和维护对组织的软件过程的理解和协调组织的工 程过程的改进活动。 8 。组织过程定义 组织过程定义的目的是开发和保持一组便于使用的软件过程财富,它们能改进 项目的过程能力,并且为组织能获得积累性的长期受益奠定基础。这些财富能为组 织提供一组稳定的基本原则。 9 培训大纲 培训大纲是培育个人的技能和知识,使得员工能有效地和高效率地工作。尽管 培训是组织的责任,但是软件项目应该了解员工所掌握的技能,当项目有特殊需求 时,项目应为开发人员提供所需要的培训。 1 0 集成软件管理 集成软件管理的目的是把软件工程与管理集成为一个连贯衔接的、详细定义了 硕士学位论文 面向中小软件企业的过程改进模型的研究与设计 的、基于组织标准过程剪裁出来的软件过程。 1 1 软件产品工程 软件产品工程的目的是始终如一地执行明确定义了的、集成了所有软件项目活 动的工程过程,高效率地制造正确的、稳定的软件开发产品。 1 2 组问协调 组间协调的目的是为软件工程组织参与其它工程组工作制定的一种方法,使得 项目更能有效地、高效率地满足客户的需求。组间协调是集成软件管理的一个涉及 多学科的方面,它延伸到软件工程外的领域。不仅在集成软件过程,软件工程组和 其它组之间的相互作用也必须加以协调和控制。 1 3 同行评审 同行评审的目的是尽早地和有效地从开发中的软件产品中除去缺陷。 1 4 定量过程管理 定量过程管理的目的是定量地控制软件项目的过程性能。软件过程性能表示遵 循一个软件过程所得到的实际结果。焦点是在一个可测的稳定的过程范围内鉴别出 不变的因素,并且适时关注出现的瞬间变化。定量过程管理是在组织过程定义、集 成软件管理、组间协调和同行评审的实践上附加的内容丰富的测量计划。 1 5 软件质量管理 软件质量管理的目的是建立对项目产品质量的定量了解和实现特定的质量目 标。软件质量管理对软件产品工程中所描述的软件工作产品实施内容丰富的测量计 划。 1 6 缺路预防 缺陷预防的目的是鉴别缺陷的原因并防止这些缺陷的再次出现。 1 7 技术改革管理 技术改革管理的目的是识别出能获利的新技术,并以有序的方式将它引进到组 织中去。技术改革管理的关注焦点是在不断变化的环境里高效地进行创新。 1 8 过程更改管理 过程更改管理的目的是改进软件质量、提高生产效率和缩短产品开发周期,持 续不断地改进组织中所采用的开发过程。过程更改管理中采用了缺陷预防的增量式 改进和技术改革管理的创新式改进,并使整个组织可以享用这些改进成果。 2 1 5c m m 与1 8 0 9 0 0 1 比较 i s 0 9 0 0 1 质量保证标准是国际标准化组织i s 0 9 0 0 0 族质量保证体系的一部分。 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 i s 0 9 0 0 1 和c m m 都是基于过程质量控制的思想发展起来的。它们最大的相似之处在 于两者都强调对每一个重要的过程要形成文件,同时也都强调进行系统性的持续改 进。取得i s 0 9 0 0 0 认证对于通过c m m 的等级评估是有益的,反之,通过c m m 等级评 估,对于取得i s 0 9 0 0 1 认证也是有帮助的“。 c 姗是专门为软件开发企业设计的,在针对性上比i s 0 9 0 0 1 要好。即使有些条 款在两个体系中都能找到相关映射,但不同体系中要求的程度存在差异。1 8 0 9 0 0 1 论述了用户可接受的产品质量的最小集合,即可按受的质量体系的基本标准,只有 两种结果,通过或不通过。对于软件企业而言,由于条款的抽象性和概括性很强, 审核的主观因素就有相当大的发挥余地。而c m m 则强调阶段性的改进,按照软件开 发的过程逐级改进各个环节,在方法论上突出重点,给企业指明了一条阶梯式的改 进软件过程的道路。通过统计数据控制软件过程,把过程的主观性进一步缩减。也 正是基于以上考虑,本论文采用c m m 作为学习和研究的对象。 2 2 软件生命周期模型 随着软件工程的深入发展,人们逐渐认识到;提高软件生产效率和软件质量的 瓶颈是软件开发过程中的管理问题,从1 9 8 4 年开始在计算机界掀起了“软件过程 运动”,针对软件过程进行了一系列的研究和讨论,进而诞生了软件过程技术。尽 管现在对软件过程的本性和形式各界有不同的认识和看法,但现在有种统一的认 识,那就是对一个想生产高质量软件产品和提高生产效率的软件企业而言,采用适 当的软件生命周期模型是非常重要的。 2 2 1 什么是软件过程 过程的定义是实现给定目标所执行的一系列步骤 i e e e s t d 一6 1 0 。软件过程则 被定义为:用来开发和维护软件及相关产品( 如:工程计划、设计文档、规章、检 测事例及用户手册) 的一组活动、方法、实践和转换过程“”。软件过程有三个基本 人员 图2 5 过程的三个要素及关系 产品 口 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 要素,如图2 5 所示:人员、方法与规程、技术与工具。经典软件工程关注的重 点是软件的需求分析、系统设计、编程、测试、维护等领域的方法、技术和工具。 但是,随着软件业的发展,人们逐渐意识到,混乱的过程使得新技术、新工具的优 势无法体现。使得软件过程改进成为软件工程学科的个主流研究方向。 软件过程能力( s o f t w a r ep r o c e s sc a p a b i l i t y ) :是在遵循一个软件过程后能 够得到的预期结果的界限范围的描述。是对能力的一种衡量指标,用它可以预测一 个组织( 企业) 在承接下一个软件项目时,所能期望得到的最可能的结果。软件过 程成熟度( s o f t w a r ep r o c e s sm a t u r i t y ) :是指一个具体的软件过程被明确地定义、 管理、评价、控制和产生实效的程度。成熟度意味着过程能力增长的一种潜力,表 示一个组织的软件过程的丰富性和在整个组织的各个项目中应用的一致性。软件过 程能力,是描述通过执行其软件过程能够实现预期结果的程度。随着组织软件能力 成熟度的不断提高,组织内部通过对过程的规范化和对成员的技术培训,软件过程 也将会被他的使用者关注和不断修改完善。从而使软件的质量、生产率和生产周期 的到改善。 在软件过程能力比较弱( 不成熟) 的组织中,软件过程一般是由开发人员和管 理人员临时组织而成的。即使这些过程已经被文档化,也很难被严格执行。这样的 项目往往超出进度计划和经费预算,因为这个的组织无法以往项目数据作为基础进 行估计,管理人员和开发人员不得不经常应对燃眉之急。组织缺少评判产品质量或 过程问题的客观基础,项目人员基本上不理会软件过程是如何影响产品质量的,这 些组织的产品质量很难预测。如果项目的进度延迟了,那么一些用于提高产品质量 的活动如技术评审和测试常常被削减甚至取消。 软件过程能力比较成熟的机构中,具有在整个机构范围内管理软件过程的能 力。关键过程已经形成文档,并与实际工作协调一致。整个机构的人员积极主动地 参与过程改进活动。管理人员监督产品的质量以及过程,在判断产品质量和分析过 程闯题方面。有客观定量的依据。产品质量、开发进度、成本通常都与计划比较吻 合。成熟的机构都能致地遵循制度化的软件过程,所有的人员都了解这样做的意 义,并且也有相应的基础设憨支持这些过程。 2 2 2 软件生命周期 软件生命周期是一个时问概念,指从设想软件产品开始到软件不再供使用为止 的时间间隔。软件生命周期一般包括:概念阶段、需求阶段、设计阶段、实现阶段、 测试阶段、安装和调整阶段、运行和维护阶段等。软件生命周期涵盖了软件开发的 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 所有阶段,软件生命周期模型又被称为“软件开发模型”。选择一个适当的软件生 命周期对项目来说至关重要。在项目策划的初期,就应该确定项目的软件生命周期, 统筹规划项目的整体开发流程。为了做好这项工作,组织需要预先识别并总结出可 供项目选择的软件生命周期,同时,还需要提供指导原则( 这部分通常在裁剪指南 中) 帮助项目选择适当的软件生命周期。 2 2 3 常用软件生命周期模型 瀑布模型 瀑布模型最早是由w i n s t o nr o y c e 于1 9 7 0 年提出的,如图2 。6 所示。其核心 思想是将软件开发划分为若干阶段,严格按线性顺序从前往后执行。瀑布模型是最 早的、最简单的软件生命周期模型,其应用也最为广泛,对软件业的发展有很大的 促进作用。 图2 6 瀑布模型 瀑布模型也存在自身缺点: 瀑布模型是一种理想化的线性开发模型,它无法克服过程中的变化引发的问 题。如果前一步在出现错误,则后一步不可避免地会将错就错。直到产品完成后才 会发觉软件中存在的问题,解决的办法只有从头开始修改。 开发过程是按线性方式进行的。常常发生等待现象,一部分成员不得不停下来 等待前一步工作的完成。 增量模型 增量模型是由若干个开发序列构成的,每个序列均采用瀑布模型开发的可以发 行的“增量”系统,如图2 7 所示。每个“增量”都是在原有软件基础上开发出来 的,每完成一个增量过程相当于一个软件新的版本。这个过程不断地重复,直到产 生出最终完善的产品。 臣口= 臣口j j 习j 臣习j 交付。 臣口= 臣口j 臣习号臣口习交付z 匝口= 臣口= 臣习爿臣习j 交付 图2 7 增量模型 硕士学位论文面向中小软件企业的过程改进模型的研究与设计 增量模型是一种分段的线性模型。它与瀑布模型没有实质性的区别,只是在运 作方式上比瀑布模型更科学些。如果项目比较复杂,可以把它分成若干个版本来开 发。由此可以有如下好处: 抗“变化”能力比瀑布模型强。 第一个“增量”实现后,就可以交给用户使用,再开发新的增量,可以边 开发边使用。 采用增量模型的主要难点是,新开发的“增量”在与原有软件系统合并时,必 须保证不破坏原来构造好的部分。此外,现有的软件系统必须具备良好的可扩展性, 做到这一点较难,对系统设计师的要求更高。 快速原型模型 当需求分析人员无法仅通过与客户交谈就能获得明确的、详细的需求时,如果 匆匆地着手产品开发,无疑会有很大的风险。在这种情况下,项目开发人员可以首 先构造系统原型,然后让用户试验原型,从而有助于分析人员获取更详细的需求, 以及验证需求是否正确。不断重复上述过程,直至满足用户的要求为止。 图2 8 快速原型模型 快速原型模型的特点体现在“快速”上。原型内部并不重要,重要的是原型必 须能被快速地构造出来,以迅速反映客户的需求。一旦需求明确了,原型也就完成 了它的使命了。 由于快速原型模型的主要目的是获取与验证需求,只采用该模型并不能开发出 最终产品。 螺旋模型 螺旋模型最初由b m b o e h m 于1 9 8 8 年提出的如图2 9 所示。螺旋模型综 合了瀑布模型、快速原型模型与风险分析,力求使项目的风险降到最低点。项目开 发沿螺旋线演迸,直角坐标系的四个象限分剐代表四个方面的活动: 制定计划:确定目标和约束条件,选择方案。 风险分析:评估方案,发现并消除风险。 实施工程:构造原型,开发产品。 p 硕士
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路改造研究方案(3篇)
- 审计整改专项奖励方案(3篇)
- 电厂彩钢安装方案(3篇)
- 桩基补偿方案修订(3篇)
- 花卉项目进度安排方案(3篇)
- 矿房矿柱回收方案(3篇)
- 临街楼房外墙改造方案(3篇)
- 入户电源升级改造方案(3篇)
- 农村家宴食堂改造方案(3篇)
- 城市移民搬迁计划方案(3篇)
- GB/T 20000.6-2006标准化工作指南第6部分:标准化良好行为规范
- GB/T 16311-1996道路交通标线质量要求和检测方法
- GB/T 1149.4-2008内燃机活塞环第4部分:质量要求
- 地基基础工程施工方法及基础知识课件
- 江苏省无锡市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 江西师范大学研究生院非事业编制聘用人员公开招聘1人(专业学位培养办公室助理)(必考题)模拟卷
- 2021社会保险法知识竞赛试题库及答案
- SF-36生活质量调查表(SF-36-含评分细则)
- 小学数学校本教研的实践与思考(课堂PPT)
- 经历是一种收获的作文5篇
- 血液透析管路及透析器安装操作评分标准
评论
0/150
提交评论