


[摘 要] 隨著獨立學院的辦學規(guī)模逐漸擴大,各獨立學院固定資產(chǎn)的數(shù)量日益增加。在獨立學院辦學條件中,對固定資產(chǎn)指標的要求也越來越多,固定資產(chǎn)管理工作成為一項很重要的工作。信息技術(shù)的發(fā)展為固定資產(chǎn)管理系統(tǒng)軟件的開發(fā)與應(yīng)用提供了技術(shù)支持,可以幫助獨立學院對固定資產(chǎn)進行科學管理和追蹤。根據(jù)對固定資產(chǎn)管理的需求分析,本文對固定資產(chǎn)管理系統(tǒng)的架構(gòu)進行設(shè)計,應(yīng)用三層架構(gòu)技術(shù)構(gòu)建了固定資產(chǎn)管理系統(tǒng),基于.NET平臺和面向?qū)ο笏枷雽崿F(xiàn)了系統(tǒng)。
[關(guān)鍵詞] 獨立學院;固定資產(chǎn);管理系統(tǒng);軟件架構(gòu);面向?qū)ο?/p>
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 03. 025
[中圖分類號] F273.4;TP319 [文獻標識碼] A [文章編號] 1673 - 0194(2012)03- 0048- 03
1 引 言
固定資產(chǎn)管理是獨立學院管理的一個重要組成部分,固定資產(chǎn)具有數(shù)量大、種類多、價值高、使用周期長、使用地點分散等特點。獨立學院的固定資產(chǎn)是由投資方投入的資產(chǎn),是學校資產(chǎn)的重要組成部分,是獨立學院開展各項工作的物資基礎(chǔ)[1]。固定資產(chǎn)管理的好壞,直接影響到獨立學院教學活動的開展以及資產(chǎn)的保值、增值以及對辦學水平的評估。因此,必須加強獨立學院的固定資產(chǎn)管理,提高固定資產(chǎn)的使用效率,保障固定資產(chǎn)的安全和完整,防止固定資產(chǎn)的流失,以促進獨立學院的健康發(fā)展。近些年出現(xiàn)了一些固定資產(chǎn)管理的軟件,雖然在很大程度上解決了手工記賬方式存在的問題,但多數(shù)系統(tǒng)的功能與獨立學院固定資產(chǎn)管理的具體情況差異很大,難以滿足獨立學院管理的需要。故本文根據(jù)獨立學院固定資產(chǎn)的構(gòu)成特點與管理方式,基于微軟.NET平臺對獨立學院固定資產(chǎn)管理系統(tǒng)進行了設(shè)計與實現(xiàn)。
2 系統(tǒng)分析與設(shè)計
固定資產(chǎn)管理系統(tǒng)的應(yīng)用目的是為了順應(yīng)財政制度的要求,加強對獨立學院固定資產(chǎn)的管理與控制,它是與辦公自動化緊密結(jié)合的管理系統(tǒng)之一,該系統(tǒng)完全符合教育部門對固定資產(chǎn)管理的要求,實現(xiàn)了財政部門和主管部門對獨立學院固定資產(chǎn)的查詢、匯總等控制功能,可有效地防止固定資產(chǎn)的流失。
2.1 需求分析
系統(tǒng)采用條形碼對固定資產(chǎn)進行標識,實現(xiàn)了固定資產(chǎn)生命周期和使用狀態(tài)的全程跟蹤[2]。標識后的資產(chǎn)在進行清查或巡檢時顯示出條形碼技術(shù)最突出的特點——方便、快速、準確,大大提高了清查工作的效率,同時保證了信息流和資產(chǎn)實物流的對應(yīng),有效解決固定資產(chǎn)的管理難題,以便更有效地管理固定資產(chǎn)。同時系統(tǒng)采用手持式移動數(shù)據(jù)采集器,可以實時采集固定資產(chǎn)條形碼信息,方便對固定資產(chǎn)進行定期盤點與清查[3]。
2.1.1 功能性需求
固定資產(chǎn)管理系統(tǒng)的主要功能包括資產(chǎn)的增加、變更、報廢、毀損、折舊、借出、歸還、分配使用部門、使用部門變更、管理人員設(shè)定、資產(chǎn)在部門間調(diào)換、各種報表打印、組合查詢等。對于每一項固定資產(chǎn)都可以查詢出該資產(chǎn)的使用部門、折舊等情況。動態(tài)查詢功能可以保證管理人員在第一時間掌握全面的信息資料。報表自動編制打印迅速準確,可以節(jié)約大量手工編制報表的時間。固定資產(chǎn)管理系統(tǒng)將原來分散的管理信息集中起來,組合成為一個具有整體功能的管理平臺。系統(tǒng)的功能性需求描述為:
(1)系統(tǒng)管理,主要功能包括:系統(tǒng)登錄、修改密碼、退出系統(tǒng)。
(2)資產(chǎn)日常管理。資產(chǎn)增加管理,提供對各種來源的資產(chǎn)進行登記建檔,支持批量增加;資產(chǎn)調(diào)動管理,對固定資產(chǎn)進行調(diào)動管理;資產(chǎn)狀態(tài)管理,對固定資產(chǎn)進行狀態(tài)管理;資產(chǎn)報廢管理,實現(xiàn)資產(chǎn)報廢的管理。
(3)資產(chǎn)審核管理,主要功能包括:審核固定資產(chǎn)的增加;審核固定資產(chǎn)的調(diào)動;審核固定資產(chǎn)的狀態(tài)修改;審核固定資產(chǎn)的報廢。
(4)統(tǒng)計報表。資產(chǎn)分類綜合統(tǒng)計,反映某時間段,各類資產(chǎn)的期初數(shù)量和價值期中增加的數(shù)量和價值、期中銷賬的數(shù)量和價值、期末的數(shù)量和價值、以及本期的折舊;部門資產(chǎn)分類匯總,反映某部門、某時間,各類資產(chǎn)的價值和折舊情況;部門資產(chǎn)明細列表,反映某部門、某時間,各個資產(chǎn)的價值和折舊情況;資產(chǎn)折舊歷史明細,以資產(chǎn)為線索,反映每項資產(chǎn)的歷月詳細折舊情況;到期資產(chǎn)明細表,反映某時間,滿折舊期的資產(chǎn)列表。
(5)綜合查詢。按部門查詢,按照固定資產(chǎn)使用部門對固定資產(chǎn)信息進行查詢;按類別查詢,按照固定資產(chǎn)所屬類別對固定資產(chǎn)信息進行查詢;按使用狀態(tài)查詢,按照固定資產(chǎn)使用狀態(tài)進行查詢;組合查詢,根據(jù)多條件對固定資產(chǎn)信息進行查詢。
(6)基礎(chǔ)數(shù)據(jù)維護。院系管理,對學校的組織機構(gòu)進行維護;保管員管理,對各個部門的保管員檔案進行維護管理;資產(chǎn)分類管理,提供資產(chǎn)分類查詢服務(wù)。
(7)系統(tǒng)維護,主要功能包括:操作人員管理、系統(tǒng)參數(shù)設(shè)置、月度折舊處理、災(zāi)備等。
3 系統(tǒng)的架構(gòu)設(shè)計與實現(xiàn)
固定資產(chǎn)管理系統(tǒng)的主要用戶有資產(chǎn)管理部門與資產(chǎn)的保管部門,通過網(wǎng)絡(luò)對固定資產(chǎn)進行管理,根據(jù)這一特點,本文設(shè)計的固定資產(chǎn)管理系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
3.1 系統(tǒng)架構(gòu)設(shè)計
在軟件體系架構(gòu)設(shè)計中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)[4]。比較流行的分層式結(jié)構(gòu)一般分為3層,從下至上分別為:數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層(或稱為領(lǐng)域?qū)樱┖捅硎緦印?/p>
3.1.1 數(shù)據(jù)訪問層
數(shù)據(jù)訪問層的功能主要是負責數(shù)據(jù)庫的訪問。簡單來說就是實現(xiàn)對數(shù)據(jù)表的增、刪、改、查等操作。
3.1.2 業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層是整個系統(tǒng)的核心,它與這個系統(tǒng)的業(yè)務(wù)(領(lǐng)域)有關(guān)。本系統(tǒng)業(yè)務(wù)邏輯層的相關(guān)設(shè)計均與固定資產(chǎn)特有的邏輯相關(guān),如查詢資產(chǎn)、打印條形碼、新增資產(chǎn)等。如果涉及數(shù)據(jù)庫的訪問,則調(diào)用數(shù)據(jù)訪問層。
3.1.3 表示層
表示層是系統(tǒng)的用戶接口部分,負責用戶與整個系統(tǒng)的交互。在這一層中,理想的狀態(tài)是不包括系統(tǒng)的業(yè)務(wù)邏輯,表示層中的邏輯代碼,僅與界面元素有關(guān)。本系統(tǒng)分別設(shè)計實現(xiàn)了兩種表示層,分別是基于ASP.NET構(gòu)建的Web Forms表示層和基于Visual C#的Windows Forms表示層[5],因此包含了許多Web Forms控件和Windows Forms控件的相關(guān)邏輯。
3.1.4 三層架構(gòu)的整合
在數(shù)據(jù)訪問層(DAL)中,仍然采用DAL Interface抽象出數(shù)據(jù)訪問邏輯,并以DAL Factory作為數(shù)據(jù)訪問層對象的工廠模塊[6]。對于DAL Interface而言,分別有支持MS-SQL的SQL Server DAL和支持Oracle的Oracle DAL具體實現(xiàn)。而領(lǐng)域?qū)嶓w對象模塊則包含了數(shù)據(jù)實體類(對象)。在數(shù)據(jù)訪問層中,完全采用了“面向接口編程”思想[7]。抽象出來的IDAL模塊,脫離了與具體數(shù)據(jù)庫的依賴,從而使得整個數(shù)據(jù)訪問層有利于數(shù)據(jù)庫遷移。DAL Factory模塊專門管理DAL對象的創(chuàng)建,便于業(yè)務(wù)邏輯層訪問。SQL Server DAL和Oracle DAL模塊均實現(xiàn)IDAL模塊的接口,其中包含的邏輯就是對數(shù)據(jù)庫的增、刪、改、查等操作。
3.2 系統(tǒng)實現(xiàn)
3.2.1 數(shù)據(jù)訪問層的實現(xiàn)
本文中,系統(tǒng)需要處理的數(shù)據(jù)庫對象分為兩類。第一類是數(shù)據(jù)實體,對應(yīng)數(shù)據(jù)庫中相應(yīng)的數(shù)據(jù)表。它們沒有行為,僅用于表現(xiàn)對象的數(shù)據(jù)。這些實體類都被放入Entities程序集中,例如固定資產(chǎn)數(shù)據(jù)表Asset_list對應(yīng)的實體類Asset。這些對象并不具有持久化的功能,它們是作為數(shù)據(jù)的載體,便于業(yè)務(wù)邏輯針對相應(yīng)數(shù)據(jù)表進行讀/寫操作。雖然這些類的屬性分別映射了數(shù)據(jù)表的列,而每一個對象實例也恰恰對應(yīng)于數(shù)據(jù)表的每一行,但這些實體類并不具備數(shù)據(jù)庫訪問能力。
第二類數(shù)據(jù)庫對象則是數(shù)據(jù)的業(yè)務(wù)邏輯對象。這里所指的業(yè)務(wù)邏輯,并非業(yè)務(wù)邏輯層意義上的領(lǐng)域(domain)業(yè)務(wù)邏輯,而是基本的數(shù)據(jù)庫操作,包括Select,Insert,Update和Delete。由于這些業(yè)務(wù)邏輯對象僅具有行為而與數(shù)據(jù)無關(guān),因此它們均被抽象為一個單獨的接口模塊IDAL,例如固定資產(chǎn)數(shù)據(jù)對象Asset對應(yīng)的接口IAsset,如圖2所示。
從可移植性出發(fā),本文的系統(tǒng)支持SQL Server和Oracle,那么它們具體的實現(xiàn)就分別放在兩個不同的模塊SQL Server DAL、Oracle DAL中。以Asset為例,在SQL Server DAL、Oracle DAL兩個模塊中,有不同的實現(xiàn),但它們都實現(xiàn)了IOrder接口。
3.2.2 業(yè)務(wù)邏輯層的實現(xiàn)
業(yè)務(wù)邏輯層(BLL)中與Asset(資產(chǎn)實體類)、Department(部門實體類)、Person(保管員實體類)、Room(保存地點實體類)等實體類有關(guān)的業(yè)務(wù)方法,其實現(xiàn)邏輯是調(diào)用數(shù)據(jù)訪問層(DAL)對象訪問數(shù)據(jù)庫,以獲取相關(guān)數(shù)據(jù)。業(yè)務(wù)邏輯層中的實體對象僅僅是完成對數(shù)據(jù)對象的簡單封裝,但這種分離層次的方法在系統(tǒng)的整體架構(gòu)中依然扮演了舉足輕重的作用。
業(yè)務(wù)邏輯層扮演了數(shù)據(jù)訪問層和表示層的中介,兩層之間傳遞的數(shù)據(jù)為實體對象和實體對象列表。其中大量采用了泛型編程[8]。
3.2.3 表示層的實現(xiàn)
本文系統(tǒng)設(shè)計實現(xiàn)了兩種表示層:第一種為基于Visual C#的Windows Forms版的界面,另外一種為基于ASP.NET的Web Forms版的界面。
如圖3所示,Windows Forms版的界面主要包括固定資產(chǎn)管理、報表等較全面功能的應(yīng)用程序,而且集成了條形碼打印和手持移動數(shù)據(jù)采集器的數(shù)據(jù)導入,方便固定資產(chǎn)管理部門對固定資產(chǎn)進行管理和清查工作。
Web Forms版的界面主要包括固定資產(chǎn)的增加、修改、維修、申請等各固定資產(chǎn)保管部門常用的功能。各資產(chǎn)保管部門可以通過Web方便地訪問系統(tǒng)。
4 總 結(jié)
在本系統(tǒng)的設(shè)計中,主要的關(guān)注點是方便用戶的操作以及系統(tǒng)的升級維護和重用性,使用戶操作時感到非常方便,日后的維護工作也將非常輕松。另外,為了方便固定資產(chǎn)管理部門管理固定資產(chǎn)的條形碼和使用手持移動數(shù)據(jù)采集器對資產(chǎn)進行清查,基于同一種架構(gòu)實現(xiàn)了C/S和B/S兩種圖形界面表示層,既有優(yōu)點又有缺點,日后可以考慮開發(fā)更加便捷的客戶端系統(tǒng)如瘦客戶端[9]。
主要參考文獻
[1]莊莉,徐東紅. 獨立學院資產(chǎn)管理研究與實踐[J]. 財務(wù)與金融,2011(1):60-63.
[2]范煥瓊. 淺談條形碼在獨立學院固定資產(chǎn)管理中的應(yīng)用[J]. 科技資訊,2008(4).
[3]王竹萍. 基于條形碼和RFID技術(shù)的獨立學院固定資產(chǎn)管理系統(tǒng)設(shè)計[J]. 杭州師范大學學報:自然科學版,2009(1):56-61.
[4]陳友良,盛可軍,王陽陽. 基于ASP.NET三層結(jié)構(gòu)軟件的研究與開發(fā)[J]. 現(xiàn)代電子技術(shù),2010(6):58-60.
[5]P Kruchten, H Obbink, J Stafford. The Past, Present, and Future for Software Architecture[J]. IEEE Software, 2006, 23(2): 22-30.
[6]Brian Ellis, Jeffrey Stylos, Brad Myers. The Factory Pattern in API Design: A Usability Evaluation [C]. Proceedings of the 29th International Conference on Software Engineering, 2007: 302-312.
[7]王志喜,王潤云. 新一代程序設(shè)計語言C#中的面向?qū)ο髾C制 [J]. 計算機工程與應(yīng)用,2003(7):107-110.
[8]佘名高,姚開鵬.用泛型技術(shù)改進.NET面向?qū)ο蟪绦蛟O(shè)計方法[J]. 武漢理工大學學報:信息與管理工程版,2005,27(2):93-95.
[9]Albert M Lai, Jason Nieh. On the Performance of Wide-Area Thin-Client Computing[J]. ACM Transactions on Computer Systems, 2006, 24(2).