基于面向对象技术的社保审计模型 建立社保联网审计模型的首要工作是对独立的审计方法构成进行分析研究。根据《养老保险审计软件业务需求报告》,在每个审计环节下分为若干审计方法,每个审计方法针对的问题各不相同。 例如,少计算缴费个人账户利息的审计方法,其计算公式是: 本年记账额利息=本年记账月积数*本年记账利率*1/12 公式中,本年记账月积数=∑ 份记账额*(12-n+1)〗,n为本年各记账月份,且1≤n≤12,记账利率由中国人民银行确定,每年公布一次作为参考,各地可以根据实际情况需要作调整。 又如,按新办法计发基本养老金公式是: 月领取的基本养老金=[(基础养老金每月按当地上年度职工月平均工资+本人的指数化月平均缴费工资的平均值)*(缴费年限*1%)+个人账户养老金每月按职工退休时个人账户储存额/计发月数]*(1+1.2%) 养老保险管理条例中规定,只有缴费年限达到1.5年退休后可享受正常养老保险待遇。以上计算公式中描述的字段均可以从社保部门数据库中获得。 通过对以上两个审计方法的分析,社保审计方法可以由计算公式、相关的法律法规及支持审计策略的有关业务数据构成,所有的业务审计可以由一系列的审计计算公式配合相关法律政策和审计数据经过有序协调工作实现。 模型是对于现实世界的事物、现象、过程或系统的简化描述,社保联网审计系统中的模型更注重于描述系统的特征和行为,对系统特征的描述就是模型的静态表示形式,对系统行为的描述就是模型的动态表示形式,即模型是数据与方法的集合体。 面向对象思想也正是试图模仿现实世界中的实体及其相互关系,认为客观世界是由对象组成的,通过定义每个对象的属性和行为来描述每个实体,通过对象之间的通信描述实体之间的关系,行为用存放在对象中的方法与数据实现,通过信息激活对象中的方法使对象的行为得以体现出来。可以看出,这两者之间存在着某些共同之处。每种模型可以表示为一个对象,模型可以表述为:描述审计对象的一组特征数据与相应的审计方法的结合。 这种结合可以用“封装”的方式来完成,封装的结果使其形成对象,称之为审计模型对象。利用面向对象分析技术实现的审计模型对象的基本结构由两部分组成:数据子对象和方法子对象,从而形成用对象来描述审计模型的通用结构——审计模型对象。 将业务审计方法中的计算公式、法律法规、审计所需数据及模型属性数据,利用面向对象封装技术将它们封装成为模型对象(见图1)。
图1 模型对象的封装 社保审计模型库体系结构 社保审计模型库系统由模型库(Model Base,MB)、模型字典、审计数据库和模型库管理系统(Model Base Management System,MBMS)组成,如图2所示。 模型库是为一定目的服务,以特定的结构存储的相关联的模型集合。模型库是在计算机中按照一定结构、形式存储的模型的集合。模型库是处于模型库管理系统的组织、管理之下的。
图2 社保联网审计模型库体系结构图 由于实际问题的复杂性,单一模型通常不能满足某一研究目标的需要,因此通常需要多种模型的组合来解决一个实际问题,模型库中的模型是按一定组织结构形式存储起来的,通过模型库管理系统对模型进行有效管理和使用。 模型库管理系统,是为生成模型和管理模型提供一个用户友好环境的计算机软件系统。用户可以通过MBMS灵活的访问、更新、生成和运行模型。模型库管理系统是联系实际问题、数据与模型的桥梁。由于模型的生成、修改、更新、删除、连接是经常性的操作,所以模型库的管理成为非常重要的工作。 MBMS为应用模型提供了运行环境。模型库管理系统的水平决定着模型应用效能的发挥,模型技术的发展对MBMS提出了越来越高的要求,而计算机技术的发展为MBMS提供了实现的途径。 模型存储组织 社保联网审计模型库的组织采用字典与文件相结合的方式来表示和组织。模型字典在模型的存储组织过程中起核心作用,模型字典设计的好坏直接关系到模型库运行的效率,下面给出社保审计模型库模型字典设计(表1)。 表中“所属类型”用来标识模型是复合模型还是原子模型,“0”表示原子模型,“1”表示复合模型。若为复合模型则用复合模型表(表2)存储组成该复合模型的原子模型。
对于同一个复合模型,在复合模型表中占有多行,这些行中其复合模型ID相同,但组成该复合模型的原子模型ID不同。通过模型字典表与复合模型表的配合使用,用户即可获得复合模型由哪些原子模型构成信息,为用户对复合模型的修改、删除等操作提供帮助。