




已阅读5页,还剩64页未读, 继续免费阅读
(计算机软件与理论专业论文)cosmic功能点方法研究及应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 软件规模作为软件项目可量化的结果,是项目估算的重要参数和企业决策的 重要依据。因此在软件项目需求阶段,就需要度量软件规模。在现有的规模度 量方法中,功能点方法能够用于需求分析阶段,并形成了以i f p u gf p a 方法、 m ki i 方法及c o s m i c 方法为代表的多种标准。c o s m i c 方法是新一代的功能 点规模度量方法,通过确定用户功能需求,允许度量者从用户的角度来度量软 件。 本文在对c o s m i c 度量方法研究的基础上,给出了该方法在业务应用领域 的使用模式,设计并实现了一套相关的度量工具,主要工作是: 1 论述了功能点方法的历史、传统的功能点方法,并将它们与c o s m i c 方 法进行了对比,同时深入剖析了c o s m i c 方法。 2 ) 在业务应用领域中,结合实际应用,将u m l 的概念引入c o s m i c 方法 中。 3 ) 本文设计并实现了一个辅助度量工具c o s m i cm e a s u r e m e n tt o o l ( c m t ) ,给出了以时间、项目、人员为基础的统计规则,辅助那些使用 c o s m i c 方法进行度量的人员清晰、准确、高效地得到度量数据。 4 ) 针对软件企业的过程管理模式,将c m t 应用到软件企业的质量管理系 统中,通过结合企业项目管理和质量控制的流程,验证了使用该工具进 行辅助度量的有效性。该工具不但为企业统计需求分析得到的软件规模 提供支持,同时为企业进行项目管理、资源配置、过程控制、过程改进 以及人员管理提供了重要的参考依据。 关键词:c o s m i c ,软件度量,功能点分析,功能规模度量 r e s e a r c ha n d a p p l i c a t i o no nc o s m i cf u n c t i o np o i n t a b s t r a c t s o f t w a r es i z ei st h ei m p o r t a n tp a r a m e t e ro fp r o j e c te v a l u a t i o na n dt h ei m p o r t a n t r e f e r e n c ef o re n t e r p r i s et om a k ed e c i s i o n s ,s oa tt h es o f t w a r er e q u i r e m e n ta n a l y s i s p h a s e ,i t sn e c e s s a r yt om e a s u r et h es o f l 7 w a r es i z e a m o n gt h em e a s u r e m e n t s , f u n c t i o np o i n tm e t h o di su s e di nt h er e q u i r e m e n t sa n a l y s i sp h a s e c o s m i ci st h e n e x tg e n e r a t i o nf u n c t i o n a ls i z em e a s u r e m e n tm e t h o d ,w h i c hm e a s u r e st h es o f t w a r e f r o mu s e r sv i e w p o i n t s w i t hs t u d y i n go nt h ec o s m i cm e t h o d ,t h et h e s i sp r e s e n t st h ep r a c t i c a lm o d e lo f b u s i n e s sa p p l i c a t i o n i tm a i n l yi n c l u d e s : 1 ) t h et h e s i sd i s c u s s e st h ed e v e l o p m e n to ff u n c t i o np o i n tm e t h o d ,c o m p a r e s t h et r a d i t i o n a lf u n c t i o np o i n tm e t h o da n dc o s m i cm e t h o d ,a n ds t u d i e st h e c o s m i cm e t h o di nd e t a i l s 2 ) i n t h eb u s i n e s sa p p l i c a t i o n s ,t h eu m l c o n c e p t sa r ei n t r o d u c e di n t oc o s m i c m e t h o d 3 ) t h et h e s i sd e s i g n sa n di m p l e m e n t sac o s m i cm e a s u r e m e n tt o o l ( c m d c m t d e f i n e ss e r i e so fd i f f e r e n ts t a t i s t i c sr u l e s ,w h i c ha r ee a s yt og e t t h ec l e a ra n d p r e c i s em e a s u r e m e n td a t ae f f e c t i v e l y 4 ) c m ti sa p p l i e di n t oq u a l i t ym a n a g e m e n ti nt h es o f t w a r ee n t e r p r i s e s ,t h e e f f e c t i v e n e s so fu s i n gc m ti sv e r i f i e d ,b yi n t e g r a t i n gt h ee n t e r p r i s ep r o j e c t m a n a g e m e n ta n dp r o c e s so fq u a l i t yc o n t r 0 1 t h et o o ln o to n l yp r o v i d e st h e s u p p o r tf o rt h ee n t e r p r i s et og e tt h es o f t w a r es i z e ,b u ta l s op r o v i d e st h e i m p o 加tr e f e r e n c e sf o rt h ee n t e r p r i s et om a n a g ep r o j e c t s ,c o n f i g u r et h e r e s o u r c e s ,c o n t r o la n di m p r o v et h ep r o c e s s e s ,a n dm a n a g ep e r s o n n e l k e y w o r d s :c o s m i c ,s o f t w a r em e t r i c s ,f u n c t i o np o i n t sa n a l y s i s ,f u n c t i o n a ls i z e m e a s u r e m e n t i i 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名: 兰! 墨逾指导教师签名:挺叠 枷6 年石月f7 曰 例年6 月,夕曰 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,本论文不包含其他人已经 发表或撰写过的研究成果,也不包含为获得西北大学或其它教育机构的学位或证书而 使用过的材料。与我同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名:五听镝 例8 年6 月f 7 日 第一章绪论 1 1 研究背景 第一章绪论 随着计算机技术的飞速发展和广泛应用,软件系统渗透到了人类社会的各 个角落,软件的质量问题也日益成为人们关注的焦点。随着软件规模的日益庞 大,软件的质量也越来越难以控制与管理,成为长期以来困扰着软件生产的主 要问题。根据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 【l 】。虽然有些研究认 为,c h a o s 报告中关于预算超支8 9 数据是被夸大的,实际情况应该平均在 3 0 0 0 - , 4 0 1 2 j 。但有一点却能取得共识:人们经常对软件估算不足。因此,我们 需要对项目采取有效的管理措施【3 】。 在实施管理活动时,需求风险与估算风险被认为是软件开发过程最主要的 两个风险 4 1 。估算不合理,会导致不合理的进度、资源分配与质量目标,最终 导致项目的延期、超预算及质量失控等后果。而软件规模度量是软件项目策划 的基础,可以根据规模估计工作量与成本,度量项目的开发效率、缺陷密度、 项目的进展( 5 】等,在估计规模的过程中,还可以加深对需求的理解,起到对需 求进行验证的作用,因此软件规模度量一直是软件工程界研究的重点课题。要 准确高效的进行规模度量,使用度量方法进行度量和建模是十分必要的。 在规模度量中,比较具有代表性的度量方案是代码行和功能点。代码行度 量方法需要专家根据自己的经验,类比历史上己经完成的项目,估算当前项目 的规模,同一个软件采用不同的开发语言与平台,估算出的代码行是不相同的。 在估算时需要定义代码行的计算规则,即空行、注释行、机器自动生成的代码 行等是否考虑在内。功能点度量方法是以软件的需求作为主要输入,不考虑具 体的开发语言与平台,根据功能点度量方法的原则与具体规则进行功能点的估 算,估算结果可以与其他项目组的规模进行横向比较,而不受技术平台的限制。 c o s m i c 功能点方法研究及应用 相比而言,功能点度量方法比代码行度量方法更加客观,根据对使用两种方法 进行度量的结果进行比较【6 】,不同的人对同一个需求使用功能点度量方法产生 的估计结果偏差更小。 因此,研究并推广功能点方法能够帮助软件组织判断是否能够按时在预算 内完成项目,是否能够根据组织资源以及用户的要求完成各项功能,从而对项 目进行有效管理并做出更好的商业决定1 5 】。 1 2 国内外研究现状 为了规范和统一功能点分析方法,并促进功能点分析方法的推广,国际标 准组织在1 9 9 8 年推出了i s o i e c1 4 1 4 3 标准,其中定义了功能点分析方法的基 本定义、基本内容和基本过程。 i s o i e c1 4 1 4 3 标准由以下6 部分组成:i s o i e c1 4 1 4 3 1 :1 9 9 8 ,信息技术 一软件度量一功能规模度量一第1 部分:概念定义【_ 7 】;i s o i e c1 4 1 4 3 2 :2 0 0 2 , 信息技术一软件度量一功能规模度量一第2 部分:用于i s o i e c 1 4 1 4 3 1 :1 9 9 8 的软件规模度量方法的符合性评价1 8 1 ;i s o i e c1 4 1 4 3 3 :2 0 0 3 , 信息技术一软件度量一功能规模度量一第3 部分:功能规模度量方法的验 证【9 j ;i s o i e c1 4 1 4 3 4 :2 0 0 2 ,信息技术一软件度量一功能规模度量一第 4 部分:参考模型【1 川;i s o i e c1 4 1 4 3 5 :2 0 0 4 ,信息技术一软件度量一功 能规模度量一第5 部分:使用功能规模度量时功能域的确定【l l 】;i s o i e c 1 4 1 4 3 6 :2 0 0 6 ,信息技术一软件度量一功能规模度量一第6 部分:i s o i e c 1 4 1 4 3 系列标注及相关国际标准的使用指南 1 2 】。 这些标准都是由i s o i e c 第一联合技术委员会的第七技术分会一软件和系 统工程分技术委员会一编写的。成立至今,这个委员会已经正式出版了i s o i e c 标准5 4 个、i s o i e c 技术报告2 0 个,其中有3 2 个直接与软件质量、可维护性、 可靠性相关,具有很高的指导意义和参考价值。 到目前为止,以下几个功能点分析方法被i s o 纳入了国际标准: 1 ) 国际功能点用户协会( 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 , w w w i f p u g o r g ) 提出的i f p u g 功能点分析方法,相应的国际编号是 2 第一章绪论 i s o h e c2 0 9 2 6 :2 0 0 3 8 3 】。 2 ) 荷兰软件度量协会( 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 , w w w n e s m a n 1 ) 提出的荷兰软件功能点度量分析方法,相应的国际标准 标号是i s o h e c2 4 5 7 0 :2 0 0 5 t 1 4 1 。 3 ) 英国软件度量协会( u gs o f t w a r em e t r i c sa s s o c i a t i o n ,u s k m a ,、棚州 u k s m a c o u k ) 提出的m ki i 功能点分析方法,相应的国际标准编号是i s o h e c2 0 9 6 8 :2 0 0 2 t 15 1 。 4 ) 通用软件度量国际协会( 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 l c o n s o r t i u m ,c o s m i c ,w w w c o s m i c o n c o m ) 提出的全功能点分析方法, 相应的国际标准编号是i s o i e c1 9 7 6 1 :2 0 0 3 1 1 6 1 。 对于i f p u g ,n e s m a 以及m ki i 等第一代功能点度量方法,经过业界长期、 深入的使用及研究,已经总结出了很多适用的规则,并提供了大量参考数据以 及成型的工具【6 】【1 7 1 。而对于c o s m i c 这样的第二代方法,业界还在进行研究及 改进【1 8 】,相应的辅助工具也很少。 1 3 研究内容及主要工作 本文在西北大学软件工程研究所对软件过程以及需求工程相关领域研究【1 9 】 1 2 0 2 1 】【2 2 2 3 11 2 4 1 2 5 】【2 q 的基础上,针对第二代功能点度量方法c o s m i c 进行研究及 应用,主要工作如下: 1 ) 论述了功能点方法的历史、传统的功能点方法,并将它们与c o s m i c 方法进行了对比,同时深入研究了c o s m i c 方法。 2 ) 在实际应用中,将u m l 的概念引入到c o s m i c 方法中,使c o s m i c 更加方便的对业务应用领域的软件进行度量。 3 ) 基于c o s m i c 方法,设计并实现了一个c o s m i c 辅助度量工具。 4 ) 针对软件组织对软件过程不断改进的需求,将开发的c o s m i c 辅助度 量工具集成到软件组织的质量控制系统中,使得对软件或其中某部分的 规模的描述能和质量控制系统中的其它元素结合起来,不但可以对软件 规模进行统计,还能够为过程改进、资源配置和人员管理等提供有力支 c o s m i c 功能点方法研究及应用 持。 1 4 本文组织结构 第一章对研究背景、研究现状以及文章结构予以说明。 第二章对不同的功能点方法进行介绍,简要说明功能点方法的基本过程、 特点,并比较了i p f u g 、m ki i 和c o s m i c 方法。 第三章在前述研究的基础上对新一代的功能点方法c o s m i c 进行全面研 究。深入剖析c o s m i c 方法的规则和流程。 第四章在研究c o s m i c 的基础上,对其进行应用性的实践研究,设计并实 现了一种辅助度量工具( c o s m i c m e a s u r e m e n tt o o l ,c m t ) ,并规定了根据项目、 模块、数据移动等为基础的统计规则。 第五章描述将c m t 集成到某软件企业的质量控制系统中,通过综合 c o s m i c 度量结果和质量控制系统中记录的其它元素,对项目规模、人员绩效 等进行统计分析;同时还分析验证了在实际项目中使用该系统进行c o s m i c 度 量的有效性。 4 第二章功能点分析方法 第二章功能点分析方法 功能点分析方法具有2 0 多年的发展历史,很多专家和学者根据各自的观点 和项目的特征,形成了包括i f p u g 、n e s m a 、m ki i 、s p r 方法、3 d 方法、对 象点方法等不同标准的多种方法,这些方法具有很多共性,同时又有各自的一 些特点6 1 。本章主要介绍目前被广泛使用的i f p u g 和m ki i 方法,并将它们与 c o s m i c 进行了比较。 2 1 功能点分析方法 2 1 1 功能点分析方法的目标 从6 0 年代中期开始,软件系统的规模越来越大,复杂程度越来越高,软件 可靠性问题也越来越突出。原来的个人英雄主义开发方式不再能满足要求,软 件危机开始爆发,迫切需要改变软件的生产方式,提高软件的生产率,具体表 现在以下几个方面: 1 ) 软件开发进度难以预测; 2 ) 软件开发成本难以控制; 3 ) 用户对产品功能难以满足; 钔软件产品质量无法保证; 5 ) 软件产品难以维护; 6 ) 软件缺少适当的文档资料。 在上述问题中,最难解决的是前两个问题,即对软件开发的成本和进度估 计不准确,这是由软件开发的可管理性差和可视化程度低的特点决定的【2 7 】。 为了应对这些挑战,需要建立一种新的方法来提高软件项目的可管理性和 项目进度的可见性。业界为此做了很多努力,其中一个就是建立规范化的软件 开发项目管理流程,它的成果之一就是软件能力成熟度模型s w - c m m ( c a p a b i l i t ym a t u r i t ym o d e lf o rs o t t w a r e ) 和能力成熟度模型集成( c a p a b i l i t y m a t u r i t ym o d e li n t e g r a t i o n ,c m m i ) 。建立规范化软件开发流程,包括了一个软件 项目的各个方面,其中一个很重要的要求就是建立科学合理的项目计划。项目 c o s m i c 功能点方法研究及应用 计划的核心是对项目的工作量进行合理估计,以便能够公正、客观、有效地度 量软件开发工作。 此外,随着计算机技术的不断普及,用户群体已从原来的专家领域扩大到 了整个社会的各个层面,这种市场的变化也需要一种容易理解的方法,使用户 和开发人员能够针对软件的规模、工作量等信息有一个沟通交流的机制,以便 项目顺利完成。 其中功能点分析方法最具代表性。功能点分析方法最早是由a l b r e c h t 2 s l 在 1 9 7 9 年提出,是一种人为设计出的度量方式,主要解决如何客观、公正、准确、 可重复的对软件的规模进行度量的问题。 功能点方法的设计目标首先是能够对项目的工作量进行合理估计,并能进 行有效度量;其次,为了保证该方法实施的有效性和及时性,应该在项目早期 阶段使用该方法,这样更容易被用户理解、采纳和接受。 2 1 2 功能点分析方法的基本过程 功能点分析方法的基本步骤如图2 1 所示: 1 ) 决定功能点分析方法的范围,即确定被测对象,一般是指被度量的软件 的范围以及它和外界的接口; 2 ) 明确规模度量方法( 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 ) 范围中包含的功 能性需求,主要是从总体的软件需求中识别出每一个功能性需求; 3 ) 明确功能性需求中包含的基本功能组件( b a s ef u n c t i o nc o m p o n e n t , b f c ) ,并进行分类; 4 ) 给每种基本功能组件指定不同的数值。( 有些方法没有这个步骤) ; 5 ) 计算功能规模。 区亟卜恒亟 怔圈 j 基蔓:恒 图2 - 1 功能点分析方法的基本步骤 6 第二章功能点分析方法 2 1 3 功能点分析方法的特点 与代码行方法相比较,功能点分析方法具有很多优点,例如,准确性,通 用性,易沟通,易理解,主要表现如下: 1 ) 处理的是外部特征; 2 ) 处理的是对用户来说非常重要的特征; 3 ) 和项目所采用的具体编程语言独立; 可以得到生产率数据:每个生产单元的服务或产品的人工费用; 5 ) 容易使用,特别是在项目生命周期的早期阶段就可以采用; 6 ) 关注于所提供的功能而不是如何实现该功能; 7 ) 作为一个客观、真实、有效的数据,可以和财务数据进行关联,得到更 有意义的数据; 8 ) 客户更关心的是功能; 9 ) 用户功能不仅仅包括技术或设计原因,也包括业务上的原因。 2 2 各种功能点分析方法 2 2 1i f p u g 方法 i f p u g 方法是最早出现的功能点方法,其发展过程大致如下: 19 7 9 年,i b m 的a l b r e c h t 发表m e a s u r i n ga p p l i c a t i o nd e v e l o p m e n t p r o d u c t i v i t y 一度量应用软件开发生产率,这是公认的所有功能点分析方法的 鼻祖文献。 1 9 8 4 年,i b m 发表了第一个功能点规范“i b mc i s & ag u i d e l i n e s3 1 3 a d m p r o d u c t i v i t ym e a s u r e m e n ta n de s t i m a t ev a l i d a t i o n 。 19 8 8 年,国际功能点协会发布了“f u n c t i o np o i n tc o u n t i n gp r a c t i c e sm a n u a l 2 0 版本,即功能点实践手册。 1 9 9 0 年,国际功能点协会发布了该功能点实践手册的3 0 版本,主要增加 了一些数据和解释。 1 9 9 4 年,国际功能点协会发布了该功能点实践手册的4 0 版本,主要增加 7 c o s m i c 功能点方法研究及应用 了图形用户界面的功能点计算以及有关一致性的问题。 1 9 9 9 年,国际功能点协会发布了该功能点实践手册的4 1 版本,主要是澄 清一些已经存在的概念和规则,并且符合i s o i e c1 4 1 4 3 标准。 2 0 0 3 年1 0 月,国际标准化组织正式接纳认可了国际功能点协会( i f p u g ) 4 1 版本未调整功能点计算手册,正式的国际标准编号是i s o i e c2 0 9 2 6 :2 0 0 3 。这 种方法提供了一种清楚详细的计算功能点的方法,并且确保计算结果的一致性; 该方法中提供了工作指南,以及一个可以支持自动化测试的框架:该手册的编 写非常合理,容易学习和使用。 i f p u g 方法是把应用系统按组件进行分解,并对每类组件以i f p u g 定义的 功能点为度量单位进行计算,针对结构化建模方案使用的“实体一关系”图、 数据流图和控制流图,确定五个信息域:系统内部逻辑文件( i l f ) 、系统外部接 口文件( e i f ) 、用户外部输入( e d ) 、用户外部输出( e o ) 和用户外部查询( e q ) 。文 件的数据元素类型( d e t ) 和记录元素类型( r e t ) ,决定文件域的复杂度和加权因 子。事务的数据元素类型( d e t ) 和引用文件类型( f t p ) 决定事务域复杂度和加权 因子。对这5 个功能分量的加权累加就是未调整的功能点: 卿= y e d w + 罗e o w + 罗f 。q w + y 见砌+ 罗e i f w ,其中w 是每个分量的权 j 二- 一j i 一j 二一j ;- 一j 二一 值。再对规定的1 4 个问题使用0 到5 的打分计数,得到1 4 个调整因子f ,应 5 1 4 用到公式即= ( 四) ( o 6 5 + 0 0 1 x 巧) ,即可得到调整后的功能点。由于 i f p u g 定义的功能点提供了详细的度量参考手册,所以i f p u g 功能点度量方法 应用非常广泛。 2 2 2m ki i 方法 1 9 8 4 年,c h a r l e ss y m o n s 提出了a l b r e c h t 方法中的一些缺陷: 1 ) 通常很难确定一个应用软件的部件。例如,什么是逻辑文件。这一问题 在1 9 8 4 年还没有一个完全的工作指南来辅助实际工作中的判断。 2 ) a l b r e c h t 为每个功能点的部件赋予了一个加权值,而这种赋值的方式是 值得商榷的,不是很确定的。 3 ) a l b r e c h t 没有提供内部复杂度计算的含义,因此,在分析时对算法和其 第二章功能点分析方法 它一些情况会产生分歧,无法得到统一的答案。 4 ) 当分析大型应用程序中的一个小系统时,由于分析角度存在问题, a l b r e c h t 方法得到的总功能点数量比单独计算的总和要小。 1 ) ,2 ) 两个问题同样存在于数值调整因子的权重设定中。 因此,c h a r l e ss y m o n s 在1 9 8 7 年正式提出了“m ki i 功能点分析方法 并在 1 9 9 1 年出版的软件的规模和评估:m ki if p a 首次清晰的定义了m ki i 功能 点分析方法。 2 0 0 5 年1 1 月,国际标准化组织正式接纳m ki i 功能点分析方法为国际标准, 编号是i s o i e c2 0 9 6 8 :2 0 0 2 ,其中定义了该方法的功能规模测量的术语和活动 过程。m ki i 功能点分析方法与项目管理方法和开发方法是独立的,它只是对逻 辑上的业务需求进行测量,从而测量出软件的规模,与实现这些需求的技术方 法没有任何关系。 图2 2 描述了m ki i 功能点分析方法的计算过程。 卜糟的h 卜 一标黼实卜 l 和类型r 开疋丌畀开广 一数、处理数 _ 一计算规模 f 和输出数l 叫标识逻辑事务卜 图2 2m ki i 功能点分析方法计算过程 由此得来的功能点指数( f p i ) 是所有逻辑事务的输入数据元素类型数量( m ) 、 数据实体类型的引用数量( 肫) 和输出数据元素类型数量( n o ) 的加权和,即 f p i = w i 奎n i + w e 牛n e + w o 木n o 。对于每个输入数据元素类型、数据实 体类型的引用数量和输出数据元素类型都有相应的权重聊,耽,w o1 1 6 1 。 2 2 3c o s m i c 方法 前面介绍的两种功能点分析方法属于“第一代”功能点分析方法,这些方 法诞生在2 0 世纪8 0 年代,主要应用在业务应用软件中。全功能点分析方法于 1 9 9 7 年被提出,后来被通用软件度量协会( c o s m i c ) 继承和发展,并且得到了 9 c o s m i c 功能点方法研究及应用 广泛的推广和使用。c o s m i c 成立于1 9 9 8 年,是一个专门开发新的软件规模度 量方法的机构,由各个地区的专家组成,并在1 9 9 9 年3 月正式发布了全功能点 分析方法的第一个版本,此后进行了6 次修正,目前的最新版本是3 0 1 2 9 1 。 2 0 0 3 年1 月31 日,c o s m i c f f p 标准( c o s m i c 的前身) v 2 2 版本诞生后, 国际化标准组织正式接纳其为国际标准,编号为i s o i e c1 9 7 6 1 :2 0 0 3 。 2 0 0 7 年9 月1 日,c o s m i c f f p 方法改称为c o s m i c 方法,标准也升级至 3 0 版本。 全功能点分析方法是第二代功能点分析方法【1 8 】,符合国际标准,编制标准 的专家来源广泛,在过去几年中,这种方法得到了广泛和严格的测试,目前在 实时系统、业务支撑领域的多层结构应用软件、面向对象的分析方法以及可视 化开发工具等方面,都有很好的适应性。 2 2 4 几种方法的比较 无论是哪种功能点分析方法,一般都包括如下3 个部分: 1 ) 实体估计,或者称为对象估计、功能估计、事务估计; 2 ) 调整因子权重; 3 ) 根据经验曲线计算工作量。 表2 1 展示了几种方法的基本功能组件、适用领域等。 表2 1 几功能点度量方法的比较 名称 基本功能组件 权重设置调整因子适用领域支持工具 i f p u g e i ,e o ,e q , 分级1 4 个m i s c h e c k p o i n t k n o w l e d g e p l a n , e i f , i l fp c c a l c ,i s b s g v e n t u r i , f u n c t i o np o i n t sw b r k b e n c h m ki i i n p u t ,o u t p u t , 连续性1 9 个 m i sm ki if u n c t i o np o i n t s r e f e r e n c e度量 a n a l y z e r c o s m i c e n t r y , e x i t , 连续性无m i s , x f o r m s f o r m a r e a d ,w r i t e 度量 r e a l - t i m e , c o s m i c r u p 工程系统 c o s m i c x p e r t l o 第二章功能点分析方法 i f p u g 和m ki i 在概念上的主要不同是:i f p u g 方法是在调整前处理信息 过程的规模;而m k1 i 方法则把整个应用软件分解为一系列事务,每个事务包 括输入、处理过程和输出,每个事务对应的功能点指数数值就是输入和输出中 包括的数据元素类型的数量以及引用的实体的数量,因此真正的应用软件规模 就是每个事务的功能点指数的总和。 在测量软件产品规模时,i f p u g 功能点分析方法和m ki i 功能点分析方法 都比较精细,但是测量结果却明显存在差异。最大的不同是:在进行连续性测 量时,m ki i 功能点分析方法具有更精细的粒度,而i f p u g 功能点分析方法在 软件达到一定的程度时,就要对构成软件的各个组件的规模进行人为的限制。 由于软件的需求和功能在逻辑事务和实体中得到了清晰的表达,而逻辑事务和 实体是规模度量的基本概念,因此,m ki i 相对来说更独立于开发和实现技术。 c o s m i c 度量模型在对软件中功能点的划分上更加灵活,对软件内部的结 构和实现依赖更小,可以将功能流程定义的更加细致,其中包含的功能点也更 加具体和功能单一,增强了对软件功能变化的应对能力【3 0 】。 2 3 本章小节 本章介绍了功能点方法的目标、基本过程及其特点。同时将第一代的 i f p u g 、m ki i 方法和c o s m i c 进行对比,得出了c o s m i c 方法的优点。 第三章c o s m i c 度量方法 第三章c o s m i c 度量方法 本章主要研究c o s m i c 度量方法,对其产生条件、适应能力、基本要素进 行论述,并深入讨论了c o s m i c 方法的度量流程模型。 3 1c o s m i c 的产生条件 当今虽然有大量的软件规模度量方法,但是其中有些只对某类特定的软件 有效,有些已经无法适应市场需要。随着软件爆炸式的增长以及大量软件外包 项目的出现,工业界需要一种精确的、能够广泛使用的软件规模度量方法来应 对这些问题1 3 1 1 。 1 9 9 8 年诞生的通用软件度量国际协会( c o s m i c ) ,由来自欧洲、北美以及亚 太地区的一批专家自发组织成立。c o s m i c 项目的目标就是开发、测试并在业 界寻找一种全新的、能够被广泛接受的度量方法,以便满足以下两点要求: 1 ) 供应商需要将用户需求转化成软件规模,进行项目成本估计【5 】; 2 ) 用户希望了解已经交付的软件产品的功能点规模,以此作为对软件供应 商能力的重要评判依据,。 因此,1 9 9 9 年c o s m i c f f p 方法f 3 2 ( c o s m i c 的前身) 诞生,并在2 0 0 0 、2 0 0 1 年由多家公司及学术机构试验成功,同时开始制定国际通用标准。于2 0 0 3 年正 式被接纳为国际标准。此后,通用软件度量国际协会继续根据实践经验对方法 的定义及解释进行精化。但必须强调的是,通用软件模型作为软件规模度量的 基础,从1 9 9 9 年第一次提出来以后,就再也没有进行过修改【2 9 1 。 3 2c o s m i c 方法的适应性 c o s m i c 的设计是建立在对不同功能层次的用户功能需求进行抽象的软件 模型基础上【3 3 1 ,因此,可以满足以下领域的软件需求:以数据处理为主的商务 应用软件,比如银行、财务、保险、个人、采购、分销、制造等领域的信息系 统;或者实时软件,比如电话交换系统、嵌入式控制软件;以及兼有以上两种 特点的软件,比如机票或酒店的实时预定系统等。 1 2 c o s m i c 功能点方法研究及应用 但对于专家系统、模拟系统、自我学习系统、天气预报系统等拥有特别复杂 数学算法、规则的软件以及声音或视频等需要连续处理变量的软件,c o s m i c 方法并不能满足它们的需要。 3 3c o s m i c 方法的基本要素 3 3 1 用户功能需求 c o s m i c 功能点度量方法包括对给定的软件从用户功能需求( f u n c t i o n a l u s e rr e q u i r e m e n t s ,f u r ) 的角度使之适应一系列模式、规则和过程,而应用这些 模式、规则和过程得到的结果就是一组代表软件功能规模的数值。提取f u r 有 两种途径,如图3 1 所示 ( a )( b ) 图3 - 1 提取f u r 的两种途径 1 ) 现实世界中软件实体的f u r 很少不需要解释就可以直接进行度量。这 就意味着度量者经常需要在f u r 映射成c o s m i c 软件模型概念前,从 软件实体中提取显式或隐式的f u r ,图3 1 ( a ) 所示。 2 ) 从已经安装好却没有设计文档的软件中提取f u r ,图3 1 ( b ) 所示。 无论通过哪种方式提取f u r ,都需要将这些概念包含在由c o s m i c “软件 上下文模型 和“通用软件模型 所描述的一系列原则中。 3 3 2c o s m i c 软件上下文模型 使用c o s m i c 方法进行度量的软件必须以度量的观点仔细定义,同时这些 定义必须将这个软件所处的软硬件环境考虑在内。以下就是c o s m i c 软件上下 第三章c o s m i c 度量方法 文模型的一些原则例: 1 ) 软件是受硬件条件限制的; 2 ) 软件是通过“层次 结构组织的; 3 ) 每层结构都要包含一个或多个独立分割的“对等( p e e r ) 的软件模块组 件,每个模块都可能由另一些独立分割的“对等组件构成; 4 ) 任意被度量的软件模块,都需要通过限制在这一软件层次的度量“范围” ( s c o p e ) 进行定义; 5 ) 需要被度量的软件模块的范围取决于度量“目的”; 6 ) 被度量软件模块的“用户功能需求 ( f u n c t i o n a lu s e rr e q u i r e m e n t ) 以 这些用户功能需求的提供者或接收者( f u n c t i o n a lu s e r ) ,即“功能关系者” 应该分开来看; 7 ) 软件模块和它的功能关系者通过跨越“边界 ( b o u n d a r y ) i 拘“数据移动” 进行交互,而和它的“持久存储体 则在“边界 内部进行数据传递; 8 ) 一个软件的用户功能需求可能以不同的“粒度级别 进行表述; 9 ) 度量过程中的粒度级别应该以“功能流程( f u n c t i o n a lp r o c e s s e s ) l 拘粒度级 别”为标准; l o ) 如果功能流程的粒度级别无法度量,那么软件的用户功能需求应该以一 种粗略的方法进行度量并且改变功能流程的粒度级别。 3 3 3 通用软件模型 在目标软件的用户功能需求( f u r ) 通过软件上下文环境模型的术语解释过 之后,为了识别出需要被度量的功能组件,需要在这些f u r 上应用通用软件模 型。通用软件模型的原则如下1 3 4 】: 1 ) 软件从功能关系者接收“输入( i n p u t ) 数据,同时产生“输出( o u t p u t ) 结果,并且或为功能关系者产生另外一种有用的结果; 2 ) 被度量软件模块的用户功能需求可以映射到唯一的“功能流程 上; 3 ) 每一个功能流程都由“子流程 ( s u b p r o c e s s e s ) 组成; 4 ) 一个子流程可以是“数据移动”( d a t am o v e m e n t ) ,也可以是“数据操作 1 4 c o s m i c 功能点方法研究及应用 ( d a t am a n i p u l a t i o n ) ; 5 ) 每个功能流程都由来自功能关系者的“输入 ( e n t r y ) 触发。这样的“输 入”可以通知功能流程,功能关系者已经识别了一个“事件 ( e v e n t ) ; 6 ) 一个数据移动只移动单独的“数据组 ( d a t ag r o u p ) q 丁的一个或多个数据 属性; 7 ) 一个数据组由一系列无序的、非空的、有区别的、描述同一兴趣对象的 “数据属性”( d a t aa t t r i b u t e s ) 组成; 8 ) 有四种数据移动类型。“输入”( e n t r y ) 将一个数据组从功能关系者移动 到软件内部,“输出 ( e x i t ) 将一个数据组从软件内部移动到功能关系者, “读”( r e a d ) 将一个数据组从持久存储体移动到软件内部,“写 ( w r i t e ) 将一个数据组从软件内部移动到持久存储体; 9 ) 一个功能流程最少要有一个输入数据,以及一个写或输出数据,就是说 最少要有两个数据移动; l o ) 作为度量目标的近似估计,数据操作子流程不被单独度量,任意数据操 作的功能都被计算在与其相关联的数据移动上。 图3 2 解释了2 ) ,3 ) ,4 ) 原则,3 4 3 节的图3 - 9 则解释了8 ) ,9 ) 原则。 图3 - 2 通用软件模型3 2 】 3 4c o s m i c 度量流程模型 段: 通常,对任何需要使用c o s m i c 进行度量的软件,都需要经过以下三个阶 1 5 第三章c o s m i c 度量方法 1 ) 决定度量策略阶段,本阶段对目标软件应用软件上下文环境模型。 2 ) 映射阶段,本阶段对目标软件应用通用软件模型。 3 ) 度量阶段,进行真正的规模度量。 度量流程实施的结果就是对软件模块的用户功能需求进行度量后,得到以 c o s m i c 功能点( c f p ) 描述的软件功能规模。 其度量流程模型如图3 3 所示例。 目的 软件上下文环境 目标软件的f u r 通用软件模型 度量计划,每个被度 量模块的范围 通用软件模 型t 自o f u r 一- 度量流程 一- - - 图3 - 3 度量流程模型【2 9 】 3 4 1c o s m i c 度量策略 以c f p 为单 位的软件功 能规模 在进行软件规模的度量之前,需要仔细考虑以下四个关键的参数:“度量目 的”( p u r p o s eo f m e a s u r e m e n t ) 、“度量范围”( s c o p eo f m e a s u r e m e n t ) 、“功能关系 者”( f u n c t i o n a lu s e r ) 、“粒度级别 ( 1 e v e lo f g r a n u l a r i t y ) ,作为度量结果和进行项 目评估的重要依据,对度量策略阶段产生的这些数据进行记录是非常重要的。 需要注意的是,这些度量策略需要用到的元素并不仅仅局限于c o s m i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇幼保健科服务内容与质量检讨计划
- 促进学生自主管理的工作计划
- (广东二模)2025年广东省高三高考模拟测试(二)历史试卷(含答案)
- 深入分析注册会计师考试内容试题与答案
- 证券从业资格证系统化学习试题及答案
- 2025年证券从业资格证考试内容解读试题及答案
- 2025年注册会计师考前心理调节试题及答案
- 2025年证券市场监管框架试题及答案
- 2024-2025学年高中语文课时精练6离骚含解析新人教版必修2
- 2025年注册会计师考试探讨试题及答案
- 电梯基本原理与结构-讲解-电梯结构及原理图解课件
- 色盲检测图(俞自萍第六版)
- 工地固体废弃物处置方案
- 职校招生宣传PPT
- 三星SHP-DP728指纹锁说明书
- 第十一章-计划调控法
- 2022-2023学年辽宁省大连重点达标名校中考一模生物试题含解析
- GB/T 2430-2008航空燃料冰点测定法
- 气温的分布和温度带
- 第6-2章生料粉磨和熟料粉磨
- 冒泡排序算法课件
评论
0/150
提交评论