已阅读5页,还剩101页未读, 继续免费阅读
(计算机应用技术专业论文)构件化软件系统工作量估算过程框架的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 快速演变的软件工业、规模庞大的应用系统、难以预测的软件活动以及各种 各样的软件开发过程与客观环境,使得软件的生产日益复杂、管理困难。在软件 危机困扰软件工业的近4 0 年里,软件工程师们不断的寻求有效的方法来降低软 件危机的发生。在这个过程中,软件测量起到了决定的作用。 软件企业虽然已经认识到软件测量与软件估算的重要性,但在实际的项目实 施过程中,测量与估算依然是处于混乱状态,大约超过7 0 的软件企业没有成熟 的软件测量过程与估算模型。因此,大多数软件开发没有为软件产品设定测量目 标;不了解软件项目的构件成本;没有对自己生产的产品的质量进行量化和测量。 本文主要开展了软件工作量估算框架的研究。软件工作量估算的含义为在软 件产品开发之前对其工作量做出经验的估计。 没有合理而准确的估算能力,软件项目经常会遇到如下问题: 软件项目人员没有可靠的依据来告诉经理、客户或销售人员:他们所提 出的预算与进度是不现实的。这会导致对内部软件开发做出过分乐观的 许诺,在竞争性的软件合同投标中虚报低价,最终必然导致超出限度和 性能上的损害。 软件分析员没有可靠的依据,在分析设计阶段做出现实的权衡分析。 项目经理没有可靠的依据,来决定每个软件阶段和活动应该花多长时间 和多大的工作量,这使经理无法确定软件是否按照计划的进度在进行。 这意味着软件开发从一开始就处于一种失控的状态。 由此可知,软件估算技术是重要的。近三十年来,众多的研究成果提出了很 多种估算模型如c o c o m o 模型,d e l p h i 模型等。但这些模型在真正的项目中 却没有被软件企业所接受,其中主要原因就是在于估算的准确性。大多数软件企 业对软件估算处于之中无知或被动的状态,他们不了解估算的基本方法,不清楚 影响估算的准确性原因大部分是由于自身的原因造成的。所以要根本解决估算的 尴尬处境,应该从软件企业自身出发,通过软件企业的对估算活动的参与,增加 软件企业对估算过程和模型工作过程的认知度,从而提高估算的准确性。 与此同时,软件开发技术的不断变更。“软件构件化”已经成为软件开发的 主流技术。但目前国内的“软件构件化”开发还存在蟹很多的误区,肖人认为只要 采取构件开发的方式就是在悫“软件构件纯”的道路,其实远非如此。构件的使用 由于对构件的不当蠼鳃反面增加了敬件企业的工作爨。从而软件企业对构件提出 了构件的度擞需求。 燕是出予这个考虑,零嫒究握爨了“穆绛纯软传系统工佟量继黪过程撵絮”。 这个框架共分为5 个层次。笫一层次;构件化软件系统工作壤估算因素集合的确 定;第二个艨次:梅侔往软臀系统工佟萎话冀决定嚣豢集台豹确定;第三个麓次: 构件化软件系统工作最估算模型的建立;第四个层次:构件化软件系统工作缀估 算模凝静校凇;第五层:获墩更多静数据,傻构件化软件系统工作鬣倍算模翟的 不断进化。 其中,第一个层次通过深入研究了i s b s g ( i n t 锄a t i o n a ls o f h v a r eb c l l c h l l l 砌r 血2 s t a n d a r d s r o 坤) 数据矮性并进行了数据属投夔筛选。同时鸯虑到我藿秘终他软 件开发的现状,提出了构件可测试性的测量指标:构件可理解性、构件可观察性、 兹 孛露控铡羧、稳 睾霹跟踪瞧滋及构昝蘩l 试支持毪。 第二个层次采用了逐步线性回归的分析方法对经验数据进行了分析。通过分 辑确定稳徉傀信雾凌定霞素集台,该透素集合包括经过筛逸鹃器b s g 属毪及构 件的w 测试憾。 第三个层次在前黼个层次的基础之上,猢用贝叶斯推断,建立了工作量估算 的贝时额估算模型。在本研究中,共提出了鼹个贝叶矮钴冀模型:贝时巅回归模 型与贝叶斯多变量正态分布模型。 麓霆令层次完成模型懿校准。本鞭宠在炎分考虑爨蓬喜蓼敬磐垒煎熬现状,提 出了小数据集合的校准方法对模型进行校准,效果怒良好的。 美涟竭工终量 骞箨;梅释纯软捧系统;构释哥溺试洼;爱静薪分析 l l a b s t r a c t f a s t g r o w i l l g s o 行w a r e m d u s 乜e n o 锄o u s印p l i c a t i o ns y s t 黜s ,h a r d l y p r c d i c t 矗b l e s o 侍w a r e a c t i v i 廿e s ,v a r i o u ss o r w a r ed e v e l o p m e n tp r o c e s s a n dm e i m p c r s o n a le n v i m 眦e n tm a k es o r w a r em a n u f a c n gi n c r e a s i n 舀yc o m p l i c a t e da n d d i 伍c u l n ym a n a g e a b l e s o 腑a r ec r i s i sh a sb e e nb o t h 耐n gs o 脚a r ei n ( h l s t r yf 斫 a h n o s t4 0y e a r s ,m e a n w l l i l es o r w a r ee n g i n e e r sk e 印劬d i n go u te 虢c 6 v et e “q u e s a 1 1 dm e 吐l o d st op r e 、吲ni th a p p c n i n g h 1m i sp r o c e s s ,m e t r i c st a k e sd e t e 盯i l i n a t i v e e 氐c t m 姐ya c t i v i d e sw 盯ec o v e r c di nt h et e r 工no fs o f t w a r em “c s :s o f t w a r ee 行b r ta n d e 丘 o r te s t i m a t i o n ,p m d u c 吐v i t ym 矧c sa n dq u a l i t ym e 砸c sa i l ds oo n a l m o u g hm a l l ys o f t w a r ec n t 叼r i s e sh a v er e c o g t l i z e dt l l ei m p o r t a i l c eo fs o f t w a r e m e 缸c sa n ds o 盘w a f ee s 血a t i o n m e t r i c sa n de s t i m 撕o na r es t i l l 洫as t a t eo fd i s o r d e r i i l 碥a lp r o j e c t s a b o u tm o r et h a i l7 0 e i l t e r p r i s e sh a v en om a n 盯es o f h v a r em 嘶c s p r o c e s sa 1 1 de s t i l n a t i o nm o d e l c o n s e q u e i m y m o s te 力t e r p r i s e sh 蜀l v en om e t r i c sg o a l f o rs o 行w a r ep r o d u c t s ,h a v en oi d e ao fc o m p o n e n tc o s t 证s o 矗w a r ep r o j e c t sa i l dh a v e n oq u 枷t i v em “c s sf o rt h ep r o d l l 吣q u a l i 够 1 1 1 i sp 印e rf o c u s e so n 廿1 es t l l d yo fm e 加m e w o r ko fs o 脚a r ew o r ke 怕r t e s t i m a 廿o n t h et e n n i i l 0 1 0 9 yo fe 任b ne s t i m 撕o nm e a n sm a :k 抽g a l l e x p e r i m e n t a l v a l u a t i o nf o ri t se 肋r ta i l dt i m ee f f b r tb e f o r es o 胁a r ep r o d u c td c v e l o p m e n t w i t h o u tr c a s o n a b l ea 1 1 da c c u r a t ea b i l i t yo fe s t i m a t i o nf o rt h ee 助鸸s o f h a r e p 如j e dw i l le n c o u n t c r t l l ef 0 1 1 0 w i r 唱q u e s 石o n s : s o 仔w a r ep r a c t i t i o n e r sh a v en or e l ia :b l ee v i d e n c e st ot e l lm em a n a g e r s , c u s t o m e r sa n ds d l e r st h a t 血eb u d g e ta n ds c h e d u l et l l e yp r o p o s e da r e 唧e a l i s t i c c o n s o q u 髓n y ,o v * o 面m i s t i cp r o m i s e sa n d1 l n d e rb i d d e rw i l ll e a d 恤e p r o j e c t t o 黼1 s o 脚a r ea 1 1 a l y s ta 1 1 dd e s i 弘e rh a v en 0r e l i a b l ee 、,i d c n c e st os u p p o r tm e mt o d ot r a d e - o f ra i l a l y s i smm es t a g eo f a n a l y z i n ga 1 1 dd e s i g i g p r o j e c tm a i l a g e r sh a v en or c l i a b l ed a t at od e c i d eh o wl o n gt i i n et o 印e i l da n d h o w m u c he 何m t op a y f o r i i l t l l i sc a s c ,m a n a g e r sc a n n o t m a k es l 】r e t l l a t t l l e p r o j e c ti so nt h es c h e d u l e t h a tm e a i l st l l ep r o j e c tm a n a g e m e n ti so u to fo r d e r f 沁m 廿1 eb e 西i l i l i n go f t h e p r o j e c t i i i t h e r e f o r e ,s o 行w a r ee 行b r te s t i m a t i o nt e c h n o l o g yi sv e r yi m p o r t a n t h 1r e c e n t3 0 y e a r s ,l o t so fm o d e l ss u c ha sc o c o m o ,d e l p h ih a v eb e e nb r o u g h to u ti nm a n y r e s e a r c ha c h i e v e i n e n t s ;h o w e v e rm e s em o d e l s 盯胁ta c c e p t e db ys o f t w a r ee n t 唧r i s e s i na c n l a lp r o j e c t s ,m er e a s o nf o r 血a ti sm a i n l yb e c a u s eo ft l l ec s t i i n 撕o nv e r a c i t y m o s ts o f t w a r ee n t e i p r i s e se i m e rh a v en oi d e ao f s o f t w a r ee s t i m a t i o no ra r cp a s s i v ef o r i t ,m e yn e i t h e rk n o wm eb a s i ce s t i m a t i o nm e t l l o dn o rl n o w 廿l er e a s o n se f f b c t i n g e s t i m a t i o nv e r a c i t ya r em a i n l y 厅o mt l l e m s d v e s t h c r e f o r e ,i no r d e rt oe s s e i l t i a l l yg e t r i do fs u c h 鲫出w a r dc o n d m o nf o re s t i l n a t i o n ,廿l ee s t i i n a t i o nv e r a c i 够m u s tb e i 1 1 1 p m v e dw i ms o f t w a r ec i l t 唧r i s c sp 舡畦c i p a t i n gt h ee s t i i n a t i o na c t i v i 哆t om 茁e a s et 1 1 e u n d e r s t a n d i n go fe s t i m a t i n ga n dm o d e l i n 吕 a tt 1 1 es 锄e t i l e ,、i m s o 矗w a r e d e v e l o p m e n tt e c h n 0 1 0 9 yc h a i l 百n g , s o 丘w a r c c o m p o n e n t i z e d h a sb e c o m e也em a i n _ s 订锄s o f t w a r e d e v e l o p m t t e 曲l i l o l o g y b u tm e r ea r e m a i l ym i s l l l l d e r s t a n d i n g s mc u r r e i l td o m a i n s o f h v a r e ,c o m p o n 钮t i z e dd w d o p m e n t ,s o m e o n em a ym i :k 也a ta sl o n ga sa d o p t i n g t 1 1 ew a yo fc o m p o n e n t b a s e dd c v e l o p m e mi so nt 1 1 ew a yt os o 竹w 瓣c o m p o n e n t i z e d , b u ti ti s 缸b e y o n d 也ef a c t b c c a u s eo fm ei i l i s u n d e r s t a n d i n go fc o m p o n e 吐廿1 eu s e o fc o m p o n e mi 1 1 v e r s e l yi i l c r e a s e s 也ee 任b r to fs o 丘w a r ee n t e r p r i s e s t h e r e f o r e , s o f h v a r e 锄t c r p r i s e sb r i n go u tm en e e do f m e 砸c sf o rc 彻叩o n e m b a s e do ns u c hc o n s i d e r a t i o i l ,t 1 1 i ss t u d yp u 招f o r 、v a r d e 矗b r te s 缸a t i o np r o c e s s 丘锄e w o r kf o rc o m p o n e n t - b a s e ds o f h v 盯es y s t e i n t h e 妇n e w o r kh a s5l e v d s f i r s t l c v e l :t os p e c i 母t h ef a c t o rs e to fe f f b r te s t i m a t i o nf o rc o m p o n 髓t - b a s e ds o f t w a r e s y s t c i i l ;s e c o n dl e v e l :t os p c c 母m cd e t 锄i n a t i v ef a c t o rs e to fe 筋r te s t i m a t i o nf o r c o m p o n e n t b a s e ds o f t w a r es y s t e m ;t h i r dl e v e l :t oc o n 蛐m c tm ee h o r te s t i i n a t i o n m o d e lf o rc o m p o n e n t - b a s e ds o f 时a r es y s t e 工i l ;f o m li e v d :t oc a l i b r a t et l l ee 仃o r t e s 恤n a t i o nm o d e lf o rc o m p o n e n t - b 嬲e ds o 矗w a r es y s t 啪;f i 最h1 e v e l :t 0b e t t e rt l l e e 舶r te s t 曲a t i o nm o d e lf o rc o m p o n e n t - b a s e ds o f t w a r es y s t e mb yg e t 曲gm o r cd a t a i n 也er e s e 砌,al e v e ld e s t i n a t i o na n di t sr c l a t e dm e 吐l o da r ep l a l l e di ne a c hl e v e l _ b yu s i n gb a y e s i a l la n a l y s i s ,m ep 印e rh a sd e 右n e da n dc o n s 劬c t e dt h e e f f b r t e s t i m a t i o nm o d df o rc o m p o n e n t - b a s e ds o f t w a r cs y s t 锄 k e yw o r d s : e 肋r t e s t i n l a t i o n , c o m p o n e n t - b a s e d s o 脚a r e d e v e l 叩m e n t , c o m p o n e l l tt e s t a b i i i 坝b a y e s i a i la n a l y s i s 独创性声明 本人声明所呈楚的论文避我个人夜导师指导下进行的研究工作及取褥的研 究戚莱。签我所知,除了文中特剐加鞋褥注和致谢的堍方外。论文率不包含其稳 久已经发袭或撰写邈豹群究成果,瞧不像窘灸获褥托家王鼗大学袋其它教育瓤耩 的学位或涯书琵壤瘸过懿奉孝辩。与我一弱王捺豹嚣悫对本职宠爱皴豹任露羹麸均 已在论文中搀了明骢的瑷明弗表示了谢意; 签名 捭q; 同期:歹粤弗、冬, 关于论文使用授权的说明 本人宪全了解i 京 :业大学有关保留、使用学位论文的规定,即:学拨有权 保留送交论文的复印件,允y i :论文被查阅和借阅:学校可以公布论文的全龋或部 分内容,可以采用影印、缩印或其他复制手段保桴论文。 ( 保密的论文存解鬻后j ! 藏遵守此舰定) 繇掸一始丝 1 1 软件工程 第1 章绪论 在上个世纪年代,软件伴随着第一台电子计算机的问世诞生了。根据韦氏新 校际辞典( w 曲s t e r sn e wi n t e r c 0 1 1 e 西a t ed i c 6 0 n a r y ) 的现行版本中对软件的定义如 下: 软件:是与系统,特别是计算机系统相关的一整套程序、过程和相关文档的 集合“1 。 信息技术经过半个多世纪的迅速发展,在国民经济各个领域扮演着越来越重 要的角色。随着计算机软件的应用范围和规模的不断扩大,社会生活方方面面对 于计算机技术的依赖也越来越大。据统计仅我国银行系统去年( 2 0 0 5 ) r r 建设 费用高达1 3 0 个亿。1 ,其中的软件费用就占了相当大的比重,可见社会对软件的 需求量也越来越大。而软件生产不同于传统的制造业、无法批量生产,因此软件 生产率远远满足不了不断增长的需求。 软件同传统的工业产品相比,有其独特的特性: ( 1 ) 软件是一种逻辑实体,具有抽象性。这个特点使它与其它工程对象 有着明显的差异。人们可以把软件记录在纸上、内存,磁盘和光盘 上,但却无法看到软件本身的形态,必须通过观察、分析、思考、 判断,才能了解它的功能、性能等特性。 ( 2 )软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同 一内容的副本。所以对软件的质量控制,必须着重在软件开发过程 方面下工夫。 ( 3 )软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期 不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而 进行修改,而这些修改又不可避免地引入错误,导致软件失效率升 高,从而使得软件退化。当修改的成本变得难以接受时,软件就被 抛弃。 ( 4 ) 软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问 ( 4 ) 软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问 越。 ( 5 )软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率上 还存在很多不尽如人意的地方。 ( 6 ) 软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的 复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面。 软件开发常常涉及其它领域的专门知识,这对软件工程师提出了很 高的要求。 ( 7 ) 软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动, 成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。 ( 8 ) 软件工作牵涉到很多社会因素。许多软件的开发和运行涉及机构、 体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的 因素,常常成为软件开发的困难所在,直接影响到项目的成败。 软件生产是个逻辑性很强的智力活动,软件产品质量不像工业产品那样有严 格的标准可以进行检测,任何软件难以保证百分之百正确。软件故障时常出现, 轻则影响使用,重则给用户带来重大损失。1 9 6 8 年北大西洋公约组织的计算机 科学家在联邦德国召开的国际学术会议上第一次提出了“软件危机 “”( s o f t w a r ec r i s i s ) 这个名词。软件危机主要表现可归结为以下两点: ( 1 ) 用户对软件的质量不满意 ( 2 ) 用户对软件生产率不满意 1 9 6 8 年秋季,n a t 0 ( 北约) 的科技委员会召集了近5 0 名流的编程人员、 计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。在此次会议 上第一次提出了软件工程。( s o f t w a r ee n g i n e e r i n g ) 这个概念。到今年( 2 0 0 6 ) , 软件工程整整走过了3 8 年的历程。 在这3 8 年的发展中,人们针对软件危机的表现和原因,经过不断地实践和 总结,越来越认识到:按照工程化的原则和方法组织软件开发工作,是摆脱软件 危机的一个主要出路。 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进 行软件开发和维护的学科。 软件工程包括两方面内容:软件开发技术和软件项目管理。 软件开发技术包括软件开发方法学、软件工具和软件工程环境。 软 譬颂羁管理是为了宝藏软释项基强蠡对璎鏊实麓j 蓬程孛懿疑验,致憝控铡 等因素谶行权衡的活动。这些活动包括软件度量、项目估算、项目计划、人员组 织、磊鬟管理、遴度茬镄等。 统计数据表明,大多数软件开发项目的失败,并不都是由于软件开发技术方 谣的原函而是由于不适警缝管鬓过程造成的。遗憾的蹩,尽管人们对软件项目管 骥重要性的认识肖所提离,但在软件管理方面的进步远比在设计方法学张实现方 法学上的进步小,至今诞提不出一套管理软件开发的通用指导原则。 回蹶敬 牛工程发展魇程,经过4 0 多年工她嬲学本器熬共鄹努力,掰兹豹五 个重要研究方向为。1 :编程方法、形式化方法、计算机辅助软件工程、软件开发 模鍪嘲软件工程遭程。本文豹主要磅究德重予软 睾王程避程领域孛豹软转嚣量, 并提出了构件化软件系统工作鼓估算过程框架。 1 2 软件工程领域的测量 测爨( m e 删n r 锄e n t ) 在作为名次使用的时候是指产品某个属性的范围、数 蹙、大枣等定囊盼指示。溺鳌( m e 8 s 稍) 在佟凳动谣篌嗣酶辩谈是指次确定 的测量行为。 度黛( m e 酾c s ) 是收集多个数据点的结采,迸行番涌性静魔的定量涮量。 1 9 7 0 年h 越s t e a d 提出了软件科学( s o 擐嘲s c i e l l c e ) 的概念,蚀认为任侮一门 科学要成为科举,必须理论联系实际,而软件度擞学正是反映了逸种结合的科学。 b o 穗趣予1 9 7 6 年掇蹬,对软 孛属羧不仅要跫淫蝰戮宠,还必须定爨建碜 交 ”1 , 因此,软件度量学成为软件工程的一个重隳的研究方向。 矗n s ll e e e 黼1 0 6 l 1 9 9 2& a n d 则f 。fas o 妇a f e 铷a l i 每m 艇cm e 斑。酚 中对软件度量学的术语作了明确的定义。同时对软件度量学的目的作了阐述 c a n s 挎2 r 。并蠢给密了一个指静往酶较件质量度量框絮。在j 鳍:标准中,对于软 件质量需求分析的建立、鉴定、实施和度量结暴的分析制定了个方法标准。 s e 枷e 大学的e v e 蹦de m i l i s 指出,过程的有效管理需疆量化、度量和模型化, 软 孛度爨学提供了软件开发过稳模型的发震移确立豹慕獭,度量霹戳爆来提毫软 件生产率和质量“”。 软件度量是解决软件项目中很多问题的有效手段,可以从多个层次上满足企 业的需隳:第一,为管理囊提供制定决策的量化依据,使管理者可以更好的计划、 控制秘簸整顼曩。警理入炭关注以下测量内餐; ( 1 ) 每个过程簧耗费静成本是多乡? 主要对稳成软件生产浆备个过程掰需 的时间和工作爨进行度量。 ( 2 ) 所有成员的生产力如何? 根据规格说明、设计文档、代码和测量计划 的规模的各个度蕊,确定每个成员程每项活动中表现出的生产力。 ( 3 ) 趸在舞发夔戴璐鹣矮羹蘩舞? 菝逶:蓬在发生错误,敬障戆露侯箨缨 地作好记录,不但有助于软件质量的测量,同时有助予开发过程的持 续改进。 ( 4 ) 用户对产品是否念满意? 可以通过确定“提出的所有需求是否都真正 零戮了正确静实瑗”来对功能性遴行溅鐾;也霹彗圭逶避测量霹使露性、 可靠往、璃藏辩闻和其他特性,采液鲷客户是否对功黥经需求帮往能 需求表示满意。 ( 5 ) 如何进行改进? 可以测量花费在每个主要开发活动上的时间,并根据 各个阶段所仔细纪录下来的数据,研究对质量和生产举的影响并提出 竣遂意冤。 第二,为系统工程师掇供可靠的支撑数据。在开发过程中所涉及的测量有: ( 1 ) 需求是否可测试? 为了保证整个开发过程的可测试性,骚求需求具有 定量的,可观测的测量。如:需求掩出系统必须是可靠的,贝4 要求明 礁著定量豹撵爨可霉熬度量指标怒侍么( 平逡无失效运行葭疑必矮大 于1 5 个e p u 辩闯等) 。 ( 2 ) 是否发现了所有的故障? 众所周知,通过测试也无法保证发现系统当 中的所有故障。但我们可以测量在规格说明、设计文档、代码和测试 计划中发现的故障数,并查出产生箴障的根本原因;并蹙鬣的提出测 试静覆盖率楚多少。 ( 3 ) 是否实现了产鼎和过程目标? 可以通过对产品和过程特饿进行测量, 来判断是否已经达到了标准、满足了需求、实现了过程目标。 第三,对于软件企业,度量数据可以帮助他们确定整个组织的开发效率,识 爨组织潜在兹弱蘧,荛缝织爨过程茂逶提揆纂萎塞鼗据。 综上所述,测量对三种基本活动来说是非常重要的。 蓠建,测量霄助于了解在开发翻维护过程中繇发生豹情况。可敬将过稳移产 品的各个方面曼窟观地呈现在人们丽前。 其次,测量霄助于对项目所发生的情况进行控制。通过测量所获得的数据可 良帮助项目涉众对过程的变更进行控制。 此外,测量宥助于我们进行过程和产品改进。 软件度量( m e 矗e s ) 这一术语蕊琶含的滔渤有很多,这些活动都会程度不等 地涉及到软件测量问题: 成本窝王器量凭诗 生产率度量和模型 数莛羧祭 质量模烈和度量 可靠性模型 性能评估和模醚 结构和炭杂性度纛 能力成熟度评估 通过度嫩实现管理 方法帮工兵评倍 软件成本做舆的含义为在软件产品开发之前对其工作量和时间花费做出经 验数嵇诗。 软件成本估算技术具肖其重要性,这是因为它为好的软件管联提供了必要的 基磋。没有合蘧嚣准确戆袋本绩算黢力,软传颂目经常会邈型如下翅蘧: 软件项闰人员没有可靠的依据来告诉经理、客户或销售人员,他们所提 出豹预簿与进度是不现实豹。这会导致对内部软仔开发傲如过分乐观的 许诺,在竞争憔的软件合同投标中魔报低价,最终导致趱出限度和性能 上的损害。 软件分析员没有可靠的依据,在分辨设计阶段做出现实的权衡分耩。 项目经邂没有可靠的依据,来决定每个软件阶段和活动成该花多长时问 和多大的工作量,这使经理无法确定软件是谮按照计划的进度在谶行。这意味着 软件开发从一开始就处于一种失控的状态。 在软传开发过程中,生产率一直是开发卷鼹关心翡主要茂繇。蹬l 。l 瓢举的 曼霹熊会对总落生产攀产生影响兹一些元素。 匿1 1 生产率楼激 摹镱珏聪王,王p 糟魏c 糕v 堇移懿l 从图1 1 可以看出,辙产率1 是价值和成本的两数,丽价值靼成本又可以分 解为可测量表示的其他几个部分。 从图1 1 中可知,不能孤立地看待生产率闯题。如果不对产晶的质量进行相 应款谤髂,谈款 孛生产率瓣滚无意义。图1 2 掰示为一个采震撼状形式穗造斡质 量揆羹。 使用 因素准则 度量 图1 2 软件质量模型 f i 9 1 l m l 2s o f t w a r eq u a h t ym o d d 数据收集是任何测量的基础工作。数据的收集是一项说起来容易做起来非常 难的工作。在企业内部收集数据会相对容易一些,但在实现跨项目,甚至跨企业 数据的收集时,由于很多其他因素的影响( 如工作量的增加、数据是核心信息无 法共享等等) 会阻碍重重。在本研究中,所使用的数据采集方式是作者自己收集 的构件可测试性方面的数据与经验数据i s b s g 和c s b s g 数据相结合的方式进行 的。 综上所述,测量正在发展成为软件项目管理的重要内容。客户和开发人员都 根据由测量得来的图表来判断项目是否在正确的轨道上行驶。在2 0 世纪8 0 年代 美国卡耐基梅隆大学软件工程研究所( c m u s e i ) 率先提出了能力成熟度模型 ( c m m ) 来对美国政府开发高质量软件的承包商的能力进行度量。这个模型能 够对开发中名目繁多的过程属性进行评估。测量在软件工程领域的应用已经成为 一个重要的组成部分,为软件过程持续改进,软件质量提高提供可靠保证。 1 3 软件估算基础 。3 。1 较传信算的基本概念 农软件项目估算活动过程中,一些软件从娩人员往往会说,“软件项甚估算 有什么用? 我们估算的时假可能有4 5 6 个功能点,可到交付的时候却有6 0 0 多 个”。蒋经有工程师形象的将估算给出如下定义“。: 西矗磁珏捃= c + 掰) x s ( 1 。1 ) 其中:c ;c o n j e c t u r e 推测 h = h y p o t h e s i s 假设 s s u p p o s i t i o n 假定 飘这个定义霉菠番懑瓣蔻豹软箨绩冀多数怒鏊予搀溺窝经验著乏避霉亍翡,这也 是茸前软件系统估算的常爝手段。但一个有价值的估算应具有如下特点: ( 1 ) 估算是正确的; ( 2 ) 估算是可重用的; ( 3 ) 售算过程哥文爨键; ( 4 ) 结算过程其窝鞠应的工具支持。 程宓际的估算过程中可以借鉴一些实用的经验观点或者行为准则来帮助减 少估计的错误。如: ( 1 ) 绩算时闻越早,镳麓越大; ( 2 ) 任蠢一个信算都瓣没有信诗好; ( 3 ) 估计文档化做襻越好,估计的结果越好: ( 4 ) 用户估算的资料数据越多,估算的结果越好: ( 5 ) 有关估算的对象的信息越准确,估算麟越可能准确; 6 ) 臻篓戆黠象蕞黪楚魄较参量耪怼怒猿交豹; ( 7 ) 在估算过程中,大部分沟通上的茵嚣经,庄会被忽略: ( 8 ) 实事求是的估算人员越多,估算的结果越客观。 一般来讲,一个软件成本的估算过程由以下构件组成,如图1 3 所示 图1 3 软件项目成本估算过程 f i g u r e l 3s o f t w a r ep r o j e c tc o s te s t i m a t i o np r o c s s 其中3 : ( 1 ) 软件项目范畴的估算:指定义软件项目边界的过程。软件项目范围估 算是整个估算过程的基础和根本。 ( 2 ) 软件规模的估算:软件项目规模的估算包括软件程序部分的估算和非 程序部分的估算。 程序部分估算指的是所构建的应用程序规模大小的估算过程 非程序部分估算指的是非应用程序的交付工件的估算过程:非应用 程序的交付工件包括需求文档,培训文档等。 ( 3 ) 成本估算:软件成本估算包括工作量成本、人力资源成本、开发进度 的估算。 工作量估算:在对软件项目范畴达成一致的前提下对工作量的估算 过程。工作量的估算通常以人月( p e r s o nm o r l m s ) 或工作小时( w o r k h o u r s ) 来进行测量。“。在本研究中所采用的计量方式为“工作 小时”。 人力资源的估算:在对软件项目范畴达成一致的前提下对所需人力 资源的估算过程。 开发进度的估算:在对软件项目范畴达成一致的前提下对所需的开 发进度进行估算的过程。 人力与非人力成本的估算:在对软件项目范畴达成一致的前提下, 完成人力成本和非人力成本的估算。 本论文的研究重点定位于估算过程中工作量的估算,并提出了构件化软件系 统工作量估算过程框架。 1 3 2 估算技术的分类 大部分软件工程人员使用下列四种技术之一进行软件系统的估算。 图1 4 工作量估算技术的分类 f i g i l n l 4 聊eo f e 舶r te g t i m a t i o nt e c h i q u 蜉 专家意见法利用经验丰富开发人员的工作经验。为了使用这个技术,开 发人员或项目经理描述所承担的项目参数,专家基于他们过去的经验进 行预测。在事实上,专家也可能会结合工具,或模型的使用来生成估算 值,但是这些技术对于咨询者来讲是不可见的。同样的,估算的有效性 和准确性完全依赖于专家的经验和他们的水平。 类推分析法是一种形式化、相对于专家意见透明度更高的方法。通常, 当估算项目和以前的项目在某些方面相同,在某些方面不同的情况下, 估算人员将所提议的项目同过去的一个或几个相似项目进行比较,确定 存在相似和差异的地方,分析差异并利用差异调整实际的工作量。这种 技术强制估算人员根据项目的关键特性描述项目,以便可以展示工作量 的潜在模型。类推分析法较专家意见法优越地方还在于比较分析过程通 常都被归档,可以用来做后续的估算以及研究估算差异原因的依据。 分解法还要更形式化,因为它包含了对影响项目工作量的特性进行全面 瓣分辑。这耱分棱主要集中在要交纣瓣产瑟或掇遥较箨滋震夔珏务上e 针对要交付的产品,软件怒按照最小构件来描述的,然后估计生产每个 魏 牛所麓熬工俘爨;如果针避构造软传的任务,则将活动分嬷力较低层 的任务,估计每个层次的工作量。对于简单的顶目,总的工作量估簿值 就是低滕的估算俊相加;但是对于较为复杂的项目,可能存在复杂的合 成规刚,需要考虑各部分之间的交互作用,从而影响估算的准确秣。 工作量的建模法就是确定影响工作量的主要因索,生成这些因素与工作 量稻关翡数学公式。瓶模遥常是对工作量起决定作焉豹主簧因素,健是 很多模型还包含其他的输入变量,例如开发人员的经验、实现的谮富、 重焉静程凄等等。 1 。3 3 软件估募磁究豹发展 对于软件系统的一个熬本的估冀活动是对项目规模的估算,因此规模数据的 获褥楚软终系统莛毽溅量遭程懿基磷之一。 目前,国际上已有许多软件规模估算方法,如l a c eh p u 廿l a m 提出的 s l i m 模型5 ,b a s 疆模型,凌糍点( f 黼出。珏p o i n t ) f 2 l h 蚓、特征点( f e 雄勰p o 瓤) 、 对象点( o b j e c tp o i t ) 、德尔菲( d e l p h i ) 、模糊逻辑( f l l z z yl o 西c ) 、标准构件 法( s t 则a mc o m d o n c n t ) 、c o c o m o n 嘲镣。这些方法随着各国研究者的不 断研究细化又祷许多具体的方法产生,如瞬际功靛点用户协会( i f p u a 一骶l e h l t c m a t i o n a lf l h l 烈i o np o i n tu s e rg r o u p ) 提出的c o m i c f t p 方法,m a r k i i f p 3 ”方 法等等,这些方法帮属于a 艳r e e 醢功能点( f 黼c t i o np o i n t ) 方法渊”躲避步 发展和演化。到目前为止较为成功的项目规模度量方法和工具如袋1 1 所示。 裘l 。l 帮努软掌 爱量方法及箕支持誊蒸 i h b l e l 1s o f t 啊a l 聱n l e a s u r e m 肥n tm e t l l o da n dt o o i s 方法支持豹工其 数据点( d a t ap o i n t s ) p c c a l c s o f c a l c 对象点( 鼬瞅p o 撼t s ) s o 壬 c a l c 特征点( f e a t l l l ep o i n t s ) c h e c k p o i n t k n o w l o d g e p l a i l 拱p u g e h e d 警o n t 舾o w l e d 毖e p l 鼢, p c c a l c ,i s b s g - v b n t 嘶, f u n c t i o np o i r i t s ,o r | 出e n c h m a 蠢i i f 瓢m ki if u n c t 主o np o i n t sa n 越y z e f f f p v l 掰e r a d l y m a s t 露鞭毽擎p c a n a l y z e r h i e r a c h y m a s t e rf f p ( s u p p o r tf o rf f p v 2 f f p v 2 i n d e v c l o p m e n t ) 几乎所有上述的估舞模型郝在实际的顶疆疆发中得到了一定憋应用。其中, b o 穗擞在1 9 鲻年发表豹e o c o m o i i 模蚕 凌突黢中 吝篓静软俘开发成本与实际 成本栩菠不到2 0 ,进度误差不到4 6 ,已经成为世界土使用锻广泛、估算较 为准确的模型之一。 肖然软件规模估计方法如上面提到的球p u g 、m ki lf p a 、n e s m a 和 e o s m i c f f p 方法已经被黧际标准位组织 l s 0 ) 缡入嚣甄蠡难。与藏霜薅镶多懿 软辞德算研究枫构也籀臌产生,如软件度爨共嗣协会c o s m i c f 趣ec o n 瑚o n s o 黼a r em e m c sc o n s o n i u i n ) 是由澳大利亚、加拿大、芬兰、爱尔兰、意大利、 日本、荷兰和英国的软件度磨专家于1 9 9 8 年底自愿组成的。根据网际度量标准, 国际上已有嫠分软传产菇德舞公司,专门扶攀较传徐格及工作量的旗箕,软件规 攘整黪弱样是德翻工 筝黪藻磷。 髓潜面向对象、构件黛用以及极限编程镣新的软件开发方法出现,不断有学 者提出新的软件规模估辣方法,如构件点( c o n s 仃u c t i o np o i n t ) 、预测对象点 ( p r 。d i 砸v eo b i e c tp o i n t s ) 蒋方法。 凌狻鏊,尽管较箨工秣耀餐已经谈谖篓了旋改遗遘程孛,较穆灞萋莛到了决 定的佟用。但是,在软件工程领域,测量过程仍然被看作是奢侈黼。比如,在大 多数开发项目中: 1 没有为软件产品设定测量的目标。例如,虽然我们对产品做蹴了“用户友 努黪、可靠匏、霹维护懿”承诺,键是却没帮瀵楚、客观速说甓箕爨体含义。其 结巢楚,在顼磊静枝蓬阶蔽,往往不链翔断囊已是否实现了预定豹露标。 2 不了解软件项目的构件成本,不能对典嫩化。例如,很多项弱都不能分清 设计成本、编码成本和测试成本。因为项目超支往往会遭到客户的抱怨。所以, 不能测- 艇出成本的摆关缀成,因此不可能对成本进行控制。 3 没有对自己生产的产品的质量进行量化和预测。由此而来的问题是,我们 不能就下述问题给潜在用户一个满意的答案:产品的可靠性到底如何? 将产品移 植到另外一种机器环境,需要多大的工作量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合应用之串讲词开场白结束语(解析版)-2026年中考语文一轮复习(湖南)
- 浙教版九年级数学上册 第1-3章检测试卷(期中)含解析
- 雨课堂学堂在线学堂云《国防科技工业管理(北理 )》单元测试考核答案
- 小学六年级收心班会课件
- 2025年男病人导尿术操作考试试题及答案(50道单选题)
- 2024北京十一学校顺义学校高三(上)开学考化学试题及答案
- 园林行业发展趋势及前景分析报告
- 客户投诉分析根本原因与改进措施
- 房地产市场营销策略与客户关系维护
- 幼儿英语启蒙教育教学方法及面试要点
- 新型职业农民培育手册
- 数学思维训练(三年级全册)
- 液化气体气瓶充装规定 第2部分燃气气瓶 征求意见稿
- 2025年四川医疗卫生事业单位《卫生公共基础知识》考试真题及答案
- AI语音对话公仔创新创业项目商业计划书
- 装配式建筑汇报
- 钓鱼考试题库及答案
- DB36∕T 1968-2024 公路路基工程利用锂渣技术规范(试行)
- 军品应急采购管理办法
- 保安安全检查记录表范本
- 慈善会救助管理制度
评论
0/150
提交评论