一、软件结构及其作用
什么是软件结构?
软件在正式编写程序代码前需要两个不可或缺的步骤:第一个是对业务逻辑的分析和定义,以形成业务逻辑结构,一般称为需求分析阶段;第二个是根据业务逻辑结构设计软件结构,包括数据字典、数据处理方式、编码结构等,一般称为架构设计阶段。因此,软件结构是将业务逻辑转为编码的重要环节,就如同盖楼必须要先打造地基一样,其设计的效果直接影响到未来软件可实现应用的程度,和可扩展的程度。
二、中西方财务软件结构设计的思想差异
要分析财务软件结构设计的思想差异,首先要看其实现的应用功能点和实现思路。
下图总体体现了财务软件的一般功能点和实现思路:

从功能体系上讲,现在的财务软件一般都分成两大部分,即核算部分和控制部分。核算部分主要是针对常规的会计要求,从总账、明细帐和财务统计的角度,对会计的核算工作进行支持,也就是我们以前常说的会计电算化;控制部分,则是从管理会计的角度,对成本、预算和获利能力进行有效的管理支持。一般现在支持的控制方法有实际成本法、标准成本法、作业成本法、滚动预算法、目标成本法和运行成本法。
具体来讲,现在国内的大部分财务软件都只是面对核算部分,而且初期的软件主要是面对总帐,因此从软件结构的设计思路来看,是以总帐为基础进行设计的,后期发展起来的各类子帐系统,只是对总帐的补充,而整个财务统计部分的基础是构建在总帐中的各类会计凭证之上的。由此,现在的国内财务软件要发展到财务管理部分,其从结构上面临着很大的难题,现有的各类财务管理功能的开发,基本还是基于总帐中的信息,因此无论是及时性、全面性都有问题。
而国外企业级财务软件,它的架构设计思想相对全面、开放:
在核算部分,它的基础是各类子帐系统,除了常规的应收、应付、固定资产和现金等子帐系统外,现在还构成有物料子帐、人工子帐系统等。例如在SAP的R/3系统中,就设计了一个特殊子帐系统平台,可以根据任意需求来定义各类子帐;
子帐系统将相关的信息汇总到总帐数据库和专为财务控制设计的数据库,这样从总帐系统可以得到各类对外报表和会计信息,而控制系统中则可实现诸如成本核算、获利分析、预算计划等财务管理的内容;
子帐部分可以通过各种接口,和业务系统直接发生连接。早期的连接方式是批处理的方式,而现在的大部分国外软件都实现了实时的方式。 三、结构性差异分析
由于中西方财务软件的设计思想不同,导致基本的架构设计不同,最终导致功能的不同。
下面重点讨论中西方财务软件基本架构的区别。
国外财务软件在设计结构上有四大部分:组织管理部分、基础数据部分、业务处理部分和输出部分。国内财务软件则只有三大部分:基础数据部分、业务处理部分和输出部分。
1、组织管理部分:
组织管理,是国外财务软件的基础,它最终决定软件系统可以实现的基本功能。

可以看到,出于对功能设计的不同要求,在国外的财务软件中,组织架构是由两种不同的架构组成的,一个是供业务运作用的组织,且称为企业运行架构,它类似于实际运行中的企业组织,包括有公司组(集团)、公司、各类业务组织等,另一个是财务分析和控制用的组织,它包括有经营范围、业务区域、控制区域、利润中心和成本中心等,它和实际的企业组织可以不同,而且它是一种灵活的虚拟结构,可以基于产品、某个项目、某个时间段等。本文所讲的组织管理更强调后者。
在会计核算部分,一般还有如下的组织构成:

核算部分的组织架构基本由集团层、会计科目表层、公司层和业务部门层所构成。这样的组织设计,使得一个软件的应用范围可以跨国家、多公司,是一种可高度集成的模式。
在控制部分,组织架构组成如下:

这里,在会计科目表和公司代码之间,加了一层成本控制范围,这样使得信息可以转向存入不同的数据库,以进行不同的业务操作。
而反观国内,组织管理是现在国内财务软件所缺乏或者不完善的,由此对后续功能的支持程度造成了较大的影响。但同时,企业中组织结构的多变和不确定性,造成软件在应用过程中的诸多困难。现在,面对企业核算组织的变化,国内软件是采用多个帐套的模式模式来解决的;而国外软件则是通过一个配置平台,来解决由于企业核算组织的调整所带来的问题。从优缺点来讲,前者由于帐套的变化更多的是采用技术性较强的数据库工具来实现,因此很容易使得转化过程的业务逻辑出现紊乱,从而影响系统应用的稳定性;后者由于配置平台本身就集成在业务系统中,因此数据的转换比较容易实现。 |