劉國杰 張孝
摘 ?要:隨著小微企業(yè)的迅速增長,需要設計一套功能靈活、支持多種數(shù)據(jù)源的會計信息系統(tǒng)來滿足不同小微企業(yè)賬務處理的需求。本文提出的系統(tǒng)設計基于插件架構,根據(jù)需求靈活組織功能模塊;支持多數(shù)據(jù)源,支持單機數(shù)據(jù)庫、網(wǎng)絡數(shù)據(jù)庫與云存儲服務;采用面向?qū)ο蠹夹g,把會計主體抽象為對象,支持對多個會計主體的賬務處理。該系統(tǒng)經(jīng)過專業(yè)會計人員的功能論證與實際操作測試,結果表明該系統(tǒng)設計功能靈活,支持多數(shù)據(jù)源,支持多個會計主體,適合小微企業(yè)進行賬務處理。
關鍵詞:會計信息系統(tǒng);插件架構;多數(shù)據(jù)源;面向?qū)ο?/p>
中圖分類號: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)
為了促進經(jīng)濟的發(fā)展,國家出臺了一系列推動小微企業(yè)發(fā)展的政策,小微企業(yè)數(shù)量迅速增長。會計信息是企業(yè)最重要的經(jīng)濟信息,它連續(xù)、系統(tǒng)、全面、綜合地反映和監(jiān)督企業(yè)經(jīng)營狀況,并為管理、經(jīng)營決策提供重要依據(jù)。會計信息系統(tǒng)[1-2]是集成會計學、管理學與軟件工程等的綜合性的專業(yè)信息系統(tǒng),能夠根據(jù)業(yè)務流程更加合理、效率更高、計算更精確地進行會計核算[3]。
會計信息系統(tǒng)隨著科學技術的進步不斷發(fā)展,目前的研究基本面向大中型企業(yè),很少關注小微企業(yè)。文獻[4]提出了利用事件驅(qū)動構建會計信息系統(tǒng),適用于財務部門復雜且分工明確的大規(guī)模公司,小微企業(yè)不具備采用的基礎條件。文獻[5]提出運用區(qū)塊鏈技術對當前的會計信息系統(tǒng)進行重構,要求必須具備分布式的區(qū)塊鏈的網(wǎng)絡環(huán)境,而很多小微企業(yè)只有單機環(huán)境。文獻[6]提出了利用人工智能技術對會計信息系統(tǒng)進行診斷,需要企業(yè)具有充足的會計信息歷史數(shù)據(jù)進行模型訓練,無法應用于初創(chuàng)型小微企業(yè)。文獻[7]提出了基于組織項目管理成熟度模型(Organizational Project Management Maturity Model,OPM3)對云計算環(huán)境下的會計信息內(nèi)部流程進行優(yōu)化。文獻[8]提出了基于企業(yè)資源計劃(Enterprise Resource Planning, ERP)的會計信息系統(tǒng)的設計與開發(fā),而幾乎所有小微企業(yè)都沒有ERP系統(tǒng)。文獻[9]提出了完善會計信息系統(tǒng)應用、加大復合型人才培養(yǎng)力度、優(yōu)化系統(tǒng)的使用環(huán)境等對策建議。綜上,需要設計符合小微企業(yè)實際需求、功能靈活、支持多數(shù)據(jù)源的會計信息系統(tǒng)。
2 ? 關鍵技術(Key technology)
2.1 ? 插件架構
2.1.1 ? SCSF架構
會計信息系統(tǒng)的功能模塊有很多,每個小微企業(yè)可根據(jù)自身情況選擇所需要的功能模塊,因此需要使用插件架構[10]來開發(fā)與管理這些功能模塊。本文提出的系統(tǒng)采用微軟開源的SCSF插件架構,其結構如圖1所示。圖1中的Infrastructure部分是插件框架,負責管理與協(xié)調(diào)每個插件,主要包括Shell、Layout、Interface、Library四部分,其中Shell是整個系統(tǒng)的入口,包括系統(tǒng)登錄、系統(tǒng)主界面等功能部件。
2.1.2 ? 嵌入式功能模塊
本系統(tǒng)設計了嵌入式的功能模塊,把插件架構與通用的界面結合起來,簡化了項目開發(fā)與管理。這樣做使得每個業(yè)務功能模塊既可在插件中獨立運行,也可以完全脫離框架單獨調(diào)試,符合軟件工程的高內(nèi)聚、低耦合的設計思想:相關的聯(lián)系緊密的業(yè)務功能聚集在一起,不相關的業(yè)務功能相互獨立。嵌入式功能插件設計如圖2所示。圖中的“View”是插件架構特有的界面顯示控件,而“Form”是通用的Windows窗體應用程序界面展示控件。采用這種系統(tǒng)設計使得系統(tǒng)在開發(fā)每個功能模塊的業(yè)務邏輯時,可以脫離插件框架獨立開發(fā)調(diào)試。
2.2 ? 多數(shù)據(jù)源
由于小微企業(yè)的操作系統(tǒng)數(shù)據(jù)庫環(huán)境的差異,要求會計信息系統(tǒng)支持多種類型的數(shù)據(jù)庫或數(shù)據(jù)服務。文獻[11]提出了對異構數(shù)據(jù)庫的支持,本文提出的系統(tǒng)在此基礎上整合了數(shù)據(jù)服務。通常采用對象工廠設計模式來實現(xiàn)多數(shù)據(jù)源的數(shù)據(jù)庫或數(shù)據(jù)服務的整合。
2.2.1 ? 多數(shù)據(jù)庫的支持
一般的多數(shù)據(jù)設計采用如圖3所示的方式,對不同數(shù)據(jù)庫的支持通過開發(fā)不同的數(shù)據(jù)訪問層來進行多數(shù)據(jù)庫的支持,如SQL Server、Access、Oracle、MySQL、SQLite等數(shù)據(jù)庫,需要分別設計實現(xiàn)對應的SQLDAL、OleDbDAL、OracleDAL、MySQLDAL、SQLiteDAL等數(shù)據(jù)訪問層。采用這種技術,需要編寫多套數(shù)據(jù)訪問層代碼,開發(fā)與維護工作量均比較大。
本文對不同數(shù)據(jù)訪問層進行了抽象與簡化,設計了一種數(shù)據(jù)庫參數(shù)接口,對于不同的數(shù)據(jù)庫,只需要把通用的參數(shù)對象轉(zhuǎn)換為對應數(shù)據(jù)庫的參數(shù)對象,而不需要編寫多個數(shù)據(jù)訪問層,就實現(xiàn)了對多數(shù)據(jù)的支持,如圖4所示。這種設計減少了代碼冗余與開發(fā)維護工作量,解決了成本過高問題。
2.2.2 ? 多數(shù)據(jù)服務支持
隨著大數(shù)據(jù)與云服務的普及,有些大數(shù)據(jù)與云服務商提供數(shù)據(jù)存儲服務而不是數(shù)據(jù)庫。本文設計了數(shù)據(jù)服務中間層來支持數(shù)據(jù)服務,實現(xiàn)了系統(tǒng)的“云+端”部署模式。針對網(wǎng)絡傳輸數(shù)據(jù)存在的延遲問題,對系統(tǒng)進行了優(yōu)化,盡量減少交互次數(shù),并對數(shù)據(jù)進行緩存,以提高用戶操作體驗。在客戶端只保留表示層,業(yè)務邏輯層以及數(shù)據(jù)訪層問均部署在服務端進行,提高了用戶的操作體驗。在一般的三層架構中增加數(shù)據(jù)服務中間層,就實現(xiàn)了對數(shù)據(jù)服務的支持,如圖5所示。數(shù)據(jù)服務的服務器端負責接收數(shù)據(jù)服務的客戶端的請求,進行相應的操作,然后把結果返回到數(shù)據(jù)服務的客戶端。
2.2.3 ? 多數(shù)據(jù)與多數(shù)據(jù)服務的整合
本文通過添加業(yè)務邏輯層接口實現(xiàn)對多數(shù)據(jù)庫支持與多數(shù)據(jù)服務支持的整合。整合之后的系統(tǒng)結構如圖6所示。圖中左側與右側的業(yè)務邏輯層、數(shù)據(jù)訪問層是通用的,降低了代碼冗余。
2.3 ? 面向?qū)ο?/p>
本系統(tǒng)全面采用面向?qū)ο蠹夹g[12]實現(xiàn)。面向?qū)ο蠹夹g可以提高代碼的可讀性、可重用性。記賬憑證如圖7所示,包含憑證字、憑證號、日期、會計期間、單據(jù)張數(shù)、會計分錄、審核人、過賬人、制單人等要素,其中會計分錄是多條記錄的。
本文設計了復合對象來表示記賬憑證對象,包括一個憑證頭對象與多個會計分錄對象,如圖8所示。會計信息系統(tǒng)的其他信息如總賬、明細賬、會計科目、科目余額表等也采用同樣的方式實現(xiàn)。
3 ? 系統(tǒng)設計(System design)
3.1 ? 總體設計
本文提出的會計信息系統(tǒng)包括插件框架、賬務處理、報表分析、出納業(yè)務、代理記賬、系統(tǒng)管理六個功能模塊,分別對應一個系統(tǒng)框架的五個功能模塊插件,其結構如圖9所示。系統(tǒng)框架負責功能模塊插件的管理與調(diào)用,每個功能模塊插件實現(xiàn)具體的業(yè)務功能。
(1)插件框架功能模塊是整個系統(tǒng)的入口,負責根據(jù)配置文件組織協(xié)調(diào)各框架之間的關系。
(2)賬務處理功能模塊是整個會計信息系統(tǒng)的核心功能模塊,負責賬務處理,提供數(shù)據(jù)給報表分析、出納業(yè)務功能模塊。
(3)報表分析功能模塊通過對賬務處理中的明細賬、總賬進行匯總統(tǒng)計,生成標準的財務報表;按照不同的指標進行分析,得出分析數(shù)據(jù)。
(4)出納業(yè)務功能模塊主要提取賬務處理中的庫存現(xiàn)金、銀行存款的總賬、明細賬數(shù)據(jù),以及相關憑證的數(shù)據(jù),形成庫存現(xiàn)金日記賬、銀行存款日記賬等,與庫存現(xiàn)金、銀行存款的真實數(shù)據(jù)進行比較,進行相應的處理。
(5)代理記賬功能模塊負責管理會計主體,也就是這套系統(tǒng)可以對哪些會計主體進行賬務處理,屬于擴展功能。
(6)系統(tǒng)管理功能模塊相對獨立,不參與具體的會計業(yè)務處理,負責管理系統(tǒng)的數(shù)據(jù)源和功能模塊的配置,以及數(shù)據(jù)庫的備份、恢復,系統(tǒng)的安全等操作。
3.2 ? 賬務處理
賬務處理功能模塊是整個會計信息系統(tǒng)的核心,主要包括記賬查賬等會計業(yè)務操作。會計的基本假設是持續(xù)經(jīng)營,假設這個會計主體或者企業(yè)一直經(jīng)營下去,會計處理工作按照會計期間進行會計業(yè)務循環(huán),從憑證錄入到結轉(zhuǎn)損益,從結轉(zhuǎn)損益到月末結轉(zhuǎn),再由月末結賬回到憑證錄入,進行新的會計業(yè)務循環(huán),如圖10所示。
3.3 ? 報表分析
報表分析功能模塊是財政部規(guī)定的財務報表計算方法,對總/明細分類賬的數(shù)據(jù)進行匯總統(tǒng)計,根據(jù)報表模板生成報表,主要涉及的操作對象及操作流程如圖11所示。系統(tǒng)根據(jù)報表公式,從總/明細分類賬中讀取數(shù)據(jù),經(jīng)過匯總統(tǒng)計后得出報表數(shù)據(jù)。
3.4 ? 出納業(yè)務
出納業(yè)務功能模塊根據(jù)小微企業(yè)的實際情況進行了業(yè)務約簡,從賬務處理的總/明細分類賬匯總統(tǒng)計得出相關報表,會計人員通過報表可以與出納人員進行對賬。出納業(yè)務功能模塊主要包含現(xiàn)金日記賬、銀行存款日記賬兩部分。
3.5 ? 代理記賬
本系統(tǒng)設計了代理記賬功能模塊,實現(xiàn)小微企業(yè)委托代理記賬公司管理公司的會計信息。每個小微企業(yè)作為單獨的會計主體,通過面向?qū)ο蠹夹g實現(xiàn)會計主體的切換。代理記賬功能模塊主要包括企業(yè)管理、切換企業(yè)、用戶與企業(yè)關聯(lián)三部分功能。
3.6 ? 系統(tǒng)管理
系統(tǒng)管理功能模塊主要包括配置數(shù)據(jù)源、管理功能模塊、數(shù)據(jù)備份恢復、查看操作日志等功能。
(1)配置數(shù)據(jù)源。每個數(shù)據(jù)庫和數(shù)據(jù)服務都定義了不同的節(jié)點,并把數(shù)據(jù)源信息保存到Xml文件中,通過系統(tǒng)登錄的“設置”按鈕進行數(shù)據(jù)源切換。
(2)管理功能模塊。系統(tǒng)還對原始的SCSF的配置文件進行了擴展,添加了是否系統(tǒng)必需等屬性,在系統(tǒng)啟動時可以配置需要加載的功能模塊。
4 ? 實驗與分析(Experiment and analysis)
4.1 ? 實驗設置
本文采用VMWare虛擬化軟件來虛擬各種操作系統(tǒng),以測試系統(tǒng)的兼容性。主要測試了以下兩種操作系統(tǒng):
(1)Windows 7兼容性測試。用VMWare虛擬Windows 7操作系統(tǒng),內(nèi)存4 GB,硬盤60 GB,系統(tǒng)分區(qū)分配30 GB,工作分區(qū)分片30 GB。
(2)Windows 10兼容性測試。用VMWare虛擬Windows 10操作系統(tǒng),內(nèi)存4 GB,硬盤60 GB,系統(tǒng)分區(qū)分配30 GB,工作分區(qū)分片30 GB。
4.2 ? 業(yè)務測試
以某一小企業(yè)為例來測試業(yè)務的準確性。首先設置系統(tǒng)參數(shù),會計準則采用2020版企業(yè)會計準則,起始會計期間為2020 年1 月,錄入初始數(shù)據(jù)、記賬憑證,進行結轉(zhuǎn)損益、月末結賬,然后在專業(yè)會計信息系統(tǒng)中進行相同的操作。實驗表明本系統(tǒng)業(yè)務邏輯處理準確。系統(tǒng)運行的主界面如圖12所示。
4.3 ? 實驗分析
本文提出的系統(tǒng)在不同的操作系統(tǒng)環(huán)境下進行了測試,并采用小企業(yè)會計準則對多個小微企業(yè)數(shù)據(jù)進行了測試,測試結果表明:
(1)本文提出的系統(tǒng)具有良好的系統(tǒng)兼容性。系統(tǒng)在Windows 7、Windows 10主流操作系統(tǒng)下運行穩(wěn)定。
(2)本文提出的系統(tǒng)業(yè)務邏輯準確無誤。由專業(yè)會計人員對系統(tǒng)功能進行了驗證與實際操作,系統(tǒng)運行結果與實際數(shù)據(jù)一致。
(3)本文提出的系統(tǒng)支持多數(shù)據(jù)源。系統(tǒng)在各種不同的數(shù)據(jù)源上均正常運行,包括SQLite、MySQL、SQL Server與WCF服務等。
4.4 ? 相關工作比較
本文提出的系統(tǒng)是充分考慮小微企業(yè)的會計系統(tǒng)現(xiàn)狀而提出的,其功能組合靈活,支持各種數(shù)據(jù)源包括云服務存儲的方式,能夠適合各種小微企業(yè)的機構設置與組織形式。而目前大多數(shù)的會計信息系統(tǒng)的研究工作關注的是新技術在會
計信息系統(tǒng)中的應用,或者是會計信息系統(tǒng)的模型研究,主要面向中大型企業(yè),并不適用于小微企業(yè)。由于本文提出的系統(tǒng)融合了各種技術,使得會計信息系統(tǒng)的適應能力有了很大提高,符合目前小微企業(yè)的現(xiàn)狀。
5 ? 結論(Conclusion)
本文提出的基于插件并支持多數(shù)據(jù)源的會計信息系統(tǒng)采用插件架構,各功能模塊既相互獨立,又相互聯(lián)系,可以根據(jù)小微企業(yè)需求靈活組合,適應性較強;支持多數(shù)據(jù)源,既支持單機數(shù)據(jù)庫,又支持網(wǎng)絡數(shù)據(jù)庫,可以適應各種應用場景。本文提出的系統(tǒng)的功能由各類專業(yè)會計人員進行了大量的測試與操作,結果表明其在各類操作系統(tǒng)下可以穩(wěn)定運行,業(yè)務邏輯準確。本文提出的系統(tǒng)還需要在實際會計工作中進行大量測試并進一步完善。
參考文獻(References)
[1] 張瑞君,蔣硯章,殷建紅.會計信息系統(tǒng)[M].8版.北京:中國人民大學出版社,2019:1-17.
[2] 陳耿,李婷婷,韓志耕,等.會計信息系統(tǒng)六要素審計方法探究[J].財會通訊,2019(16):88-91.
[3] 葉康濤,孫葦杭.會計軟件采用與企業(yè)生產(chǎn)率——來自非上市公司的證據(jù)[J].會計研究,2019(01):45-52.
[4] 楊道衡,張樂君.事件驅(qū)動型會計信息系統(tǒng)構建及應用分析[J].財會通訊,2020(01):136-140.
[5] 王燕霞.區(qū)塊鏈下企業(yè)會計信息系統(tǒng)重構探討[J].財會通訊,2020(15):146-149.
[6] 夏遠江.會計信息系統(tǒng)智能化的診斷與改造探討[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] 盧靜.淺析會計信息系統(tǒng)應用[J].商業(yè)經(jīng)濟,2020(04):137-138.
[10] 侯聰聰.基于插件技術的軟件架構設計及應用[J].電子技術與軟件工程,2018(11):39.
[11] 杜月云,邢文凱.集成異構數(shù)據(jù)源的在線考試系統(tǒng)研究[J].軟件工程,2017,20(02):47-49.
[12] 姜文澤.面向?qū)ο蠹夹g在軟件開發(fā)中的應用[J].電子技術與軟件工程,2018(20):63.
作者簡介:
劉國杰(1982-),男,碩士生,工程師.研究領域:計算機應用技術.
張 ?孝(1972-),男,博士,教授.研究領域:計算機應用技術.