功能点估算方法FunctionalSizeMeasurement,FSMFPA20142014年年1 1月月FPFP方法概述方法概述内内 容容FPFP估算过程估算过程FPFP估算案例估算案例FPFP估算演练估算演练•概念•价值•应用•步骤•规则•案例一•案例二项目倒排期项目倒排期加班赶工期加班赶工期项目延期项目延期资源抱怨压资源抱怨压力太大力太大不够敬业不够敬业??不思进取不思进取??监控不足监控不足??技能不够技能不够??资源投入资源投入不够?不够?缺乏行之有效的项目计划缺乏行之有效的项目计划缺乏有效的估算方法与缺乏有效的估算方法与缺乏有效的估算方法与缺乏有效的估算方法与过过程程程程提口号时拍脑袋做事情时拍胸脯出事情后拍大腿最后拍屁股走人1.FP估算方法概述概念概念功能点估算•用于对软件规模进行度量•软件量化管理的基础•非标准度量方法——主观性强,难以保证估算的一致性•标准度量方法——客观标准,保证估算的一致性软件源代码行、对象点、需求数量、用例数、文档页码20世纪70年代提出,演进为一个总标准(ISO14143)与5个子标准MarkII、COSMIC、NESMA、FISMA、IFPUG概念概念ü软件功能规模是指通过量化功能用户需求而得到的软件规模。
软件规模用功能点(FP)来表示,即功能点是IFPUG功能规模的度量单位üIFPUG功能规模度量(FunctionalSizeMeasurement,FSM)是用功能点分析(FPA)方法来度量软件功能规模的活动FPFP的目的的目的•一个成功的软件项目首先要有一个好的起点,也就是一个合理的项目计划;一个好的项目计划,离不开一个准确的、可信的、客观的项目估算数据作为基础•之所以要先制定项目计划,目的就是为了让项目更加可控•加班是对不负责任的进度承诺的惩罚缺乏有效的估算方法与过程导致无法制缺乏有效的估算方法与过程导致无法制缺乏有效的估算方法与过程导致无法制缺乏有效的估算方法与过程导致无法制定出准确的项目计划定出准确的项目计划定出准确的项目计划定出准确的项目计划ü更准确的项目规模ü更客观的项目进度和预算ü项目的可预测性ü更早的风险识别•仅仅通过估算实践本身并不能获得准确的估算结果,还需要通过有效的项目控制•FP的首要目标不是预测项目的结果,而是确定项目目标是否足够现实,从而让项目在可控的状态下达到这些目标•估算无需非常准确,但是要有用FPFP的价值的价值ü工作量估算ü人力成本预算FPFP的应用的应用生产率生产率工资工资平均成本平均成本项目能否按期交付?项目能否按期交付?项目的收益?项目的收益?FP项目功能点项目功能点/ /生产率生产率= =项目工作量项目工作量资源个数*平均工资资源个数*平均工资= =资源成本资源成本2.FP估算过程FP估算步骤确定项目的计数范围确定项目的计数范围•新开发项目•开发并交付软件应用的第一个正式版本项目•升级项目•开发并交付修改后的项目,包括所有被增加、修改和删除的功能•功能增强性项目•单一功能改造的项目分析需求,识别边界分析需求,识别边界IFPUG标准中给出了识别应用边界的规则•边界的定义必须基于用户的视角,边界必须是用户能够理解和描述的;•相关应用之间的边界是由用户看到的不同功能区域来划分,而不是由技术考虑来划分的;•应用之间初始的边界不会因为功能点分析而改变。
在升级项目中,如果原先的应用已经识别了边界,则边界不需要重新识别在升级项目中,如果原先的应用已经识别了边界,则边界不需要重新识别•事务功能•EI:ExternalInput外部输入•用户通过界面向系统输入,目的是维护ILF或更改系统的行为•如:增、删、改的操作•EO:ExternalOutput外部输出•系统向用户输出,通过逻辑处理派生数据•如:导出、报表、打印、出错信息•EQ:ExternalQueries外部查询•系统向边界外发送数据,该数据未经加工•如:查询区分功能点区分功能点•数据功能•ILF:InternalLogicalFiles内部逻辑文件•用户角度识别的,被系统边界内维护的数据或控制信息•数据库的表、独立的文件•用户看到的一个完整业务逻辑对象,在系统内部可能对应多个数据表•EIF:ExternalInterfaceFiles外部接口文件•被其他系统维护的,本系统需要调用的数据几个关注点几个关注点ü每个事务功能都是唯一的基本过程ü每个基本过程都由一个或多个处理逻辑来实现ü代码数据不能算作数据功能ü数据功能的维护、获取都需要通过事务功能来进行ü控制信息是影响基本过程的数据,也需要考虑数据功能功能点识别规则功能点识别规则•识别EI\EO\EQ的规则有哪些?•EI的识别规则•EQ\EO的识别规则•如何正确区分EI\EO\EQ?•EI\EO\EQ的区分•如何正确识别ILF\EIF?•ILF的识别规则•EIF的识别规则•事务型功能点复杂度•DET:通过界面录入的具体数据项•FTR:事务功能需要操作的数据文件的数目•数据存储类的复杂度•DET:具体数据存储文件的数据项(字段)的数目。
•RET:一个EIL\ILF中用户可以识别的DET的集合计算功能点的复杂度计算功能点的复杂度•EI复杂度计算规则•EO/EQ复杂度计算规则•ILF复杂度计算规则•EIL复杂度计算规则调整影响因子调整影响因子影响程度级别影响状况0不存在或者没有影响1偶尔的影响2轻微的影响3中等的影响4显著的影响5强烈的影响●1.数据通讯●2.分布式数据处理●3.性能●4.使用强度高的配置●5.事务处理率●6.数据输入●7.最终用户的效率●8.更新●9.复杂的处理●10.可重用性●11.安装的简易性●12.运行的简易性●13.多场地●14.允许变更•新开发项目•DFP=UFP*VAF•二次开发项目(若有前期估算基础)(若有前期估算基础)•EFP=[(ADD+CHGA+CFP)×VAFA]+(DEL×VAFB)•功能增强(若有前期估算基础)(若有前期估算基础)•AFP=[(UFPB+ADD+CHGA)-(CHGB+DEL)]×VAFA计算结果输出计算结果输出术语中文含义UFP未调整的功能点复杂度VAF功能点的调整因子的计算公式ADD新增的功能点复杂度CHGA修改的功能点,未调整的功能点复杂度CFP转换功能的功能点复杂度VAFA升级后的功能点调整因子DEL被删除的功能点复杂度VAFB升级前的功能点调整因子UFPB改造前的未调整的功能点复杂度CHGB修改的功能点,修改之前的功能点复杂度小结小结FP计算过程•收集可得到的文档•确定计数范围和边界,识别功能用户需求•度量数据功能•度量事务功能•调整因子,计算功能规模数据功能度量过程•识别数据功能(借助识别规则)•分类数据功能ILF\EIF•判断RET和DET(借助计算规则)•根据复杂度判定表计算复杂度•根据复杂性转换表计算功能规模事务功能度量过程•识别事务功能(借助识别规则)•分类事务功能EI\EO\EQ•判断FTR和DET(借助计算规则)•根据复杂度判定表计算复杂度•根据复杂性转换表计算功能规模3.FP估算案例案例一:卡案例一:卡binbin风控接口风控接口参数校验获取银行信息风控控用例图区分功能点区分功能点•数据型•card_bin_info_mgr-ILF•BankNo※•CardBin•CardType※•BankName※•RespCode-系统计算结果•RespDesc-系统计算结果•事务型•获取银行信息—接收卡bin,查询对应银行信息,返回结果;对卡bin进行参数校验,校验不通过则返回校验失败信息。
确定数据分类确定数据分类•card_bin_info_mgr用户可识别的数据表或控制信息,并且数据是逻辑成立的数据表是被边界内的基本处理过程来维护的üBankNo※üCardBinüCardType※üBankName※üRespCode-系统计算结果üRespDesc-系统计算结果结论:一个ILF确定事务分类确定事务分类•获取银行信息该事务是否符合EI/EO/EQ的目的?EI:以修改ILF为目的EO:返回一个经过计算的结果EQ:返回查询的结果结论:一个EO计算计算ILF\EIFILF\EIF复杂度复杂度ILFILFRETRETDETDET个数个数复杂度复杂度未调整的未调整的FPFP个数个数card_bin_info_mgr1 16 6低低7 7RET计数规则是否适用该规则ILF或EIF的每个可选的或强制的分组算作一个RET如果没有分组,则将ILF或EIF作为一个RET无强制分组一个ILFDET计数规则是否适用该规则唯一的字段,通过程序维护的用户可区分的非重复字段,算作一个DET每个字段都是唯一的当两个程序引用同一个ILF\EIF,但各自维护、引用的是各自的DET,则只计算各自使用的DET用户需要用来与另一个ILF\EIF建立关系的每一条数据都计算为一个DET---主外键计算计算EI\EO\EQEI\EO\EQ的复杂度的复杂度EOEOFTRFTRDETDET个数个数复杂度复杂度未调整的未调整的FPFP个数个数获取银行信息获取银行信息FTR计数规则是否适用该规则在基本进程的处理过程中每读取一个ILF或EIF计为一个FTR读取card_bin_info_mgr每个被维护的ILF计为一个FTR否即被读取又被维护的ILF算作一个FTR否1 1EO-DET计数规则是否适用该规则用户可识别的非重复的字段进入应用边界并且指明处理什么、何时处理或处理方式并且由EO/EQ返回或产生,那么每个字段算一个DET否每个发出应用边界的用户可识别的非重复字段算一个DET6如果字段同时进入发出边界,对该EO/EQ来说,只算一个DET如果应用能够发送一个系统响应信息(如:说明过程中发生错误,确认处理过程已经完成,确认处理过程应该继续)到应用边界之外,这种能力算一个DET1即使有多种方法调用同一逻辑过程,也只能为这一特定动作计算一个DET对那些虽然被保存、返回、派生的没有穿越边界的字段不计算DET文字的,页面的,系统产生的标签不计算DETEOEOFTRFTRDETDET个数个数复杂度复杂度未调整的未调整的FPFP个数个数获取银行信息获取银行信息1 17 7低低4 4(调整前)总FP的个数:UFP=11调整因子参数参数名称影响程度等级(TDI)T1数据通讯5T2分布式数据处理1T3性能3T4使用强度高的配置0T5交易速度3T6数据输入5T7最终用户的效率0T8更新3T9复杂的处理0T10可重用性3T11安装的简易性0T12运行的简易性0T13多场地0T14允许变更3影响程度级别 影响状况0不存在或者没有影响1偶尔的影响2轻微的影响3中等的影响4显著的影响5强烈的影响(调整系数TDI=26TDI=26计算调整因子计算调整因子计算结果计算结果计算结果计算结果DFP = UFP * VAF=11*UFP=11TDI=26TDI=26EI、、EO、、EQ、、ILF、、EIF的复的复杂度度总和和调整因子整因子总和和调整系数整系数FP计算算结果果用户需求•用户要求保存客户的销售交易情况。
在信息保存之前,可以查看每项交易金额的交易总额若用户不存在提示出错Sales TransactionCustomer Name:Transaction Date:CostItemQtyatItem CostItem Total¥.¥.¥.¥.¥.¥.¥.¥.Sub TotalSales TaxTotal¥.¥.¥.F1=Save案例二:客户交易记录处理案例二:客户交易记录处理•客户姓名•交易日期•单项•数量•商品单价•商品总价•交易小计•销售税•交易合计商品库销售记录EOEIEQE EI IFTRFTRDETDET个数个数复杂度复杂度未调整的未调整的FPFP个数个数销售记录销售记录 保存保存销售商品销售商品、、销售记录销售记录2 2客户姓名、交易客户姓名、交易日期、单项、数日期、单项、数量、量、商品单价商品单价、、商品总价、交易商品总价、交易小计、销售税、小计、销售税、交易合计、交易合计、F1F1保保存、报错信息存、报错信息1111中中4 4数据功能数据功能RETRETDETDET个数个数复杂度复杂度未调整的未调整的FPFP个数个数EIFEIF销售商品销售商品1 1 单项、商品单价单项、商品单价低低5 5ILFILF销售记录销售记录1 1客户姓名、交易客户姓名、交易日期、单项、数日期、单项、数量、商品总价、量、商品总价、交易小计、销售交易小计、销售税、交易合计税、交易合计低低7 7保存算一个保存算一个EI,,查询并并汇总算一个算一个EO吗??计算过程计算过程第一步:分析项目特点,确定计算范围和边界第二步:度量数据功能第二步:度量数据功能第三步:度量事务功能第三步:度量事务功能第四步:计算功能规模•识别数据功能•把数据功能分类为ILF或EIF•识别数据功能的DET和RET•识别基本过程并确定其唯一性•把基本过程分类为EI\EO\EQ•识别事务功能的FTR和DET•调整计算因子•按公式计算结果,输出估算文档•确定数据功能的复杂性•计算数据功能的功能规模•确定事务功能的复杂性•计算事务功能的功能规模识别数据功能•识别计算范围内所有逻辑相关的用户可识别的数据组或控制信息•排除不被任何应用维护的实体•分组实体依赖的相关实体•排除代码数据实体•排除不包含用户要求的属性的实体•去掉包含非用户要求的附加属性的关联实体以及仅包含外键的关联实体;销售记录(维护)、销售商品(读取)把数据功能分类为ILF或EIF•ILF的识别规则、EIF的识别规则客户的销售交易情况被应用维护,因此是一个ILF识别数据功能的DET•ILF的计算规则销售记录:客户姓名、交易日期、单项、数量、商品总价、交易小计、销售税、交易合计识别数据功能的RET•把每个数据功能当做一个RET。
•数据功能中的每个逻辑子集当做一个RET确定数据功能的复杂性和功能规模ILF\EIF的复杂度计算数据功能的度量过程数据功能的度量过程识别基本过程并确定唯一性•对用户有意义•构成一个完整的事务•自包含•使应用的业务保持持续状态•如果基本过程的DET、FTR、处理逻辑相同,只能算一个查询销售记录与保存记录有共同的DET、FTR、处理逻辑,因此只能算一个基本事务把基本过程分类为EI\EO或EQ•EI的识别规则、EO\EQ的识别规则客户销售记录保存,修改了ILF,且接收了进入边界内的数据识别事务功能的DET•EI的复杂度计算、EO\EQ的复杂度计算(1)客户姓名、交易日期、单项、数量、商品单价、商品总价、交易小计、销售税、交易合计(2)F1保存(3)错误提示识别事务功能的FTR维护销售记录ILF从商品库的ILF中获取该商品的单价确定事务功能的复杂性和功能规模EI、EO、EQ的复杂度计算事务功能的度量过程事务功能的度量过程4.FP估算演练图书借阅管理图书借阅管理图书借阅管理图书借阅图书续借图书归还归还提醒u图书借阅管理需求分析u图书借阅管理数据功能复杂度估算u图书借阅管理事务功能复杂度估算u计算结果目的目的EIEIEOEOEQEQ改变应用程序的属性或行为 主要目的次要目的不允许维护一个或多个ILF主要目的次要目的不允许显示信息给用户次要目的主要目的主要目的行为行为EIEIEOEOEQEQ数学公式或计算被执行可以至少选择一次不可以至少一个ILF被修改至少选择一次至少选择一次不可以至少一个ILF或EIF被引用可选可选必选数据被重新恢复可选可选必选派生数据被创建可选至少选择一次不可以应用程序的行为或属性被修改至少选择一次至少选择一次不可以准备或呈现信息到系统边界外可选必选必选接受进入系统边界内的数据必须可选可选附录附录EIEI、、EOEO、、EQEQ的区别的区别1.从应用边界之外收到数据。
2.如果进入系统边界内的数据不是一个改变系统行为改变系统行为的控制信息,那么至少一个至少一个ILFILF应该被改变应该被改变3.对于已识别的处理过程,至少满足下面三个条件之一•该基本处理过程的逻辑与本应用系统中其它基本处理过程的逻辑不同该基本处理过程应该具有唯一性例如:不能存在两个完全一模一样的存盘操作•在应用程序边界内,该基本处理过程所使用的这组数据应该与其他基本处理过程所使用的数据不同•在应用程序边界内,基本处理过程所引用的ILF或EIF是不同于其它基本处理过程所引用的ILF或EIFEIEI的判断规则的判断规则相同的DET、RET,相同的处理逻辑,则是相同的事务功能1.1.EIEI中识别中识别FTRFTR规则规则•每一个ILF应该算做一个FTR•通过EI读取操作的每个ILF或EIF都应该被计算为一个FTR•即被EI维护又被读取的ILF仅计算一个FTR2.2.EIEI中识别中识别DETDET规则规则•在EI的过程中,以用户角度识别的,通过应用系统边界输入系统内部的非重复的字段,那么该字段应算一个DET•如果在EI过程中,只要没有通过系统边界输入,就算它存在于系统内的一个ILF中,也不能算为一个DET。
例如外贸订单系统中,订单的金额是被单价和数量自动计算的,那么金额是没有通过系统边界输入的,因此在EI操作中就不应该算做一个DET•在应用程序的EI操作时,系统提示的错误信息或完成操作的信息,应该被分别计算为一个DET例如在网站注册用户信息时,由于输入错误系统会显示提示信息,那么这些提示信息应该被逐个计算为一个DET•当EI操作完成时系统提示并显示出来的信息,应该被计算为DET•在EI操作中如果遇到主外键的字段,应该算作一个DETEIEI的复杂度计算的复杂度计算必须全部满足以下内容才能被视为一个必须全部满足以下内容才能被视为一个EOEO或或EQEQ::1、 从外部发送数据或控制信息到应用程序边界内2、 为了识别这个过程,以下三点必须满足一个:•该基本处理过程逻辑上必须是唯一的,该唯一性是指其在应用程序中与其他EO或EQ的逻辑性上保持唯一•该基本处理过程所使用的数据应该是唯一的,该唯一性是指其在应用程序中与其他EO或EQ所使用的数据不同•该基本处理过程所引用的ILF或EIF文件应该是唯一的,该唯一性是指其在应用程序中与其他EO或EQ所引用的ILF或EIF文件不同EQEQ补充的计算规则补充的计算规则除了要满足上面的通用规则外,还要满足下面所有条件:•基本操作过程从ILF或EIF中获取数据。
•基本操作过程不能包含数学公式或计算方法•基本操作过程不能生成派生数据•基本操作过程不能维护任何一个ILF•基本操作过程不能改变系统的行为EOEO补充的计算规则补充的计算规则除了要满足上面的通用规则外,还要满足下面所有条件之一:•在基本操作过程中至少包含一个数学公式或计算方法•在基本操作过程中要产生派生数据•在基本操作过程中至少要维护一个ILF•在基本操作过程中要改变系统的行为EOEO、、EQEQ的判断规则的判断规则1.每个在EO/EQ处理过程中读取的ILF和EIF算一个FTR2.EO额外的FTR计算规则•在EO处理过程中每个被维护的ILF算一个FTR•在EO处理过程中既被读取又被维护的ILF算一个FTREOEO和和EQEQ计算计算DETDET的通用规则的通用规则•用户可识别的非重复的字段,进入应用边界并且指明处理什么,何时处理或处理方式,并且由EO/EQ返回或产生,那么这样的每个字段算一个DET例如在报表中的每个字段都是一个DET•在应用边界内以用户角度识别的,非重复字段算一个DET例如在报表上起到解释或备注作用的文字信息,不管它是一个字、一个词或一段话,都当作一个DET例如某种编号或日期,就算它被物理存储在不同字段中,但从用户角度来看是一个整体的信息,因此被算作一个DET例如在饼图中百分比和分类算作不同的DET。
•在EO或者EQ操作中,如果对系统进行输入或读取操作时,相同的字段只计算一个DET例如在报表查询时,输入的字段在报表上也有显示,那么将算作同一个DET•在应用程序的EO或EQ操作时,系统提示的错误信息或完成操作的信息,应该被计算为DET例如用户查询一个列表时被拒绝,那么拒绝的提示信息就算为一个DET•在EO或EQ操作中如果遇到主外键的字段,应该算作一个DET•如果在EO或EQ过程中,只要没有通过系统边界输入,就算它存在于系统内的一个ILF中,也不能算为一个DET 在公司发工资的时候,员工对应的状态信息被更新,但这个状态信息的更新是没有通过系统 边界输入的,因此也不能算做一个DET•页面的标题等类似的信息不计算DET•系统字段生成的记号不能被算作一个DETEO\EQEO\EQ的复杂度计算的复杂度计算1.数据组或控制信息是逻辑的逻辑的并且是用户可识别用户可识别的的2.数据组由被计数的应用程序边界内的基本处理来维护ILFILF的判断规则的判断规则ILFILF的复杂度计算的复杂度计算计算计算DETDET的规则的规则1.将通过执行基本处理而维护于或检索自某ILF或EIF的、唯一的、用户可区分的非重复字段非重复字段,算作一个DET。
2.当两个应用程序维护和/或引用同一个ILF/EIF,但各自维护/引用的是各自的DET,则只计数正被每个应用程序各自使用的DET,从而确定该ILF/EIF的规模3.用户需要用来与另一个ILF或EIL建立关联的每一条数据都计数为一个DET(主外键)4.考察相关属性来确定它们是否组成一个DET或算作多个DET(取决于事务功能如何使用这些属性)计算计算RETRET的规则的规则1.ILF或EIF的每个可选的或强制的分组算作一个RET2.如果没有分组,则将ILF或EIF作为一个RET1.数据组或控制信息是逻辑的逻辑的并且是用户可确认用户可确认的的2.数据组被计数的应用程序边界外的基本处理来维护3.被计数的应用程序不维护该数据组4.数据组在另一个应用程序的ILF中被维护EIFEIF的判断规则的判断规则EIFEIF的复杂度计算的复杂度计算计算计算DETDET的规则的规则1.将通过执行基本处理而维护于或检索自某ILF或EIF的、唯一的、用户可区分的非重复字段非重复字段,算作一个DET2.当两个应用程序维护和/或引用同一个ILF/EIF,但各自维护/引用的是各自的DET,则只计数正被每个应用程序各自使用的DET,从而确定该ILF/EIF的规模。
3.用户需要用来与另一个ILF或EIL建立关联的每一条数据都计数为一个DET(主外键)计算计算RETRET的规则的规则1.ILF或EIF的每个可选的或强制的分组算作一个RET2.如果没有分组,则将ILF或EIF作为一个RETEI等价功能点取值标准EI复杂度低中高功能点数346EI复杂度 1~4个DET4~15个DET16个以上DET0~1个FTR低低中2个FTR低中高3个以上FTR中高高EO复杂度 1~5个DET6~19个DET20个以上DET0~1个FTR低低中2-3个FTR低中高4个以上FTR中高高EO等价功能点取值标准EO复杂度低中高功能点数457EQ复杂度 1~5个DET6~19个DET20个以上DET0~1个FTR低低中2-3个FTR低中高4个以上FTR中高高EQ等价功能点取值标准EQ复杂度低中高功能点数457ILF、EIF复杂度 1~19个DET20~50个DET51个以上DET1个RET低低中2-5个RET低中高6个以上RET中高高ILF、EIF等价功能点取值标准复杂度低中高ILF数71015EIF数5710影响因子影响因子- -数据通讯数据通讯数据通讯是指应用程序直接与处理器通讯的程度影响程度级别评分规则0应用程序是单纯的批处理1一种批处理过程,但包含远程数据的录入或远程打印2一种批处理过程,但包含远程数据的录入和远程打印3包括数据收集或是远程处理的前端应用4不单是前端应用,还支持一种远程处理通讯协议5不单是前端应用,还支持多于一种的远程处理通讯协议影响因子影响因子- -分布式数据处理分布式数据处理分布式数据处理是应用在内部组件之间传递信息的程度影响程度级别评分规则0应用程序不支持组件之间的数据传输和处理1为用户可能进行的处理准备数据2所准备的数据是另外一个组件上传输和处理,并非终端用户所处理3分布式处理和数据传输是的,且是单向的4分布式处理和数据传输是的,并且是双向的5由系统中最恰当的组件动态地执行处理功能影响因子影响因子- -性能性能性能是吞吐量、响应时间等指标对开发的影响影响程度级别评分规则0用户没有提出性能方面的要求1提出性能和设计方面的要求,但不需采取特定措施2响应时间和吞吐量在系统峰值时是关键的,但不需采取CPU使用方面的特殊设计3任何时候响应时间和吞吐量都是关键的,但不需采取CPU使用方面的特殊设计4处理的完成期限比较严格,在设计阶段就要进行性能分析5在设计和实施阶段需要使用性能分析工具来判断性能要求的完成情况影响因子影响因子- -使用强度高的配置使用强度高的配置使用强度高的配置是从业务的角度分析计算机资源对应用开发的影响程度影响程度级别评分规则0没有明确的运行方面的限制1有运行方面的限制,但不需采取特别的措施以满足运行限制2有安全和时间方面的限制3某些组件对CPU有特定的要求4已提出的运行限制对CPU有特殊的要求5应用的分布式组件受到限制影响因子影响因子- -事务处理率事务处理率事务处理率是交易频率对系统的设计、实施、安装和支持等的影响影响程度级别评分规则0不会出现周期性的高峰事务处理期1会有周期性的高峰事务处理期2每周都会出现高峰事务处理期3每天都会出现高峰事务处理期4用户对事务率要求很高,因此必须在设计阶段进行性能分析5进行性能分析并在设计、开发和安装阶段中使用到性能分析工具影响因子影响因子- -数据输入数据输入数据输入是指数据通过交互的方式从外部输入系统的程度影响程度级别评分规则0所有事务都是批处理11%~7%的事务是以交互式的方式进行数据录入28%~15%316%~23%424%~30%530%以上影响因子影响因子- -最终用户效率最终用户效率最终用户效率是指对应用的人性化及使用的便捷程度等的考虑程度影响程度级别评分规则0以上的一个都不包括11~3个24~5个36个或以上,但没有对效率的要求46个或以上,对效率有较高要求,必须考虑用户方面的设计56个或以上,开发人员须使用特定的工具和流程来判定要求已被达成影响因子影响因子- -更新更新更新是指ILF被更新的程度影响程度级别评分规则0没有更新11~3个ILF24个ILF3主要ILF4在设计和实施中要考虑对数据丢失的防范5大量的数据恢复工作,及高度自动化的恢复流程影响因子影响因子- -复杂处理复杂处理复杂处理描述了代码的逻辑处理对应用开发的影响程度影响程度级别评分规则0上面一个都不满足1一个2两个3三个4四个5都满足五种类型敏感控制或程序特定的安全处理大量的逻辑处理大量的数学处理多次处理多种输入/输出影响因子影响因子- -可复用性可复用性可复用性是指代码被专门设计、开发成为能被其他应用复用的程度影响程度级别评分规则0没有可复用的代码1应用之内复用2应用中被其他应用复用的部分不足10%3应用中被复用的部分超过10%4应用遵从一种易于复用的方式被打包和文档化,在源代码级客户化该应用5用户使用用户参数来对该应用进行客户化影响因子影响因子- -易安装性易安装性易安装性指应用系统的转换和安装容易度对开发的影响程度影响程度级别评分规则0用户对安装没有特定的要求也无需考虑安装问题1无特定的安装环境要求但需考虑安装问题2用户提出了安装和转化的要求,但是转化的影响对该应用不重要3用户提出了安装和转化的要求,转化的影响对该应用来说是重要的4除了2,需提供经过测试的自动化的安装和转化工具5除了3,需提供经过测试的自动化的安装和转化工具影响因子影响因子- -易操作性易操作性易操作性是指应用在操作方面的便捷程度,如启动、备份和恢复影响程度级别评分规则0用户没有指定除正常备份程序外的其它特定操作1提供高效的启动、备份和恢复进程,但需要人手操作2提供高效的启动、备份和恢复进程,不需要人手操作3应用程序对磁带的需求最小化4应用程序对硬拷贝处理的需求最小化5程序设计成无人操作模式,提供错误自动恢复功能影响因子影响因子- -多场地多场地多场地是指应用系统经特殊设计、开发可以在多种逻辑点运行的程度影响程度级别评分规则0用户需求不含多场地和组织的要求1有多场地的要求,但设计要求应用在不同的场地使用相同的软硬件环境2有多场地的要求,但是设计要求应用在不同的场地使用类似的软硬件环境3有多场地的要求,同时设计支持应用在不同的场地使用不同的软硬件环境4在1或者2的要求之上,提供经过测试的多场地的文档和支持计划5在3的要求之上,提供了经过测试的多场地的文档和支持计划影响因子影响因子- -支持变更支持变更支持变更是指应用在设计上考虑支持处理逻辑和数据结构变化的程度影响程度级别评分规则0一个都不满足1一个2二个3三个4四个5五个五种程度可以处理简单要求的逻辑和数据结构变化(对一个ILF进行与/或逻辑)一般复杂度(对多于一个ILF进行与/或逻辑)较复杂(对一个或多个ILF进行与或逻辑的组合)业务数据被保存到交互进程维护的表中,但变更在第二个工作日生效变更即时生效THANKS!。