已阅读5页,还剩66页未读, 继续免费阅读
(计算机软件与理论专业论文)维护离岸外包过程管理及应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 经济全球化的增强和区域经济合作的发展,再加上软件维护成本的不断攀 升和系统开发预算的限制,促进了软件维护离岸外包业务的快速发展同时, 软件工程界当今的研究趋势正在由面向实验室的研究向面向工业界的软件过程 研究转变。鉴于此,论文对软件维护离岸外包过程进行分析研究,以期更好地 对其监控和管理,提高软件维护离岸外包质量。 论文首先分析了软件维护过程控制和过程改进理论,然后结合维护离岸外 包过程相关领域知识,以缺陷生命周期为主线,来对维护离岸外包业务过程进 行深入地总结,并在此基础上对维护离岸外包过程进行重组和建模,以期软件 维护离岸外包过程理论能够在实际中广泛应用。 论文的主要工作体现在以下几个方面: 1 在阅读了一定的软件维护外包过程资料后,结合公司实地实习,对现有的 软件维护离岸外包过程进行了详细地总结分析。 2 在总结分析的基础上,针对软件外包企业现有过程监控及度量系统的缺陷 和不足,对软件维护离岸外包过程进行了重组,给出了基于缺陷管理的维 护离岸外包过程,并确立了过程的里程碑事件、划分并定义了组织角色、 设计了缺陷管理流程 3 对过程重组的平台一一工作流技术进行了分析研究,把基于角色划分的工 作流模型应用到软件维护离岸外包过程中来。 4 设计实现了基于缺陷管理的软件外包过程管理系统及缺陷修正数据库,并 进行了实践验证。 关键词:维护过程,离岸外包,缺陷管理 m a n a g e m e n ta n da p p l i c a t i o no fm a i n t e n a n c eo f f s h o r e 0 u t s o u r c i n gp r o c e s s a b s t r a c t a st h ee n h a n c e m e n to fe c o n o m i cg l o b a l i z a t i o na n dd e v e l o p m e n to fr e g i o n a l e c o n o m i cc o o p e r a t i o n , m t e r - r e g i o n a lc c o n o r m cc o o p e r a t i o nh a sb e c o m em c r e a s m g l y a c t i v e s ou n d e rt h ec o n d i t i o no fr i s i n gs o f t w a r em a i n t e m n c ec o s ta n ds y s t e m d e v e l o p m e n tb u d g ac o n s t r a i n t , t h es o f t w a r eo u t s o u r c i n gh a sb o m f a c i l i t a t e dw i d e l y a ts a m et i m e ,t o d a yt h er e s e a r c hi r e n di ns o t h v a r ep r o j e e t sf i e l di sc h a n g e df r o m f a c i n gt ol a b o r a t o r i e st of a c i n gt or e s e a r c ho nt h es o r w a r ep r o c e s so fi n d u s t r i a l c o m m u n i t y , s ot h i sp a p e rr e s e a r c h e so nt h ep r o c e s so fs o f t w a r em a i n t e n a n c e o u t s o u r c i n gi no r d e rt om o n i t o ra n dm a n a g e t h ep r o c c s so f m a i n t e n a n c eo u t s o u r c i n g b e t t e ra n dp r o m o t et h eq u a l i t yo f m a i n t e n a n c eo u t s o u r c i n g t h i st h e s i si sb a s e do nt h ea n a l y s i so ft h ep r o c e s sc o n t r o lo ft h es o f t w a r e m a i n t e n a n c eo u t s o u r c i n ga n dt h ep r o c e s si m p r o v e m e n t , a s s o c i a t i n g 硒t l lt h ef i e l d k n o w l e d g eo f s o f t w a r em a i n t e n a n c eo u t s o u r c i n g , t a k e s 也el i f cc y c l eo f d e f e c t s a st h e m a i nl i n e ,g i v e na ni n - d e p t hs u m m a r yo nt h ep r o c e s so fs o f t w a r em a i n t e n a n c e o u t s o u r c i n 舀a n dt h e n , r e s t r u c t u r eb a s i sf o rt h em a i n t e n a n c eo fo f f s h o r eo u t s o u r c i n g p r o c e s s s ot h et h e o r yo ft h ep r o c e s so fs o f t w a r em a i n t e n a n c eo u t s o u r c i n gw i l lb e w i d e l yu s e di np r a c t i c e 田”c o n t r i b u t i o n so ft h i st h e s i sm a i n l ye m b o d yi nt h e f o l l o w i n ga s p e c t s : 1 a r c rr e a d i n gac e r t a i ns o f t w a r em a i n t e n a n c eo u t s o u r c i n gp r o c e s si n f o r m a t i o n , c o m b i n e dc o m p a n yi n s p e c t i o n 缸m n i n g , g i v e nad e t a i l e da n a l y s i sa n ds u m m a r i z e o f e x i s t i n gs o r w a r em a i n t e n a n c eo f f s h o r eo u t s o u r c i n gp r o c e s s 2 a n a l y z et h ed e f e c t se x i s t i n gi np r o c e s sm o n i t o r i n ga n dm e a s u r e m e n ts y s t e mo f s o f t w a r e o u t s o u r c i n ge n t e r p r i s e ,r e s t r u c t u r i n g t h e p r o c e s s o fs o r w a r e m a i n t e n a n c eo u t s o u r c i n g ,e s t a b l i s h i n gm a i n t e n a n c ep r o c e s sm i l e s t o n e , d i v i d i n g a n dc l e a r i n ga b o u tt h er o l eo fd e f i n i t i o no r g a n i z a t i o n s ,d e v i s i n gt h ep r o c e s so f d e f e c tm a n a g e m e n l 3 a n a l y z ea n dr e s e a r c ho nt h ep l a t f o r mo fp r o c e s sr c c n g i n 鲫i n ga n dw o r k f l o w t e c h n o l o g y , a p p l y i n gw o r k f l o wm o d e lb a s e do nr o l e - d i v i d i n gi nt h ep r o c e s so f s o f t w a r em a i n t e n a n c eo u t s o u r c i n g 4 d e s i g na n dr e a l i z ek n o w l e d g eb a s eo f 丘】【e dd e f e c t s 1 1 l i st h e s i sc o n t a i n sag r e a t o ft e c h n i c a ld o c u m e n ta n dt h es t o r a g eo fp r o c e s sc o n t r 0 1i n f o r m a t i o ni nt h e c o u r s eo fs u p p o r t i n gd e f e c t si ni n f o r m a t i o na n d 缸e dd e f e c t s , a l s os u p p o r t i n ga g r e a tv a r i e t y o f g e n e r a t i o no f d a t a r e p o r t k e y w o r d s :m a i n t e n a n c ep r o c e s s ;s o f t w a r eo u t s o u r c i n g ;d e f e c tm a n a g e m e n t w o r k f l o w n 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读 学位期间论文工作的知识产权单位属于西北大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和电子版。本人允许论文被查阅和 借阅。学校可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同 时,本人保证,毕业后结合学位论文研究课题再撰写的文章一律注明作 者单位为西北大学。 保密论文待解密后适用本声明。 学位论文作者签名:奎墨幽垒指导教师签名: p 口7 年5 月i g 日矽7 年月心日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 本论文不包含其他人已经发表或撰写过的研究成果,也不包含为获得西 北大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签名:誉玉腰呜 z 唧年万月侈日 扛 1 1 研究背景 第一章绪论 随着经济全球化趋势的不断增强和区域经济合作的迅速发展,地区之间的 经济合作日趋活跃。我国的软件企业正在积极适应这一趋势,走国际化发展的 道路,注重国际合作,开拓海外市场,大力发展软件出口与服务外包业务【1 】f 卫。 据i d c ( i n t e m e td a t ac e n t e r ) 分析,近几年全球应用软件外包市场平均每年 以2 9 2 的速度增长,2 0 0 5 年整个市场规模达到3 8 9 亿美元狰l 。而根据美国商 业周刊统计,目前全球软件产值的三分之一需要通过对外发包来完成州。近 年来,中国软件外包企业纷纷加入国际外包市场,使全球的软件外包市场份额 发生了变化,中国软件离岸外包收入都保持4 0 9 6 以上的年增速,且在0 6 年达到 1 4 亿美元。离岸软件外包净利润行业均值1 0 - 1 5 左右【”。g a l t n e r 研究中心2 0 0 6 年初发表的研究报告预测,中国在2 0 0 9 到2 0 1 2 年间将成为世界上最大的外包 市场。 近年来,虽然我国软件外包业务快速发展壮大,但离岸外包的服务质量和 层次有待提高,目前的业务主要集中在底层的编码外包,并开始逐步涉及中层 的测试和维护外包业务,但涉及高端的需求、设计和完整生命周期的项目较少, 和世界上一些外包业务发达的国家相比,中国的软件外包业务还存在着明显的 差距造成这种差距的原因很多,除企业规模、语言差异等因素外,一个关键 因素是质量和服务劣势,我国很多涉及外包业务的企业,在进行外包项目的开 发过程中,软件工程与项目管理领域的经验和能力不足,同时开发规范和管理 过程亟待改进。外商在考查承包对象时,通常会把该企业是否建立了一套系统、 科学的软件过程作为关键,甚至是取舍的标准之一【5 l 嘲 软件维护活动所花费的工作占整个生存周期工作的7 0 以上【7 1 所以软件 维护活动的开展状况对公司的收益至关重要,软件维护过程作为软件生存周期 中最后、最长的一个阶段,也是花费人力、物力最多的一个阶段,受到业界的 广泛关注。互联网的发展和软件成本的制约使越来越多的软件被外包到拥有大 量廉价、熟练劳动力的国家和地区,从而使跨国、跨区域的软件维护成为可能, 出现了虚拟的维护组织,即软件维护离岸外包。维护离岸外包过程的跟踪管理 和普通意义上的软件维护过程跟踪管理有很大的区别。它的维护难度增加,而 且带来了很多新的问题( 见2 3 节) 。因此对软件维护离岸外包业务过程进行有 效监控和度量,确保软件维护质量,成为开展软件维护外包业务的关键活动之 一 目前,国外软件工程界的研究焦点,已从面向实验室的软件工程研究,转 为面向工业界的软件过程研究【8 】。这一转变意味着要更多地关注组织和过程 目前,软件过程特别是维护过程的理论和应用研究已有不少成果【9 l 【1 0 肼j 1 3 1 1 4 】f j 5 j 16 】f 1 7 j 【1 8 】1 1 9 】,1 9 9 8 年i e e e 也颁布了软件维护的国际标准2 m 通过对上 述研究成果的分析,可以看出,发达国家维护研究的重点己发生了转移,即更 多地关注维护组织的结构、维护过程的复用、维护过程的度量与改进和缺陷预 防方法的应用,为维护赋予了新的内涵i :l 】。由于全球软件产业格局的变化,世 界办公室的出现,国外软件外包业务的不断增长,业界对软件维护外包过程特 别是离岸外包过程有了深入的关注与研究,但这些研究主要集中在欧美等发达 国家,他们处于产业链的上游,处于强势地位,所以其关注的主要是发包的管 理f 2 2 】【2 3 】。 国内也有大量的机构从事软件过程的研究工作,但是由于国内软件外包业 务开展相对较晚,所以从事维护离岸外包过程的研究不多,关于软件维护离岸 外包过程管理的研究成果也比较少。同时,由于国内的软件外包企业中重视过 程管理的公司大多数采用i s o 和o n t 僻彻模型,而这些模型均起源于美国 ( 发包方) ,因此没有对应的适用于接包方的过程域( 1 h - o c 七s sa r e a ) ,更没有 关注维护过程 2 3 1 1 2 4 目前,关于软件维护外包过程应用系统平台的研究也鲜有 报道,公司都是根据各自的需求,研究适用本公司的软件维护过程理论及控制 工具,这耗费了大量资源,而且通常开发出来的成果只能供本公司或本项目组 使用,无法广泛推广。因此,对通用的、支持外包业务过程监控、能够满足大 部分公司软件维护外包业务需求、可对维护进行度量的软件维护过程控制理论, 及其关键技术和支撑工具的研究,成为软件外包业务发展的关键。 在省市科委和国家8 6 3 计划的支持下,西北大学软件工程研究所于2 0 0 0 年 开始研究支持中、小企业的软件过程管理和质量保障技术,于2 0 0 4 年开始关注 2 维护离岸外包过程管理,迄今已取得多项成果2 7 4 5 1 1 4 了 1 4 9 5 0 1 5 1 】【5 2 1 1 5 3 1 本文的工 作正是基于这样的背景提出的。 1 2 论文主要工作 论文结合软件维护、软件离岸外包、缺陷管理、软件过程改进和工作流技 术等领域知识,对软件维护离岸外包过程进行深入系统的总结。结合对中国一 些知名外包企业接包方实际业务过程的实地考察实习,对软件维护离岸外包过 程带来的新的问题和挑战进行深入地分析。最后,对其过程进行重组和模型化, 并在此基础上设计出一种通用、符合维护离岸外包业务基本需要的过程管理工 具,并在某软件维护外包公司进行实践检验。 论文工作主要包含以下几个方面: 1 软件维护离岸外包过程分析总结。在阅读了一定的软件维护外包过程资料 后,结合对西安某公司考察实习,对目前软件维护外包的管理过程进行了 详细的总结分析。 2 提出了基于缺陷管理的软件维护外包过程。结合软件维护、维护外包业务 过程、工作流技术,缺陷跟踪、过程监控等领域知识,通过合理的选择度 量元,明确定义组织的角色,准确划分维护流程的里程碑事件,对软件维 护外包的业务流程进行重组,提出了基于缺陷管理的软件外包维护过程理 论。 3 对过程重组的平台一工作流技术进行了分析,把基于角色划分的工作流 模型应用到软件维护外包过程中来。 4 设计了缺陷修正数据库。支持系统工具、特别是缺陷修正知识库包含的 大量技术文档和过程控制信息的存储,支持多种级剔数据报表的生成。 5 设计实现了基于缺陷跟踪的维护离岸外包过程控制系统。采用锘语言、s q l , s e r v e r 数据库和n e t 平台。该工具可以有效地对维护离岸外包过程进行 监控管理。 1 3 论文的组织结构 论文的内容围绕着软件维护外包过程的理论提出和管理工具的实现而展 开共分六章,具体内容安排如下: 第一章绪论 首先,分析了软件维护外包过程研究工作的相关背景,给出了本课题的研 究意义。接着论述了本文的主要研究内容。最后,给出了本文的组织结构。 第二章维护离岸外包过程相关技术 分析了软件维护外包业务特点、发展趋势及面临问题;研究了目前软件维 护过程理论及技术:分析了缺陷跟踪技术及其在软件维护过程中的重要意义; 研究了软件维护外包过程实施平台一工作流技术。 第三章基于缺陷跟踪的软件维护离岸外包过程研究 根据对维护离岸外包过程的理论研究,并结合实地考察实习,提出了基于 缺陷跟踪的软件维护离岸外包过程理论。并对此过程进行了详细地分析设计, 主要包括软件维护外包过程的角色定义及划分、缺陷的表征及处理和工作流技 术的使用,最好给出了维护离岸外包过程定义 第四章软件维护外包过程管理系统工具的设计实现 详细描述了该系统的关键设计与实现论述了该系统的体系结构和功能模 块图,给出了关键模块、数据库的详细设计和工作流引擎的功能结构和设计思 想。 。 第五章系统实践 介绍了系统在某外包企业的使用实例,并对系统在公司的应用过程及效果 进行评价,以验证论文提出的维护离岸外包过程理论的可使用性。 第六章总结与展望 对本文所做的工作进行了总结,对下一步的工作进行了展望。 4 2 1 软件维护离岸外包 2 1 1 概述 第二章相关研究 软件维护的离岸外包使软件开发商和软件维护商分属不同的团队或公司。 通常情况下为节约成本,软件外包都会从欧美或日本发达国家外包到亚洲的印 度、中国和欧洲的俄罗斯、爱尔兰等国家。可以看出,在成本节约的同时,维 护过程的复杂度也随之增加更重要的是,外包后的工作过程要求软件使用者、 软件开发商、软件维护承包商协调工作,并能够有效沟通。与普通意义上的维 护过程相比,维护离岸外包过程添加了维护承包商,由普通的双方交流变为三 方交流,如下图所示: 。 软件开发商 图2 1 普通软件维护关系图 囊囊r 旷i 唧 维护商( 接包方)_ 客户 软件开发商( 发包方) 图2 2 软件维护外包后关系图 r 从图2 1 我们可以看出普通软件维护过程中,软件开发商直接为软件使用 客户进行软件维护客户有什么软件缺陷都可以直接求助于软件开发商,软件 开发商有自己的软件维护团队来处理软件缺陷。在维护过程中,维护团队成员 可以方便地同本公司软件开发人员进行交流,对软件设计过程、思路有快速准 确的理解渠道,同时软件开发商拥有开发软件的全部技术文档,从而使维护快 5 胛 ! 霸割 1 胃 l 捷方便,效率较高。 而从图2 2 中,我们可以看出,客户发现软件缺陷或者需要添加新的功能 时,必须向软件开发商提出维护申请,软件开发商将客户发现的问题进行验证 或确认后,再发送到维护商手中进行修正。修正后的缺陷要提交给软件开发商 确认修正合理,然后才能在某一版本中发布,最后满足客户需求。这样,维护 商要组建专门的维护团队,开发商要组建专门的缺陷管理团队。在维护过程中 维护团队因为不属于原软件开发公司,地域、文化差别较大,通常无法有效地 同原开发人员充分交流,无法快速、准确地理解程序,造成软件维护速度较慢, 质量没有保障。为保证软件质量,增强维护效率,发包方必须对接包方的工程 师进行培- p l i ,对软件质量进行严格控制,包括对软件缺陷修正的设计方法和代 码实施的严格审查。因此,软件维护外包后的过程变得较为复杂。 2 1 。2 维护离岸外包的特点 在软件维护外包( 文中软件维护外包均指软件维护离岸外包) 过程中,项目的 特点表现为:项目规模较大、项目周期较长、存在较多的软件缺陷、对缺陷修正 的质量要求较高、项目供应商多为欧美及日本企业i 扪根据以上分析,结合某公 司外包项目的特点,总结出软件维护外包中的维护过程应具备的特点如下: 1 缺陷的跟踪和管理需要软件发包商和软件承包商共同维护,因此,要求双方 共享同一个缺陷信息数据库,各自负责处理己方需要处理的缺陷,对于需要 对方提供更多信息的缺陷,可以通过改变缺陷的当前信息( 状态、处理者、 处理建议等) ,使对方尽快处理,这样便于集中管理,提高效率。 2 要求过程控制具备较高的安全性,不同权限的用户只能执行不同的操作,保 证只有适当的人员才能执行正确的处理。例如,只有软件开发方的模块负责 人才有权限对缺陷的修复方案进行评审。 3 过程中缺陷的处理要适应于软件缺陷外包项目的需要,体现出软件供应商 ( 发包方) 和外包公司( 接包方) 协调工作的特点,而且要具备较高的灵活性, 能够及时适应项目过程变更的需要 4 过程应具备较高的可重用性与灵活性,能够适应不同项目的需要 6 2 1 3 维护离岸外包面临的问题 一般维护过程中的主要问题 软件维护活动所花费的工作占整个生存期工作的7 0 以上【2 5 1 ,而且常常维 护任务都不能按时完成。一般情况下,我们在软件维护过程中的问题主要为: 1 很难完全、准确理解原开发人员的开发思路。 2 软件人员的流动性较大,使得软件维护时很难与原开发人员沟通。 3 没有文档或文档严重不足i 冽 4 软件设计时,欠考虑软件的可修改性,可扩展性。 5 频繁的软件升级,要追踪软件的演化变得很困难,使软件更加难以修改。 6 软件错误大多由用户在运行中发现,用户往往是在任务紧、时间急的情况 下请求维护,对维护人员在短时间内发现问题、解决问题的能力要求较高。 离岸外包过程中出现的新问题 随着软件维护离岸外包业务的广泛发展,由于角色的增加、地域的限制和 语言障碍等,又带来了一系列新的问题: a 维护的过程更加复杂。软件外包维护是由客户、软件供应商发包方、承包 方共同参与的一个过程,它比“客户一软件供应商”这种维护模式多了维 护外包的过程和承包方角色。软件供应商在外包时承担发包方的角色,软 件维护过程成为“客户一软件供应商发包方一承包方”模式,角色的增加 使过程更加复杂 b 维护过程中难以获得原开发人员的技术支持软件维护外包是在软件的维 护阶段进行外包,此时,项目开发完毕,人员解散,同时离岸外包都是跨 区域的,距离遥远,所以维护工程师难以在维护过程中跟软件开发人员直 接进行技术讨论 c 存在语言障碍,相关文档阅读和理解速度缓慢。离岸外包通常由欧美日等 发达国家发包到中、印、俄等国家,语言常常成为障碍。它影响了维护工 程师对软件文档的快速阅读和理解,不利于对软件功能、构架的掌握。 d 沟通效率低下,复审难度增大。承包方维护工程师对缺陷的修正设计和代 码实现要由发包方工程师复审,e m a i l 因其经济、快捷成为首选但邮件常 常无法有效描述设计思路,造成复审专家理解困难,且往返周期较长因 7 此效率低下,复审难度增大 2 2 软件维护过程 2 2 1 软件维护过程 软件维护离岸外包过程是软件维护过程的特殊形式,要研究维护离岸外包过 程首先必须对软件维护过程进行分析。软件维护过程是指人们用于维护软件及其 相关产品的一系列策略、组织结构、技术、流程的集合【2 了1 信息技术的发展使作 为信息技术载体的软件日益渗透到社会生活的各个领域和各个层面,软件的规模 和用户需求都成扩大趋势,功能性能要求也更加复杂。同时,由于软件对社会各 领域、各层次的渗透,软件逐渐转变为一种对社会团体、甚至对社会公众的服务, 由此对软件的可用性、可靠性、可信性等质量要求提高了,对软件生产的效率和 质量、售后服务、用户满意度的要求也提高了。然而,软件是一种知识密集型的 产物,软件生产、维护十分依赖于人力资源,导致软件的生产和维护过程具有很 强的不确定性,传统的软件开发和维护都没有成熟的模式,既没有确定的工艺, 也没有确定的“生产线”,因此,软件产品的质量也难以控制。此外,更严重 的是,绝大部分的软件组织根本没有可以信赖的历史数据,所有的事情都处在凭 经验和感觉进行决策的阶段。 因此,软件的维护不能再停留在依靠个别高技术人员的小规模、个体化的软 件维护模式,而必须转向开放、协同、以过程为中心的、规模化的软件维护模式, 软件生产和软件维护的工业化势在必行【4 7 】 工业化生产一个最根本的要求,是建立生产过程并进行过程质量控制【拍】,同 样,软件维护的工业化就是要求建立严格的维护过程。随着工业化生产的发展, 质量管理的思想和理论,经过近一个世纪的发展和演变,已经从面向产品的检验, 发展到对产品生产、维护过程的质量控制。控制方法也从静态发展到动态的、持 续的过程改进,其核心思想表现为过程的策划、控制和过程能力的持续改进1 2 8 】。 2 2 2 维护过程模型。 软件维护过程模型相对于开发模型来说,它还没有被业界充分的研究和理 解【州。对软件维护过程相关模型的研究,有助于分析软件维护过程中的活动 软件维护过程模型有快速修改模型、b o e h m 模型、i e e e 维护过程模型、迭代增 强模型等【2 9 1 。采用何种维护过程模型,应了解各种模型的特点,并根据维护环 境来决定。由于考虑到软件维护外包过程发生在维护阶段,适合采用i e e e 维 护过程模型,论文仅对i e e e 维护过程模型进行分析。 i e e e 模型将软件维护工作看成软件交付后才开始的,没有考虑软件交付前 的活动,实际上交付前的活动对软件系统进行高效低耗的保障也具有关键的作 用。下面详细说明i e e e 维护模型的各阶段。 1 问题更改鉴别、分类与优先级的确定:软件维护起始于一个对软件的变更 请求,通常更改请求以更改请求单的形式提交,该变更请求既可能是纠错 性维护也可能是完善性维护,由维护机构确定其是何种类型,划分到合适 的维护类别中( 纠错性维护、适应性维护、预防性维护,完善性维护) ,并 确定其处理的优先级别。每一个申请都必须分配唯一的编号,其数据输入 数据库( 知识库) ,以便跟踪更改请求。收集、审查度量和指标要求从这个 阶段开始。 2 分析:在此阶段,先进行维护的可行性分析,在此基础上进行详细分析。 可行性分析主要确定软件更改的影响、可行性的解决方法及所需的费用等 内容。详细分析则主要是提出完整的更改需求说明、鉴别需要更改的要素 ( 模块) 、提出测试方案和策略、制定实施计划。最后由配置控制委员会审 查并决定是否开始工作。 3 设计:在设计阶段,汇总全部信息以便审查并用于软件更改的设计,这些 信息包括系绕项目的文档、分析阶段产生的结果、源代码、知识库信息等。 本阶段应更新设计基线、更新测试计划、修订详细分析结果、核实维护需 求。 4 。实现:在实现阶段,制定程序更改计划以便进行软件更改。实现阶段主要 包括编码与单元测试、集成测试、风险分析、测试审查准备,更新所有文 档等过程。 5 系统测试:主要测试程序之间的接口,以确保系统满足原来的需求以及新 增加的更改需求。回归测试是系统测试的组成部分,主要是确保不要引入 9 新的错误测试数据库对于回归测试是必不可少的。 6 验收测试:验收测试是在完成集成测试的系统上进行的,并由第三方或用 户来完成。在验收测试期间,测试人员应该完成如下工作:报告测试结果、 进行功能配置审核( 确定系统功能是否满足功能需求) 、建立软件薪版本( 或 基线) 。 售改请求 图2 3 i e e e 维护模型 此外,还应准备软件文档的最终版本,包括系统文档和用户文档系统文 档包括高层系统流程、系统功能描述、源程序清单以及描述数据流的文档,这 些文档应完全置于软件配置管理的控制下,用户文档由用户手册、错误清单、 培训资料及使用系统的功能说明等组成。文档应该与系统并行更新。一旦文档 和验收测试完成,系统就该进入交付阶段了。 7 交付:此阶段是将新的系统交给用户安装并运行。供应商进行物理配置审 核( 确定所有的配置项目是否都交付了) ,通报所有用户、进行文档版本备 份、完成安装与训练。交付后,系统使用就开始了。 2 2 3 维护过程改进 随着“技术发展的需要”和“软件工业化生产的需要”人们不得不采用软 件工程方法来解决软件开发中存在的问题【2 8 1 。而经典的软件工程方法不能满足 要求,所以软件过程改进成为软件工程学的一个主流研究方向。软件过程改进 是指软件过程管理不断改进和不断完善的过程。它是一项综合并且需要持续开 1 0 展的活动,它面对的既是软件开发的过程模型,同时也是针对每一个具体软件 项目的过程实例。 1 9 8 9 年,h u m p h r e y 研究发现导致软件开发出现问题的真正原因是开发过 程的混乱【划。在人们意识到软件系统的质量决定于软件的生产过程之后,软件 过程改进得到了深入、持久的研究与实践。软件过程改进( s o f t w a r ep r o c e s s i m p r o v e m e n ks p i ) 是旨在提高组织的软件工程能力的活动,在对软件过程信息 进行系统地记录、分析和重用的基础上,对组织的软件工程活动进行规范和持 续的改进与优化。以卡内基- 梅隆大学的软件工程研究所为代表的软件过程管理 流派从规范过程管理的角度对此开展了长期、深入地研究。进入上个世纪末, 基于过程、改进过程的思想已经逐渐为全球的软件业认同。基于过程改进思想 建立起来的质量管理模型,如能力成熟度模型( c a p a b i l i t ym a t u r i t ym o d e l c m m ) 、i s o ( i n t e r n a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ) 相关标准、r u p ( r a t i o n a lu n i f i e dp r o c e 豁) ,能力成熟度模型集成( c a p a b i l i t ym a t u r i t ym o d e l i n t e g r a t i o n ,c m m d 等。它们为众多软件公司所采用,也取得了非常好的效果。 但是从目前的参考文献上看,软件过程改进在软件维护外包过程中的应用很少, 因此论文的重点之一就是对目前软件维护外包过程进行改进。 软件出现问题的根本原因是软件过程的混乱。软件维护过程是软件过程的 子过程,由此也可以得出这样的结论,软件维护出现问题的根本原因也是由于 软件维护过程的混乱要扭转这种局面需要对软件维护过程实施改进,而目前 业界和理论界对软件维护过程改进理论研究的成果较少,而基于软件过程改进 建立起来的质量控制模型c m m c m m i 被众多公司所采用,并收到良好效果, 因此将借鉴能力成熟度模型( c m m c m m i ) 的质量控制标准来推动软件维护过 程的改进,是一种有效的方法。 c m m i 模型将软件组织的过程能力分为五个成熟度级别,即初始级、可重 复级、已定义级、已管理级和优化级,每一个级别定义相应的过程能力目标, 并描述了要达到这些目标应采取的实践活动。因此,在软件维护外包过程中, 以c m m i 为参考,逐步优化组织的结构和过程,达到c m m i 所规定的目标,以 此来对维护离岸外包过程进行持续的改进,以保证组织高效率、低成本地交付 高质量的软件产品【3 ,是论文的主要目标 论文将依据c m m i 模型为参考,通过适当的添加过程域,来研究软件维护 离岸外包过程以及组织管理过程的改进。最终通过对现有的过程进行重组,达 到对软件维护过程和组织管理过程的控制和优化,解决维护离岸外包过程中所 面临的问题,提高维护离岸外包质量,详见3 3 5 节。 2 3 缺陷管理 2 3 1 概述 软件维护包括纠错性维护、适应性维护、预防性维护和完善性维护且前 国内从事维护承包的公司大多从事纠错性维护及少量适应性维护工作,而对相 对难度较大的完善性维护、预防性维护和适应性维护涉及较少。因此,结合国 内实际情况,本文所说缺陷主要指纠错性维护及难度较小的其它类型维护请求 软件缺陷是软件维护外包过程的主体,因此对缺陷管理的研究将有助于对软件 维护离岸外包过程的有效监控和管理。 软件中的缺陷是软件开发过程中的“副产品”i e e e 对缺陷的定义为: 任何在设计开发过程中的问题、畸形、局限、功能特性不工作、不合理设计、 数据错误、运行错误、实际结果和预期结果不一致、不友好的界面等【心通常, 缺陷会导致软件产品在某种程度上不能满足用户的需要。每一个软件组织都知 道必须妥善处理软件中的缺陷。这是关系到软件组织生存、发展的质量根本。 可遗憾的是,并非所有的软件组织都知道如何有效地管理自己软件中的缺陷 因此,论文将缺陷管理作为关键,以达到对软件维护离岸外包过程的有效管理。 2 3 2 软件维护过程中缺陷的属性 缺陷的属性是缺陷的表征和描述,主要包括缺陷的标识、类型、严重程度、 优先级、状态、起因、根源等,对缺陷属性的详细研究将有助于对缺陷进行控 制,进而达到对软件维护离岸外包过程的管理。缺陷属性具体解释见表2 1 。 缺陷类型( t y p e ) 缺陷的类型是缺陷属性的表征元素之一,按照缺陷对系统的影响,一般分 为功能型缺陷、任务型缺陷、程序接口型缺陷、数据验证型缺陷、文档注释型 缺陷、用户界面缺陷、算法型缺陷、效率型缺陷等l o 种。 缺陷严重程度( s e v e r i t y ) 缺陷的严重程度表征了缺陷对系统功能的影响程度,一般分为4 - 5 级,以 表示缺陷对系统影响的不同级别,是缺陷修正时处理顺序的重要考虑因素,具 体如为c r i t i c a l ,s e r i o u s ,m e d i u m ,l o w 。 缺陷优先级( p r i o r i t y ) 缺陷的优先级是指缺陷在修正时应该处理的优先顺序,它跟缺陷的严重性 是不同的概念,严重性高的缺陷并不一定会得到优先处理。 缺陷状态( s t a t u s ) 缺陷的状态是软件维护过程中缺陷处理阶段的重要标识,根据不同的维护 过程,缺陷划分为不同的状态,合理的缺陷状态划分是软件维护外包过程有效 控制的关键,一般情况下,软件缺陷的状态分为提交、打开、验证、设计、复 审、实施、测试、发布、关闭等。 表2 1 缺陷属性表 属性名称描述 缺陷标识( i d e n f i t i e t ) 缺陷标识是标记某个缺陷的一组符号每个缺陷必须有一个唯一 的标识 缺陷类型( t y p e )缺陷类型是根据缺陷的自然属性划分的缺陷种类。 缺陷严重程度( s e v e r i 劬缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度。 缺陷优先级( p f i o d t y ) 缺陷的优先级指缺陷必须被修复的紧急程度。 缺陷状态( s t a t u s ) 缺陷状态指缺陷通过一个跟踪修复过程的进展情况 缺陷起源( o r i g i n ) 缺陷来源指缺陷引起的故障或事件第一次被检测到的阶段。 缺陷来源( s o u r c e )缺陷来源指引起缺陷的起因 缺陷根源( r o o tc a u s e )缺陷根源指发生错误的根本因素。 2 3 3 软件缺陷的严重性和优先级 严重性和优先级是表征软件维护缺陷的两个重要因素,它影响软件缺陷的 统计结果和修正缺陷的优先顺序f 3 2 1 。在软件维护过程中,如果对这两个概念没 有准确的理解,那么对它们的作用和处理方式通常无法把握在实际工作中就 不能正确表示缺陷的严重性和优先级。这将影响软件维护的质量,不利于尽早 处理严重的软件缺陷,最终可能影响软件缺陷的处理时机,对软件维护工作造 成重大影响。 缺陷的严重性和优先级 严重性( s e v m t y ) 就是软件缺陷对软件质量的破坏程度,即此软件缺陷的存 在将对软件的功能和性能产生怎样的影响。在软件维护过程中,软件缺陷的严 重性的判断应该从软件最终用户的观点做出判断,即判断缺陷的严重性要为用 户考虑,考虑缺陷对用户使用造成的恶劣后果。 优先级是表示处理和修正软件缺陷的先后顺序的指标,即哪些缺陷需要优 先修正,哪些缺陷可以稍后修正。确定软件缺陷优先级,更多的是站在软件开 发工程师的角度考虑问题,因为缺陷的修正顺序是个复杂的过程,有些不是纯 粹技术问题,而且开发人员更熟悉软件代码,更清楚修正缺陷的难度和风险。 缺陷的严重性和优先级的关系 缺陷的严重性和优先级是含义不同但相互联系密切的两个概念。它们都从 不同的侧面描述了软件缺陷对软件质量和最终用户的影响程度和处理方式。一 般情况下,严重性程度高的软件缺陷具有较高的优先级。严重性高说明缺陷对 软件造成的质量危害性大,需要优先处理,而严重性低的缺陷可能只是软件不 太尽善尽美,可以稍后处理。但是,严重性和优先级并不总是一一对应。有时 候严重性高的软件缺陷,优先级不一定高,甚至不需要处理,而一些严重性低 的缺陷却需要及时处理,具有较高的优先级 软件缺陷修正不是一件纯技术问题,有时需要综合考虑市场发布和质量风 险等问题。例如,如果某个严重的软件缺陷只在非常极端的条件下产生,则没 有必要马上解决另外,如果修正一个软件缺陷,需要重新修改软件的整体架 构,可能会产生更多潜在的缺陷,而且软件由于市场的压力必须尽快发布,此 时即使缺陷的严重性很高,是否需要修正需要全盘考虑。另一方面,如果软件 缺陷的严重性很低,例如界面单词拼写错误,但是如果是软件名称或公司名称 的拼写错误,则必须尽快修正,因为这关系到软件和公司的市场形象。 缺陷的严重性和优先级确定方法 在软件维护外包过程中,通常由软件发包方的缺陷确认人员确定缺陷的严 重性,由软件维护人员和缺陷确认人员协调确定缺陷的优先级。确定缺陷的严 重性和优先级要全面了解和深刻体会缺陷的特征,从用户和维护人员以及市场 的因素综合考虑。通常功能性的缺陷较为严重,具有较高的优先级,而软件界 1 4 面类缺陷的严重性一般较低,优先级也较低。 2 3 4 软件缺陷跟踪 缺陷跟踪过程( d e f e c tt r a c k i n gp r o c e s s ) 是指对维护过程中的主要工作对 象一一缺陷的监控和管理对于大中型软件的维护外包过程,客户和测试人员 报告的缺陷总数通常有数万之多,如果没有强大的缺陷跟踪过程管理,维护的 效率和软件的质量将很难得到保障,在维护过程中对缺陷的查找将十分困难, 维护工作将难于展开。另外,一个良好的过程管理还有利于项目组成员闻协同 工作,缺陷跟踪过程管理可以使承包方维护人员、发包方管理人员、项目负责 人、缺陷评审人员协同工作,同时也能保证维护工作的有效性,避免缺陷确认 人员重复报错,也便于相关人员及时掌握缺陷的当前状态,进而完成对应状态 的维护工作。最重要的是它有利于管理人员跟踪和监控缺陷的处理过程和方法, 可以方便地检查处理方法是否正确,跟踪处理者的姓名和处理时间,作为工作 量的统计和业绩考核的参考 缺陷跟踪管理原理 缺陷跟踪管理在实现技术层面上来看是过程控制引擎和一个数据库应用的 结合。它包括前台用户界面、过程控制引擎、后台缺陷数据库以及中间数据处 理层。目前,不少缺陷跟踪管理系统是采用b s 结构来实现的,相应地,采用 的编程语言是a s p 、c # 或j s p 。各企业可以根据需要选择购买商品化的缺陷跟 踪管理工具,或者选择自行研发软件缺陷跟踪管理工具。这类系统的用户界面 所显示的信息一般应根据用户的角色不同而略有差异,因为各个角色使用该系 统完成的任务各不相同。如测试工程师用于报告缺陷或确认缺陷是否可以关闭; 软件维护工程师用于了解哪些缺陷需要他去处理以及缺陷经过处理后是否被关 闭;而项目负责人需要及时了解当前有哪些新的缺陷,哪些必须及时修正等。 另外,不同角色所拥有的数据操作权限也不尽相同。例如维护工程师无权通过 其用户界面向数据库中填写新的缺陷信息,也无权关闭某个已知缺陷:而测试 人员无权决定分配谁去修正某已知缺陷,也无权决定是否要修正某个缺陷。 缺陷跟踪管理系统的后台数据库的设计应尽量考虑到不同角色的应用需 要,如维护人员可能需要对相关数据表傲频繁的记录插入、查询等操作,软件 开发人员可能对与他相关的记录非常重视,而对其他记录不感兴趣,而项目负 责人员可能对新发现的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 7691-2025涂装作业安全管理通则
- 2025年黔西南州辅警协警招聘考试真题附答案详解(b卷)
- 2025年海口辅警协警招聘考试真题含答案详解(轻巧夺冠)
- 2025年黔西南州辅警招聘考试真题及答案详解(网校专用)
- 2025年辽源辅警协警招聘考试备考题库含答案详解(a卷)
- 2025年随州辅警协警招聘考试真题及答案详解(名校卷)
- 2025年濮阳辅警协警招聘考试备考题库附答案详解(基础题)
- 2025年铜仁辅警协警招聘考试真题含答案详解(新)
- 2025年锡林郭勒盟辅警协警招聘考试备考题库附答案详解(满分必刷)
- 2025年葫芦岛辅警招聘考试题库及答案详解(易错题)
- 2024年全国网络安全行业职业技能大赛(数据安全管理员)考试题库-上(单选题) (一)
- 车间三级安全教育
- 2024年潜江市事业单位统一招聘笔试真题
- 《新能源电池研究》课件
- 全过程跟踪审计风险重点和难点分析
- 第四课-火灾逃生我能行-课件(共28张课件)
- 非时政类期刊杂志报刊出版单位体制改革杂志社转企改制工作方案
- 中国移动自智网络白皮书(2024) 强化自智网络价值引领加速迈进L4级新阶段
- JJF 2143-2024微波消解仪温度参数校准规范
- 中国合成树脂行业市场运营态势及投资前景趋势报告
- 产能分析表完整版本
评论
0/150
提交评论