戴璐
摘?要:生活中各類產(chǎn)品的信息化已經(jīng)是社會運轉(zhuǎn)無法分割的一部分,“互聯(lián)網(wǎng)+”模式融入在各個行業(yè)的生產(chǎn)生活中。在這種背景下,基于MVC模式的在線圖書管理系統(tǒng)作為一個承載整個圖書館數(shù)據(jù)的網(wǎng)絡(luò)系統(tǒng),它的使用可以極大地提高圖書館各類用戶的辦事效率,能夠發(fā)揮出信息化高度發(fā)展的優(yōu)越性?;诖耍撛O(shè)計采用三層結(jié)構(gòu)化設(shè)計方法,運用MVC設(shè)計模式,對不同用戶的功能需求進行了詳細分析,并構(gòu)建其數(shù)據(jù)庫格式,從而使圖書館的管理及使用更加智能化。
關(guān)鍵詞:MVC設(shè)計模式;圖書管理;B/S結(jié)構(gòu)
一、概述
隨著計算機技術(shù)的不斷普及,無論高?;蚴枪D書館,使用一套圖書管理系統(tǒng)都成為大勢所趨。圖書管理系統(tǒng)可以快速提高圖書館的日常運作效率和圖書館的數(shù)據(jù)安全性。圖書管理員和讀者使用此系統(tǒng)進行圖書的管理、圖書的借還、查看借閱記錄基本的操作使用,增強各方用戶的圖書館體驗感,將用戶從冗雜的數(shù)據(jù)處理中解放出來。
對于讀者來說,圖書管理系統(tǒng)節(jié)省了查找圖書時間,對于圖書管理員來說,圖書管理系統(tǒng)強大的數(shù)據(jù)處理功能節(jié)約了存儲信息成本,只需一臺電腦便可以輕松操作。本系統(tǒng)設(shè)計了適用于一般圖書館的基本功能,我們采用面向?qū)ο蟮能浖_發(fā)方法,以數(shù)據(jù)流圖為核心,使用各類圖形工具分析建模。本圖書管理系統(tǒng)是基于MVC設(shè)計模式和B/S結(jié)構(gòu)的WEB應(yīng)用系統(tǒng),主要針對服務(wù)端進行設(shè)計開發(fā)。
二、MVC模式概述
MVC,即model,view,control的縮寫,分別代表模型、視圖、控制器。其中用戶在視圖層的操作會傳入控制層,由控制層調(diào)用模型層的方法實現(xiàn)數(shù)據(jù)的持久化存儲。為進一步分離不同用戶之間的操作,在視圖層與控制層分別拆分出系統(tǒng)管理員,圖書管理員和讀者的部分,對這三類用戶進行相應(yīng)的設(shè)計操作。
三、功能需求分析
本圖書管理系統(tǒng)主要存在三類用戶:系統(tǒng)管理員,圖書管理員,讀者。如果用戶登陸成功,則啟動相應(yīng)的管理系統(tǒng),以及相應(yīng)的權(quán)限,實現(xiàn)各項功能。下面將基于各類用戶角色進行各自的功能需求分析。
首先是系統(tǒng)管理員的需求,基于MVC模式的圖書管理系統(tǒng)需要最高級的管理人員實現(xiàn)日常的運維操作,系統(tǒng)管理員要求能夠?qū)D書館的管理員賬號進行把控管理,即對其賬號進行相應(yīng)的增刪改查。增,即為注冊,系統(tǒng)管理人員輸入新增圖書管理人員姓名和密碼,注冊成功后返回數(shù)據(jù)庫自動生成的登錄ID,并顯示成功信息;刪,即刪除,輸入圖書管理員用戶名和登錄ID進行刪除;改,即修改,輸入圖書管理員登錄ID,可以更改姓名和密碼,也可以在瀏覽圖書管理員頁面找到相應(yīng)人員點擊按鈕跳轉(zhuǎn)到修改界面;查,即查找,系統(tǒng)管理員選擇以其登錄ID或姓名為關(guān)鍵字查找該人員,查找成功后顯示所查人員的賬號詳細信息。
其次是圖書管理員的需求,他們是本系統(tǒng)的高頻使用用戶。他們需要管理讀者用戶,同時管理書籍的增刪改查以及借出還入。
首先是對書籍進行增刪改查。增,即新購入書籍并加入圖書管理系統(tǒng),輸入書籍ISBN、書籍新增數(shù)量、館內(nèi)存放區(qū)以及書籍自身詳細信息等內(nèi)容進行新增,成功后顯示數(shù)據(jù)庫生成的書籍ID和成功信息;刪,即刪除書籍,輸入書籍ID,查找特定書籍進行刪除;改,即對書籍的一些固有信息進行改動變化,輸入書籍ID,查找到書籍后完成操作;查,即搜索圖書,用戶可以選擇根據(jù)書籍不同的特征為關(guān)鍵字進行搜索,操作完成后即顯示圖書的具體信息描述。
還有對讀者用戶的增刪改查,要求能夠把控和調(diào)整其基本信息。增,即添加新讀者,圖書管理員設(shè)置讀者用戶名和密碼進行讀者的添加,操作成功后顯示姓名和系統(tǒng)生成的讀者ID;刪,即對其進行注銷,操作人員通過用戶ID和用戶名查找到并刪除;改,對用戶進行修改,例如更改讀者的用戶名等信息;查,即查找讀者,輸入讀者ID和姓名,操作成功顯示讀者姓名、ID、借還歷史等信息。
同時圖書管理員還要求能夠?qū)崿F(xiàn)書籍的借出和還入操作以及審批預定申請。當讀者借書時,圖書管理員通過輸入該讀者的ID和要借的書籍ID完成借出,如果系統(tǒng)判斷庫存不足或讀者借書限額已滿則借出失敗。如果有讀者還書,圖書管理員根據(jù)該讀者借出的書籍ID查找到該未還書籍進行歸還即可。圖書管理員還能夠?qū)徟凶x者的借閱申請,以提交時間順序進行排列對其進行審核,若同意借閱,書籍狀態(tài)將改為已借,其他人無法借出。
最后是讀者需求,讀者需要能夠查看館內(nèi)圖書信息,并瀏覽自己的借還記錄,以便借閱和及時還入。
圖書查詢和預定。查找圖書時,讀者用戶可以選擇不同關(guān)鍵字進行搜索,操作成功后顯示所查書籍的相關(guān)詳細信息,查找失敗則提示關(guān)鍵字不符合規(guī)范或書籍不存在的錯誤提示信息。若所查書籍余量不足,讀者可以選擇加入借閱車以便稍后提交預定申請。
借還管理。讀者需要查看借還信息,借還信息可以供用戶查看自己的借出和還入情況。其中借出情況即借出歷史,顯示書籍基本信息、操作此次借出的管理員ID、借出時間、應(yīng)還時間。歸還情況即歸還歷史,顯示書籍基本信息、操作此次歸還管理員ID、歸還時間。
查看借閱車。讀者可以查看已加入借閱車的書籍并選擇提交借閱申請,申請后將等待圖書管理員審批,審批期間其他人無法預定該圖書。
四、數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫使用的是MySQL數(shù)據(jù)庫,用于存儲各類用戶詳細信息、圖書的相關(guān)配置、讀者的借閱歸還記錄信息,以及對各項記錄增刪改查的信息。使用中,數(shù)據(jù)庫根據(jù)用戶的種類及其需要來分類設(shè)計實現(xiàn)他們的功能。對該系統(tǒng)涉及到的數(shù)據(jù)表部分進行了分析實現(xiàn)。特別地,用戶的密碼也需要進行保護,統(tǒng)一采用MD5碼對用戶的密碼進行加密儲存。
(1)administrator(系統(tǒng)管理員)存儲系統(tǒng)管理員的用戶信息,包括administrator_id系統(tǒng)管理員ID,administrator_name用戶名,administrator_password密碼。
(2)librarian(圖書管理員)存儲系統(tǒng)管理員的用戶信息,包括librarian_id圖書管理員ID,librarian_name用戶名,librarian_password密碼。
(3)reader(讀者)存儲讀者的用戶信息,包括reader_id讀者ID,reader_name用戶名,reader_password密碼,reader_email電子郵箱。
(4)book(書籍)存儲書籍信息,包括ISBN國際標準書號,book_price價格,book_name書名,book_description簡介,publisher_id出版社ID。
(5)publisher(出版社)存儲出版社信息,包括publisher_id出版社ID,publisher_name出版社名。
(6)author(作家)存儲作家信息,包括author_id作家ID,author_name作家姓名。
(7)book_in_library(館內(nèi)圖書)用于存儲館內(nèi)圖書的存放信息,book_id書籍ID,ISBN國際標準書號,book_location存放位置,state狀態(tài)(是否借出)。
(8)writes(著寫關(guān)系管理)存儲作者與其所著書籍,author_id作家ID,ISBN國際標準書號。
(9)borrow_items(借還管理)存儲讀者用戶借閱和還入信息,borrow_id借還ID,reader_id讀者ID,book_id書籍ID,borrow_librarian_id借出圖書管理員ID,return_librarian_id還入圖書管理員ID,borrow_time借出時間,return_time歸還時間。
(10)borrow_cart(借閱車)用于存儲預定申請借閱信息,book_id書籍ID,reader_id讀者ID,submit_time提交申請時間。
五、測試計劃
根據(jù)軟件測試分類,本系統(tǒng)將進行以下測試:
功能測試:檢查系統(tǒng)的最終功能是否能夠滿足需求分析的要求。尤其應(yīng)該對系統(tǒng)的注冊、登錄、圖書信息查詢、借還書等功能進行全面完整的測試。
邊界值測試:選擇邊界數(shù)據(jù)進行測試,并記錄這些數(shù)據(jù)的相鄰值域。確保系統(tǒng)功能正常,程序無異常。
容錯性測試:測試系統(tǒng)的健壯性,觀察系統(tǒng)對錯誤值的容忍程度,測試錯誤的輸入指令是否會使系統(tǒng)崩潰。記錄系統(tǒng)的能力。
壓力測試:測試系統(tǒng)能夠承受的最大壓力,不斷施壓找到系統(tǒng)臨界值,并對臨界值進行評測。
兼容性測試:測試員需要瀏覽器的支持來測試頁面的交互體驗和后臺運作是否正常,需要考慮用戶端瀏覽器的版本兼容問題。
本系統(tǒng)參與測試的人員主要包括開發(fā)人員、系統(tǒng)測試人員、客戶。開發(fā)人員向后者講解系統(tǒng)使用方法;測試人員進行有條理的規(guī)范的系統(tǒng)測試;客戶則查看功能是否滿足要求并及時提出反饋。
本系統(tǒng)的單元測試將在詳細設(shè)計時進行準備,在編碼完成后即進行迭代單元測試。本項目將使用JUnit進行單元測試,若相應(yīng)的覆蓋率可通過評審,則滿足需求。集成測試將在概要設(shè)計時進行準備,通常由沒有利益相關(guān)的設(shè)計人員或使用者來完成。若出現(xiàn)不滿足預期結(jié)果的情況,則使用需求跟蹤矩陣與魚骨圖進行需求確認與查詢開發(fā)人員,確保bug被修復。開發(fā)者應(yīng)參加分析單元測試的結(jié)果,軟件相關(guān)的分析和測試結(jié)果應(yīng)該記錄在相應(yīng)的軟件開發(fā)文件中。
本系統(tǒng)在上述兩種測試結(jié)束后,將進行系統(tǒng)合格性測試。這種測試不再劃分區(qū)域,而是直接將系統(tǒng)整體與規(guī)格說明書進行對比,尋找可以改進的地方。
六、結(jié)語
通過對本系統(tǒng)的設(shè)計和說明,不難發(fā)現(xiàn),基于MVC模式的圖書管理系統(tǒng)的建設(shè)牢牢把握住了效率至上的核心,精簡了對書籍、讀者的管理手段。在互聯(lián)網(wǎng)時代的今天,效率至上不僅僅是一句口號,它還主導著人們的生產(chǎn)和發(fā)展,是快節(jié)奏社會下一種新興的生活態(tài)度。“互聯(lián)網(wǎng)+”的形式也將在這種生活氛圍中更加持續(xù)健康自然地前行。
參考文獻:
[1]劉治國.構(gòu)建基于B/S結(jié)構(gòu)的圖書管理系統(tǒng)[J].信息技術(shù),2005(03):72-73+77.
[2]羅學勤,簡紹勇,袁彬,蔣勝魁.高校圖書館管理系統(tǒng)的分析與設(shè)計[J].計算機產(chǎn)品與流通,2020(05):251-252.