软件项目管理(SPM):项目规模估算技术
添加时间:2019-03-20 08:57:48
来源:
估计软件大小是软件项目管理的重要组成部分。它有助于项目经理进一步预测构建项目所需的工作量和时间。在项目规模估算中使用各种措施。其中一些是:
代码行
ER图中的实体数量
详细数据流程图中的进程总数
功能点
1.代码行(LOC):顾名思义,LOC计算项目中源代码的总行数。LOC的单位是:
KLOC-千行代码
NLOC-非注释代码行
KDSI-数以千计的交付源指令
通过将其与现有的同类系统进行比较来估计尺寸。专家用它来预测软件各个组件所需的大小,然后添加它们以获得总大小。
好处:
普遍接受并用于许多模型,如COCOMO。
估计更接近开发人员的观点。
简单易用。
缺点:
不同的编程语言包含不同数量的行。
该技术没有适当的行业标准。
在项目的早期阶段使用这种技术很难估计尺寸。
2. ER图中的实体数量:ER模型提供项目的静态视图。它描述了实体及其关系。ER模型中的实体数量可用于衡量项目规模的估算。实体数量取决于项目的大小。这是因为更多实体需要更多类/结构,从而导致更多编码。
好处:
尺寸估算可以在规划的初始阶段完成。
实体数量与所使用的编程技术无关。
缺点:
没有固定的标准。一些实体比其他实体贡献更多项目规模。
就像FPA一样,它在成本估算模型中使用较少。因此,它必须转换为LOC。
3.详细数据流程图中的进程总数:数据流图(DFD)表示软件的功能视图。该模型描述了软件中涉及的主要过程/功能以及它们之间的数据流。利用DFD中的多个函数来预测软件大小。已经研究了类似类型的现有过程并用于估计过程的大小。每个过程的估计大小的总和给出最终的估计大小。
好处:
它独立于编程语言。
每个主要流程都可以分解为更小的流程。这将提高估计的准确性
缺点:
研究类似的过程以估计大小需要额外的时间和精力。
所有软件项目都不需要构建DFD。
4.功能点分析:在该方法中,利用软件支持的功能的数量和类型来查找FPC(功能点计数)。功能点分析的步骤是:
计算每个建议类型的函数数量。
计算未调整的功能点(UFP)。
找出总影响程度(TDI)。
计算值调整因子(VAF)。
找到功能点计数(FPC)。
以下几点解释如下:
计算每个建议类型的函数数量:查找属于以下类型的函数数量:
外部输入:与进入系统的数据相关的功能。
外部输出:与退出系统的数据相关的功能。
外部查询:它们导致从系统中检索数据,但不会更改系统。
内部文件:系统内维护的逻辑文件。此处不包含日志文件。
外部接口文件:这些是我们系统使用的其他应用程序的逻辑文件。
计算未调整的功能点(UFP):根据其复杂性将五种功能类型中的每一种分类为简单,平均或复杂。将每个函数类型的计数与其加权因子相乘并找到加权和。每种类型的加权因子根据其复杂程度如下:
功能类型 | 简单 | 平均 | 复杂 |
---|---|---|---|
外部输入 | 3 | 4 | 6 |
外部输出 | 4 | 五 | 7 |
外部咨询 | 3 | 4 | 6 |
内部逻辑文件 | 7 | 10 | 15 |
外部接口文件 | 五 | 7 | 10 |
查找影响总程度:使用系统的'14一般特征'来查找每个影响的程度。所有14度影响的总和将给出TDI。TDI的范围是0到70.这14个一般特征是:数据通信,分布式数据处理,性能,大量使用的配置,交易率,在线数据输入,最终用户效率,在线更新,复杂处理可重用性,安装轻松,操作舒适,多个站点并促进变革。
以0-5的等级评估上述每个特征。
计算值调整系数(VAF):使用以下公式计算VAF
VAF =(TDI * 0.01)+ 0.65
找到功能点计数:使用以下公式计算FPC
FPC = UFP * VAF
好处:
它可以很容易地用于项目规划的早期阶段。
它取决于编程语言。
它可用于比较不同的项目,即使它们使用不同的技术(数据库,语言等)。
缺点:
它对实时系统和嵌入式系统不利。
许多成本估算模型(如COCOMO)使用LOC,因此必须将FPC转换为LOC。
2019-03
估计软件大小是软件项目管理的重要组成部分。它有助于项目经理进一步预测构建项目所需的工作量和时间。在项目规模估算中使用各种措施。其中一些是… [了解更多]