




已阅读5页,还剩64页未读, 继续免费阅读
(计算机软件与理论专业论文)中小企业软件过程管理及其集成化支撑环境研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 探索新的软件开发方法和技术以提高软件生产率和质量一直是软件工程学 研究的焦点。软件实践表明产品开发的过程和产品的品质有着非常密切的联系, 因此很多软件企业都把提高软件开发过程作为提高软件品质的重要手段。现有的 过程模型中c m m i 是很多企业采用的一个框架,但是由于c m m i 模型在内容设计 上是以国外发达国家软件企业为对象的,使得在国内,尤其在中小型软件企业中 实施c m m i 具有相当大的困难。同时,现代软件过程管理日趋复杂,建立集成化 的c a s e 环境能够为企业实施软件过程改进提供自动化的支撑平台。 本文在分析软件过程管理方法和过程改进特点的基础上,对目前国内中小软 件企业实施c m m i 过程中存在的问题做了总结,并结合中小软件企业的特点,提 出了基于c m m i 的集成化软件开发流程i s d p ;在研究c a s e 技术和以过程为中心 的软件工程环境的基础上,分析了企业构建集成化软件过程环境所面临的问题, 给出了集成化环境的结构和要求;以i s d p 模型为理论指导对软件过程管理集成 化环境s p m i 进行功能分析,设计了s p m i 的总体架构和体系结构流程;最后对当 前比较常用的c a s e 工具进行比较和分析,选择以开源项目构建集成化环境s p m i 的基础平台,并在此基础平台上集成p r o j e c t 实现项目规划模块和集成s v n 实现配 置管理模块。最终实现了一个完整的集成化软件过程环境,辅助i s d p 流程在企 业中的实施。 上述研究成果在某公司得到了验证,通过在该公司实施过程改进以及对集成 化环境s p m i 的试用,大大提高了生产率,减少了项目成员繁琐的手工作业,实 现了流程的自动化。 关键词:软件过程管理,过程改进,集成化流程,集成化环境 a b s t r a c t r e s e a r c ho ns o f t w a r ep r o c e s sm a n a g e m e n tf o rs m a l la n d m e d i u m s i z ee n t e r p r i s e sa n di n t e g r a t e de n v i r o n m e n t a b s t r a c t i ti sa l w a y saf o c u so fs o f h v a r ee n g i n e e r i n g sr e s e a r c h e st oe x p l o r en e ws o f t w a r e d e v e l o p i n gm e t h o d sa n dt e c h n i q u e sf o ri m p r o v i n gt h ep r o d u c t i v i t ya n dq u a l i t y t h e r ei sac l o s el i n kb e t w e e nt h e q u a l i t yo fp r o d u c ta n d i t s d e v e l o p m e n t p r o c e s s c o n s e q u e n t l y ,m a n ys o f t w a r ec o m p a n i e st a k es o f t w a r ep r o c e s si m p r o v e m e n t a st h ew a yo fe n h a n c i n gt h eq u a l i t yo ft h e i rs o f t w a r e c m m i ,at y p i c a lm o d e lo f s o f t w a r ei m p r o v e m e n t ,i su s e db ym a n ys o f t w a r ec o m p a n i e s ,w h i c ht a k e st h e o v e r s e a - d e v e l o p e de n t e r p r i s e sa ss u b j e c t s a sar e s u l t ,i ti sd i f f i c u l tt oi m p l e m e n t c m m ii no u rc o u n t r y ,e s p e c i a l l yi ns m a l la n dm e d i u me n t e r p r i s e s a tt h es a m et i m e , b e c a u s eo ft h eg r o w i n gc o m p l e x i t yo fm o d e ms o f t w a r ep r o c e s sm a n a g e m e n t ,t h e e s t a b l i s h m e n to fi n t e g r a t e dc a s ec a np r o v i d ea u t o m a t e dp l a t f o r mf o re n t e r p r i s e st o i m p r o v et h es o f t w a r ep r o c e s s t h i sd i s s e r t a t i o n ,b a s e do nt h ea n a l y s i so fs o f t w a r ep r o c e s sm a n a g e m e n tm e t h o d s a n d p r o c e s si m p r o v e m e n t ,s u m m a r i z e s t h e e x i s t i n gp r o b l e m s o fc m m i i m p l e m e n t a t i o n ,c o m b i n e st h e c h a r a c t e r i s t i c so fs m a l la n dm e d i u ms o f t w a r e e n t e r p r i s e s ,t h e np r o p o s e st h ei n t e g r a t e ds o f t w a r ed e v e l o p m e n tp r o c e s s ( i s d p ) ;a tt h e s a m et i m e ,a n a l y z e st h ep r o b l e mi nt h ee n t e r p r i s ei n t e g r a t e ds o f t w a r e p r o c e s s e n v i r o n m e n tc o n s t r u c t i o na n dg i v e st h es t r u c t u r ea n dr e q u i r e m e n t so fi n t e g r a t e d e n v i r o n m e n to nt h eb a s i so fc a s et e c h n o l o g yr e s e a r c ha n dt h ep r o c e s s c e n t e r e d s o f t w a r ee n g i n e e r i n ge n v i r o n m e n t ( p s e e ) ,a l s oa n a l y z e sf u n c t i o n so ft h es p m i ( s o f t w a r ep r o c e s sm a n a g e m e n ti n t e g r a t e d ) s y s t e mg u i d e db yt h ei s d pm o d e l ,a n d t h e nd e s i g n st h es t r u c t u r ea n dt h eo v e r a l lp r o c e s so ft h es p m i ,c o m p a r et h ec u r r e n t u s e dc a s et o o l s ,c h o o s e st h eo p e ns o u r c ep r o je c ta st h eb a s i co ft h es p m i ,i n t e g r a t e s t h ep r o j e c tf o rp r o j e c tp l a na n ds v nf o rc o n f i g u r a t i o nm a n a g e m e n t f i n a l l y ,i t a c h i e v e sac o m p l e t ei n t e g r a t e ds o f t w a r ep r o c e s se n v i r o n m e n tt os u p p o r tt h ei s d p i i a b s t r a c t p r o c e s si m p l e m e n t a t i o n t h ea b o v er e s e a r c hr e s u l t sh a v eb e e nv e r i f i e di nac o m p a n ya n dt h ei n t e g r a t e d e n v i r o n m e n th a sb e e nt e s t e di nt h i sc o m p a n y ,w h i c hc a ni m p r o v et h ep r o d u c t i v i t y , r e d u c et h e p r o j e c tm e m b e r sc u m b e r s o m em a n u a lp r o c e s s ,a n di m p l e m e n tt h e a u t o m a t i o np r o c e s s s o f t w a r ep r o c e s sm a n a g e m e n t ,p r o c e s si m p r o v e m e n t ,i n t e g r a t e d p r o c e s s , i n t e g r a t e de n v i r o n m e n t i i i 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名。:喜罐缛 指导教师签名: 毽垒 瑚年多月伊州年6 其j 日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,本论文不包含其他人已经 发表或撰写过的研究成果,也不包含为获得西北大学或其它教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意 谤尸 滔月 蕙、。 名年 裕q 储 沙 文沦位学 第一章绪论 第一章绪论 本章首先介绍了软件过程及集成化支持环境的研究背景,接着给出了本文的 研究目标以及主要研究内容,最后给出了本文的组织结构。 1 1 课题来源和背景 1 1 1 课题的来源及意义 提升软件过程的管理水平日益成为工业界和学术界共同的关注点【l 】,软件过 程管理是提高生产效率和保证软件质量的一个重要方法。在产品开发的整个生命 周期中包括一系列复杂的活动,和其他管理过程类似,现代软件过程管理工作也 逐渐趋向复杂。根据企业的实际情况和发展需求,优化流程,努力提升人们在过 程中的工作能力,从而提升产品质量、提高生产率并降低成本,这是软件过程改 进的目的。 为此通过c m m i ( c a p a b i l i t ym a m f i t ym o d u l a t i o ni n t e g r a t i o n ) 认证无疑成为大 多数企业的选择,但在认证过程或实施后期,企业无疑会面临周期长、隐形成本 多等问题【2 】。c m m i 模型非常复杂( 描述性文档就有超过1 0 0 0 页) ,公司在实施 c m m i 评估的时候往往要实现数百个具体实践,这些过程域和实践没有与企业的 具体业务和组织结构衔接起来。所以不能把c m m i 标准直接作为企业的软件过 程规范来使用。企业应当根据自身的情况,既要裁剪c m m i 过程域和实践,又 要补充c m m i 没有涉及的过程域和实践,研制出适合本企业的容易执行的软件 过程规范【3 1 。 随着技术的进步和软件规模的增加,软件项目的管理者在管理过程中需要收 集和评估的信息内容,需要处理和解决的项目问题,需要监控和管理的项目风险 越来越多。传统的手工处理已无法满足现代项目管理的需求,项目管理者对自动 化项目管理工具的需求日益强烈。软件过程中包括的众多关键活动,全靠手工去 做是不太现实的,因此许多企业开始考虑借助一套成熟的软件过程管理工具来辅 助实施和规范企业的项目以及质量管理过程。c a s e ( c o m p u t e r - a i d e ds o f t w a r e e n g i n e e r i n g ) 技术也经过了几十年的发展,产生了各种各样的辅助软件过程执行 第一章绪论 的工具,利用它们可以实现软件过程中某个阶段的自动化。但是在使用这些辅助 工具时,每个工具都是相对独立的,只能支持软件工程的某项活动,这样各部分 相关影响的资源就不能协调统一,造成了“信息孤岛”1 4 1 。目前国内外对以过程 为中心的软件工程环境的研究已经取得的一定的成果,但是正式的商业化产品还 非常少,要实现一个完全以过程为中心的软件工程环境也是非常困难的。 在省市科委和国家8 6 3 计划的支持下,西北大学软件工程研究所于2 0 0 0 年 开始研究中小企业的软件过程管理及支撑环境,迄今已经取得了多项研究成果【5 】 【1 3 】【1 4 】b 6 2 2 】【2 5 】 2 8 】,本文的工作正是基于这样的背景提出的。 通过对国内一些中小软件企业的调查显示:大多数企业在评估和实施c m m i 的过程中存在着问题,总结和分析了这些问题并提出了基于c m m i 的集成化软 件开发流程i s d p ( i n t e g r a t e ds o f t w a r ed e v e l o p m e n tp r o c e s s e s ) ,i s d p 模型是根据 企业实际情况,对c m m i 模型经过裁剪后的规范流程。同时研究了以过程为中 心的集成化c a s e 环境的特点和结构,并以i s d p 模型为理论指导,设计并实现 了软件过程集成化环境s p m i ( s o f t w a r ep r o c e s sm a n a g e m e n ti n t e g r a t e d ) 。s p m i 以i s d p 为理论指导,以软件过程技术作为实施的手段,为软件企业提供规范开 发流程的辅助平台,使软件开发脱离混乱无序,依赖个人水平的状态,提供软件 开发管理者对项目进行状态实时监控的环境,从而支持c m m i 在企业中的实施。 1 1 2 国内外相关研究 由于软件过程的重要性和复杂性,软件过程管理一直是软件工程研究中的一 项重要内容。为此,软件界提出了许多软件过程改进方案,如c m m i 、c l e a n r o o m 、 i s o i e c15 5 0 4 、i s 0 9 0 0 0 :2 0 0 0 版等【6 】【7 1 。其中美国s e i ( s o f t w a r ee n g i n e e r i n g i n s t i t u t e ) 软件工程研究所于1 9 9 1 年提出的能力成熟度模型c m m 在全球软件业 得以广泛应用并收到很好的效果【8 1 。2 0 0 4 年,s e i 推出了集成多种c m m 模型 ( 如软件c m m 、系统工程c m m ) 的c m m i ( c m mi n t e g r a t i o n ) 。这个模型采用 连续和分级两种表示方式,为实施过程改进提供了更大的灵活性【9 】,因此受到越 来越多的软件组织的欢迎。除了这些大型项目以外,同时还不断有新的过程管理 环境出现。 2 第一章绪论 在国外对软件过程管理环境研究的公司和其产品有【1 0 】:r a t i o n a lu n i f i e d p r o c e s s 是由m m 公司开发的,它是用切l 开发的一套软件过程标准模版,利 用它可以指导如何作,生成过程结果,全方位满足c m m ik p a 目标。i n c o n c e r t 是x s o f l 公司的产品,该产品是一个工作流管理软件,用于描述和协调工作过程 的主要有关部分人员、活动以及信息。它将面向对象的工作流技术和文档管理服 务集成到一起,并使用一个基于任务的模型来协调过程。p r o c e s sw e a v e r 是c a p 公司的产品,该产品主要是基于用户工作任务的,用户可以使用与任务有关的工 具处理任务的输入和输出对象。s ec o m p a n i o n 是s e c a 公司的产品,该产品包 括一个多媒体、超文本的方法学、一个集成的分析和设计培训组件以及一个支持 环境,用户可以调用c a s e 工具、项目管理工具、字处理器以及s ec o m p a n i o n 中 的其它部件。 在国内北京大学青鸟工程目前也致力于软件过程管理环境方面的研究,并且 取得了一定的成果,开发出了鹏i is p m s 软件过程管理系统,主要是对软件过程 的建模和动态控制两方面【1 1 】。软件过程服务技术与集成管理系统是中国科学院软 件研究所研发的,该项目主要研究支持软件全生命周期的软件过程服务核心技 术,开发软件过程服务集成管理系统,包括软件过程服务技术研究、软件过程服 务集成管理框架、质量管理平台、产品工程平台、服务支持平台这几个部分。 根据d a v i ds h a r o n 和r o d n e yb e l l 的统训1 2 】【15 1 1 7 1 ,近年推出的软件过程管 理环境主要包括以下几个方面内容: 建模,用于项目的建模并映射到工具支持的任务上。 工具协调,用于将工具的使用协调起来以便支持过程中的各个人任务。 运作,用于指导和支持项目的有关人员遵循开发过程进行各项活动。 管理,用于帮助项目管理人员确定开发活动对完成活动的影响,根据实际情 况做出相应决策。 虽然软件过程作为一个新的研究领域已经得到了广泛的关注,对它的研究也 取得了一定的成果,但至今还没有形成公认的软件过程工程体系,距成熟阶段还 有很长的距离【1 8 】。目前国内外研究的软件过程管理环境在过程建模和过程控制 上有各自的理解,虽然理论上比较严密,但实际的产品在实用性方面还有考虑不 足的情况。本文研究的集成化环境主要包括工具协调和管理这两方面的内容。 第一章绪论 1 2 本文的主要工作 1 2 1 研究目标 根据对国内中小企业过程改进现状的分析,发现目前的过程改进和对辅助管 理工具的使用有以下几点问题: 1 、过程改进时照搬c m m i 理论,没有制定出符合企业自身实际情况的流程 和规范。 2 、对于c a s e 工具的使用只限于过程中的某个阶段,不能实现各个阶段各工 具之间信息的共享,没有一个完整的以整个过程为中心的集成化环境。 以上这两点构成了开展集成化过程管理系统研究的动机。在进行此项研究的 过程中,主要的目标是: 1 、立足于c m m i 模型,制定出符合中小软件企业自身实际情况的流程规范。 2 、在组织的环境中,集成化过程管理系统是作为c m m i 模型内容有效实施 的工具,给出集成化环境的框架,并将其与组织的软件过程集成,在此基础上进 一步对现有的工具进行集成,辅助软件过程中的其他阶段。 3 、实验验证,通过某公司软件过程改进的实施以及对辅助系统的试用,对 上述研究结果进行了实际验证。 基于上述的观点,本文的研究目标是建立切合实际、使用方便的集成化过程 管理系统,降低过程改进的阻力与风险,提高企业的竞争能力。 1 2 2 研究内容 针对上述研究目标,本文主要对中小企业的软件过程管理、过程改进以及集 成化支撑环境展开研究。论文的主要研究内容包括: 1 、软件过程相关技术研究:对c m m i 理论做了综述,分析了企业实施c m m i 关键过程域时存在的问题,并对c m m i 的过程域和实践做了适当的裁剪,提出 了适应中小型软件企业实际情况的集成化软件开发流程i s d p 。 2 、对构建集成化c a s e 环境的难点分析:研究了c a s e 技术和以过程为中 心的软件工程环境,分析了企业构建软件过程集成化环境所面临的问题,以及集 4 第一章绪论 成化环境的特点和结构。 3 、集成化环境的设计与实现:以i s d p 模型为理论指导设计并实现了集成 化环境s p m i 。利用开源项目构建集成化环境s p m i 的基础平台,并在此平台上 集成了当前常用的工具p r o j e c t ,以实现软件过程中的项目规划,集成了当前常用 的配置管理工具s v n ,实现了配置管理。 1 3 论文的组织结构 本文依据c m m i 思想,从企业的实际情况出发,提出了一套软件过程改进方 案,并进而设计出集成化软件过程管理系统辅助该方案的实施。具体内容和章节 安排如下: 第一章绪论 主要介绍课题来源和背景,并简要介绍了本文的主要工作、目标及成果。对 国内外相关研究现状进行总结,以使借鉴到有益的思考,明确研究的重点方向。 第二章软件过程技术分析 对软件过程管理和软件过程改进技术做了综述,分析了企业实施c m m i 关 键过程域时存在的问题,并对c m m i 的过程域和实践做了适当的裁剪,提出了 适应中小型软件企业实际情况的集成化软件开发流程i s d p 。 第三章软件过程支持环境研究 研究了c a s e 技术和以过程为中心的软件工程环境,分析了企业构建以软件 过程为中心的集成化环境所面临的问题,以及集成化环境的特点和结构。 第四章集成化环境s p m i 的系统分析 对s p m i 系统进行了需求分析和技术分析,对集成化环境所需要c a s e 工具做 了比较和选择,设计出了系统的主要架构、体系结构和总体流程。 第五章集成化环境s p m i 的设计与实现 介绍系统的总体实现技术以及项目规划、配置管理等部分功能模块的详细流 程设计和具体实现技术,最后给出了系统的运行环境。 第六章总结与展望 对全文工作进行了总结,对本文的主要贡献进行了归纳,并对以后的工作提 第一章绪论 出了新的研究方向。 6 第二章软件过程技术分析 第二章软件过程技术分析 本章首先对软件过程管理和软件过程改进做了综述,并分析了企业在实施 c m m i 关键过程域中所面临的问题,进而结合国内中小软件企业的特点提出了集 成化软件开发流程i s d p 。 2 1 软件过程管理和软件过程改进综述 2 1 1 软件过程管理产生的原因与发展状况 随着软件系统复杂性的日益增大,在6 0 年代末产生了“软件危机 。为了努 力解决软件危机,北大西洋公约组织n a t o 在1 9 6 8 年的德国g a r m i s h 会议上提出 了软件工程的概念【1 9 】。其目的是通过借鉴传统工程学中的一些基本思想,来提 高软件开发生产活动的科学性,降低软件开发工作的复杂性和难度,从而提高软 件产品的质量和开发速度,降低开发的风险和成本。 在二十世纪七、八十年代,软件工程的研究重点是需求分析、软件设计、编 程、测试、维护等领域的方法、技术和工具,称之为经典软件工程【2 0 1 。应该说 现代的软件技术、软件工具要比几十年前好了很多倍,可是如今绝大多数软件项 目依然面临着质量低下、进度延误、费用超支这些老问题。人们逐渐意识到,由 于机构管理软件过程的能力比较弱,常常导致项目处于混乱状态,过程混乱使得 新技术、新工具的优势难以体现。经典的软件工程不是不好,而是不够用,企业 必须对软件过程管理有高度的重视。 同时,随着现代计算机产业的发展,计算机软件开发成本越来越高,功能要 求越来越多样,开发设计也变得越来越复杂,一个计算机软件产品通常是由多个 部门或组织通力合作完成的,而这些部门或组织往往分布于不同的地理位置。如 何组织跨部门、跨地域的开发人员开发出高质量的软件产品,己成为软件过程管 理中期待解决的实际问题。 我国软件企业在软件开发技术上与国际水平差距不大,但是在软件开发过程 中过分依赖技术人员的个人能力,没有系统的项目管理和配置管理,缺乏软件质 第二章软件过程技术分析 量保证【2 1 1 。软件企业的软件过程管理水平远远落后于开发技术水平,大多数软 件开发项目的失败都是由于不适当的管理造成的。在印度,无论规模大小,绝大 多数软件企业都意识到软件过程管理和质量管理的重要性,从人员培训、软件开 发的规范化管理,到软件最终的质量检测,无一不按照国际标准来要求。这无疑 增强了印度软件产业的竞争力,印度也一跃成为除美国以外最大的软件出口国。 为此,为了提高我国软件产业的发展水平,保证软件开发的质量,必须对如 何提高软件开发的管理水平,如何对软件过程改进进行研究。 2 1 2 软件过程领域研究的方向 自从1 9 8 4 年l o 月召开的第一届国际软件过程讨论会,正式提出了“软件过程” 的概念以后,软件过程技术发展很快,i s p w ( i n t e r n a t i o n a ls o f t w a r ep r o c e s s w o r k s h o p ) ,i c s p ( i n t e m a t i o n a lc o n f e r e n c eo ns o f t w a r ep r o c e s s ) ,e w s p t ( e u r o p e a n w o r k s h o po ns o f t w a r ep r o c e s st e c h n o l o g y ) ,i c s e ( i n t e m a t i o n a lc o n f e r e n c eo n s o f t w a r ee n g i n e e r i n g ) 等会议上都提交了很多有关这方面的论文【2 3 】。最新的研究 内容包括过程的动态建模,评估与改进,过程的支持环境等【2 】【2 4 】【2 6 】【2 7 1 。 软件过程研究的根本目的在于使软件工业能够不断改进软件过程,提高软件 生产的效率和质量。为了实现这一目标,首先,应理解过程的哪些方面应被建模, 以及建模的概念框架,同时还需识别构造清晰的软件过程定义所需的表示、方法 和工具;第二,需要一套方法和工具用于对过程的改进进行抽象,以及一套方法 和工具用于分析过程的定义以找出理想或不理想的性质;第三,需要一套方法和 工具按照过程定义来支持和完善项目的性能;最后,需要按这些表示、方法和工 具集成起来,使其协调工作来为实现项目提供有力的支持。因此,在软件过程领 域有三个主要的且相互关联的主题【1 8 】,它们是软件过程定义与建模、软件过程 评价与改进、软件过程支持。 1 、软件过程建模 所谓过程建模,就是按过程的建模目的,以某种表达方式、依据一定策略、 并借助一定的支持工具对软件过程中的成分及其关系进行抽象描述。所以,影响 过程建模的因素归纳起来一般有:建模目的、表达方式、建模策略、建模工具和 第二章软件过程技术分析 建模成分。过程建模研究领域最重要的问题是过程的表达或称建模方法,即如何 通过某种形式化或半形式化的表示系统来表达和抽象软件过程。 2 、过程评价与改进 所有软件过程方面的工作最终会导向对过程的评价与改进,过程评价涉及评 价标准、评价方法、及评价工具的建立,过程改进与整个软件组织的运动状态有 关,不仅有技术方面的工作,更需要组织管理方面的准备。 在过程评价与改进方面的研究,卡内基一梅隆大学( c m u ) 的软件工程研究 所( s e i ) 的研究取得了重大的成就,“软件过程评价与改进”这一术语就是由 s e i 首先提出,用以评价和改进实际的工业软件活动。s e i 为评价开发组织的过程 能力开发了一个过程能力成熟度模型c m m ( c a p a b i l i t ym a t u r i t ym o d e l ) ,开发 组织的过程成熟度分为五个级别,即初始级、重复级、定义级、管理级和优化级, 每一级都定义了相应的标准。 3 、过程支持 过程支持主要是指构造以过程为中心的软件工程环境( p s e e ) ,也称基于过 程的环境,或过程驱动环境,使得在该环境中能按特定的过程模型的定义支持、 指导、检查和强化过程的执行,以过程为中心的环境的最显著特征,就在于它提 供了过程模型的定义与实施机制。 以过程为中心的环境如果要想为所完成的过程提供方方面面的指导,所需要 的就不仅是过程的定义与实施机制,还需要多种设施来支持项目的开发和改进, 如:过程定义支持、过程应用支持、过程定义分析、过程实施支持、过程记录支 持、过程监控、过程可视化、用于过程改进的分析等,以上每种都需要相应的工 具辅助完成。 国际上在软件过程领域的研究方向主要集中在以下几个方面2 9 】: 过程模型和领域的相关性,是否存在通用的过程模型。 过程模型的形式化描述问题。 过程模型的演化问题 软件过程集成化环境的研究。 本文主要是对过程模型的演化和软件过程集成化环境的研究。 9 第二章软件过程技术分析 2 1 3 基于c m m i 的软件过程改进方案 c m m i 全称为c a p a b i l i t ym a t u r i t ym o d u l a t i o ni n t e g r a t i o n ,即能力成熟度集成 模型【3 0 】,是由美国卡内基梅隆大学软件工程研究所于2 0 0 1 年9 月研究出的一种用 于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软 件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地 开发出高质量的软件。该模型包括连续模型和阶段模型这两种表示方法【3 1 1 ,一 个组织根据自己的过程改进要求可以自由选择合适的表示方法来使用。其所依据 的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断 进行管理的实践和过程的改进,就可以克服软件开发中的困难。c m m i 是目前国 际上最流行、最实用的一种软件生产过程标准,己经得到了国际软件产业界的认 可,成为当今企业从事规模软件生产不可缺少的一项内容。 按照软件能力成熟度等级的定义,各个等级都是向成熟软件组织前进过程中 的平台。每一个成熟度等级应为软件过程提高到下一个更高等级提供基础。 c m m i 为每个软件组织建立和改善软件过程提供了一个阶梯式的过程成熟度框 架,这一框架由5 个成熟度等级构成。这5 个成熟度等级定义了一个有序的尺度, 反映了一个软件组织进行软件产品开发的能力。每个成熟度等级包含一组过程目 标,通过实施相应的一组关键过程域达到这组过程目标。关键过程域是对关键过 程起重要作用的基础设施或活动,只要认真地执行关键实践,就能实现关键过程 域的目标,进而改善组织的软件过程能力。 c m m i 的5 个成熟度等级分别为:初始级、可重复级、已定义级、已管理级 和优化级。如图2 1 所示为c m m i 等级划分,图中所示的5 个等级各有其不同的行 为特征: 等级1 初始级( i n i t i a l ) :在初始级上,企业一般不具备稳定的软件开发与维 护环境,软件过程的特点是无序的,有时甚至是混乱的。项目成功与否在很大程 度上取决于是否有杰出的项目经理和经验丰富的开发团队。此时,项目经常超出 预算和不能按期完成,组织的软件过程能力不可预测。 等级2 可重复级( r e p e a t a b l e ) :在可重复级,组织建立了基本的项目管理过 程以及贯彻执行这些方针的措施。组织基于在类似项目上的经验对新项目进行 l o 第二章软件过程技术分析 初始级1 可复用级2 软配置管理 软件质帚保证 软件f 合同管理 软件项目跟踪和监督 软件项目策划 需求管理 优化级5 过程变更管理 技术变更管理 缺陷预防 图2 1c k m i 等级划分 已定义级3 同行专家 评审 组际协调 软件产品工程 集成软件管理 培训大纲 组织过稃定义 组织过程焦点 已定量管理级4 软件质量管理 定量过程管理 策划和管理。组织的软件过程能力可描述为有纪律的,并且项目过程处于项目管 理系统的有效控制之下。 等级3 一已定义级( d e f i n e d ) :在已定义级,组织形成了管理软件开发和维护 活动的组织标准软件过程,包括软件工程过程和软件管理过程。项目依据标准定 义自己的软件过程进行管理和控制。组织的软件过程能力可描述为标准的和一致 的,过程是稳定的、可重复的并且高度可视。 等级4 一己管理级( m a n a g e d ) :在已管理级,软件过程和产品质量有详细的度 量标准,即织织对软件产品和过程都设置定量的质量目标。项目通过把过程性能 的变化限制在可接受的范围内过程的控制。组织的软件过程能力可描述为可预测 的,软件产品具有可预测的高质量。 等级5 优化级( o p t i m i z i n g ) :在优化级,组织通过预防缺陷、技术创新和更 改过程等多种方式,不断提高项目的过程性能以持续改善组织软件过程能力。组 织的软件过程能力可描述为持续改善的。 综上所述,对c m m 的5 个级别的划分,给出了软件组织开展实施活动的应用 范畴。这种分级方式使得c m m i 模型具有了可操作性,软件组织也可以通过这种 方式达到自己的目标。 2 1 4 企业实施c m m i 存在的问题 目前,世界上已经有近万家软件开发机构通过了c m m i 评估,其中有许多企 业已经达到了c m m l 5 级。国内大多数企业从规模到能力都有待于发展,我国有 第_ 二章软件过程技术分析 些大中型企业也通过c m m i 各个等级的评估,但是许多软件开发组织尚未建立软 件工程的基本过程,还没有自己的软件过程管理,所以绝大部分企业尚处c m m i 的初级阶段。 我国软件要大幅度提高开发能力,走向世界,必须向国际上公认的软件评估 标准靠拢。有软件出口的企业,应逐步通过c m m i 等级的评估,以提高在国际市 场上的竞争力。一般软件企业可以借鉴c m m i 的方法,改进软件企业的管理,提 高软件开发水平。 c m m i 源自欧美,因此,在使用c m m i 进行过程改进时,必须考虑中国软件 企业与欧美软件企业的差别。国内企业的过程管理基础与欧美相比还存在较大的 差别。一些欧美软件企业具有:企业重视过程管理的历史较长,企业管理层对过 程管理非常重视,行业内有大量经验丰富的人员等一些特点1 2 1 1 。我国的软件企 业不具备这些特点,因此在实施c m m i 的过程中往往会面临很多问题。 1 、c m m i 是软件组织改进软件过程的一个导引路线图,仅指明该做什么, 而没有指明如何做。在引进、消化、吸收的基础上,需要创新。 2 、企业要采用c m m i 模型进行过程改进需要经过较长时期的工作经验的积 累,而不是通过短期的认证培训,或出一些考题测试一下就能达到c m m 水平的。 借助于软件过程评估,专注于软件过程改进,而不要过分搞软件能力评估,不要 追求认证、评级、登记和注册。 3 、c m m i 为改善企业的软件过程提供了指南,但并非针对某个具体企业和 项目。在实施c m m i 的过程中,要建立过程改进小组。过程改进小组是主要的执 行者,一方面要赋予成员相应的权利,另一方面要规定成员的责任。 4 、c m m i 是针对大型软件企业( 通常5 0 0 人以上) 的,对小型软件企业( 5 0 人以下) 和项目需要裁剪。对于c m m i 和其他模型与标准,只能作为参考,要运 用自己的专业判断力,按照企业的特点、要求与条件,去制定软件过程和选择实 行改进的部分。 5 、高层领导要重视并领导c m m i 的实施,要保证过程管理人员配备。专业 开发人员要全力支持,并参与过程管理和改进。 因此,c m m i 是世界范围内用于衡量软件过程能力的标准,但是c m m i 不 是软件过程改进的执行标准,c m m i 的数百页文本论述了二十多个过程域和数百 1 2 第二章软件过程技术分析 条实践,但是这些过程域和实践没有与企业的具体业务和组织结构衔接起来【3 1 。 按照c m m i 文本逐个遍历c m m i 的过程域和实践,这种方式是不可取的。 2 2 集成化软件过程流程i s d p 2 2 1 集成化软件过程流程i s d p 的提出 在软件过程改进中企业需要根据自身的特点、要求与条件,制定出容易执行 的软件过程规范。从企业的实际情况出发,既要裁剪c m m i 过程域和实践,又 要补充c m m i 没有涉及的过程域和实践。裁剪就是要分析企业的业务特征,根 据自身的人力和财力,选取c m m i 文本中一些重要的东西,舍弃其它不重要的 东西。至于什么是重要的东西,则要根据它对企业的贡献多少来衡量。c m m i 对于软件开发和管理过程的论述非常深入,但是却没有涉及组织结构,项目授权 与承接等,这是c m m i 的缺陷。 目前国内专门从事软件开发的企业有数千家,而这些软件企业主要以中小规 模为主。根据有关统计数据结果分析,主要组成结构为:5 0 人以下的企业占5 5 ; 5 肚- 2 0 0 人的企业占4 2 ;1 0 0 0 人以上的企业为数不岁3 2 1 。这些中小软件企业 一般具有一些共同的特点【3 3 】,这些特点将直接影响中小软件企业采取什么样的 方式来实施软件过程改进活动。 1 、人员少,一般在2 旺1 5 0 人之间,流动性大。企业的组织结构不像大企 业那样健全,经常是一人多职,既作开发人员,又作测试人员,甚至还作设计人 员。 2 、资金不足,难以进行企业级的大规模的过程改进以及相关的培训活动。 3 、软件过程不明显,甚至没有明确定义的软件过程。一个项目甚至整个企 业是以少数技术骨干为支撑,凭借他们的聪明才智来保证项目的顺利进行和企业 的生存发展。开发人员一般对技术比较重视,而对软件过程则表现出不关心。 4 、企业从事的软件生产呈现明显的领域特征。中小软件企业经常是给特定 用户开发为其专门使用的软件产品或承接大的软件企业的子项目,而且这些软件 第二章软件过程技术分析 产品和项目常集中于某一领域,因此在该领域企业往往积累了较丰富的开发经验 和技术。 5 、人员间的沟通方便,沟通的方式大多是非正式的,对问题的反映速度快。 通过以上对中小软件企业特点的分析,结合林锐博士有关集成化流程方面的 内容3 】【2 0 】【3 4 1 ,提出了i s d p ( i n t e g r a t e ds o f t w a r ed e v e l o p m e n tp r o c e s s e s ) 模型, i s d p 是基于c m m i 的集成化软件开发流程,对c m m i 的过程域做了合理的精简, 并扩充了组织过程域,采用增量开发模式,适合于中小型软件企业。 2 2 2 集成化软件过程流程i s d p 的模型 i s d p 由众多的过程规范和模板组成,i s d p 模型如图2 2 所示,该模型采用 矩阵形式,以时间线为横轴,来说明软件开发的几个阶段。以软件生命周期包含 的几个过程为纵轴,全面包含了生命周期中的各项活动,其特点如下: 1 、集成了组织过程、项目管理过程、项目开发过程和支持过程。i s d p 四类 过程贯穿了项目生命周期,结构清晰,相互关系直观明了。i s d p 模型有助于企 业各部门有条不紊地开展工作。 2 、适合于中小型r i 企业的c m m i3 级研发流程。i s d p 吸纳了c m m i3 级 以内的大部分过程域( 做了合理的精简) ,扩充了组织过程域,采用增量开发模 式,更加适合于中小型i t 企业( 满足要求并且易于执行) 。 3 、容易裁剪与扩充。i s d p 是不断改进的流程规范,用户可以根据本企业的 特征,适当地裁剪或扩充i s d p 的过程域,很容易制定出最适合于本企业的流程 规范。 1 4 第二章软件过程技术分析 p h前期准备 p h 2 开发;p h 3 调试ip h 4 结案维护 改进过程 组织 基础设旖过程 过程 培i l l 过程 组织设定 项目 1 l 项目规划( 人力资源、设备、成本、任务进度等) 管理 授权与承接管理 结案管理 过程项目监控与风险控制 ji 需求评审 k 一需求开发与管理 一 需求细化守跟踪 ) 0 设计评审f 项目 薹i模块开发与集成l目; i 开发 过程 增量开发模娄j 测试与修改。l ;蛤曲 j 软硬件系统集成 l | | 部署调试r i 软件维护 支持 配置管理、文档管理 过程 质量保证、审核与统计分析 图2 - 2 i s d p 模型 i s d p 流程中集成的四个过程中有包含了很多过程域。如表2 3 所示给出了 i s d p 的过程域、主要活动和主要工作成果。 第二章软件过程技术分析 表2 - 3i s d p 的过程域、主要活动和主要成果 i s d p 的过程域主要活动 主要工作成果 基础设施过程组织设定,职责分配 组织关系图,职责描述报告 组织 改进过程 确定过程改进机会,规划和实施过程改进计划书,过程改进 过程改进分析报告,成果与总结报告 过程 确定培训需求,制定培训计划, 培训计划、教材,培训意见 培训编写培训教材,实施培训,评价 反馈单 培训效果 立项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025网络文学IP全产业链开发中的IP衍生品设计与营销策略报告
- 2025北京中医药大学东方医院秦皇岛医院选聘19人(河北)考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年新能源行业质量认证中的区块链技术应用报告
- 2025-2030工业软件市场发展趋势与竞争格局分析报告
- 2025-2030工业软件SaaS化转型面临的定制化需求矛盾分析报告
- 2025-2030工业自动化控制系统信息安全防护体系建设趋势分析
- 2025-2030工业级防爆指纹识别设备特殊应用场景市场机会研究
- 2025-2030工业级指纹采集仪耐候性测试与质量提升方案
- 2025-2030工业级3D打印设备技术瓶颈与突破路径研究报告
- 2025-2030工业窑炉脱硝技术路线成本效益比较
- 结肠癌肝转移护理查房课件
- 口腔预防保健课件
- 九年级数学上(前两章)试题 Microsoft Word 文档1
- 视频监控系统安装施工方案
- -首次执行衔接问题-行政
- GB/T 95-2002平垫圈C级
- 一起重新构想我们的未来:为教育打造新的社会契约
- GB/T 21073-2007环氧涂层七丝预应力钢绞线
- 压力管道特性表
- 高级会计师评审个人业绩报告(精选9篇)
- 储能型虚拟电厂的建设与思考分析报告
评论
0/150
提交评论