




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东师范大学硕士学位论文 摘要 信息系统评估是在信息系统开发、实施完成并已推广应用的情况下,对信息系 统建设过程、应用效果及未来适应能力进行综合评估的过程和行为。 目前对于信息系统的评价已经形成了大量的评价体系和评价方法,但是由于信息 化工作的特殊性,这些体系和方法在综合评价企业信息化工程时,都存在很多的逻辑 问题。这些问题的存在,降低了这些评价方法的可信度,对企业信息化工作的改进只 能起到有限的作用。 软件的量化工作是对信息系统产品进行合理评价和管理的前提,是所有软件企 业目前面临并需要首先解决的问题。软件规模作为软件项目可量化的结果,是项目 估算的重要参数和企业决策的重要依据。因此在软件项目需求阶段,就需要度量软 件规模,并在软件开发过程中进行度量以收集相关数据。在现有的规模度量方法中, 功能点方法能够用于需求分析阶段,并形成了以i f p u gf p a 方法、m a r ki i 方法及 c o s m i c 方法为代表的多种标准。 c o s m i c 方法是新一代的功能点规模度量方法,通过确定用户功能需求,允许 度量者从用户的角度来度量软件。虽然目前软件度量的方法多种多样,但这些度量 方法或者模型许多还都是停留在理论上,甚至有些无法适应软件新技术发展的要求。 虽然也出现了一些度量方面的软件工具,但使用不够灵活、无法适应软件企业的实 际情况,难于在软件项目的实施过程中得到广泛应用。 本文针对目前我国软件产业的现实状况和对软件度量实用方法和工具的迫切需 要,有针对性的对软件度量模型进行了研究和分析。通过对现有软件规模度量方法 及模型的对比研究,发现已有模型的不足之处和需要完善的内容,并对发现的问题 进行探索性的研究,制订出适用于我国软件企业的数据采集规则,并在此基础上提 出改进的可操作的软件项目规模度量模型。改进后的模型大大改善了原模型复杂的 缺点,降低了理解和使用难度,也大大降低了规模评估给项目带来的工作量:与此 同时,由于改进后的模型针对大量的中国中小企业本地项目历史数据进行了优化, 使得评估的准确度较原模型也有了一定提高。 通过对改进后模型的验证,证明改进的规模评估模型达到了预期目标,改进后 的模型,为中国为数众多的中小企业提供了一个易用而且准确的软件规模度量方案, 有助于改变中小软件企业在软件项目管理和规划时候完全凭借经验猜测的被动局 面,对广大中国中小企业改进软件项目管理,提高企业效益有着广泛的应用价值。 关键词:信息系统;评价体系;软件度量;软件规模度量 中图分类号:t p 3 9 3 山东师范大学硕士学位论文 a b s t r a c t i n f o r m a t i o ns y s t e ma p p r a i s e di sap r o c e s sa n dap r o d u c tt oa p p r a i s et h ei n f o r m a t i o n s y s t e mb u l i d i n gp r o c e s s ,a p p l y i n ge f f e c ta n df u t u r ea c c l i m a t i z a t i o n ,u n d e rt h es i t u a t i o n t h a tt h ei n f o r m a t i o n s y s t e mh a s b e e n d e v e l o p e d ,p u t i n t o f a c ta n da p p l i e da n d d i s s e m i n a t e d b e c a u s eo ft h es p e c i a l i t yo fi n f o r m a t i o nw o r k s ,t h o u g hal a r g ea m o u n to fa p p r a i s i n g s y s t e ma n da p p r a i s i n gm e t h o dh a v eb e e nf o r m e d ,t h e s es y s t e ma n d m e t h o d sh a v eal o to f l o g i c sp r o b l e m sw h e nu s e dt h e mt os y n t h e t i c a l l ye s t i m a tb u s i n e s si n f o r m a t i o np r o j e c t t h e s ee x i s t i n gp r o b le m sr e d u c ed e p e n d e n c eo ft h e s ee v a l u a t i o nm e t h o da n dt h ep l a y r o l e sa r el i m i t e dt o i m p r o v e m e n te n t e r p r i s ei n f o r m a t i o nw o r k i n g t h es o f t w a r eq u a n t i z a t i o nj o bi sap r e r e q u i s i t ef o re s t i m a t i n ga n dr a t i o n a l l y m a n a g i n gt h es o f t w a r ep r o d u c t ,a n di s t h a ta t p r e s e n t ,a l l s o f t w a r ee n t e r p r i s ei s c o n f r o n t e dw i t ha n dn e e d st h ep r o b l e ms o l v i n gf i r s t s o f t w a r es c a l ea st h eq u a n t i z a t i o n r e s u l to ft h es o f t w a r ep r o je c t ,i s i m p o r t a n tp a r a m e t e ro fe s t i m a t i n gap r o je c ta n d i m p o r t a n te n t e r p r i s ed e c i s i o n - m a k i n gb a s i s s os o f t w a r es c a l ee s t i m a t i n gi sn e e d e di nt h e n e e ds t a g ei ns o f t w a r ep r o j e c t c a r r yo u tt h es o f t w a r es c a l et oc o l l e c tt h er e l e v a n t d a t ai nt h ep r o c e s so fs o f t w a r ed e v e l o p m e n t e dp e r i o d i nt h ea v a i l a b l em o t h o d so fs c a l e e s t i m a t e dn o w ,t h ef u n c t i o np o i n tm e t h o dc a nb ea b l et ob eu s e di nn e e da n a l y s i ss t a g e , h a sf o r m e da n dt h ev a r i o u ss t a n d a r dt a k i n gi f p u gf p am e t h o d ,m a r k l im e t h o da n d c o s m i cm e t h o da sr e p r e s e n t a t i v e c o s m i cm e t h o di sn e wg e n e r a t i o no fs c a l e e s t i m a t e dm e t h o do ff u n c t i o np i o n t ,w h i c ha l l o wm a g n a n i m i t yp e r s o nt oc o m et ot h e m a g n a n i m i t ys o f t w a r ef r o mc o n s u m e r sa n g l e ,b ya s c e r t a i n i n gt h ec o n s u m e rf u n c t i o n n e e d t h o u g ht h e r ea r ev a r i e sm o t h o d so fs o f t w a r ee s t i m a t e d ,t h e s ee s t i m a t e dm e t h o do r m o d e li sl a r g e l ys t a y i n go nt h et h e o r ys t a g ea n dal o to fs o m eh a v en ow a yt oa d a p tt ot h e c a l lf o rt h a ts o f t w a r en e wt e c h n i q u ed e v e l o p s ,e v e n b e c a u s eo ft h er e a l i t yt h a ts o m e s o f t w a r et o o l so fe s t i m a t i n ga s p e c tb e e np u ti n t ou s ed on o tn i m b l ee n o u g ha n dc a l ln o t a d a p tt or e a lc o n d i t i o no fs o f t w a r ee n t e r p r i s e ,s o m es o f t w a r et o o l so fe s t i m a t e da s p e c t s c a nn o tb ee x t e n s i v e l yu s e di nt h ec a r r y i n go u tp r o c e s so fs o f t w a r ep r o j e c t i nt h i sp a p e r ,t a r g e t e da tc h i n a ss o f t w a r ei n d u s t r yr e a l i t ya n dt h eu r g e n tn e e df o r p r a c t i c a ls o f t w a r em e a s u r e m e n tm e t h o d s a n dt o o l s ,t a r g e t e dr e s e a r c ha n da n a l y so ft h e m e a s u r e m e n tm o d e lo ft h es o f t w a r ea n dr e s e a r c ha n da n a l y s i sc a r r i e do u tb yt h ee x i s t i n g s o f t w a r ea n ds c a l em o d e lm e a s u r e m e n to fc o m p a r a t i v es t u d ya n df o u n dt h a th a sb e e nt h e i n a d e q u a c yo ft h em o d e la n dt h en e e dt oi m p r o v et h ec o n t e n to ft h eq u e s t i o n sf o u n di n t h ee x p l o r a t o r ys t u d ya n dd r a wu pt h ea p p l i c a t i o no fs o f t w a r ee n t e r p r i s e si no u rc o u n t r y t h er u l e so fd a t ac o l l e c t i o n ,a n do nt h i sb a s i st oi m p r o v et h eo p e r a t i o n a ls c a l es o f t w a r e 3 山东师范大学硕士学位论文 p r o j e c t sm e t r i cm o d e l t h ei m p r o v e dm o d e lh a sg r e a t l yi m p r o v e dt h ec o m p l e x i t yo ft h e s h o r t c o m i n g so f t h eo r i g i n a lm o d e l ,r e d u c i n gt h ed i f f i c u l t yo fu n d e r s t a n d i n ga n du s e ,b u t a l s og r e a t l yr e d u c et h es c a l et oa s s e s st h ew o r k l o a db r o u g h ta b o u tb yt h ep r o je c t ;a tt h e s a m et i m e ,b e c a u s eo ft h ei m p r o v e dm o d e lf o rm a n yc h i n e s es m a l la n dm e d i u m - s i z e d l o c a li t e m so fh i s t o r i c a ld a t ai so p t i m i z e d ,m a k i n ga s s e s s m e n to ft h ea c c u r a c yi sb e t t e r t h a nt h eo r i g i n a lm o d e lm u s ta l s oi m p r o v e t h ei m p r o v e dm o d e lo fv e r i f i c a t i o nt op r o v et h a tt h es c a l eo fa s s e s s m e n tm o d e l st o i m p r o v et oa c h i e v et h ed e s i r e dg o a l ,t h ei m p r o v e dm o d e l ,al a r g en u m b e ro f s m a l la n d m e d i u me n t e r p r i s e si nc h i n ap r o v i d e sa ne a s y t o u s es o f t w a r ea n da c c u r a t em e a s u r e m e n t s c a l ep r o g r a mt oh e l ps m a l la n dm e d i u m s i z e ds o f t w a r ec h a n g ee n t e r p r i s e s i nt h e s o f t w a r ep r o je c tm a n a g e m e n ta n dp l a n n i n gt i m et oc o m p l e t et h ee x p e r i e n c ew i t ht h e p a s s i v es i t u a t i o no fs p e c u l a t i o nf o rt h eg e n e r a li m p r o v e m e n to fc h i n e s es m a l l a n d m e d i u m s i z e ds o f t w a r ep r o je c tm a n a g e m e n t ,i m p r o v ee n t e r p r i s ee f f i c i e n c yh a sab r o a d a p p l i c a t i o nv a l u e k e yw o r d s :i n f o r m a t i o ns y s t e m ;e v a l u a t i o ns y s t e m ;s o f t w a r ee v a l u a t i o n ;s o f t w a r es c a l e e v a l u a t i o n ; c l a s s i f i c a t i o n :t p 3 9 3 4 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经发表或撰写过 的研究成果,也不包含为获得( 注:如没有其它需要特别声明的,本栏可空) 或其它教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:导师签字: 学位论文版权使用授权书 ? 弓铲回 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并向国家有关 部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权学校可以将学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文。( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 象牺幻 导师签字: 专和 签字日期:2 0 07 年万月j 牙同签字日期:2 0 0 9年岁月,妒日 山东师范大学硕士学位论文 1 1 引言 第一章绪论 在我国,信息化的发展到目前为止已有2 0 多年的历史了,信息化的建设取得了 长足的进步,但相对而言,信息化工程评价体系的发展历程却比较短暂。目前已有 的信息系统评估体系,由于缺乏可操作性、针对性和理论性等原因,使得企业常常 感到无从下手。大多数的企业已经不再为上不上信息系统而犹豫,而是苦于无法准 确地对自身做一个了解:我的信息系统目前状况如何? 它能否满足我的需求? 根据s t a n d i s h 组织在2 0 0 4 年公布的“c h a o s ”报告显示,在该组织统计的5 0 0 0 0 多个项目中,只有2 9 是“成功的( s u c c e e d e d ) ,即能在预算和限期内完成:1 8 是“失 败的( f a i l e d ) ”,即未能完成或者取消的:其余5 3 被称为“被质疑的( c h a l l e n g e d ) , 即虽然完成但平均预算超支8 9 。虽然有些研究认为,c h a o s 报告中关于预算超支 8 9 数据是被夸大的,实际情况应该平均在3 0 - 4 0 。但有一点却能取得共识:人们 经常对软件估算不足。由此可见软件的质量问题也日益成为人们关注的焦点,随着 软件规模的日益庞大,软件的质量也越来越难以控制与管理,成为长期以来困扰着 软件生产的主要问题。因此,我们需要对项目采取有效的管理措施。 b o e m h 于1 9 7 6 年提出,对软件属性不能仅有定性的研究,还必须有定量的研 究,软件度量学正是顺应这种趋势而产生的,其目的是用软件度量的方法来科学地 评价信息系统质量,更有力地对软件开发过程进行控制和管理,合理地组织和分配 资源,制定切实可行的软件开发计划,以低成本获得高质量软件。而软件规模度量 是软件项目策划的基础,可以根据规模估计工作量与成本心3 ,度量项目的开发效率、 缺陷密度、项目的进展等,在估计规模的过程中,还可以加深对需求的理解,起到 对需求进行验证的作用,因此软件规模度量一直是软件工程界研究的重点课题。同 时要准确高效的进行规模度量使用度量方法进行度量和建模是十分必要的。 在规模度量中,比较具有代表性的度量方案是代码行和功能点。代码行估算方 法需要专家根据自己的经验,类比历史上已经完成的项目,估算当前项目的规模, 同一个软件采用不同的开发语言与平台,估算出的代码行是不相同的。在估算时需 要定义代码行的计算规则,即空行、注释行、机器自动生成的代码行等是否是考虑 在内。1 9 7 7 年,i b m 公司的a l l a n a l b r e c h t 开发了功能点分析法,该方法以软件的 需求作为主要输入,不考虑具体的开发语言与平台,根据功能点度量方法的原则与 具体规则进行功能点的估算,估算结果可以与其他项目组的规模进行横向比较,而 不受技术平台的限制,用来解决某些规模度量方法( 如代码行度量) 存在的问题【3 】。 总的来说,功能点度量方法的目的是独立于软件的实现,从用户的观点出发来度量 软件功能,自从该方法首次发布( a l b r e c h t ,1 9 7 9 ) 以来,a l b r e c h t 的功能点分析方法经 历了许多扩充和引申。相比而言,功能点度量方法比代码行度量方法更加客观。 山东师范大学硕士学位论文 1 2 国内外研究现状 软件项目的开发和实施一直在经受费用超支、生产率低下以及质量不高等问题 的困扰,软件开发经常处于失控状态,其中一个很重要的原因就在于软件项目没有 进行合理和有效的度量h 6 制。 国内外的计算机界已经在软件度量的模型和技术上进行了大量的研究和实践, 取得了阶段性的成果。但是在软件项目的具体实施过程中,仍然存在着许多难以解 决的问题,例如:软件度量的模型需要技术调整因子,这些定性的因素在转化为定 量的数据时,往往会受到分析人员自身能力的影响,主观随意性较大,造成了系数 的随机性和估算失真,影响了评估的真实性和合理性。 另外,软件度量的结果依赖于企业的自身能力。由于每个企业和组织在技术、 管理、能力等方面都具有差异,软件度量的数据需要企业自身历史数据的支持,只 有依赖于企业自身的项目历史数据,度量的结果才能符合企业的实际需要,也才能 达到度量的意义和目的。同时在项目的度量和实施过程中,对于度量结果可以加以 对照,找出本企业所存在的问题,并提供进一步改进的依据和方向。同时,受技术 和自身条件的限制,软件度量活动并非一蹴而就。软件度量的实际活动中,需要进 行不断的调整,以不断修正度量的结果,使之符合项目组织的实际能力,建立符合 企业实际能力的度量因子参数,从而使度量活动真正对企业起到有效、准确的管理 目的。 软件产业最初的度量实践来自对软件规模的估算,并形成了很多种方法。其中 功能点分析法( f p a ) 是在2 0 世纪7 0 年代中期,i b m 委托a l l a na l b r e c h t 工程师和他 的一些同事为解决l o c 度量所产生的问题和局限性而研究发布的,随后被国际功能 点用户协会( i f p u g :t h ei n t e r n a t i o n a lf u n c t i o np o i n tu s e r sg r o u p ) 提出的i f p u g 方法 继承,在国际软件行业范围得到推崇和一致接受,并从单纯的规模估算发展到倾向 于软件工程整个生命周期中的应用。 软件规模功能点分析评估方法的演变历程: 1 ) 1 9 7 7 年,i b m 公司的a l l a na l b r e c h t 开发了功能点分析法,用来解决某些规 模度量方法( 如代码行度量) 存在的问题。其目的是独立于软件的实现,从用户的 观点出发来度量软件功能。自从该方法首次发布( a l b r e c h t ,1 9 7 9 ) 以来,a l b r e c h t 的功 能点分析方法经历了许多扩充和引申。 2 ) l9 8 4 年,国际功能点用户组( i n t e r n a t i o n a lf u n c t i o np o i n tu s e r 。sg r o u p ,i f p u g ) 成立,对a l b r e c h t 的f p a 方法进行维护。从那时起,i f p u g 出版手册来提供功能点 分析的标准规则。i f p u g 还对a l b r e c h t 最初的方法不断进行补充和完善,目前应用 较广泛的版本是4 o 版( i f p u g ,1 9 9 4 ) 和4 1 版( i f p u g ,1 9 9 9 ) 。国际功能点用户协 会提出的i f p u g 功能点分析方法相应的国际编号是i s o i e c2 0 9 2 6 :2 0 0 3 。 3 ) 荷兰软件度量协会( n e t h e r l a n d ss o f t w a r em e t r i c sa s s o c i a t i o n ,n e s m a , 6 山东师范大学硕士学位论文 w w w n e s m a u 1 ) 提出的荷兰软件功能点度量分析方法,相应的国际标准标号是 i s o i e c2 4 5 7 0 :2 0 0 5 。 4 ) s y m o n s 对a l b r e c h t 的f p a 方法进行了引申和修改( s y m o n s ,1 9 8 8 ) ,发布了 m a r ki i 功能点分析方法。现在英国度量协会( u k s m a ) 负责对m a r ki if p a 进行维护, 最新版本是1 3 1 版( u k s m a ,1 9 9 8 ) 。英国软件度量协会( u ks o f t w a r em e t r i c s a s s o c i a t i o n ,u k s m a ) 提出的m a r ki i 功能点分析方法相应的国际标准编号是 i s o i e c2 0 9 6 8 :2 0 0 2 。 5 ) 1 9 9 7 年,s t p i e r r e 等人( s t p i e r r e 等,1 9 9 7 ) 提出了全功能点( f f p ) 方法,对 i f p u g 标准进行了扩充,以使功能点分析方法适用于实时软件。通用软件度量国际 联盟( c o m m o ns o f t w a r em e a s u r e m e n ti n t e r n a t i o n a lc o n s o r t i u m ,c o s m i c ) 出版了f f p 方法的2 0 版本( c o s m i c ,1 9 9 9 ) 。通用软件度量国际协会提出的全功能点分析方法 相应的国际标准编号是i s o i e c1 9 7 6 1 :2 0 0 3 。 对于i f p u g ,n e s m a 以及m a r ki i 等第一代功能点度量方法,经过业界长期、 深入的使用及研究,已经总结出了很多适用的规则,并提供了大量参考数据以及成 型的工具。而对于c o s m i c 这样的第二代方法,业界还在进行研究及改进,相应的 辅助工具也很少。 1 3 研究内容及主要工作 主要工作如下: 首先收集目前流行的软件规模度量方法,并进行对比研究。重点论述了功能 点方法的历史、传统的功能点方法,并将它们与c o s m i c 方法进行了对比,同时深 入研究了c o s m i c 方法。 在实际应用中,将u m l 的概念引入到c o s m i c 方法中,使c o s m i c 更加方 便的对业务应用领域的软件进行规模度量。 针对软件组织对软件过程不断改进的需求,对软件系统或其中某部分规模的 描述和质量控制系统中的其它元素结合起来,对软件规模进行统计,为过程改进、 资源配置和人员管理等提供有力支持。 度量模型的研究及建立,针对软件度量模型的研究,研究包括c o c o m o 、 i f p u g 、a l b r e c h t 、m a r ki i 、l o c 等不同度量方法和模型的使用领域和各自的优势, 将影响软件开发的各种因素有机的结合起来,最终形成引入u m l 概念的c o s m i c 模型。 根据历史数据自动进行度量结果的调优,收集软件项目实际的规模和成本案 例,用于模型研究的实现。通过分析各类软件项目和产品的历史开发数据,建立不 同模型分析的动态因子建议值。 7 山东师范大学硕士学位论文 1 4 论文的结构 本文结构根据以上内容安排如下: 第章对研究背景、研究现状以及文章结构予以说明。 第二章简单介绍了软件度量与软件规模度量的概念及应用,并在此基础上讨论 了功能点分析方法的基本概念、发展历程及特点;分别说明了不同的功能点方法 i f p u g 、m a r kii 和c o s m i c 方法。 第三章在前述研究的基础上对新一代的功能点方法c o s m i c 全功能点分析方法 进行全面研究。深入剖析c o s m i c 方法的规则和流程,在此基础上,针对c o s m i c f f p 方法的特点,对该方法进行了改进。 第四章在改进的c o s m i c 基础上,对其进行应用性的实践研究,选择了一个规 模比较小的、需求易于理解的图书管理系统作为案例进行尝试,验证并比较利用改 进前后的c o s m i c f f p 方法进行规模的度量的效果。 第五章对全文内容进行总结,并分析了c o s m i cf f p 分析方法的前景和发展趋 势。 8 山东师范大学硕士学位论文 2 1 软件度量 第二章软件规模度量 软件度量是指对软件规模、软件项目工作量、软件生产率、软件项目开发 成本、软件质量、软件的上线日期等事项进行量化,使复杂的软件过程通过数 字的描述让相关人员能够正确理解和管理。没有软件度量,就不能从软件开发 的暗箱中跳将出来。通过软件度量可以改进软件开发过程,促进项目成功,开 发高质量的软件产品。度量取向是软件开发诸多事项的横断面,包括顾客满意 度度量、质量度量、项目度量、以及品牌资产度量、知识产权价值度量,等等。 度量取向要依靠事实、数据、原理、法则;其方法是测试、审核、调查;其工 具是统计、图表、数字、模型;其标准是量化的指标 】。 软件度量满足了三方面的需要:首先是满足了项目管理的需要。项目经理 根据软件度量的数据可以对有关资源进行合理部署和分配,有效地对项目的进 度和执行情况进行监控,确定软件产品是否符合质量的要求等。其次,满足了 组织的需要。依照度量的数据,组织可以清楚地了解开发的效率和质量的总体 水平,从而可以更好地进行产品组合、判定资金的投向,策划、管理或验证软 件开发的活动。第三是满足了用户的需要。用户可以根据度量的数据比较正确 地判定投入的资金,项目交付的合理期限以及判定递交项目的质量等。因此, 研究软件的度量有着十分重要的社会意义和应用意义。正确地运用度量可以帮 助项目经理更好地确定软件规模,规划资源投入,安排项目进度,核算工作量、 评估产出质量及评价组织绩效旧3 。 2 2 软件规模度量 在软件度量的课题中,软件规模度量是其他软件度量工作的基础与关键。 国内对软件规模度量的研究还处于相当落后的阶段,这大大地制约了我国软件业的 快速发展。对大量的用户来说,合理的软件投入已经普遍能接受,但是苦于不能正 确地进行软件规模的度量,往往对如何合理投资心存疑虑。 软件规模估算是估计软件开发的工作量、成本与资源需求的基础,通过规模与 其他度量数据还可以度量项目的生产率、缺陷密度,目前在工程界流行的估算方法 是代码行估算方法和功能点分析方法( f u n c t i o np o i n t sa n a l y s i s ,f p a 法) 。代码行估 算方法是一种经验估算方法,通常会采用p e r ts i z i n g 方法和d e l p h i 方法,估计结 果与估计的人员、使用的开发工具紧密相关。而功能点分析法则比较客观,规模是 软件度量的基础,功能点方法是适用于整个软件生命周期的一致的规模度量方法, 所以在评价软件工程方法效能的时候,采用功能点作为规范化值更优越。 9 山东师范大学硕士学位论文 2 3 功能点规模度量概述 功能点度量法是由i b m 公司在1 9 7 0 年代中期提出的一种方法,用于对软件项 目进行规模评定、评估和度量。在1 9 7 8 年1 0 月,其创始人赶a l l a na l b r e c h t 在加州 蒙特利市由i b m s h a r e g u i d e 联合主办的会议上首次公开提出了这一方法。据有 关文献介绍,功能点分析是一种应用最广泛的软件规模度量技术,它事实上已经变 成了一种国际标准旧1 。 功能点分析方法作为一种理解和交流系统规模的手段,针对用户功能性需求进 行度量,具有可在项目早期进行度量、不依赖于项目的语言和技术等特点,在可用 性和客观性方面都要优于传统的代码行方法( l o c ) 。功能点分析方法正逐渐取代代 码行方法,被广泛用于软件过程中的估算项目成本和工作量、度量生产率和质量、 估计和管理项目范围的变更等领域。 早期的功能点分析方法中,为了使估算结果更为准确,常使用调整因子对分析 结果进行调整,由于调整方法过于主观和粗糙,反而影响了估算结果的准确性,因 此i s o 标准中定义的功能点分析方法取消了调整步骤,仅包括基于用户功能性需求 ( f u n c t i o n a lu s e rr e q u i r e m e n t s ,f u r ) 度量软件系统的功能规模的步骤,所以该方法 也被称为功能规模度量方法( f u n c t i o n a ls i z em e a s u r e m e n t ,f s m ) 。但是该标准并未 规定一种f u r 的量化方法,因此,业界存在多种功能点规模度量方法。其发展历程 如图2 - 1 所示n 引: 广r 1 。 。 唑岔t a r th i 一世u w 恤q a m i j o w a 0o lo 。0oo a l 嗷s 1 9 9 0l洲1 9 9 6m 衲1 9 9 7 & h 商妇硎q 呻i 曲o n 那 = 。- 。- - - - - _ - - - 。i e := = = := := :;- - - - 。- 一- - - - = ir 椭嘲户i 【砌每l 广专1: 13 - dh 畦曲 1 5 0 髓lf - a l lh 嘲a 跏羽即c o s m i c - e 即! :e 衄托舅岫h 矗止垒- _ k h 加t ll m2 02 2: 图2 1 功能点分析方法发展历程 目前,主要的功能点分析方法有i f p u g 方法、m a r k l l 方法以及c o s m i c f f p 方法,这些方法已经被i s o 组织采纳为国际标准,有专门的组织负责研究和推广。 上述功能点分析方法的分析规则以计算手 ( c o u n t i n gp r a c t i c e sm a n u a l ,c p m ) 的形 l o 山东师范大学硕士学位论文 式存在这些计算手册不定期发布新的版本、更新规则以适用不断出现的新技术,如 图形界面、w e b 技术、数据仓库等。 软件功能规模度量的一般过程如图2 2 所示,一般分为两个基本阶段:映射阶段 和评估阶段3 1 2 3 3 。 r u k0 it r l es o w a r e l u 3 m l 乙- r r r r o b em e a s u f e i i l e d t 。m a p p i n gp h a s ef h l ,口【p 7 l jlf u k m o d e l f u n c t i o n a ls i z e o f :m e 1 s u r e m e n t p h a s e 1 lj t h e j l s o f t w a r e f u r i f 。i m o d e l s l c o s m i c f f p r u | i l d 鳖i i i p r o d u c e s f t m c t i o n a ls i z e m o d e l s 7 矽 -4 e a s u l 图2 2 软件功能点规模度量过程 识别阶段:功能点分析方法识别过程中需要识别的关键元素有对象的边 ( b u n d a r y ) 、过程( p r o c e s s ) 和存储数据( s t o r e dd a t a ) 以及用于交互的基本功能性组件 ( b a s ef u n c t i o n a lc o m p o n e n t ,b f c ) 。其中,边界用于限定分析对象的范围:过程用于 表示分析对象的内部处理逻辑;存储数据表示对象的数据结构;基本功能性组件用于 描述分析对象与外部的交互或者内部的交互。基本功能性组件是构成用户功能性需 求的基本单元,只描述项目的用户功能性需求,不需要描述技术需求和质量需求, 并且一个基本功能性组件只能被识别为一种基本功能性组件类型( b f ct y p e ) 。基本 功能性组件类型在不同功能点分析方法中,差异较大,因而适用的系统领域不同。 映射阶段:在功能点分析方法映射过程中,基本功能性组件的复杂程度被映射 为分析对象的功能点数。映射的基本思想是将基本功能性组件涉及的数据元素( d a t e e l e m e n t ) 以连续或非连续方式映射为功能点数。各种功能点分析方法的基本功能性 组件定义不同,所以映射规则也各不相同。在一些较早提出的功能点分析方法中( 如 i f p u g ) ,存储数据的复杂度也被映射为功能点数。 映射阶段是应用概念和定义来代表软件,识别阶段是根据特定的规则和过程计 算度量萃取的元素。 从上述介绍可知,功能点分析方法针对软件系统的功能进行软件规模度量,这 使功能点分析方法具有如下的特点: 1 ) 功能点分析方法方便了与客户的交流。这是因为功能点方法针对客户易于理 山东师范大学硕士学位论文 解的功能需求进行度量,只关注用户所要求和得到的功能信息。 2 ) 功能点方法能够在项目早期进行规模度量。这是因为在软件开发过程中,可 以从早期的工作产品分析软件的功能规模,如项目需求规格说明书、设计文档等。 在项目早期对项目进行度量,并在开发过程中不断地更新数据,有利于实现一种持 续一致的管理。 3 ) 功能点分析方法比其他度量方法更为客观。功能点分析方法不考虑编程语 言、实现技术或者硬件平台信息。这种区分功能规模与技术因素的机制,使软件规 模度量更加客观。功能点分析方法的结构模型如图2 3 所示: 图2 3 功能点分析方法结构模型 2 4 几种主要的功能点分析方法 2 4 1i f p u g 分析方法 i f p u g 分析方法是一种传统的软件规模度量方法,首先由i b m 的a l b r e c h 在 1 9 7 9 年发表,1 9 8 4 年,以美国、加拿大等国家为主,成立了一个国际性的功能点 研究组织,该组织继承了a l b r e c h t 的研究成果,并首次出版了计算功能点的手册。 i f p u g 功能点分析是一种应用最广的功能规模度量技术,它实际上已经变为国际标 准。从1 9 9 4 年到2 0 0 4 年,i f p ug 发布了功能点计算手册4 o 版、4 1 版、4 2 版。 i f p u g 主要是为了克服代码行规模度量对语言的依赖性,虽然i f p u g 组织声称,该 方法对实时系统、控制系统等软件领域也普遍适用,但实际上是更适合于mi s 系统 的规模度量1 。 根据d a i c h 和k i t c h e n h a m 提出的分类方法,i f p u gf p a 分析方法基于需求规 格说明书、设计文档等软件文档的功能性需求进行度量,它是一种分解类的规模度 量方法,即把复杂系统分解为子系统进行评估的方法。该方法从用户的功能需求分 析入手,将用户所需的功能按照内部逻辑文件( i l f :i n t e r n a ll o g i c a lf i l e s ) 、外部 接1 :3 文件( e l f :e x t e r n a li n t e r f a c ef i l e s ) 、外部输入( e l - e x t e r n a li n p u t s ) 、外部输 出( e o :e x t e r n a lo u t p u t s ) 、外部查询( e q :e x t e r n a li n q u i r y ) 划分为五个功能类 1 2 山东师范大学硕士学位论文 别,以此来统计功能点数。其中内部逻辑文件、外部接口文件是属于数据功能点, 外部输入、外部输出、外部查询属于事物功能点。i f p u g 组件模型如图2 4 所示n6 1 : 图2 4i f p u g 组件模型 这五类功能类别含义如下: 内部逻辑文件( i l f ) 是指用户可确认的、在应用程序内部进行维护的、逻辑上 相关的数据块或控制信息( 通常是实体类型中的第二范式或第三范式表示的数据模 式) ; 外部接口文件( e l f ) 则是指:用户可确认的、由被度量的应用程序引用,但由 其他应用程序内部进行维护的、逻辑上相关的数据块或控制信息( 通常是实体类型 中的第二范式或第三范式表示的数据模式) ; 外部输入( e 1 ) 是指应用程序对来自应用程序边界以外的数据或控制信息的基 本处理: 外部输出( e o ) 是指应用程序向其边界之外提供数据或控制信息的基本处理, 这种处理逻辑中可能包含数学计算或导出数据等,并且要对内部逻辑文件进行维护, 这里的维护指的是通过一个基本操作来对i l f 进行增、删、改的操作; 外部查询( e q ) 是指应用程序向其边界之外提供数据或控制信息查询的基本处 理,与e o 不同的是,处理逻辑中既不包含数学计算公式也不产生导出数据,处理 过程中也不维护i l f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级机械设计师考试备考指南及模拟题
- 2025年初级音乐创作技巧与实战练习
- 2025年水文水资源调查与评估案例分析教程及模拟题集
- 2025年初级市场营销专员模拟面试题与答案解析
- 【教案版】小学五班级上册 跳绳4
- 2025年建筑行业设计师招聘面试模拟题集及解析
- 2025年汽车技术工程师考试预测题及备考指南
- 2025年外贸销售代表面试要点与预测题
- 2025年物资储备仓库安全管理实践案例分析及模拟题集解析
- 2025年考研政治考点精讲及模拟题集
- 2025年秋招:新媒体运营笔试题目及答案
- 工作总结及工作思路(输电运维班)
- 感染性休克的护理诊断与措施
- Unit 14 I remember meeting all of you in Grade 7(大单元教材分析)教学课件 人教新目标九年级英语全册
- 肺炎护理试题填空及答案
- 食材配送 售后服务方案
- 心电监护操作常见并发症预防及处理
- 安全操作规程修订要求
- 2025年四川绵阳燃气集团有限公司招聘考试笔试试题(含答案)
- 2025至2030盾构机行业市场深度研究与战略咨询分析报告
- 【公开课】物质的转化课件2025-2026学年高一上学期化学人教版(2019)必修第一册+
评论
0/150
提交评论