评估软件项目成本时如何识别逻辑文件(ILF/EIF)?
使用快速功能点法进行软件成本度量过程中,在明确了系统边界后,便要进行逻辑文件(数据功能)的识别。那么,什么是逻辑文件?在度量软件成本时如何正确区分哪些是逻辑文件?哪些不是逻辑文件呢?
首先,我们来了解一下什么是逻辑文件。
逻辑文件不是传统数据处理意义上的文件,也不是实现意义上的物理的数据集合,即它与具体实现时设计出来的物理模型是无关的。逻辑文件是指一组用户可识别的、逻辑上相互关联的数据或者控制信息,对逻辑文件的操作为业务需求引起,用户可以理解并识别。
识别逻辑文件的步骤如下:
a) 识别业务对象或业务规则。业务对象应该是用户可以理解和识别的。业务对象包括业务数据或业务规则,如“企业黑名单”、“黑名单生成规则”等。而一些为了程序处理而维护的数据则属于编码数据,如国家/地区信息表。所有的编码数据均不识别为逻辑文件,与之相关的操作也不识别为基本过程;
b) 确定逻辑文件数量。需要根据业务上的逻辑差异及从属关系确定逻辑文件的数量。何谓软件差异?就是用户可以感知其用途的明显不同且有不同的维护方式。用户是否可以明确感知业务对象的差异?不同实体之间是否具有依赖关系?只有存在逻辑差异且没有依赖关系的业务数据或引用数据才记为独立的逻辑文件。例如,对于人力资源管理中的“员工信息”,虽然“固定期限合同员工”与“无期限合同员工”的信息有所差异,但其维护方式基本一致,因此不识别为不同的逻辑文件;而对于公文管理中“收文信息”和“发文信息”,虽然物理特征类似,但这两类信息有完全不同的业务行业,与其相关的业务操作也不相同,因此可识别为不同的逻辑文件。
c) 是否是ILF。即确定该逻辑文件是否在本系统内进行维护。如果是,则记为ILF;如果本系统仅为引用,而在其他系统维护,则为EIF。
d) 任何逻辑文件在系统边界之内仅被计数一次,若有时是ILF,有时是EIF,则计数为ILF。
逻辑文件符合如下简易识别规则:
a) ILF(内部逻辑文件)
——ILF指在待开发系统内部逻辑上的一组数据
——用户可以理解和识别ILF,对ILF的操作是用户的业务需求
示例:根据如下需求从“逻辑”性上识别ILF
会议管理系统……包括X局(信息中心)局、处(或公司)举行的会议、会议计划、安排、记录、查询、通知、纪要等功能均实现电子化,提高会议效率。
从需求中识别的内部逻辑文件包括:会议信息、人员信息、单位信息。如会议纪要需要独立记录,如会议记录删除后会议纪要仍单独保留,则会议纪要也要识别为逻辑数据。
b) EIF(外部接口文件)
——EIF指由本系统引用(即“读”),在系统边界外由其他系统进行维护的逻辑上的一组数据。这里的维护是指逻辑上而物理上的维护或存储。引用的实现方式不影响计数结果。
——本系统的EIF一定是其他某系统的ILF。
由此可知,我们在进行软件成本度量时,识别为逻辑文件的有:业务数据或业务规则;内部维护(ILF);仅引用,其他系统维护(EIF)。而一些如:中间表、内部只读信息、缺省值、数据编码等不是逻辑文件。