1企业软件估算培训有效的项目估算有效的项目估算有效的项目估算高级咨询师李健2006年7月25日2006-7-25第2页@vip.sina.com估算基础功能点(FP)估计其他估算方法估算的实施要点估算基础估算基础功能点(功能点(FPFP)估计)估计其他估算方法其他估算方法估算的实施要点估算的实施要点提纲22006-7-25第3页@vip.sina.com估计与度量•客观度量和主观度量–主观度量是人的主观判断结果,主观度量也可以是在客观数据基础上的分析结果。–客观度量是过程或产品的实际结果,客观度量在一定程度上就减少了人为的主观影响。•绝对度量和相对度量–绝对度量其度量值的取得是没有参照物或没有其他的依赖关系,比如一个程序模块的大小具有绝对的代码行数,其他代码模块的变化不影响该模块的大小。–相对度量是其度量值的取得具有参照物或与其他属性的有依赖关系,比如过程生产率依赖于过程时间和过程产出的规模。•显式度量和隐式度量–显示度量是可直接得到数据的度量,例如编程时间是显式度量。–隐式度量是对原始度量数据进行运算或结合多个度量分析得到的结果,例如个人编程效率。•动态度量和静态度量–动态度量是两维以上的度量。–静态度量是一维度量。•预测度量和解释度量(估计/基线与控制)•内部度量和外部度量–软件组织内部和软件组织外部,项目组内部与项目组外部,项目内小组之间。2006-7-25第4页@vip.sina.com估计与度量度量的目的理解过程管理过程发现过程评价过程预测过程控制过程改善过程决策支持32006-7-25第5页@vip.sina.comIT项目估计估计内容–规模、工作量、进度、成本典型的估计技术途径–参数模型估计方式(自顶向下:FP/KLOC/UseCases)–工程估计(自底向上)–类似项目估计(经验值/DELPHI)–应用简单估计关系模型(历史统计数据)2006-7-25第6页@vip.sina.comIT项目估计内容关系技术能力过程依从性稳定性资源和费用时间与进度产品和服务质量客户满意度生产率42006-7-25第7页@vip.sina.com估算基础功能点(FP)估计FP基础其他估算方法估算的实施要点估算基础估算基础功能点(功能点(FPFP)估计)估计FPFP基础基础其他估算方法其他估算方法估算的实施要点估算的实施要点提纲2006-7-25第8页@vip.sina.comFP`FP的产生`FP的目的▪从用户角度度量系统产品的功能▪独立于技术度量系统产品开发和维护▪简化度量过程▪在不同项目和组织间建立可比较的度量`FP的用处▪明确采购产品的规模▪产品开发的规模▪衡量生产率52006-7-25第9页@vip.sina.comFP应用类型•FP的类型开发项目的FP应用:在项目开发的全过程应用升级项目的FP应用:维护和产品升级产品项目的FP应用:用于衡量维护的规模和工作量2006-7-25第10页@vip.sina.comFP计算类型之间的关系估计功能点(开发项目)最终功能点(开发项目)最终功能点(升级项目)估计功能点(升级项目)产品功能点开发完成升级完成生成更新62006-7-25第11页@vip.sina.comFP的基本元素和概念IFPUG(InternationalFunctionPointUserGroup)事务处理类(活动)•EI(外部输入)•EO(外部输出)•EQ(外部查询)数据和信息类•ILF(内部逻辑文件)•EIF(外部接口文件)•FTR(文件类型引用)•DET(数据元类型)•RET(记录类型)计算类•UAF(基础功能点)•VAF(功能点加权系数)•AFP(产品升级后的功能点)•AFPB(产品的功能点基线)•CFP(转换功能点)•DFP(开发项目的功能点)•EFP(升级项目系统的功能点)•UFP(基础功能点)•UAFB(升级前的基础功能点)•VAFA(升级后的加权系数)•VAFB(升级前的加权系数)其他•GSCs(通用系统特征)2006-7-25第12页@vip.sina.comFP基础–ILF&EIF`ILF定义–通过外部输入(EI)来维护(增、删、改)的逻辑关联的数据。–数据全部驻留在系统边界的内部。`EIF定义–仅用于被引用的逻辑关联的数据。–数据完全驻留在系统边界的外部。`FTR定义–被事务处理(EI、EO、EQ)引用的文件类型;–FTR必须是EIF或ILF。72006-7-25第13页@vip.sina.comFP基础–ILF&EIF?系统开发中的物理文件与ILF的关系?怎样决定EIF和ILF的复杂度2006-7-25第14页@vip.sina.comFP基础–RET和DET`RET定义–用户识别的数据元集合;–在EIF或ILF中;–用于表示EIF或ILF的复杂度。`DET定义–用户识别的的唯一的、不重复、不循环的数据域;–DET是动态的、不是静态的。82006-7-25第15页@vip.sina.comDET识别2006-7-25第16页@vip.sina.comFP基础–EI&EO&EQ`EI定义–外部输入(EI)是一个过程,在这个过程中数据从外到内穿越系统的边界。–数据可能用于维护一个或多个ILF。–数据可能是控制信息和业务信息,以及基于数据的一些规则;控制信息不用维护ILF,如果是业务信息就可能用来维护一个ILF。`EO定义–外部输出(EI)是一个过程,在这个过程中导出数据从内到外穿越系统的边界。`EQ定义–外部查询(EI)是一个过程,在这个过程中有输入和输出部件,结果是从ILF或EIF中取出信息。92006-7-25第17页@vip.sina.comEI、EO和EQN/AN/APIFFPIPIPIF改变系统的行为(状态)维护一个或多个ILF为用户展示信息EQEOEI功能2006-7-25第18页@vip.sina.comFP元素基本关系102006-7-25第19页@vip.sina.comFP基本组成–样例2006-7-25第20页@vip.sina.com估算基础功能点(FP)估计FP应用的过程其他估算方法估算的实施要点估算基础估算基础功能点(功能点(FPFP)估计)估计FPFP应用的过程应用的过程其他估算方法其他估算方法估算的实施要点估算的实施要点提纲112006-7-25第21页@vip.sina.comFP应用高层过程2006-7-25第22页@vip.sina.comFP应用过程明确FP类型识别系统范围计算事务处理FP计算数据FP计算加权系数(VAF)计算基础FP(UFP)计算系统标准FP(AFP)122006-7-25第23页@vip.sina.comFP事务处理计算过程2006-7-25第24页@vip.sina.comFP数据计算过程132006-7-25第25页@vip.sina.com建立项目系统界限9基于用户视角划定系统边界,建立系统的界限;9相关应用之间的区分是基于不同的功能区域,从用户视角看而不是技术角度看;9已划定的系统界限不受估计范围的变化而影响2006-7-25第26页@vip.sina.com估算基础功能点(FP)估计计算事务处理FP其他估算方法估算的实施要点估算基础估算基础功能点(功能点(FPFP)估计)估计计算事务处理计算事务处理FPFP其他估算方法其他估算方法估算的实施要点估算的实施要点提纲142006-7-25第27页@vip.sina.comFP事物处理计算过程2006-7-25第28页@vip.sina.com典型的逻辑处理与EI、EO、EQCCC13.数据进行了分类和组织CCM12.具备从系统外部接受数据或控制信息的能力MM*C11.为系统外部准备和展示信息NM*M*10.系统的行为改变了NM*C9.从已有数据中导出数据MCC8.获取数据和控制信息MCC7.引用一个或多个ILF或EIFNM*M*6.更新一个或多个ILFCCC5.分析条件以进行合理的处理CCC4.数据过滤和数据选择CCC3.数据转换nM*C2.执行数学运算CCC1.执行数据确认EQEOEI逻辑处理152006-7-25第29页@vip.sina.comEI、EO、EQ计算步骤2006-7-25第30页@vip.sina.comEI、EO、EQ计算规则`过程识别规则–规则1:对用户有意义的最小活动单元;–规则2:过程是独立的,保持系统的一致性;`EI计算规则–维护ILF或改变系统行为状态;–数据或控制信息是从系统外部传入;–如果信息不是控制信息,那么至少维护了一个ILF;–唯一性规则•两个EI处理逻辑不同;•EI中的DETs不同;•引用的EIF或ILF不同;162006-7-25第32页@vip.sina.comEI、EO、EQ计算规则`EO和EQ通用过程规则–向用户展示了信息;`EO和EQ通用计算规则–数据或控制信息是向系统外部输出的;–唯一性规则•两个EO或EQ处理逻辑不同;•两个EQ或EQ中的DETs不同;•引用的EIF或ILF不同;`EO计算规则–处理过程至少包含一个数学公式或运算;–处理过程将导出数据;–至少维护一个ILF;–处理逻辑改变了系统行为。2006-7-25第33页@vip.sina.comEI、EO、EQ计算规则`EQ计算规则–处理过程从ILF或EIF中取信息;–?数学计算;–?导出数据;–?维护ILF;–?改变系统行为172006-7-25第34页@vip.sina.comEI、EO和EQ的计算EI:EO:EQ:2006-7-25第35页@vip.sina.comEI中计算FTR和DET`FTR计算规则–每个维护的ILF计算一个FTR;–在EI过程中读取的每个ILF或EIF算一个FTR;–只计算为一个FTR如果既读有维护了一个ILF。`DET计算规则–1个DET:用户输入内容;–0