首页 / 培训赋能中心 / 技术知识分享 / 软件造价之基本过程和处理逻辑分析
软件造价之基本过程和处理逻辑分析
更新时间:2024-11-20 09:46:01

德鲁克曾说:“如果无法度量,那么就无法管理”。在数字化时代,软件成为了企业竞争力的核心。但你是否了解,一个软件项目的成本是如何估算的?今天,我们就来深入探讨软件造价的基本过程和处理逻辑。

01

什么是基本过程?

对软件造价有了解的应该对“基本过程”这个字眼应该不陌生,基本过程是对用户有意义的最小活动单元,每个事务功能都是一个基本过程。一个或多个基本过程,可以维护一个数据功能。

要学习基本过程第一步要做到的是识别基本过程,把功能用户的需求分解或组合为最小活动单元,使其满足以下条件。即可识别为一个基本过程:

(1)对用户有意义的;

(2)构成一个完整的事务;

(3)自包含;

(4)使应用的业务保持持续的状态。

02

什么是最小活动单元?

我们可以将其理解为软件开发过程中的一个基本或最小的任务或功能模块。举个例子,用户需求要求添加员工信息包括:员工姓名、电话、地址和家属信息。对用户而言有意义的最小活动单元是添加员工所有信息。如果将其分解成添加员工家属信息和员工其他信息两个活动单元,将不能满足基本过程的条件,因为员工家属信息,是不能独立于员工信息单独存在的,也就是说,一个员工有家属时,只有添加了家属信息和其他基本信息,才是一个完整的事务。所以上述只存在一个基本过程即添加员工信息。
03

基本过程如何分类为事务功能?

想要进一步了解基本过程,首先我们先明确一下什么是事务功能,一个软件的开发,会存在很多的数据,但是只有数据也是不行的,还需要对数据进行处理,处理数据的功能就是事务功能,每个事务功能必须是基本过程,只是会根据具体行为和处理目的分为哪一类事务功能。
基本过程识别出来后会判断其唯一性,并将基本过程分解为EI(外部输入)、EO(外部输出)、EQ(外部查询)三种类型。
EI是处理来自系统边界外部的一组数据输入的功能点。它的主要目的是维护一个或多个ILF(内部逻辑文件),或者更改系统的行为。一个EI必须包含的处理逻辑有“接收进入应用边界内的数据或控制信息”以及“更新一个或多个ILF”“改变应用行为”这两项中的一项。对业务对象的增、删、改等操作通常都是EI。在软件造价中,EI的计数通常与系统的数据输入处理逻辑、数据验证、数据转换等活动的复杂度有关。
EO是输送数据到系统边界外部的过程,它的主要目的是通过逻辑处理过程向用户呈现信息。该处理过程必须包含至少一个数学公式或计算方法,或生成派生数据。一个EO必须包含的处理逻辑有“向边界外部呈现信息”以及“执行数学公式或计算”“创建衍生数据”、“维护一个或多个ILF”“改变应用行为”这四项中的任意一项。一个EO也可以维护一个或多个ILF,并/或改变系统行为。在软件造价中,EO的计数通常与系统的数据输出处理逻辑、数据格式化、数据展示等活动的复杂度有关。
EQ是向系统边界外发送数据基本处理的过程,其主要目的是从ILF或EIF(External Interface File,外部接口文件)中通过恢复数据信息来向用户呈现。该处理逻辑不包括任何数学公式或计算方法,也不会生成任何派生数据。一个EQ必须包含的处理逻辑有“引用一个或多个ILF/EIF”、“提取数据或控制信息”、“向边界外部呈现信息”。EQ不会维护任何一个ILF,也不会改变应用程序的系统行为。在软件造价中,EQ的计数通常与系统的数据查询处理逻辑、查询条件设置、查询结果展示等活动的复杂度有关。
简单来说EI主要就是对数据进行增、删、改操作,EO主要是对查询的数据进行处理逻辑运算的展示,比如求和、合并、学运算等。EQ就是不进行任何逻辑处理运算或简单筛选的查询展示。
04

基本过程是怎么完成的呢?

这个实现的方式就叫做处理逻辑,处理逻辑就是用来完成基本过程的,一个基本过程可能由一个或多个处理逻辑来完成。处理逻辑是用户要求完成的一个基本过程的特定需求,例如,验证、数学运算、读取、维护一个数据功能。IFPUG功能规模度量中定义了13种常用的处理逻辑,这些处理逻辑包括,验证、计算、转换、过滤、分析、更新ILF、引用ILF/EIF、提取数据、衍生数据、改变行为、向边界外呈现信息、接受边界内数据、分类排序。每个事务功能可能执行一个或多个处理逻辑。比如常见的登录功能就包含验证、分析、引用ILF、提取数据、创建衍生数据、向边界外呈现信息等多个处理逻辑。以下是13种常用的处理逻辑的定义,以及使用场景的举例。

处理逻辑

定义

例子

验证(Validation)

检查输入数据的正确性、完整性或一致性

在图书管理系统中,验证用户输入的借书数量是否为正整数。
计算(Calculation)

执行数学运算或逻辑运算

在工资管理系统中,根据员工的工时和工资率计算工资总额。
转换(Conversion)

将数据从一种格式转换为另一种格式

在数据迁移项目中,将旧系统的数据格式转换为新系统的数据格式。
过滤(Filtering)

从数据集中选择满足特定条件的记录

在客户关系管理系统中,过滤出所有来自特定地区的客户记录。
分支(Branching)

根据条件选择不同的执行路径

在订单处理系统中,根据订单金额的大小选择不同的折扣策略。
更新ILF
(Update Internal Logical File)

修改内部逻辑文件中的数据

在库存管理系统中,更新库存数量以反映最新的入库或出库操作。
引用ILF/EIF
(Reference Internal/External Logical File)

读取内部或外部逻辑文件中的数据

在图书管理系统中,引用ILF以获取图书的库存信息,或引用EIF以获取外部数据库中的作者信息。
提取数据(Read)

从数据源中读取数据

在财务管理系统中,读取银行账户的余额信息。
衍生数据(Derive Data)

根据现有数据生成新的数据

在销售分析系统中,根据历史销售数据计算销售趋势或预测未来的销售额。
改变应用行为
(Change Behavior)

根据输入或条件改变系统的行为或状态

用户通过系统界面选择取消某个已下但未支付的订单。
向边界外呈现信息/返回(Return)

向调用者返回呈现数据或结果

在Web服务中,返回查询结果或执行状态给客户端。
接受边界内数据     (Receive)

接收外部输入或消息

在邮件系统中,接收用户发送的邮件。
分类排序
(Classification & Sorting)

对数据进行分类或排序

在学生管理系统中,根据学生的成绩对学生进行排名。
基本过程和处理逻辑的分析只是对软件造价功能点估算法里事务功能的分析,功能点里除事务功能以外还有数据功能。
软件造价是一个复杂但至关重要的过程。通过理解其基本过程和处理逻辑,我们可以更有效地管理项目预算,确保软件项目的成功。





二维码
添加微信咨询
TOP
注册即用的智能评估工具
立即登录