基于功能点的软件规模估算 ——查询模块规模估算模型的设计与实现-毕业论文_第1页
基于功能点的软件规模估算 ——查询模块规模估算模型的设计与实现-毕业论文_第2页
基于功能点的软件规模估算 ——查询模块规模估算模型的设计与实现-毕业论文_第3页
基于功能点的软件规模估算 ——查询模块规模估算模型的设计与实现-毕业论文_第4页
基于功能点的软件规模估算 ——查询模块规模估算模型的设计与实现-毕业论文_第5页
免费预览已结束,剩余46页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文 题 目:基于功能点的软件规模估算查询模块规模估算模型的设计与实现 姓 名: 学 院:软件学院 系 别:软件工程 专 业:软件工程 年 级: 学 号: 指导教师: 职称: 年 月摘 要有效的估算是软件开发项目管理中最具挑战性也是最重要的活动。只有使用科学的方法对软件项目的规模、工作量、进度与成本做出合理可靠的估算,才能良好地进行项目管理。然而软件项目的规模估算历来是比较复杂的事,软件项目的规模估算往往和实际情况相差甚远。 因此,估算错误已被列入软件项目失败的四大原因之一,软件规模估算一直是软件工程界研究的重点课题之一。自70年代出现功能点估算方法以来,目前己经形成了以IFPUG-FPA方法(The International Function Point Users Group)和COSMIC-FFP(Common Software Measurement International Consortium)方法为代表的多种标准。COSMIC-FFP方法是新一代的功能点规模估算法。COSMIC-FFP方法将软件系统的处理划分为数据移动与数据运算两大类,并将数据移动再细分为输入、输出、读、写四种子类型,通过计算系统中四种子类型的数据移动的个数来度量软件的规模。通过参加期货交易结算系统中查询模块的开发和了解并学习COSMIC-FFP方法。本课题详细介绍了期货交易结算系统的查询模的功能需求和开发运行环境等内容。本文根据软件工程的思想,详细介绍了在软件项目管理过程的前期用COSMIC-FFP方法实际软件项目的规模的评估。本文建立了适合期货交易结算系统查询模块程序的估算模型。在今后的程序开发前,可以根据其功能需求估算出软件规模。关键词:规模估算;功能点;数据移动;COSMIC-FFPEstimating Model of Software Size based onFunction Point MethodAbstractEffective estimation of software project management is the most challenging and most important activities. In order to manage the project effectively, the scientific method which can estimate the scale, workload, cost and progress of software projects must be used. However, the size of software project estimates have always been a complicated matter, the scale of software projects often falls far short of the actual situation. Therefore, the estimation error has been one of the four major reasons which can lead to the failure of software projects. Software size estimation has been the focus of the research of software engineering. Since 1970 there has been the functional point estimation methods, formed a variety of standards. COSMIC-FFP is a new generation of functional point estimation of the scale. COSMIC-FFP method of software systems for data processing and data mobile computing two categories, and further broken down into mobile data input and output, read and write four seed types, through the computing systems in the four seed types of mobile data Number of software to measure the scale. Through participation in futures clearing system in the maintenance of modules and modules for the development and understanding and learn a COSMIC-FFP method.This thesis is based on the idea of software engineering, it describes in detail how to use COSMIC-FFP method to assess the scale of a software project in the early stage of the software project management process. We have established an estimation model for the query module of the Exchange Clearing System. In future, the established model can help to measure the size of a software project. Key words: Estimation of Software Size; Function Point; Data Movement; COSMIC-FFP目 录目 录第一章 绪论11.1 项目背景11.2 软件规模估算的现状21.3 项目主要工作内容51.4 论文组织结构6第二章 软件规模估算方法72.1 功能点估算方法的研究与发展72.1.1 功能点估算方法的标准72.1.2 功能点估算方法的发展82.2 传统的功能点估算方法IFPUG-FPA92.2.1 IFPUG-FPA方法的估算流程102.2.2 IFPUG-FPA方法的计算102.2.3 IFPUG-FPA方法存在的主要问题112.3 新一代功能点规模估算方法COSMIC-FFP122.3.1 COSMIC-FFP方法的基本原理122.3.2 COSMIC-FFP方法的基本过程132.3.3 COSMIC-FFP方法的特点172.4 小结17第三章 COSMIC-FFP方法的实例分析183.1 OM平台183.2 开发工具203.3 期货交易结算系统223.3.1 查询模块的功能需求243.3.2 查询模块的实现243.4 小结27第四章 COSMIC-FFP方法的应用284.1 制定适应于程序的测量策略284.1.1 明确测量目的294.1.2 明确测量范围294.1.3 辨别功能使用者304.1.4 明确测量粒度304.2 映射阶段314.2.1 辨别功能处理314.2.2 辨别数据集334.2.3 辨别数据属性344.2.4 生成一般软件模型矩阵344.3 度量阶段354.3.1 权值调整354.3.2 汇总度量结果364.4 小结37第五章 总结与展望385.1 工作总结385.2 工作展望39参考文献40攻读学士学位期间参加的项目42致 谢43- III -基于功能点的软件代码量估算模型的设计与实现ContentsContentsChapter 1 Introduction11.1 Project Background11.2 Research Status21.3 Major Work51.4 Outline of Thesis6Chapter 2 The Estimation of Software Scale72.1 Research and Development of FPA72.1.1 Standard of FPA72.1.2 Development of FPA82.2 Traditional Method IFPUG-FPA92.2.1 Process of IFPUG-FPA102.2.2 Using of IFPUG-FPA102.2.3 Problems of IFPUG-FPA112.3 New Method-COSMIC-FFP122.3.1 Principle of COSMIC-FFP122.3.2 Process of COSMIC-FFP132.3.3 Features of COSMIC-FFP172.4 Summary17Chapter 3 Example of COSMIC-FFP183.1 OM Platform183.2 Tools for Programming203.3 Exchange clearing System223.3.1 FUR of Query Module243.3.2 Implementation of Query Module243.4 Summary27Chapter 4 Application of COSMIC-FFP284.1 Measurement Strategy Phase284.1.1 Confirm Measure Purposes294.1.2 Confirm Measure Range294.1.3 Confirm User304.1.4 Confirm Measure particle size304.2 Mapping Phase314.2.1 Identify FUR314.2.2 Identify Data Groups334.2.3 Identify Data Attribute344.2.4 Generate General model344.3 Metric Phase354.3.1 Adjustment of Weight354.3.2 Summary Results of Measure364.4 Summary37Chapter 5 Conclusions and Future Work385.1 Conclutions385.2 Future Work39References40Joined Projects42Acknowledgements43第一章 绪论第一章 绪论随着IT产业的发展,有效的估算成为了软件开发项目管理中最具挑战性也是最重要的活动之一。只有实用科学的方法对软件项目的规模、工作量、进度与成本做出合理可靠的估算,才能实施良好的项目计划与控制。然而软件项目的规模估算历来是比较复杂的事,软件项目的规模估算往往和实际情况相差甚远。 因此,估算错误已被列入软件项目失败的四大原因之一1,软件规模估算一直是软件工程界研究的重点课题之一。1.1 项目背景软件项目的规模估算历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的规模估算往往和实际情况相差甚远。 因此,估算错误已被列入软件项目失败的四大原因之一。软件工程师经常会被问到,编一个什么什么样的软件需要多长时间、多少钱。面对这个问题,有不少人很犯难,因为,第一用户的需求太不具体,第二,自己缺乏一个科学的估计方法2。需求风险与估算风险被认为是软件开发过程最主要的两个风险2,3。估算不合理,会导致不合理的进度、资源与质量目标,最终导致项目的延期、超预算及质量失控等后果。软件规模估算是软件项目策划的基础,可以根据规模估计工作量与成本,度量项目的开发效率、缺陷密度、项目的进展等,在估计规模的过程中,还可以给加深对需求的理解,起到对需求进行验证的作用,因此软件规模估算一直是软件工程界研究的重点课题之一。本学期参加了台湾精诚公司的实训项目期货交易结算系统,系统开发的过程中,我参与编写了大量的维护模块和查询模块的程序,搜集的大量的关于程序代码行(LOC,Line Of Code)的有效数据4。我想通过对软件规模估算方法的学习,把做过的项目作为案例,分析其软件规模,然后把已有数据和软件规模联系起来,建立一个适用于期货交易结算系统查询和维护模块的估计模型。希望在接到新的任务时,可以根据需求文档要求,通过已建立模型相对准确的估算出项目的规模。为什么要软件项目管理过程中要求进行软件规模的估算?软件规模估算,就是为了在开发初期大致了解软件项目的规模,并用功能点或者代码行量化软件规模。在了解了软件的规模的前提下,我们可以合理的配置开发的资源,让开发的成本降至最低。软件规模估算是软件项目策划的基础5,可以根据规模估计工作量与成本,度量项目的开发效率、缺陷密度、项目的进展等,在估计规模的过程中,还可以给加深对需求的理解,起到对需求进行验证的作用,因此软件规模估算一直是软件工程界研究的重点课题之一6。基于功能点的估算能够在软件项目进行的早期就对项目的规模进行预测、度量,从而将得到的数据用于风险分析、资源安排等影响项目成败的关键性决策,以便达到降低开发风险、控制软件成本、规范开发进度的目的。1.2 软件规模估算的现状软件规模估算没有一个通用的方法,也就是不存在一种方法可以估算所有的软件项目。下面介绍几种常用软件项目规模的估计方法。 1. Delphi 法 Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别,但专家专的程度及对项目的理解程度是工作中的难点,尽管Delphi技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多,但是,这种方式对决定其它模型的输入时特别有用7,8。Delphi法鼓励参加者就问题相互讨论。这个技术,要求有多种软件相关经验人的参与,互相说服对方。 Delphi法的步骤是: (1) 协调人向各专家提供项目规格和估计表格; (2) 协调人召集小组会各专家讨论与规模相关的因素; (3) 各专家匿名填写迭代表格;(4) 协调人整理出一个估计总结,以迭代的形式返回专家; (5) 协调人召集小组会,讨论较大的估计差异; (6) 专家复查估计总结并在迭代表上提交另一个匿名估计; (7) 重复(4)-(6), 直到达到一个最低和最高估计的一致。 2. 类比法 类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。使用类比法估计出的结果精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的9。 其基本步骤是: (1) 整理出项目功能列表和实现每个功能的代码行; (2) 标识出每个功能列表与历史项目的相同点和不同点;(3) 通过步骤1和2得出各个功能的估计值; (4) 产生规模估计。软件项目中用类比法,往往还要解决可重用代码的估算问题。估计可重用代码量的最好办法就是由程序员或系统分析员详细地考查已存在的代码,估算出新项目可重用的代码中需重新设计的代码百分比、需重新编码或修改的代码百分比以及需重新测试的代码百分比10。根据这三个百分比,可用下面的计算公式计算等价新代码行: 等价代码行 = (重新设计% +重新编码% +重新测试%)/3已有代码行 比如:有10,000行代码,假定30%需要重新设计,50%需要重新编码,70%需要重新测试,那么其等价的代码行可以计算为: (30% + 50% + 70%)/3 10,000 = 5,000 等价代码行。 意即:重用这10000代码相当于编写5000代码行的工作量。 3. 功能点估计法 功能点测量是在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤是: (1) 计算输入,输出,查询,主控文件,和接口需求的数目; (2) 将这些数据进行加权乘。下表为一个典型的权值表;表1-1 典型权值表功能类型输入输出查询主控文件接口权值4541010资料来源:“The Cosmic Implementation Guide V2.2”1(3) 估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。 据发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC11。4. PERT估计法 PERT对各个项目活动的完成时间按三种不同情况估计:一个产品的期望规模,一个最低可能估计,一个最高可能估计。用这三个估计用来得到一个产品期望规模和标准偏差的Pert 统计估计12。Pert 估计可得到代码行的期望值和标准偏差SD13。 功能点估算方法与代码行估算方法(也叫做专家法)是目前软件规模估算的两大主流方法。上述Delphi 法、类比法和PERT估计法都属于专家法,需要专家根据自己的经验,类比历史上已经完成的项目,估算当前项目的规模。功能点估算方法是以软件的需求作为主要输入,不考虑具体的开发语言与平台,根据功能点估算方法的原则与具体规则进行功能点的估算,估算结果可以与其他项目组的规模进行横向比较,而不受技术平台的限制。相比而言,功能点估算方法比代码行估算方法更加客观,不同的人对同一个需求的估计结果偏差更小。本文的案例程序有明确的需求文档,适合使用功能点的估算方法进行估算。本文的案例系统是期货交易结算系统的查询模块程序,属于金融领域的应用程序,主要用来处理数据移动,对复杂数据计算的处理较少,这正符合新一代功能点估算方法COSMIC-FFP的应用要求,属于COSMIC-FFP方法的应用领域,因此本文采用该方法作为规模估算的方法。本文的主要目的就是理解和掌握COSMIC-FFP方法的基本原理和一般过程,并用该方法建立适合案例程序的模型,从而可以在项目开发前期,相对准确的估算出项目的规模,使得软件项目管理的过程更加科学,资源可以更加合理的配置。1.3 项目主要工作内容毕业设计期间本人的主要任务是实际参与到台湾精诚资讯公司的实训活动中,参与实际项目的开发。本人参与的项目是基于OM平台的期货交易结算系统,参与了项目中维护模块和查询模块的开发。通过3个月的实训,熟悉了基于OM平台的开发环境,积累了大量维护模块和查询模块开发的经验。与此同时,我还了解并学习基于功能点的软件规模估算方法COSMIC-FFP15,并将此功能点估算方法应用于我所参与的实际项目中来,也就是把所参与开发的项目作为案例来分析。本课题的目标是建立好估算模型,适用于期货交易结算系统的规模估算模型,在今后的项目开发前,根据需求文档要求可以相对准确的估算出软件规模,并通过对所做大量项目的实际代码行的统计分析,将功能点较为准确的转化为代码行,直观的表现出软件的规模。总结全文,主要工作内容如下:1. 参与实际项目期货交易结算系统的开发。这部分的主要任务是参加公司的培训,了解OM平台的架构、特点和基于OM平台项目开发的注意事项,了解J2EE架构在企业中的应用,积累实践经验,熟悉企业工作环境,养成良好的编程习惯,培养团队意识。在实训期间,本人参与编写了大量查询模块的程序,包括盘中查询和历史查询;2. 阅读书籍,查看文献资料和权威的论文,了解软件规模估算的意义、现状和基本方法。本课题采用的是基于功能点的软件规模评估,使用的是新一代的功能点评估方法COSMIC-FFP。着重理解COSMIC-FFP方法的基本原理和一般过程,做到能够把这个方法应用到实际项目中;3. 使用Eclipse的插件Metrics,用这个插件可以统计出项目的有效代码行并将结果生成xml文件,然后对数据进行分析整理。为了使数据更有说服力,统计了实训的所有同学参与开发的维护模块和查询模块的代码行。把COSMIC-FFP方法运用于期货交易结算系统的查询和维护部分,建立好估算模型。在今后的开发中,根据模型得出软件规模,并根据分析结果,得出项目的代码行。1.4 论文组织结构本论文分五个章节安排,主要讲述基于功能点的代码量估算在期货交易结算系统中查询模块和维护模块的应用,各章节的内容安排如下:第一章 主要介绍本项目的背景、软件规模估算的意义以及本项目的目标和主要工作。第二章 介绍软件规模估算的常用方法,两大主流方法功能点法和代码行法(专家法),介绍本课题要使用的基于功能点的方法,介绍传统功能点法的过程和问题,详细描述新一代功能点法COSMIC-FFP的基本原理和一般过程。第三章 本章主要介绍本课题用到的案例期货交易结算系统的查询模块的基本情况,包括系统的基本架构、需求信息以及实际实现情况。这部分也是我实训期间主要参与开发的项目。第四章 COSMIC-FFP方法在实际案例中的应用。本章重点介绍新一代功能点估算方法在期货交易结算系统的查询和维护模块中的应用。因为案例项目属于金融领域,而COSMIC-FFP方法适用与此领域,同时我所开发的项目都有明确的需求,因此我们可以用COSMIC-FFP方法针对项目建立估算模型。在接到一个新的需求文档时,可以根据已有模型估算出软件规模。第五章 总结与展望,将对该项目的特点及重点进行再次陈述,并说明该项目今后的开发方向以及尚需改善的部分。- 43 -第二章 软件规模估算方法第二章 软件规模估算方法本章将对软件规模估算方法进行较为详细的介绍。其中包括软件规模估算的常用方法,发展现状,基于功能点的软件规模估算,传统的功能点估算方法和问题以及新一代功能点估算方法-COSMIC-FFP方法。2.1 功能点估算方法的研究与发展功能点分析方法由IBM的工程师艾伦艾尔布策(Allan Albrech)于20世纪70年代提出,随后被国际功能点用户协会(IFPUG)提出的IFPUG FPA方法继承,从系统的复杂性和系统的特性这两个角度来度量系统的规模16。其特征是:“在外部需求确定的情况下可以度量系统的规模”,“可以对从用户角度把握的系统规模进行度量”。功能点可以用于需求文档、设计文档、源代码、测试用例的度量,根据具体方法和编程语言的不同,功能点可以转换为代码行。2.1.1 功能点估算方法的标准为了规范和统一功能点分析方法,并促进功能点分析方法的推广,国际标准化组织于1998推出了ISO/IEC 14143标准17,定义了功能点分析方法的基本名词、基本内容和基本过程。标准ISO/IEC 14143分为以下4个部分:1. ISO/IEC 14143-1:1998 即信息技术-软件测量-功能尺寸测量-第一部分:定义和概念18;2. ISO/IEC 14143-2:2002 即信息技术-软件测量-功能尺寸测量-第二部 分:对于ISO/IEC 14143-1:1998 软件尺寸测量方法的一致性评估19;3. ISO/IEC TR 14143-3:2003 即信息技术-软件测量-功能尺寸测量-第三部分:功能尺寸测量方法验证20;4. ISO/IEC TR 14143-4:2002即信息技术-软件测量-功能尺寸测量-第四部分:参考模型21。到目前为止,ISO承认下列功能点分析方法为国际标准21:1. 国际功能点用户协会(International Function Point Users Group, IFPUG)提出的IFPUG功能点分析(IFPUG FPA)方法,相应的国际标准编号是ISO/IEC 20926:2003 21;2. 荷兰软件度量协会( Netherlands Software Metrics Association, NESMA)提出的荷兰软件功能点分析方法,相应的国际标准编号是ISO/IEC 245700. 英国软件度量协会(UK Software Metrics Association, UKSMA)提出的Mk II功能点分析方法,相应的国际标准编号是ISO/IEC 20968:2002 21;3. 英国软件度量协会(UK Software Metrics Association, UKSMA)提出的Mk II功能点分析方法,相应的国际标准编号是ISO/IEC 20968:2002 21 ;4. 通用软件度量国际协会(Common Software Measurement International Consortium,COSMIC)提出的全功能点分析方法,相应的国际标准编号是 ISO/IEC 19761:2003.21。2.1.2 功能点估算方法的发展功能点的发展经历了IFPUG FPA方法、MK II方法及COSMIC-FFP方法为代表的多种标准,功能点估算方法的发展历程,如图2-1所示。图2-1 功能点估算方法的发展历程资料来源:“功能点的研究方法”22全功能点分析方法是St.Pierre在1997年提出的,该方法最初在Quebec大学的软件工程管理实验室开发,后来被通用软件度量国际协会(COSMIC)继承和发展,并且得到广泛的推广和使用。COSMIC成立于1998年,是一个专门开发新的软件规模度量方法的机构,由来自欧洲、美洲和亚太地区的几十位专家组成,并在1999年正式发布了全功能点分析方法的第一个版本,此后根据情况进行了修正,目前最新的版本是2.2。在2003年的2月,国际标准化组织正式接纳COSMIC-FFP为国际标准,并编号为ISO/IEC 19761:200323。从2003年开始,ISBSG(国际软件基准组织)开始接受基于COSMIC-FFP进行规模度量的项目数据,到目前已经收集了100多个项目的度量数据。2005年11月针对商业应用软件的COSMIC的指南已经公布,针对实时系统的指南也已于2007年公布24。全功能点分析方法被认为是第二代功能点分析方法,这种方法符合国际标准,编制标准的专家来源广泛,在过去几年中,这种方法得到了广泛和严肃的测试,根据测试结果,进行了6次改进,在目前常用的实时系统、业务支撑领域的多层结构应用软件、UML方法25、面对对象的分析设计方法以及可视化开发工具等方面,都有很好的适应能力。2.2 传统的功能点估算方法IFPUG-FPA 功能点是从用户的需求分析人手,将用户所需的功能按照外部输入处理EI(External Input)、外部查询处理EQ(External Inquiry)、外部输出处理EO(External Output)、内部逻辑文ILF(Internal Logical File)、外部参照文件EIF(External Interface File)划分为5个功能类别,以此来统计功能点数,再根据功能点完成的复杂程度来调整功能点的数目25。IFPUG-FPA方法是第一代功能点分析方法的代表,也是目前应用最多的功能点分析法,本节以该方法为代表,简单介绍一下传统的功能点度量方法并分析一下其存在的问题。2.2.1 IFPUG-FPA方法的估算流程IFPUG-FPA方法是第一代功能点分析方法的代表,也是目前应用最多的功能点分析法。该方法通过确定需求边界、计算未经调整的数据功能点、计算未经调整的交易功能点,再经过综合分析系统特征,对经过调整的功能点进行汇总求和即可得出最终估算结果。估算流程如图2-2所示。图2-2 IFPUG FPA方法的估算流程资料来源:“功能点的研究方法”222.2.2 IFPUG-FPA方法的计算外部输入处理EI(External Input)、外部查询处理EQ(External Inquiry)、外部输出处理EO(External Output)、内部逻辑文ILF(Internal Logical File)、外部参照文件EIF(External Interface File)划分为5个功能类别含义如下:1. El为获取数据的过程,对终端用户的输入进行相关的处理;2. EQ为针对终端用户的查询请求,输出相应的检索结果;3. EO为反馈数据的过程,完成对票据、报表等的输出;4. ILF为在系统内部,为了完成相关的功能使用的逻辑文件,包括顺序文件、数据库表、临时文件等;5. EIF为该系统和外部其他信息系统为了交换数据而使用的接口文件。 其中前3种属于处理,它们涵盖了终端用户和信息系统对象之间存在的所有可能的交互内容,只要明确了该系统和终端用户的接口,就可以正确估算上述3种处理。后两种属于文件,系统功能确定后,使用文件个数也可以被估算出来。 目前应用于信息系统的计算功能点的方法叫做IFPUG法19,它的计算步骤如下: 步骤1:确定EI,EQ,EO,ILF,ELF个数; 步骤2:确定各种要素的复杂程度;EI、EQ和EO的复杂程度通常是用该处理中使用文件个数以及用到的文件中的项目数来度量的,复杂程度与文件数和项目数成正比。即用到的文件越多,项目数越多,复杂程度就越高。文件ILF,ELF的复杂程度通常是使用该文件的记录种类数和项目数来度量的,记录种类越多,项目数越多,复杂程度就越高。 步骤3:确定处理和文件的功能点权值; 确定了复杂程度后,要对每种复杂程度的处理和文件赋予权值,以便计算出相应的功能点数。步骤4:功能点的计算。将功能点乘上相应的复杂程度的权值就得到最终的功能点数。2.2.3 IFPUG -FPA方法存在的主要问题传统的功能点度量方法存在以下问题:1. 功能点主要是针对信息处理系统而设计的,不适用于实时系统,因此其应用领域有很大的局限性;2. 对交易与数据度量功能点时不能直接得到功能规模的值,估算结果不直观;3. 估算出未经调整的功能点后,需要再估算调整因子的值,而调整因子的值多达14个。上述的缺点2与缺点3,增加了该方法的使用难度,大大限制了该方法在软件开发组织中的推广。在实际估算过程中26,由于需要2次查阅转换表,估算的效率比较低,项目的成员缺乏使用该方法的积极性。2.3 新一代功能点规模估算方法COSMIC-FFPCOSMIC-FFP方法是新一代的功能点规模估算方法,本节将详细介绍COSMIC-FFP方法的基本原理、一般过程及其主要特点。2.3.1 COSMIC-FFP方法的基本原理COSMIC-FFP方法假设功能规模是通过“数据移动”的个数来度量,一个数据移动是一个数据组的传输,一个数据组是一个有区别的、非空的、没有顺序且没有冗余的数据属性的集合。有4种类型的数据移动:输入、输出、读和写。输入是从用户穿越被度量系统的边界传输数据到系统内部,这里提到的用户既包括系统的使用人员,也包括其他软件或者硬件系统;输出是一个数据组从一个功能处理通过边界移动到需要它的用户;写是存储数据到永久性的存储设备;读是从永久性的存储设备读取数据。一个数据移动记为一个COSMIC功能规模单位(Cosmic Functional Size Unit,Cfsu),Cfsu是COSMIC-FFP方法中标准的测量单位。通过统计系统中所有的“数据移动”的个数就可以得到系统的功能规模27。在COSMIC-FFP中,将系统的功能处理分解为“数据计算”和“数据移动”两种类型,该方法只统计了“数据移动”的个数,没有对“数据计算”进行度量,所以,COSMIC-FFP方法主要适用于如下的领域27:1. 以数据处理为主的商务应用软件,如银行、财务、保险、个人、采购、分销、制造等领域的信息系统;2. 实时系统,如电话交换系统、嵌入式控制软件(家电中的控制软件、汽车中的控制软件、过程控制中的自动数据采集系统等);3. 上述两种类型的混合,如飞机售票系统、旅馆预订系统等。该方法不适合于复杂算法的系统与处理连续变量的系统,如:专家系统、模拟系统、自学习系统、天气预报系统、声音和图象处理系统等。我们的案例系统是基于OM平台的期货交易结算系统,属于商务应用软件,因此我们可以用此方法对案例系统进行建模,估算其规模。2.3.2 COSMIC-FFP方法的基本过程1. 过程概述FFP的分析过程分为两个阶段:第一个阶段是映射阶段,映射阶段的目的是将软件的功能需求分解为功能处理、数据组、数据属性;第二个阶段是度量阶段,度量阶段的目的是将功能处理分解为数据移动计算功能规模。整个过程的模型,如图2-3所示。图2-3 COSMIC-FFP方法的过程模型资料来源:“The Cosmic Implementation Guide V2.2”上述的映射阶段和度量阶段可以被细化为8个活动,COSMIC-FFP方法的具体的步骤,如图2-4所示。图2-4 COSMIC-FFP方法的步骤资料来源:“The Cosmic Implementation Guide V2.2”2. 识别软件层次识别层次的目的是为了识别被度量软件的边界,清晰地定义被度量软件的范围。一个层次是对软件环境进行功能划分的结果,每一层的软件提供功能给自己的用户(可能是一个人、一个物理设备或者其他软件,如在其他层次的软件)。在一个多层的软件中,提供功能的层称为“从属层”,使用功能的层称为“主层”。一个从属层的软件通过它的服务提供功能性的服务给主层,从属层的软件不依赖于主层的软件,如果一个从属层不能正常工作,则依赖于该层的主层可能也不能正常工作,某个主层的软件不需要依赖于从属层提供的所有功能在COSMIC-FFP中定义的层次的概念和我们通常讲的三层(表示层、业务逻辑层和数据层)体系结构中层次的概念是不同的,在同一个层次中的两个软件之间的数据交换在COSMIC-FFP中定义为“对等数据交换”。典型的MIS系统分层体系结构如图2-5所示。图2-5 典型的MIS系统分层体系结构3.识别边界边界定义为被研究的软件与其用户之间的概念性接口,用户既包括系统的使用人员,也包括其他软件或者硬件系统。边界使得度量人员可以无二义性地将被度量的软件从其运行环境中区分开来。在识别的一对主层与从属层之间存在一个边界,在同一层的任意两个可区分的进行对等交换数据的软件部分之间也存在一个边界。如图2-6所示。图2-6 边界的概念视图资料来源:“功能点的研究方法”224. 识别功能处理一个功能处理是用户功能需求集合的一个基本部件,包括一组唯一的、内聚的、可独立执行的数据移动。直接或者间接地通过一个“Actor”被一个或多个触发事件触发。为响应触发事件,当它执行完所有被要求的任务之后,功能处理结束。“Actor”是被度量系统的一个用户,它作为一个中介,将触发事件的数据传递到响应该实践的功能处理。一个功能处理至少从一个可识别出来的用户功能需求(FUR)派生出来。当一个可确认的触发事件发生时,一个功能处理被执行。一个功能处理至少有两个数据移动组成,一个输入加上一个输出或者写。一个功能处理属于且仅属于一层。在COSMIC-FPP中用户功能需求(FUR)中并不包括技术与质量的需求,在实践中有些需求很难界定是否是“功能需求”,比如“应该简单易用”最基本的识别原则是:只要需要移动数据组,则应该识别为功能需求,并识别出功能处理,度量其规模。5. 识别数据组一个数据组包含的每个数据属性描述了感兴趣的同一个对象的一个互补的侧面。一个数据组可以是永久存储的也可以是短期存储的数据,它必须在系统中被具体化。通过它的唯一的数据属性集合,每个被识别的数据组必须是唯一的和可区别的。每个数据组必须被直接地关联到一个在软件的FUR中描述的兴趣对象上。在COSMIC-FFP中,采用术语“兴趣对象”替代“实体类型”或“范式关系”,以避免使用特定的软件工程方法的术语。例如:在管理信息软件领域,一个兴趣对象可以是雇员(物理的)或订单(概念的),在实时系统中,一个兴趣对象可以是一个脱机文件。6. 识别数据属性一个数据属性是已识别的数据组中最小的信息包,从软件的用户功能需求的角度表达了一定含义。一个数据属性要么刻画了用户的现实世界,要么是记录了一种环境信息,但不能是一种特定的实现技术所使用的信息,如临时变量等。识别数据属性并非是必须的活动。COSMIC-FFP中基本的功能度量单位是一次数据移动,数据移动的对象是数据组,数据组是数据属性的集合。在计算功能规模时没有考虑数据属性的多少,对于特定的度量目的,需要更加精确地度量规模时,可以对COSMIC-FFP方法进行扩展,度量数据属性的个数即是其中的一种扩展方法。7. 识别数据移动一个数据移动是一个功能处理的部件,它移动属于一个单独的数据组中一个或多个数据属性。如果移动多个数据组的数据属性,则应识别为多个数据移动。在任何一个功能处理中,不要重复识别一个数据移动。例如:假定在FUR中要求一个数据组的移动,但是开发人员决定通过2个命令,在功能处理的不同地方,每次读取不同数据子集,在考虑规模时,仅识别为1次读。但是,本规则也有一些合法的例外,比如在实时软件中,如果FUR要求在某个处理停止之前,必须重复读以检查从第1次读到现在的数据是否已经改变了,在这种情况下,如果有额外的或不同的数据操作与第2次读相关联,那么读就应该识别为2次。8. 执行度量与汇总结果将所有的功能处理的规模累计在一起便是这个软件系统的规模。如果是从不同观点来度量的软件规模,则不应该累加一起。从最终用户的观点和从开发者的观点度量同一个软件系统的规模,其结果是不相同的。除非有特别的需要,不同层的规模一般也不应该累加一起。在COSMIC-FFP方法中,每一个有效的数据移动被看成为一个Cfsu。在为每一个功能处理都找到其应有的所有数据移动之后,将它们累加在一起便是这个功能处理的规模,如式2-1所示。 公式2-1 将所有的功能处理的规模累计在一起便是这个软件系统的规模。如果是从不同观点来度量的软件规模,则不应该累加一起。从最终用户的观点和从开 发者的观点度量同一个软件系统的规模,其结果是不相同的。除非有特别的需要,不同层的规模一般也不应该累加一起。2.3.3 COSMIC-FFP方法的特点 通过以上各节对COSMIC-FFP方法的介绍,可以把该方法的特点总结如下:1. COSMIC-FFP方法与软件开发所采用的技术无关;2. COSMIC-FFP方法的基础是软件功能分析,因此它所度量到的软件规模只 反映了与软件系统功能相关的那一部分,不包括系统的非功能规模部分;3. 该方法在计算过程中不需要查阅复杂度计算表,不需要建立调整因子,计算过程简单。2.4 小结 本章详细介绍了基于功能点的软件规模估算方法。从功能点方法的研究和发展现状讲起,介绍了第一代功能点估算方法的代表IFPUG-FPA。其中包括IFPUG-FPA方法的基本流程、特色和存在的问题,在此基础上介绍了新一代的规模估算方法COSMIC-FFP,并详细介绍了此方法的基本原理、应用过程、基本特点及其应用范围。COSMIC-FFP方法是本课题估算使用的方法。第三章 COSMIC-FFP方法的实例分析第三章 COSMIC-FFP方法的实例分析期货结算是期货交易系统的核心部分,担负着重要的使命。如何完善结算系统,使之去芜存菁后,能够严格的控制交易风险,保障期货交易的正常运作,同时使中国期货能够冲出国界,与国际接轨,以便更有效的促进我国经济的发展,是摆在我们面前的一个重要课题。一个统一的期货交易结算中心和健全的法律法规,将为期货结算以及期货自身的发展创造良好条件。目标系统对期货交易结算进行有效的管理,在有安全保证的情况下,可以进行包括设置用户资料,交易结算历史查询、实时查询、资料维护等内容,使整个交易结算过程易于管理。用户可以方便的查询数据并打印出符合规范的报表。使交易结算结果一目了然。3.1 OM平台期货交易结算系统是基于OM平台开发的。OM平台是一个以J2EE架构为主的企业级IT技术平台,是一个以数据库应用系统为主的高效率的软件开发平台,是一个以金融商品交易为主的高安全系统管理平台。OM平台的跨平台性和数据支持能力非常强大,平台支持的数据库主要有DB2、ORACLE和MS SQL,支持的操作系统包括Windows、Linux和Unix等。上述的功能特色决定了OM平台具有一系列的功能优势:跨平台化,开发快速化,操作简单化,服务标准化,功能模块化和高安全化。OM平台的系统架构如图3-1、3-2所示。图3-1 OM平台系统架

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论