基于功能要素与界面的软件成本估算研究

来源 :中国信息化 | 被引量 : 0次 | 上传用户:liuzixing0210
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一、引言
  对于庞大的、多变的软件项目来说有着太多的不确定性,合理估算软件项目开发规模在项目计划与实施中有指导性的作用。
  软件项目开发规模能否被合理估算是软件开发成本和软件管理控制的一个要素。
  目前估算软件规模的方法主要有:经验估算及量化法估算。经验估算虽然简单,但由于没有量化标准,不同人估算,差异很大,也不具说服力。量化法估算主要有:代码行法、COCOMO2模型法、功能点估算等。其中:代码行法由于用不同编程语言所需代码行数并不相同,且仅用代码代表整个软件的规模并不合理。COCOM2模型法测算相对准确些,但参数的确定有些难度,也不适用用户使用。近些年流行的功能点法,能较好的解决这些问题。
  但目前功能点法测重的是系统对内外部逻辑文件增删改查打印等的功能的估算,而对很多系统,如电商软件,网页的设计占了很多的开发量,因此结合系统内部逻辑功能与界面估算功能点,能更科学地估算项目规模。
  二、功能要素与界面估算方法的实施
  功能要素与界面分析方法特点是用功能点度量软件系统的规模,它主要从逻辑设计的角度出发对客户的功能进行量化、对客户需求的界面复杂度进行判别,相对于其它的方法,它侧重于从用户的角度分析软件的规模 。
  (一)软件项目调整前的规模估算
  在本文介绍的估算法中,软件项目被分解为各功能要素与界面,功能要素分类为EI(外部输入处理)、EO(外部输出处理)、EQ(外部查询处理)、ILF(内部逻辑文件)、EIF(外部接口文件),界面用WP表示。确定软件系统未调整功能点数量需要分如下步骤进行:
  1.分解项目,以模块确定功能点的计算范围
  首先,我们从用户角度识别程序的边界;如果牵扯到多个子系统,那么必须将这多个子系统的边界全部描述清楚。比如电商系统,涉及多个子系统,软件之间、模块之间数据交互频繁复杂,为防止各模块内部数据单元重复计算,应以每个模块作为功能点核算单元边界。
  2.识别项目的功能要素与界面
  依据项目需求说明书,识别功能点时要分别对待项目功能要素,对外部输入EI、外部输出EO、外部查询EQ复杂度的计算可理解为所需系统中间层的复杂度计算;而对内部逻辑文件ILF和外部接口文件EIF复杂度的计算可简单理解为对数据库复杂度的计算,对界面WP的复杂度可理解为界面层程序复杂度的实现。以电商系统为例:对某一商品的订购,可理解为外部输入。如果用户要查询自己的订单,可理解为外部查询EQ。如用户还要将自己的订单通过EXCEL导出,可理解为外部输出EO。系统中,会有很多界面,每个界面为一个WP。因此,依据用户分析软件规格书中的功能模块,列示出所需要进行编辑、查询、修改、输出等操作与界面,即可分别获得EI、EQ、EO、WP要素全集。
  同样,将用户需求说明书中可识别的业务对象,即由EI、EO、EQ所操作的数据文件、数据库表,按照最小逻辑独立组合的原则一一列示,就可以得到獲取内部逻辑文件UIF功能要素全集。同样,通过识别在其它应用提供的接口数据,则可得到外部接口文件功能要素全集。
  3.计算项目功能要素与界面功能点的数量
  依据功能要素及界面的类型、复杂度,确定每个功能要素所需要的功能点,统计形成功能要素统计表,即可计算软件未调整功能点的数量。依电商项目为例:表1


  其中基准功能点数,内部逻辑文件UIF为7,外部输入EI为3,外部查询EQ与外部输出EO都为2, 外部接口文件EIF为5,界面WP为7。
  然后,确定功能要素的复杂度,复杂度为高中低三档,对内部逻辑文件ILF,复杂度高中低分别对应功能点数为10、7、5;对应外部输入EI,复杂度高中低分别对应功能点数为4、3、2;对就外部查询EQ与外部输出EO,复杂度高中低分别对应功能点数为3、2、1;对应外部接口文件EIF,复杂度高中低分别对应功能点数为7、5、3;对应界面WP,一个商品类别的管理界面WP比较简单,复杂度定为低,电商网站的主页面比较复杂,复杂度就定为高。复杂度高中低分别对应功能点数为10、7、5。
  功能点数数量=基准功能点数量x复杂度调整因子
  所有功能要素之和即为未调整功能点的数量。
  (二)确定项目调整后的功能点数
  每个项目的开发,都会因为项目质量特性的要求不同、开发团队前景不同、所用开发语言的不同所需的开发工作量也不同,因此,这些因素应该作为项目开发工作量的调整因子。下表为项目不同应用类型的调整应子表:


  下图为根据开发语言与开发团队背景不同而设的调整应子:


  从不同维度,确定项目的各类特性,项目未调整功能点数总和x符合特性的调整因子,即为调整后的项目功能点数。
  (三)估算项目开发成本
  在确定了软件规模的功能点数后,即可根据软件开发公司的开发效率,估算出项目开发成本。如某软件开发公司开发效率为xx(功能点/人月)的话,则该项目整体工时为:
  项目功能点数/xx=人工月
  如知道该公司IT人员平均月工资后,
  则可估算出项目开发成本为:
  人工月*平均月工资。
  三、结论与应用
  功能点成本估算法是当前软件项目成本估算法比较有技术含量的一种方法,传统的功能点估算法一般只统计EI(外部输入处理)、EO(外部输出处理)、EQ(外部查询处理)、ILF(内部逻辑文件)、EIF(外部接口文件)五种功能要素,本文根据电商项目网页占很大开发比例的特点,引入了界面WP要素,作了有益的尝试。
  分析认为,功能点估算法在各项目开发的规模估算中并不是千篇一律的,执行者应根据不同项目的特征,对功能点法加以改进,摸索出最适合项目的度量方式,使项目估算更加有效。
其他文献
李克强总理在今年政府工作报告中明确提出,要大力推进“互联网+政务服务”,实现部门间数据共享,让居民和企业少跑腿、好办事、不添堵。当前,简政放权、深化行政审批制度改革对电子
调查显示,公共资源分布不均、办事流程复杂、信息更新不及时、重复提交材料.统计口径不一致、政民互动体验差,导致民众对政府所提供的服务不满意。这些都是因为数据不集中、不共
随着社会的进步和技术的发展,差不多每隔十年移动通信系统就会发生一次变革性换代,虽然现在正使用着第四代移动通信系统,但是我们已经站在了第五代移动通信系统部署的起点。
亚太经合组织(APEC)第十次电信部长会议于2015年3月30~31日在马来西亚吉隆坡举行,会议主题是“信息通信技术:助力未来增长”。会议审议通过了《APEC TEL 2016—2 0 2 0年战略
应用东菱克栓酶治疗周围血管血栓性疾病患者42例,定期进行血浆D二聚体监测,并与27例未进行溶栓治疗的周围血管血栓性疾病患者进行对照性研究。现将结果报告如下。1临床资料我科于1993年1月
本文详细的阐述了呼和浩特炼油厂法聚丙烯装置由络合Ⅱ型催化剂改用高效CS-1型催化剂进行工业放大试用情况。
刚收到最近出版的AdvancedCardiacLifeSup-port(ACLS)一书(1997),有关心肺复苏等内容较前二版(1987、1992)有很多更新,现拟陆续摘编,供同道们参考。该版建议,对心搏骤停病人,复苏过程应采取下列三阶段ABCD四步...
本文通过离体的血弟块,进行实验研究。观察尿激酸(UK)药物的纤溶效果,溶解时间及最低有效为治疗原发高血压脑室出血提供科学依据。采用UK引流术治疗原发性高血压脑室出血64例,血肿位于单
封入式MaplesonA麻醉通气系统(EMA)是最近发展的半开放回路,用仿生学模肺测定基估自主呼吸和控制呼吸时,所需最小新鲜气流量,为临床应用提供依据。首先,建立仿生学模肺,然后分别在自主呼吸模肺和
在认知时代,企业级市场的玩法存在多种可能,大家都在探索中寻找答案,究竟哪一个答案才是最佳答案?或许要几年之后才能揭晓。你知道吗?IBM在朋友圈里做广告了。11月7日,IBM献