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