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