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