[摘 要] 本文從實際工作出發,進行了需求分析,并討論了設計與實現過程,利用.NET技術開發的科研單位財務信息管理與查詢系統,已在國土資源部系統投入使用#65377;使用結果表明,該系統具有很好的靈活性#65380;穩定性#65380;可擴展性#65380;安全性#65380;可管理性等優點#65377;
[關鍵詞] 科研;財務信息;財務查詢;.NET;C#
[中圖分類號]F275;F232[文獻標識碼]A[文章編號]1673-0194(2009)04-0030-05
1 引 言
當21世紀信息化的浪潮席卷全球的時候,信息化的腳步正以它前所未有的滲透力深入到社會中的每個角落#65377;在科研院所中,財務信息化是推動科研管理的重要手段,為科研工作的順利開展提供著重要依據,因此,科研單位的財務信息化已成為目前各個研究院所要解決的問題#65377;現有的財務信息管理系統大多是基于C/S(Client / Server)模式的,隨著科研項目的日益增加,用戶應用系統的增多,該種模式逐漸暴露出以下缺點:信息不能進行互動#65380;信息內容和形式單一#65380;信息不易共享等,因此,C/S模式的軟件已經不能充分發揮計算機網絡在單位中的信息化管理作用#65377;
隨著Internet的發展,基于Web的開發技術日趨成熟,財務信息系統逐步由傳統的C/S模式向B/S模式轉變#65377;運行在服務器上的應用程序以HTML格式發送給瀏覽器,而客戶端可以隨時隨地連接到任意一個信息點,得到想要的信息#65377;隨著開發工具的不斷更新與發展,眾多基于Web的應用系統應運而生,.NET技術就是其中的代表#65377;
本文介紹的“財務管理與查詢系統”就是應用Internet及.NET技術,充分發揮其方便#65380;及時#65380;安全#65380;高效的特點,對科研單位財務信息的各個環節進行信息化管理#65377;為科研院所經費管理人員實時監控和管理其可使用的資金,實時查詢資金的收支余情況,提供了支撐平臺,并且做到按照不同級別的權限進行控制,滿足各個層次人員對不同管轄范圍使用情況的查詢要求,提高工作效率#65377;該系統已在國土資源部系統投入使用,取得了很好的效果#65377;
2 .NET技術介紹
本系統的開發采用了. NET技術#65377;. NET開發工具由
. NET語言(C ##65380;VB. NET 等)#65380;集成開發環境IDE(Visual Studio.NET)#65380;類庫和通用語言運行時(CLR)構成#65377;.NET 框架提取了Microsoft 組件對象模型(COM)的精華,將它們與松散耦合計算有機地結合在一起,生成了強大#65380;高效的Web 組件系統#65377;.NET框架的主要組件包括公共語言運行庫(CLR)和.NET框架類庫(FCL)#65377;CLR 抽象操作系統服務,并用作托管應用程序(managed application,其每一個工作都必須經過CLR 的批準)的執行引擎#65377;FCL 提供托管應用程序將寫入面向對象的API#65377;編寫.NET 框架應用程序時不必考慮Windows API,MFC,ATL,COM 或者其他工具和技術,只要使用FCL#65377;
ADO. NET是. NET應用程序的數據訪問模型,用于訪問SQL Server數據庫系統以及其他已經配備了OLE DB供應器的數據源#65377;在某種程度上,ADO. NET代表了最新版本的ADO技術:支持XML;引入了新的數據對象;與語言無關的數據訪問;使用與CLR一致的數據類型#65377;ASP
. NET是. NET的Web界面技術#65377;它支持的界面包括Web Service與Web Forms兩種形式#65377;Web Service是描述一系列操作的接口,它使用標準規范的XML描述接口#65377;這一描述中包括了與服務進行交互所需要的全部細節#65377;Web Forms創建Web應用界面,其充分利用.NET基類庫的面向對象特性#65380;CLR提供的各種服務等. NET平臺的底層支持,并提供了一種強大而直接的編程模型,該模型使用用戶熟悉的快速應用程序開發(RAD)技術來生成基于Web的復雜用戶界面#65377;
3 系統設計與實現
3. 1需求分析
為適應建設一流科研院所的需要,財務管理信息化的建設根據實際情況,實現資源了共享,降低了使用成本,提高了對各項資金(包括科研經費#65380;基礎工作經費#65380;部門預算經費)的管理水平,更提升了綜合管理水平#65377;
以前存在的問題如下:
(1)課題經費#65380;部門經費出現赤字#65377;在原有財務管理模式下,財務人員無法控制項目經費的赤字開支#65377;經常出現項目沒錢,或者項目已到期結題但有人還在開支,還存在從其他課題經費中暫時周轉等情況,給財務核算帶來巨大壓力并且造成財務管理不規范的局面#65377;此外,也存在部門經費超支,部門負責人對本部門經費支付情況無法進行宏觀控制和管理的情況#65377;
(2)科研人員無法實時查詢經費開支情況#65377;科研人員為了掌握經費開支進度與項目進展情況,需要對經費的收支結余情況進行實時查詢#65377;但在實際工作中,各項目負責人無法掌握科研課題收支和結余情況,因此很難宏觀管理各課題的資金使用,不利于項目的順利開展#65377;
(3)財務人員效率問題#65377;財務人員需要匯總制作各項目#65380;部門的有關資金使用情況表,包括課題收支余匯總表#65380;各部門經費收支余匯總表等,雖然制作這些統計匯總表在一定程度上為科研人員了解其科研課題的資金使用情況提供了幫助,但仍存在兩方面的問題無法解決:一是無法為科研人員提供實時的資金情況分析查詢;二是大大增加了財務人員的工作量,降低了工作實效#65377;
3. 2實現方案
本系統采用B/S軟件架構#65377;在B/S軟件架構中,除數據庫服務器外,應用程序以網頁形式存放于Web服務器上,用戶運行某個應用程序時,只需在客戶端瀏覽器中輸入相應的網址(URL),即可通過網絡調用Web服務器上的應用程序,對數據庫進行操作完成相應的數據處理工作,最后將結果通過瀏覽器反饋給用戶#65377;在B/S模式的計算機應用系統中,應用程序在一定程度上具有集中性的特征,系統安裝#65380;修改和維護全在服務器端解決,很容易在運行時自動升級#65377;本系統采用Visual Studio .NET開發技術,C#編程語言和SQL Server數據庫#65377;C#語言是專門用于. NET的編程語言,是一種簡單#65380;現代#65380;面向對象#65380;類型非常安全的語言#65377;使用C#可以編寫出動態Web頁面#65380;XML Web服務#65380;分布式應用程序的組件#65380;數據庫訪問組件或傳統的Windows桌面應用程序,具有較強的靈活性與兼容性#65377;SQL Server數據庫可移植性好#65380;使用方便#65380;功能強,是一種高效率#65380;可靠性好的適應高吞吐量的數據庫解決方案#65377;
信息傳遞過程如圖1所示#65377;

3. 3數據庫設計
系統主要的信息表為:
(1)各項資金信息錄入:地質調查項目收支日記賬(乙類)#65380;地質調查項目收支日記賬(甲類)#65380;橫向項目收入支出日記賬#65380;基本科研業務費項目收支日記賬#65380;部門支出日記賬#65380;地質調查項目預算表(乙類)#65380;基本科研業務費項目預算表#65380;年度部門預算表#65380;個人借款日記賬#65377;
(2)各項資金查詢與分析:地質調查項目收支明細查詢(乙類)#65380;地質調查項目收支明細查詢(甲類)#65380;橫向項目收支明細查詢#65380;基本科研業務費項目收支明細查詢#65380;部門支出明細查詢#65380;地質調查項目預算執行情況查詢(乙類)#65380;基本科研業務費項目預算執行情況查詢#65380;個人借款查詢#65377;
(3)系統維護:用戶管理信息(包括基本信息和權限信息),不同的用戶具有不同的權限:有的用戶只有查詢權限,不能進行信息錄入及修改;有的用戶可以進行全局查詢;有的用戶只能對自己負責的項目或部門進行查詢#65377;所有的用戶都具有權查詢自己借款和沖賬的信息#65377;項目的建立和授權#65377;
數據庫模型見圖2#65377;

3. 4系統功能設計
3. 4. 1各項資金信息錄入
各項資金信息的錄入是財務信息綜合查詢的基礎,用C#開發,它主要完成將財務信息傳輸到財務信息查詢數據庫中,并對項目#65380;部門等資金信息進行管理和維護#65377;它主要包括如下功能:
(1)設置調用數據庫#65377;該功能提供了設置根據不同的需求和不同的人員進行不同的數據庫表單調用,包括地質調查項目收支日記賬(乙類)#65380;地質調查項目收支日記賬(甲類)#65380;橫向項目收入支出日記賬#65380;基本科研業務費項目收支日記賬#65380;部門支出日記賬#65380;地質調查項目預算表(乙類)#65380;基本科研業務費項目預算表#65380;年度部門預算表#65380;個人借款日記賬#65377;
(2)劃分要查詢的內容#65377;包括項目名稱#65380;項目編號#65380;憑證號#65380;摘要#65380;上年結余#65380;本年收入#65380;人員費#65380;專用儀器設備費#65380;能源材料費#65380;外協費#65380;用地補償費#65380;差旅費#65380;會議費#65380;管理費#65380;勞務費#65380;審查驗收費#65380;交通費#65380;報告印刷費#65380;郵電費#65380;業務交往費#65380;地形測繪#65380;地質測量#65380;物探#65380;化探#65380;遙感#65380;槽探#65380;淺井#65380;坑深#65380;鉆探#65380;巖礦試驗#65380;其他地質工作#65380;工程建筑#65380;地質調查綜合與科學研究#65380;其他#65380;代墊款#65380;個人借款#65380;備注等項目#65377;
(3)資金自動計算生成#65377;在數據錄入過程中,有些數據需要按照一定的公式進行計算后自動生成所需的數據,分配到不同表中的各個項目里面,此項功能大大提高了數據的準確性和人員的效率#65377;
3. 4. 2各項資金查詢與分析
用戶通過IE瀏覽器可以實時查詢其可使用資金的收支余及詳細開支情況#65377;由于針對不同層次使用人員進行開發,因此此系統除在功能上滿足查詢要求外,在權限控制上也滿足查詢要求#65377;
(1)個人借款查詢:通過本系統,所有用戶均可直接登錄此系統實時查詢自己的各種借款出處#65380;時間#65380;金額#65380;數量以及自己的報賬情況#65377;
(2)課題經費和部門經費查詢:在資金控制類別上經費分為課題控制和部門控制兩種#65377;通過本系統,具有不同權限的使用人可以隨時查詢所屬課題的到款#65380;支出和明細情況,以及部門經費的支出明細和結余情況#65377;
(3)預算執行情況查詢:根據不用的權限可以查看課題和部門的預算執行情況,當某一項開支達到預算的80%以后,將會顯示黃色預警信息,提醒負責人此項開支接近完成,當開支達到預算或超過預算后將會顯示為紅色,為決策者提供很直觀的信息,便于合理安排資金#65377;
3. 4. 3系統維護
用戶管理:完成對于應用本系統的用戶管理,包括增加#65380;刪除用戶以及設置用戶具體操作權限等功能#65377;
項目管理:完成對所有項目和部門的管理,包括名稱,編碼,類別的增加#65380;刪除#65380;修改等功能#65377;
用戶授權:根據用戶角色的不同分配不同的權限#65377;如一般用戶#65380;項目負責人#65380;部門負責人#65380;錄入員#65380;超級用戶#65380;系統管理員,分配到的查詢權限和功能各不相同#65377;
財務信息管理與查詢系統功能結構如圖3所示#65377;

3. 5系統安全性
Web應用程序的安全性主要涉及以下3個方面:
身份驗證:用來確定用戶身份,并證明其身份的確符合事實#65377;
授權:用來確定某特定用戶是否具有訪問他們所請求的資源的權限#65377;
數據或功能安全性:指通過物理方式#65380;操作系統更新或使用強大的軟件來提高系統的安全性#65377;
財務信息管理與查詢系統的一個重要的特征是安全保證,整個系統設計采用了3級安全保證#65377;首先,整個系統構架采用B/S模式,避免了Internet上的惡意攻擊#65377;其次,對用戶包括一般用戶#65380;項目負責人#65380;領導等都采用了身份認證,對于身份驗證和授權,本系統自定義用戶管理方案,由系統管理員進行管理#65377;用戶必須輸入用戶名和用戶口令,系統確認無誤后方可進入系統,防止不明用戶對系統的訪問,系統根據用戶權限判斷該用戶可以進行何種操作,還充分利用.NET與SQL Server提供的安全策略和措施來保證系統的安全,因而在一定程度上保證了財務信息的安全性#65377;第三,對財務的內部信息不會造成威脅,財務內部數據放在一臺單獨的服務器上,基于Web查詢的系統放在另外一臺服務器上,即Web查詢服務器在執行其功能時是同財務內部服務器物理隔離的,從而保證了財務信息的安全#65377;
4 關鍵技術分析
4. 1組件功能劃分
合理的組件劃分將從很大程度上簡化系統功能的開發,組件的劃分至少要滿足以下3個條件:
(1)能明確劃分為相互獨立#65380;功能上自主的組成部分,可以視為一個黑盒子;
(2)黑盒子的接口定義清晰,使用組件時只要了解接口規范,不必清楚組件內部的設計原理與工作方式,即組件的內部設計自由完成;
(3)劃分時必須區分項目業務和通用方法#65377;所謂的業務,就是面向客戶而言的,針對用戶具體的業務邏輯;而通用方法獨立于業務邏輯,是在需求分析過程中單獨提取出來的那一部分#65377;
4. 2應用SQL Server 2000的存儲過程
存儲過程類似于ASP.NET function函數,只是存儲過程用T-SQL 編寫,并在數據庫服務器上執行#65377;使用存儲過程的主要好處是性能好,存儲過程在服務器上執行,離數據庫最近,比ASP.NET中用偶發的SQL語句操縱數據時要快得多#65377;業務邏輯可以用存儲過程來實現,對數據庫要進行的操作用存儲過程實現,將業務邏輯嵌入到代碼中,在ASP. NET中調用存儲過程,可以使用DBMS帶有的自然安全權限,為系統提供更好的安全性#65377;另外,使用存儲過程對應用程序維護很方便,在存儲過程中包裝業務邏輯,對應用層隱藏數據庫結構的改變;如果改變基礎表格結構,則可以修改存儲過程,而不影響使用這個存儲過程的應用程序#65377;在系統中,對一些復雜的查詢使用了存儲過程#65377;
4. 3系統性能優化
采用以下措施來提高系統的運行速度與整體性能:
(1)高速緩沖對于創建一個高可用性和可伸縮性的
Web應用程序來說,是一項很重要的技術,應用高速緩沖可以明顯提高Web服務的性能#65377;. NET平臺完全支持高速緩沖技術,并針對不同的情況支持頁輸出緩沖#65380;頁分段緩沖和頁數據緩沖等3 種緩沖技術#65377;
(2)對數據庫中一些表采取反規范化設計,可以提高Web系統的查詢性能#65377;
(3)對表中記錄建立索引可以提高系統檢索速度#65377;
(4)利用存儲過程優化系統性能,使用存儲過程完成數據庫訪問可以提高系統運行效率#65380;優化網絡性能和提高系統安全性#65377;
5 結束語
本文提出了一個應用. NET開發技術,實現科研單位財務信息管理與查詢系統的方案#65377;本系統采用B/S模式,具有良好的通用性#65380;可靠性和可操作性,以及較好的系統安全性#65377;系統有效地實現了資源共享,降低了使用成本,提高了對各項資金(包括科研經費#65380;基礎工作經費#65380;部門預算經費)的管理水平,更提升了綜合管理水平#65377;目前此套系統已經在國土資源部系統投入使用,為科研管理層提供及時準確的信息,為科研水平的提高作出了貢獻#65377;
主要參考文獻
[1] 李勁. 動態電子商務的Web服務[M]. 北京:清華大學出版社,2002.
[2] 荊華. 網絡環境下會計信息系統的內部控制研究[J]. 全國商情,2006(4).
[3] 勞富順. 新形勢下高校財務信息化改造的探討[J]. 中國管理信息化:會計版,2007(6).
[4] Mridula Parihar,等. ASP.NET寶典[M]. 王勇,蓋江南,尚紅昕,等,譯. 北京:電子工業出版社,2002.
[5] Evangelos Petroutsos,Asli Bilgin. VisualBasic.NET數據庫編程[M]. 邱仲潘,郭璇,郭洵,等,譯. 北京:電子工業出版社,2002.
[6] 劉軍,陽小華,楊星. 基于.NET組件技術的教學信息發布與管理系統的設計與實現[J]. 計算機工程與應用,2006(2).