樊偉紅
圖書館管理信息系統設計
樊偉紅

樊偉紅
桂林理工大學圖書館
隨著計算機信息系統的發展,圖書館對管理信息系統的要求越來越高,以往的信息系統已經無法滿足當代圖書館的管理功能,采用先進技術的圖書館管理信息系統已經成為現代圖書館管理的趨勢。本文總結了圖書館管理信息系統國內外發展狀況,采用了軟件工程和UML建模語言的設計思想,對新形勢下的圖書館管理信息系統進行了設計與實現。
高校圖書館作為社會的重要文化信息部門,提供對各類資源分類管理、檢索及流通等功能。隨著我國信息技術的飛速發展及高校圖書管理工作的越來越綜合化、復雜化,急需一套有效的、高效的圖書管理信息系統來提高高校圖書館管理效率,以實現圖書館資源管理規范、管理成本降低、資源流通加快等目的。通過研究高校圖書館管理信息系統實際的業務需求,并深入調研其流程,圖書館的組織結構被進一步明確,包括辦公室、采訪部、典藏部、編目部、閱覽部、期刊部、流通部及綜合部。通過仔細分析圖書館各部門的職能,高校圖書管理信息系統應包括幾個主要的功能模塊:系統管理、采訪管理、典藏管理、編目管理、閱覽室管理、期刊管理、流通管理、讀者管理及文獻檢索。本系統以先進的技術架構為依據,選用先進的、成熟的J2EE技術,并基于J2EE的B/S架構,使用Hibernate和Struts框架技術開發出易擴展、易維護的應用系統,客戶端開發得到簡化,數據庫的操作工作大大減少。本文重點研究、設計并實現了流通管理模塊,它是圖書管理信息系統十分重要的一項功能,主要涉及圖書館最常使用的操作,即借閱者的借還書操作。
20世紀90年代以來,由于網絡信息技術的飛速發展,因特網已經成為全世界學習交流的重要途徑。圖書館由于書籍信息量龐大,以往靠文字進行記載的模式已經無法滿足當代大型圖書館的發展趨勢,因此,數字圖書館由此產生,圖書館正是進入了信息化時代。
在我國,圖書館管理信息系統經歷了三個階段。
第一個階段的圖書館管理信息系統是單純的基于數字資源的信息系統。它主要的功能是將文獻、書籍資源數字化,建立數字資源數據庫,并將這些數字資源嵌入到圖書館管理信息系統。建立數字資源庫是第一階段圖書館管理信息系統的主要工作內容。
第二階段是以集成服務為目的的圖書館管理信息系統。與第一階段的信息系統不同的是,此階段的主要工作目的不再是以建設數字資源數據庫為主要工作重心,而是通過功能的集成構造統一的信息服務系統。該系統能有效促進資源服務的無縫交換和共享。
第三階段是以用戶體驗為中心的圖書館管理信息系統。對于特定的用戶,該系統有著不同的功能,根據用戶定制資源搜索功能,更為人性化。第三階段的以用戶體驗為中心的圖書館管理信息系統是當代各圖書館個性化信息系統所追求的目標。
因此,建立一個個性化的圖書館管理信息系統,使讀者可以在家中獲得文學或書目信息,同時也提高了圖書館的網站的讀者吸引力,并樹立了良好的學習和研究氛圍,對大學圖書館的良性運作的發展方向具有重大的現實意義。
功能性需求
本課題開發的圖書館計算機管理信息系統,是為實現圖書館高級信息化、個性化服務而建立的。當終端用戶登錄到本系統后,用戶可以根據系統推薦的資源信息進行查看與瀏覽,也可以根據自己的興趣、愛好主動定制資源信息。每一個登錄用戶登錄本系統后,系統都會自動記錄用戶的書籍興趣愛好,并記錄用戶的愛好于數據庫中,當用戶下次登錄時,系統就會根據用戶的愛好主動推薦與用戶愛好相關的資源信息。而且,本系統也支持匿名訪問,但是匿名訪問用戶不能使用系統的定制資源信息的功能。當系統更新資源信息時,系統會將更新的信息自動推送給用戶,無需用戶刷新頁面。本系統由7大功能組成,包括讀者借閱、瀏覽數據信息;個性化推薦分析模塊;推送平臺;數據庫管理;資源定制;資源檢索、瀏覽;用戶登錄。
本系統的功能描述如下:
(1)用戶登錄模塊用來實現用戶登錄信息的身份驗證,系統分為普通用戶登錄和管理員用戶登錄兩種方式,普通用戶登錄的權限要低于管理員用戶登錄的權限。系統還支持匿名用戶,不過匿名登錄的用戶無法享用本系統的所有功能,只能使用其基本功能。本系統的注冊用戶只對學校內部的學生、教師進行注冊,實行實名制注冊;
(2)推薦分析模塊是對用戶的以往行為進行記錄和分析,該模塊的主要作用是收集讀者預訂和書目信息,形成一個評估的信息表,為用戶推薦資源信息做好基礎;
(3)資源定制是指用戶對系統的各種資源可以進行自我定制,例如用戶喜歡科幻類書籍,怎可以講科幻類書籍定制為自己喜歡的資源分類,當用戶下次登錄本系統時,系統會主動將科幻類書籍作為首選資源推薦給用戶;
(4)資源檢索模塊是本系統的基礎功能,系統根據用戶的搜索關鍵詞對整個資源信息進行搜索,將搜索結果反饋給用戶;
(5)數據庫管理模塊主要記錄了本系統的各種數據,包括圖書信息、人員信息、推薦信息、定制信息、瀏覽信息、管理員信息等;
(6)推送平臺是本系統的亮點功能,系統推送功能分為三類:新上架資源、熱門資源、用戶可能會喜歡的資源。本功能將有AJAX技術進行實現。
軟件系統的性能決定著系統的工作效率,對于控制系統來說,性能要求高,本應急救援系統的性能需求主要是數據真實性、易維護、安全性、易理解等。
非功能性需求
1.安全性
安全性是一個軟件所必須具備的功能,如若管理員賬號丟失,被非法用戶刪除數據庫、肆意修改救援信息等造成一系列不可恢復的問題,所產生的損失是非常嚴重的。因此在本系統中,必須保證賬戶的安全性。
2.易維護
在軟件開發生命周期中,軟件維護在生命周期最后一步,不過軟件維護在整個生命周期中占的比例是最大的,由于在系統分析和系統設計中考慮不周,或者需求的改變,或者軟件功能的擴充導致的一系列問題,需要對軟件進行維護。軟件易維護,即對軟件易閱讀,易發現和糾正錯誤,易修改和擴充等。軟件的易維護性越好,軟件的維護工作就可以得到簡化。使用結構化設計方法可以使得程序清晰,易于修改。
3.易理解性
為了程序和文檔能更好的被閱讀人員所理解,在程序設計時,需要采用模塊化,結構化設計的方法,對于難懂的程序語句或者文檔需要加以注釋。除此之外,程序中變量、函數的命令需要有一定的含義,使得閱讀人員易懂。相關文檔必須清晰準確。
4.易測試性
在程序編寫結束后,需要對程序進行測試,測試程序是否通預期設計的結果相符。不僅如此,如果程序存在錯誤,設計的程序需要快速地、準確地發現軟件中的錯誤,因此在軟件設計過程中,需要書寫詳細正確的文檔,采用良好的程序結構,使用測試工具和調試工具,保存以前的測試過程和測試用例等等。
關鍵技術
AJAX 編程語言并不是新的,而是一種創建Web應用程序的技術,它能使該程序更快、更好、交互性更強。通過 AJAX,JavaScript 可使用 XML Http Request對象來跟服務器直接進行通信。運用該對象還能促使JavaScript在頁面不重載的情況下跟Web服務器實現數據交換的目的。AJAX 在瀏覽器與 Web 服務器之間通常是使用異步數據傳輸(HTTP 請求),如此就能使網頁不需在服務器上請求整個網頁,而是少量信息。AJAX 可使因特網應用程序更小、更快、更友好。
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,是一種設計軟件的典范,適用于組織代碼只用一種數據及業務邏輯顯示分離的方法,該方法擁有一個假設性的前提,即如果在同一個部件里聚集了所有的業務邏輯,且用戶圍繞界面和數據的交互可被個性化定制或改進,而不需再一次編寫業務邏輯。MVC得到獨特的發展,并被用于在一個邏輯圖形化用戶界面的結構中輸入、處理及輸出映射系統。
Mono Rail是一個.NET的MVC web開發框架,原名Castle On Rails,是Castle Project的一個子項目。Mono Rail實現的模板引擎有3個。
(1)Asp Net View Engine
用傳統的.aspx文件做模板,aspx語法及相應的服務器控件就能被正常使用,然而由于Web form跟Mono Rail的生命周期是完全不同的,所以通常會使人感覺別扭,限制了其部分特性的發揮。
(2)NVelocity View Engine
如果我們用NVelocity做模板引擎,就需要學習好VTL語法。NVelocity的使用方法非常簡單,尤其是java程序員,他們大多數都十分了解velocity。程序員在使用簡單語法時不得不分離開界面和邏輯,以便更好地跟美工協調配合。
(3)Brail View Engine
這是一種以Boo為基礎的模板引擎。Boo是一種跟python的.NET語言類似的語法,從Mono Rail的參考來看,Brail是性能最好、功能最強的引擎,是人們的首選。然而Boo語言對人們來說是陌生的,這是應用Brail引擎時面臨的最大障礙。
設計原則
圖書館管理信息系統應當遵守以下設計原則:
1.系統性原則,圖書館管理信息系統時一個整體系統,在進行系統需求分析、模塊設計時,應當以整體的形式進行分析與設計,并科學劃定每一個子模塊的界限,確保任何缺陷都不會在系統集成時產生;
2.實用性原則:圖書館管理信息系統是一個以傳播知識、高效管理圖書館的系統,該系統的出發點應是其特定的功能,并重視實現這些功能,確保系統充分發揮出實用性;在分析設計及開發過程中要始終圍繞管理這個主題,并切實滿足終端用戶的需求——操作簡單;
3.可擴展性原則:圖書館管理信息系統擁有較強的開放性特征。隨著時間的推移,人們對圖書管理信息系統的性能、功能等要求變得越來越高。所以本系統需要為用戶提供各種大量的、基礎優良的應用程序接口,為今后擴展系統功能時不影響本系統的使用提供保障。
拓撲結構
系統的網絡拓撲結構含有三個數據庫服務器:其中一個為圖書館主數據庫服務器,負責管理整個圖書館的所有資源數據;另兩個是行為收集數據庫和備份數據庫。數據備份管理服務器的作用是:數據的備份管理、各資源信息的情況、行為收集結果數據、賬號信息數據。該備份數據庫服務器定時向總部主數據庫服務器提交所發生的數據改變。
系統架構
本系統采用MVC三層開發架構。在開發途中,XML為擴展標志語言提供了一個直接出列Web數據的通用方法,XML著重描述的是Web頁面的內容。
功能設計
本系統設計的主要功能如下:
普通登錄和匿名登錄本系統
用戶可以檢索系統資源
用戶可以獲取最新的、熱門的、可能會喜歡的資源推薦
用戶可以進行系統資源的定制
用戶可以進行個人信息設置
管理員用戶可以對資源信息進行添加、修改和刪除
管理員用戶可以對用戶賬號進行管理
管理員用戶可以對數據庫進行管理
管理員與普通用戶登錄需要進行身份驗證,并且兩大用戶的功能權限不同。
由于篇幅有限,本文只對用戶登錄模塊設計進行概述。
用戶輸入用戶名和密碼,系統對用戶數據進行處理:輸入完整性檢查,用戶名過濾,數據庫查詢,信息核對。
用戶登錄。接收用戶輸入,為用戶提供可視化登錄界面;
密碼修改。接收用戶輸入,為用戶提供可視化的密碼修改界面;
導航單元。提供指向資源檢索瀏覽導航,為用戶提供可視化界面;
輸入信息過濾器。通用組件,對用戶輸入的信息進行過濾;
用戶信息對比驗證。登錄身份驗證的核心,通過與數據庫全權限表進行數據對比,根據不同的權限導航到不同的界面。
權限設置
本系統分為三大用戶:普通用戶、匿名用戶、管理員用戶。因此本系統權限劃分為三種權限。數據庫表中這三種權限依次用01,10,11表示。其中01表示普通用戶權限,10表示匿名用戶權限,11表示管理員權限。管理員擁有普通用戶和匿名用戶的所有權限。普通用戶擁有用戶登錄、資源檢索瀏覽、資源定制和資源推送功能權限,匿名用戶擁有用戶登錄、資源檢索瀏覽功能權限,管理員用戶擁有全部功能,還包括系統數據庫管理和行為收集的功能權限。
因此在用戶登錄至系統內部時,根據用戶的權限生成不同的菜單即可。
數據庫設計
建設數據庫的總體目標是:把數據作為核心依據,并以成熟的數據庫管理、信息機網絡交互技術為基礎,以遵循統一的標準為原則,建立起一個集數據管理服務功能、數據組織服務功能等為一體的數據管理體系。本系統對數據的實時存儲能力要求高,而且數據量巨大,因此本系統采用微軟的SQL Server2008數據庫作為數據庫管理系統。SQL Server2008具有多種優勢,安全新高、存儲效率高、運行速度高效,在眾多數據庫管理系統中具有絕對優勢,而且SQL Server2008可以與低版本的SQL Server進行無縫連接。本數據庫包含三類數據:基礎信息數據、行為收集數據和備份數據。這三類數據共同構成了圖書館管理信息系統的數據庫。
基礎信息數據主要包含基本的與行為收集數據無關的各種數據,例如賬號信息、資源基礎信息、推薦信息等。
行為收集數據主要包含與用戶活動有關的各種數據,例如用戶喜歡的資源類別信息等,該數據庫在系統運行時需要做大量的收集工作,將每個登錄用戶的喜好信息全部錄入數據庫中。
備份數據庫信息是指將基礎數據庫和行為收集數據庫信息全部備份,保證系統數據的不丟失,減少系統運營風險。
本課題的開發涉及方方面面的內容、環節,且這些環節極易出現各種各樣的問題,如系統分析環節、系統開發環節等,這一系列的問題并不容易被察覺,于是造成系統存在各種各樣的缺陷。然而圖書館管理信息系統是一個以傳播知識文化為目的的系統,務必確保其不存在功能缺陷,具備一定程度的真實性、可靠性,否則圖書管理信息系統就喪失了存在的價值。所以,在開發圖書管理信息系統時,系統測試是一個必不可少的步驟。系統測試的目的就是發現錯誤、糾正錯誤、確保系統的功能實現,提高系統的可靠性與實用性。在軟件工程內,系統測試分為黑盒測試和白盒測試兩種測試方法。所謂黑盒測試,通俗的講就是功能性測試,具體方法是給系統一個輸入,測試其輸出情況。比如在應急醫療救援系統中,測試人員輸入一個無效數據后,系統需要給出一個提示“您輸入的數據無效,請重新輸入”類似的結果。白盒測試應用于系統的內部測試,具體方法是,按照系統的業務工作流程和數據流程,檢驗其工作的正確性與合理性。通過上述軟件測試的方法,本系統的四大功能模塊基本能夠滿足系統需求和功能,而且界面有好,使用方便,數據項顯示正確輸入到系統中圖形模式的數據項能夠正常工作。
圖書館管理信息系統的開發,對各高校和社會圖書館做出了重大的貢獻。本系統能夠有效控制借書出錯情況,提高書籍的查閱和借閱效率。本系統運用AJAX和MONORAIL技術,系統的三層架構給予了系統可靠的安全性保障,并且系統具有強有力的生命力,具有高效的擴展性、維護性、易測試性。AJAX的運用使得系統使用簡單,降低出錯率,保證了系統良好的用戶界面和操作性。
10.3969/j.issn.1001-8972.2015.02.049