熊瑛
摘要:為實現高校院系中圖書資源的共享,根據高校院系圖書管理的實際需求,本文給出了高校院系圖書管理系統設計與實現的過程。本系統在ASP.NET的基礎上,通過對系統功能的分析與設計,結合三層架構[1]的設計思想,將系統分為數據訪問層、業務邏輯層和視圖層三層,并分層實現,使系統易于維護和升級,最終實現了角色管理、圖書基本信息管理、圖書借閱信息管理主要圖書管理功能。通過該系統的使用,提高了高校院系圖書資源的利用率,減輕了工作人員的負擔,規范高校院系圖書管理工作的流程并提高了工作的服務質量。
關鍵字:圖書管理;ASP.NET;三層架構;
(中圖分類號]G250.7 [文獻標識碼]A
1 引言
高校院系中圖書資料豐富,但如何將這些豐富的圖書資料共享給教師和學生,使其在專業教學和學術科研中發揮應有的作用卻成了一個問題[2]。為實現圖書資料的共享,方便教師和學生借閱,院系需要安排工作人員負責統計圖書借閱和歸還等相關信息,但是由于高校院系中人員配置有限,負責圖書資料管理的工作人員若采用傳統的文本和手工記錄的方式來對圖書資料的借閱和歸還等信息進行管理,不僅工作量較大,而且容易出錯。針對這一問題,設計一個用于高校院系中圖書資料管理的系統顯得十分必要,這也是本文提出的基于ASP.NET的高校院系圖書管理系統的意義所在。
2 系統功能分析與設計
系統分析作為系統設計的基礎,在系統分析的基礎上,能夠將高校院系圖書管理中所遇到的問題抽象為具體的需求 [3],作為后續系統實現的依據。
為實現對院系圖書的管理,需要完成對書籍、報刊、雜志等圖書資料的分類登記;能夠對借閱和歸還等信息進行記錄和查詢;為方便借閱,還要能夠對圖書進行檢索查詢,獲取所查詢圖書的相關借閱信息;同時,還需根據借閱人的身份信息分別對教師借書和學生借書進行不同的設置,以及相關借書人員身份信息的管理和維護。
根據以上分析,高校院系圖書管理系統應包括三個主要功能,即:角色管理功能、圖書基本信息管理功能、圖書借閱信息管理功能。其主要功能分析與說明如表1所示。
表1 高校院系圖書管理系統功能說明表
主要功能模塊
功能劃分
功能說明
角色管理
賬號管理
包括賬號的添加和刪除、密碼修改、賬號級別設置和各級別賬號訪問權限控制。
角色基本信息維護
負責角色基本信息的查詢、修改、刪除功能。
圖書基本信息管理
圖書入庫
負責將圖書資料按出版社類別劃分和圖書類別劃分錄入系統。
圖書出版社類別管理
添加、刪除、修改出版社類別名稱。
圖書類別管理
添加、刪除、修改圖書類別名稱。
圖書借閱信息管理
圖書借閱
登記借閱圖書的借閱人、借閱起止時間、借閱圖書編號等信息。
圖書歸還
負責圖書歸還記錄的登記和保存。
圖書借閱統計
根據借閱記錄以圖表的形式展示不同類別圖書一段時期內借閱的次數。
超時處理
對于未按時間歸還的借閱者,管理員根據實際情況實行延時或懲罰處理。
圖書報失
登記丟失圖書的信息,借閱人按規定照價賠償。
3 軟件架構設計
合理的軟件架構設計是軟件開發的基礎,本系統采用的是在ASP.NET技術的基礎上設計的三層架構,即:數據訪問層、業務邏輯層、視圖層。各層分別負責相對獨立的功能,即使需求發生變化,也只用修改相應層的實現代碼即可,這樣一來不僅提高了軟件開發的效率,同時增強系統的可維護性和擴展性。
1) 數據訪問層:數據訪問層負責提供訪問數據庫的統一接口,訪問數據庫所進行的查詢、添加、刪除、更新操作均通過調用統一的接口實現。
2) 業務邏輯層:業務邏輯層是整個系統的核心層[4],它處于數據訪問層之上,視圖層之下,系統對角色管理功能、圖書基本信息管理功能以及圖書借閱信息管理功能的實現都依賴于業務邏輯層的處理。一方面業務邏輯層負責對數據訪問層獲取到的原始數據進行邏輯處理,將原始數據轉化為用戶可理解的數據傳遞給視圖層展示給用戶;同時,業務邏輯層能夠接收用戶通過視圖層發送的請求,如修改密碼請求、歸還圖書請求等,在對請求進行解析之后,將請求轉化為對數據訪問層具體功能的調用,交與數據訪問層完成數據庫相關操作,實現用戶請求。該層是連接數據訪問層與視圖層的橋梁。
3) 視圖層:視圖層一方面接收業務邏輯層的請求,從業務邏輯層中取得處理后的數據,按照視圖層提供的頁面模板,生成WEB頁面呈現給用戶;另一方面,視圖層接收用戶通過頁面提交的表單數據或者是頁面訪問請求,視圖層將提交的數據或頁面訪問請求交給業務邏輯層處理。
4 系統中關鍵部分實現
1. 數據訪問層實現
數據訪問層創建DataBaseAccess類,DataBaseAccess類中包含string類型的數據庫連接字符串StrConnectionString成員變量和OleDbConnection類型的數據庫連接對象Connection成員變量,在DataBaseAccess類的無參構造函數中實現StrConnectionString與Connection的初始化,關鍵實現代碼如下:
StrConnectionString = System.Configuration.ConfigurationManager.AppSettings["conString"].ToString();
Connection = new OleDbConnection(StrConnectionString);
連接數據庫的字符串在web.config文件中的
除此之外,DataBaseAccess類中提供了OpenConnection()和CloseConnection()方法用于管理數據庫的連接和關閉。
對于數據庫中的添加、刪除、修改操作通過RunSQLStringForUpdate方法實現,該方法返回int類型的數值表示對數據庫的更新所影響的行數,在調用時需要傳遞一個string類型的參數,該參數值為需要執行的SQL語句。
數據庫的查詢操作通過RunSQLStringWithSQLDataTable方法實現,將查詢得到的數據結果存放在DataTable中返回給調用者,同時,在調用時需要傳遞一個string類型的參數,該參數值為查詢SQL語句。
2. 業務邏輯層實現
根據系統的功能設計,業務邏輯層的實現可以抽象為以下三個功能的實現:
1) 數據查詢功能實現:通過DataBaseAccess類的實例化對象,利用實例化對象調用RunSQLStringWithSQLDataTable方法從數據庫中得到原始數據,然后根據具體業務邏輯需要將原始數據轉化為用戶可理解的數據,返回給視圖層,實現對數據的查詢功能。
2) 數據更新功能實現:數據更新功能包括對數據的增加、刪除、修改功能。業務邏輯層接收用戶通過視圖層發送的請求,根據請求生成執行數據庫更新所對應的SQL語句,然后通過DataBaseAccess類的實例化對象調用RunSQLStringForUpdate方法,將生成的SQL語句作為string類型的參數傳遞給RunSQLStringForUpdate方法,實現對數據的更新功能。
3) 公共處理方法實現:在進行業務邏輯處理時需要用到MD5加密、對字符串的安全處理等常用功能,為減少冗余代碼量,將這些常用方法作為靜態方法統一存放在工具類UtilityClass類中,使用時只需調用工具類中的靜態方法即可實現MD5加密、字符串安全處理等常用功能。
3. 視圖層實現
視圖層接收業務邏輯層處理后的數據,將數據以文字、曲線圖、數據表、圖片等形式嵌套在HTML模板頁中,生成相應的WEB頁面返回給用戶。同時,用戶通過點擊WEB頁面中的鏈接或者提交Form表單的方式發送請求,視圖層將請求交與業務邏輯層處理。
5 小結
本系統在ASP.NET的基礎上實現了對高校院系中圖書資料的管理功能,該系統采用了三層架構的分層思想進行設計,使系統易于維護和升級。該系統自使用以來,運行穩定,為教師與學生借閱圖書提供了便利,提高了院系圖書資料的利用率,減輕院系工作人員的負擔,提高工作效率,順應了圖書管理數字化和信息化的發展要求,具有一定的應用價值。
參考文獻
[1] 徐楓.ASP.NET三層架構體系分析與應用[J].數字技術與應用,2011(08):109.
[2] 張建華,顏彩繁.高等院校院系資料室圖書管理信息系統分析與設計[J].現代情報,2008,(04).
[3] 鄧玉嬌,王欣. 圖書管理系統設計與實現[J].軟件,2011(02).
[4] 覃昆,張蓉蓉. 基于B/S結構、三層架構和ASP.NET 2.0技術的基層黨組織協同管理系統設計與實現[J]. 貴州大學學報(自然科學版), 2008(01).