51Testing软件测试论坛

标题: 哪位大虾可以讲下功能点估计法是怎么做的否 [打印本页]

作者: 七月上弦月    时间: 2008-4-16 15:22
标题: 哪位大虾可以讲下功能点估计法是怎么做的否
小弟在搞一个软件项目成本估计的方法,其中在看到功能点估计法的时候,对该方法理解不到位,哪位兄弟给点资料或实例,谢谢了
作者: hquyuer    时间: 2008-4-17 10:20
功能点的估算方法我们还没有实际的应用,我有个原来听过培训的笔记,希望对你有帮助
FPA概念overview
      用户视角:关注“what”而非“how”。
   根据用户的视角,分析用户需求,可以得到一个FP的估算结果,通过后期分析阶段,设计阶段,可以细化FP的估算结果。
   在作FP估算时需要考虑很多影响因素:产品的发布时间、生产效率、缺陷率、人力、时间、技术难题等等。
    功能点估算的方法有很多种,其中使用最广泛是IFPUG功能点分析法
FP计算过程
   1.        确定计算类型
     a)        项目(project)(评估项目活动)
       i.        新项目
       ii.        扩充项目(新版本的开发,项目的二次开发)
     b)        应用(application) 评估软件的资产(asset)
              i.        评估需求(requirements)
       ii.        评估已有软件资产(Existing assets)
       iii.        在项目完成之后进行评估(After project)
   2.        确定应用边界
      在区分边界的时候也要考虑是站在用户的角度看功能,而不是按照模块的划分方式,可以通过用户说明书,需求等文档分析归属,约定应用的边界。
     因为要涉及到输入输出以及存储文件的计算,边界就是这些项定义的参照物,所以边界的确定十分重要,边界定义不同,功能点最后计算的结果不一样。
   3.        确定功能类型
     功能点估算中有5种信息域需要进行描述:其中事务类的有EI,EO和EQ,数据存储类有ILF和EIF。
事务(transactions):EI、EO、EQ
          1)        外部输入EI(External Input)
        特点
       a)        原子性(Elementary process) 最基本的,不可再分的业务
       b)        来自边界外(cross boundary) 该功能是跨越边界的,是用户域引起的活动
       c)        修改数据或控制应用的行为(update data/control behavior of application)
       该功能改变了内部的数据(如增删改)
     2)        外部输出EO(External output)
       特点
       a)        原子性(Elementary process)
       b)          来自边界外(cross boundary)
       c)          运算后输出
       对内部的数据进行处理之后输出的结果(如sum之后打印)
      3)        外部查询EQ(External inquiry)
       特点
       a)        原子性(Elementary process)
       b)        来自边界外(cross boundary)
       c)        不修改数据或控制应用的行为或计算(no update or control/no calculation)
         对内部的数据不能改变也不能处理
文件(files):ILF、EIF
           注:文件专指逻辑文件,注意与物理文件不同。它们可能是一对一、一对多、多对一关系。逻辑文件是应用关心的,不关心实际的存储方式。
       1)        内部逻辑文件ILF(internal logical file):可以理解为业务对象,有些情况下对应数据表
       特点
       a)        Updated(至少存在于一个EI中)
    还是需要站在用户的角度,对用户而言是个有意义的文件,是个逻辑文件不是物理存在的文件,在计算时需要避免重复计算。(如临时文件不是ILF),EI修改了的文件是ILF。
      2)        外部接口文件EIF:其它应用提供的接口数据
      特点
       a)        至少存在于一个来自另一应用边界的EI中.
            (提供一些参考信息来协助完成这个其他应用的EI)
    4.        功能复杂度
        等级:低(L)、中(A)、高(H)
       事务类型(EI、EO、EQ)衡量标准
     1)        DET是以下三项之和:
        a)        字段Field(应用中可操作的字段,不关心实际表中的字段)
        b)        Trigger(触发事件的操作)
        c)        Message(0或1,指有无错误校验)
     2)        FTR是以下两项之和:
        a)        ILF数
        b)        EIF数
   文件类型(ILF、EIF)衡量标准
     1)        DET
               a)        逻辑文件数
     2)        RET(Record Element Types)
       a)        主文件数(key)
       b)        子文件数(subgroup)
   5.        FP的调整
    GSC(General System Characteristic)
  一共有14个调整因素(TDI),每个调整因素的分数为0~5
     根据估算出来的大致的FP估算内容,按照14个调整因素进行打分,计算总和(TDI)
   计算功能点
        1.        VAF=TDI/100+0.65  VAF为调整因子,范围为0.65~1.35之间
        2.        AFP=UFP*VAF(UFP指未经调整的FP) AFP为调整后的FP估算值
        3.        扩充项目的功能点计算
        1)        项目功能点计算
          Project FP=新增功能+需要改变的功能+需要删除的功能+转化的功能
        2)        应用功能点计算
        Application FP=原始项目功能点+新增的功能点-删除的功能点+改变的功能点
建议参与功能点估算的人员
        熟悉FP算法的人
        相关文档的编写人员
        功能分析人员
        需求分析人员
        项目经理
此外,FP估算的过程应该文档化,保留所有的估算的过程。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2