刘国杰 张孝
摘 要:随着小微企业的迅速增长,需要设计一套功能灵活、支持多种数据源的会计信息系统来满足不同小微企业账务处理的需求。本文提出的系统设计基于插件架构,根据需求灵活组织功能模块;支持多数据源,支持单机数据库、网络数据库与云存储服务;采用面向对象技术,把会计主体抽象为对象,支持对多个会计主体的账务处理。该系统经过专业会计人员的功能论证与实际操作测试,结果表明该系统设计功能灵活,支持多数据源,支持多个会计主体,适合小微企业进行账务处理。
关键词:会计信息系统;插件架构;多数据源;面向对象
中图分类号:TP311.5 文献标识码:A
Design of Accounting Information System based on
Plug-in and Supporting Multiple Data Sources
LIU Guojie, ZHANG Xiao
(School of Information, Renmin University of China, Beijing 100872, China)
liuguojie@outlook.com; zhangxiao@ruc.edu.cn
Abstract: With the rapid growth of small and micro enterprises, it is necessary to design a set of accounting information systems that flexibly support multiple data sources to meet the accounting processing needs of different small and micro enterprises. The system design proposed in this paper is based on a plug-in architecture, which flexibly organizes functional modules according to needs, supports multiple data sources, and supports single-machine database, network database and cloud storage services. By using object-oriented technology, accounting entities are abstracted as objects and accounting processing of multiple accounting entities can be implemented. The proposed system has undergone function demonstration and practical operation tests by professional accountants. Results show that the proposed system is suitable for small and micro enterprise accounting processing as it has flexible functions, supports multiple data sources and multiple accounting entities.
Keywords: accounting information system; plug-in architecture; multiple data sources; object-oriented
1 引言(Introduction)
为了促进经济的发展,国家出台了一系列推动小微企业发展的政策,小微企业数量迅速增长。会计信息是企业最重要的经济信息,它连续、系统、全面、综合地反映和监督企业经营状况,并为管理、经营决策提供重要依据。会计信息系统[1-2]是集成会计学、管理学与软件工程等的综合性的专业信息系统,能够根据业务流程更加合理、效率更高、计算更精确地进行会计核算[3]。
会计信息系统随着科学技术的进步不断发展,目前的研究基本面向大中型企业,很少关注小微企业。文献[4]提出了利用事件驱动构建会计信息系统,适用于财务部门复杂且分工明确的大规模公司,小微企业不具备采用的基础条件。文献[5]提出运用区块链技术对当前的会计信息系统进行重构,要求必须具备分布式的区块链的网络环境,而很多小微企业只有单机环境。文献[6]提出了利用人工智能技术对会计信息系统进行诊断,需要企业具有充足的会计信息历史数据进行模型训练,无法应用于初创型小微企业。文献[7]提出了基于组织项目管理成熟度模型(Organizational Project Management Maturity Model,OPM3)對云计算环境下的会计信息内部流程进行优化。文献[8]提出了基于企业资源计划(Enterprise Resource Planning, ERP)的会计信息系统的设计与开发,而几乎所有小微企业都没有ERP系统。文献[9]提出了完善会计信息系统应用、加大复合型人才培养力度、优化系统的使用环境等对策建议。综上,需要设计符合小微企业实际需求、功能灵活、支持多数据源的会计信息系统。
2 关键技术(Key technology)
2.1 插件架构
2.1.1 SCSF架构
会计信息系统的功能模块有很多,每个小微企业可根据自身情况选择所需要的功能模块,因此需要使用插件架构[10]来开发与管理这些功能模块。本文提出的系统采用微软开源的SCSF插件架构,其结构如图1所示。图1中的Infrastructure部分是插件框架,负责管理与协调每个插件,主要包括Shell、Layout、Interface、Library四部分,其中Shell是整个系统的入口,包括系统登录、系统主界面等功能部件。
2.1.2 嵌入式功能模块
本系统设计了嵌入式的功能模块,把插件架构与通用的界面结合起来,简化了项目开发与管理。这样做使得每个业务功能模块既可在插件中独立运行,也可以完全脱离框架单独调试,符合软件工程的高内聚、低耦合的设计思想:相关的联系紧密的业务功能聚集在一起,不相关的业务功能相互独立。嵌入式功能插件设计如图2所示。图中的“View”是插件架构特有的界面显示控件,而“Form”是通用的Windows窗体应用程序界面展示控件。采用这种系统设计使得系统在开发每个功能模块的业务逻辑时,可以脱离插件框架独立开发调试。
2.2 多数据源
由于小微企业的操作系统数据库环境的差异,要求会计信息系统支持多种类型的数据库或数据服务。文献[11]提出了对异构数据库的支持,本文提出的系统在此基础上整合了数据服务。通常采用对象工厂设计模式来实现多数据源的数据库或数据服务的整合。
2.2.1 多数据库的支持
一般的多数据设计采用如图3所示的方式,对不同数据库的支持通过开发不同的数据访问层来进行多数据库的支持,如SQL Server、Access、Oracle、MySQL、SQLite等数据库,需要分别设计实现对应的SQLDAL、OleDbDAL、OracleDAL、MySQLDAL、SQLiteDAL等数据访问层。采用这种技术,需要编写多套数据访问层代码,开发与维护工作量均比较大。
本文对不同数据访问层进行了抽象与简化,设计了一种数据库参数接口,对于不同的数据库,只需要把通用的参数对象转换为对应数据库的参数对象,而不需要编写多个数据访问层,就实现了对多数据的支持,如图4所示。这种设计减少了代码冗余与开发维护工作量,解决了成本过高问题。
2.2.2 多数据服务支持
随着大数据与云服务的普及,有些大数据与云服务商提供数据存储服务而不是数据库。本文设计了数据服务中间层来支持数据服务,实现了系统的“云+端”部署模式。针对网络传输数据存在的延迟问题,对系统进行了优化,尽量减少交互次数,并对数据进行缓存,以提高用户操作体验。在客户端只保留表示层,业务逻辑层以及数据访层问均部署在服务端进行,提高了用户的操作体验。在一般的三层架构中增加数据服务中间层,就实现了对数据服务的支持,如图5所示。数据服务的服务器端负责接收数据服务的客户端的请求,进行相应的操作,然后把结果返回到数据服务的客户端。
2.2.3 多数据与多数据服务的整合
本文通过添加业务逻辑层接口实现对多数据库支持与多数据服务支持的整合。整合之后的系统结构如图6所示。图中左侧与右侧的业务逻辑层、数据访问层是通用的,降低了代码冗余。
2.3 面向对象
本系统全面采用面向对象技术[12]实现。面向对象技术可以提高代码的可读性、可重用性。记账凭证如图7所示,包含凭证字、凭证号、日期、会计期间、单据张数、会计分录、审核人、过账人、制单人等要素,其中会计分录是多条记录的。
本文设计了复合对象来表示记账凭证对象,包括一个凭证头对象与多个会计分录对象,如图8所示。会计信息系统的其他信息如总账、明细账、会计科目、科目余额表等也采用同样的方式实现。
3 系统设计(System design)
3.1 总体设计
本文提出的会计信息系统包括插件框架、账务处理、报表分析、出纳业务、代理记账、系统管理六个功能模块,分别对应一个系统框架的五个功能模块插件,其结构如图9所示。系统框架负责功能模块插件的管理与调用,每个功能模块插件实现具体的业务功能。
(1)插件框架功能模块是整个系统的入口,负责根据配置文件组织协调各框架之间的关系。
(2)账务处理功能模块是整个会计信息系统的核心功能模块,负责账务处理,提供数据给报表分析、出纳业务功能模块。
(3)报表分析功能模块通过对账务处理中的明细账、总账进行汇总统计,生成标准的财务报表;按照不同的指标进行分析,得出分析数据。
(4)出纳业务功能模块主要提取账务处理中的库存现金、银行存款的总账、明细账数据,以及相关凭证的数据,形成库存现金日记账、银行存款日记账等,与库存现金、银行存款的真实数据进行比较,进行相应的处理。
(5)代理记账功能模块负责管理会计主体,也就是这套系统可以对哪些会计主体进行账务处理,属于扩展功能。
(6)系统管理功能模块相对独立,不参与具体的会计业务处理,负责管理系统的数据源和功能模块的配置,以及数据库的备份、恢復,系统的安全等操作。
3.2 账务处理
账务处理功能模块是整个会计信息系统的核心,主要包括记账查账等会计业务操作。会计的基本假设是持续经营,假设这个会计主体或者企业一直经营下去,会计处理工作按照会计期间进行会计业务循环,从凭证录入到结转损益,从结转损益到月末结转,再由月末结账回到凭证录入,进行新的会计业务循环,如图10所示。
3.3 报表分析
报表分析功能模块是财政部规定的财务报表计算方法,对总/明细分类账的数据进行汇总统计,根据报表模板生成报表,主要涉及的操作对象及操作流程如图11所示。系统根据报表公式,从总/明细分类账中读取数据,经过汇总统计后得出报表数据。
3.4 出纳业务
出纳业务功能模块根据小微企业的实际情况进行了业务约简,从账务处理的总/明细分类账汇总统计得出相关报表,会计人员通过报表可以与出纳人员进行对账。出纳业务功能模块主要包含现金日记账、银行存款日记账两部分。
3.5 代理记账
本系统设计了代理记账功能模块,实现小微企业委托代理记账公司管理公司的会计信息。每个小微企业作为单独的会计主体,通过面向对象技术实现会计主体的切换。代理记账功能模块主要包括企业管理、切换企业、用户与企业关联三部分功能。
3.6 系统管理
系统管理功能模块主要包括配置数据源、管理功能模块、数据备份恢复、查看操作日志等功能。
(1)配置数据源。每个数据库和数据服务都定义了不同的节点,并把数据源信息保存到Xml文件中,通过系统登录的“设置”按钮进行数据源切换。
(2)管理功能模块。系统还对原始的SCSF的配置文件进行了扩展,添加了是否系统必需等属性,在系统启动时可以配置需要加载的功能模块。
4 实验与分析(Experiment and analysis)
4.1 实验设置
本文采用VMWare虚拟化软件来虚拟各种操作系统,以测试系统的兼容性。主要测试了以下两种操作系统:
(1)Windows 7兼容性测试。用VMWare虚拟Windows 7操作系统,内存4 GB,硬盘60 GB,系统分区分配30 GB,工作分区分片30 GB。
(2)Windows 10兼容性测试。用VMWare虚拟Windows 10操作系统,内存4 GB,硬盘60 GB,系统分区分配30 GB,工作分区分片30 GB。
4.2 业务测试
以某一小企业为例来测试业务的准确性。首先设置系统参数,会计准则采用2020版企业会计准则,起始会计期间为2020 年1 月,录入初始数据、记账凭证,进行结转损益、月末结账,然后在专业会计信息系统中进行相同的操作。实验表明本系统业务逻辑处理准确。系统运行的主界面如图12所示。
4.3 实验分析
本文提出的系统在不同的操作系统环境下进行了测试,并采用小企业会计准则对多个小微企业数据进行了测试,测试结果表明:
(1)本文提出的系统具有良好的系统兼容性。系统在Windows 7、Windows 10主流操作系统下运行稳定。
(2)本文提出的系统业务逻辑准确无误。由专业会计人员对系统功能进行了验证与实际操作,系统运行结果与实际数据一致。
(3)本文提出的系统支持多数据源。系统在各种不同的数据源上均正常运行,包括SQLite、MySQL、SQL Server与WCF服务等。
4.4 相关工作比较
本文提出的系统是充分考虑小微企业的会计系统现状而提出的,其功能组合灵活,支持各种数据源包括云服务存储的方式,能够适合各种小微企业的机构设置与组织形式。而目前大多數的会计信息系统的研究工作关注的是新技术在会
计信息系统中的应用,或者是会计信息系统的模型研究,主要面向中大型企业,并不适用于小微企业。由于本文提出的系统融合了各种技术,使得会计信息系统的适应能力有了很大提高,符合目前小微企业的现状。
5 结论(Conclusion)
本文提出的基于插件并支持多数据源的会计信息系统采用插件架构,各功能模块既相互独立,又相互联系,可以根据小微企业需求灵活组合,适应性较强;支持多数据源,既支持单机数据库,又支持网络数据库,可以适应各种应用场景。本文提出的系统的功能由各类专业会计人员进行了大量的测试与操作,结果表明其在各类操作系统下可以稳定运行,业务逻辑准确。本文提出的系统还需要在实际会计工作中进行大量测试并进一步完善。
参考文献(References)
[1] 张瑞君,蒋砚章,殷建红.会计信息系统[M].8版.北京:中国人民大学出版社,2019:1-17.
[2] 陈耿,李婷婷,韩志耕,等.会计信息系统六要素审计方法探究[J].财会通讯,2019(16):88-91.
[3] 叶康涛,孙苇杭.会计软件采用与企业生产率——来自非上市公司的证据[J].会计研究,2019(01):45-52.
[4] 杨道衡,张乐君.事件驱动型会计信息系统构建及应用分析[J].财会通讯,2020(01):136-140.
[5] 王燕霞.区块链下企业会计信息系统重构探讨[J].财会通讯,2020(15):146-149.
[6] 夏远江.会计信息系统智能化的诊断与改造探讨[J].财会通讯,2018(31):105-108.
[7] LIU X, XIA X, ZHOU L. OPM3-based internal control of an accounting information system in cloud computing[J]. Agro Food Industry Hi Tech, 2017, 28(1):2052-2056.
[8] Syreyshchikova N V, Pimenov D Y, Mikolajczyk T, et al.
Automation of production activities of an industrial enterprise based on the ERP system[J]. Procedia Manufacturing, 2020(46):525-532.
[9] 卢静.浅析会计信息系统应用[J].商业经济,2020(04):137-138.
[10] 侯聪聪.基于插件技术的软件架构设计及应用[J].电子技术与软件工程,2018(11):39.
[11] 杜月云,邢文凯.集成异构数据源的在线考试系统研究[J].软件工程,2017,20(02):47-49.
[12] 姜文泽.面向对象技术在软件开发中的应用[J].电子技术与软件工程,2018(20):63.
作者简介:
刘国杰(1982-),男,硕士生,工程师.研究领域:计算机应用技术.
张 孝(1972-),男,博士,教授.研究领域:计算机应用技术.