软件项目技术方案_软件工程-项目规模估算技术

估计软件大小是软件项目管理的重要组成部分。它有助于项目经理进一步预测构建项目所需的工作量和时间。在项目规模估算中使用各种措施。其中一些是:

  • 代码行
  • 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):根据其复杂性将五种功能类型中的每一种分类为简单,平均或复杂。将每个函数类型的计数与其加权因子相乘并找到加权和。每种类型的加权因子根据其复杂程度如下:
软件项目技术方案_软件工程-项目规模估算技术_第1张图片
  • 查找影响总程度:使用系统的'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。

你可能感兴趣的:(软件项目技术方案)