趙培
【摘 要】隨著信息技術(shù)的不斷發(fā)展,使用計(jì)算機(jī)對(duì)圖書館信息進(jìn)行管理,已成為圖書管理的必然發(fā)展趨勢(shì)。論文闡述了一種基于B/S結(jié)構(gòu)的圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,通過該系統(tǒng)的應(yīng)用能夠顯著提高圖書館的工作效率。
【Abstract】With the constant development of information technology, using the computer manage the library information has become the inevitable trend of book management. This paper explores the design and implementation process of library management system based on B/S structure, in order to improve the work efficiency of library significance through the application of this system.
【關(guān)鍵詞】B/S ;ASP.NET;圖書館管理系統(tǒng)
【Keywords】B/S; ASP.NET; library management system
【中圖分類號(hào)】G250.71 【文獻(xiàn)標(biāo)志碼】A 【文章編號(hào)】1673-1069(2018)01-0191-04
1 引言
圖書館收集的圖書信息量大,日常的圖書借閱操作任務(wù)繁重。在全手工操作下,圖書管理工作效率低,容易出錯(cuò)。隨著電子信息化技術(shù)的高速發(fā)展,使用計(jì)算機(jī)對(duì)圖書資料進(jìn)行管理,可以更快捷、更方便地查找所需圖書,節(jié)省大量的勞動(dòng)力,提高工作效率,并且可以更方便地對(duì)數(shù)據(jù)進(jìn)行修改維護(hù),提高數(shù)據(jù)的安全性[1]。本文闡述了一種基于B/S結(jié)構(gòu)的圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,該系統(tǒng)能夠?qū)崿F(xiàn)圖書信息管理、讀者信息管理、借閱信息管理、圖書查詢、系統(tǒng)信息管理和公告管理等相關(guān)功能,可以有效提高管理人員的工作效率,方便讀者對(duì)圖書進(jìn)行瀏覽和查詢。
2 系統(tǒng)的功能需求
根據(jù)圖書館管理的實(shí)際需求,本系統(tǒng)需要具有的主要功能包括:
①圖書信息管理模塊:對(duì)圖書基本信息的添加、刪除、修改、查詢和導(dǎo)出。
②讀者信息管理模塊:對(duì)讀者基本信息的添加、刪除、修改、查詢和導(dǎo)出。
③系統(tǒng)設(shè)定模塊(包括圖書類別管理模塊和讀者分類管理模塊):兩者都有添加、刪除、修改、查詢操作。
④借書還書管理模塊:借書、還書及查詢操作。
⑤留言管理模塊:管理員查看留言,讀者添加、修改及刪除留言。
⑥公告管理模塊(包括公告類別管理模塊和公告信息管理模塊):對(duì)公告管理的添加、刪除、修改、查詢。
⑦管理員管理模塊:對(duì)信息的添加、刪除、修改、查詢等操作。
系統(tǒng)的主要功能流程圖如圖1所示:
3 系統(tǒng)架構(gòu)與設(shè)計(jì)
本系統(tǒng)采用B/S開發(fā)模式,數(shù)據(jù)庫服務(wù)器使用SQL Server 2005,開發(fā)平臺(tái)使用Microsoft Visual Studio 2010。
本系統(tǒng)的數(shù)據(jù)庫主要包括圖書信息表、圖書類型表、讀者信息表、讀者分類表、圖書借還表、留言表、公告信息表、公告類別表、圖書罰款表和管理員表共10個(gè)表,各數(shù)據(jù)表的功能如下:
①圖書信息表(tb_bookinfo):用來記錄所有圖書的詳細(xì)信息。
②圖書類型表(tb_booksort):用來記錄所有圖書的類型信息。
③讀者信息表(tb_reader):用來記錄所有讀者的詳細(xì)信息。
④讀者分類表(tb_readersort):用來記錄所有讀者的分類信息。
⑤圖書借還表(tb_borrowback):用來記錄圖書借閱和歸還的詳細(xì)信息。
⑥留言表(tb_notes):用來存放讀者留言。
⑦圖書罰款表(tb_bookfakuan):用來記錄所有圖書罰款的信息。
⑧管理員表(tb_manager):用來記錄所有管理員的信息。
⑨新聞信息表(tb_news):用來存放新聞的相關(guān)信息。
⑩新聞?lì)悇e表(tb_newssort):用來記錄所有新聞?lì)悇e信息。
各個(gè)數(shù)據(jù)表的關(guān)系如圖2所示:
4 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)實(shí)現(xiàn)的主要功能包括:
①用戶登錄:該模塊可以讓讀者、系統(tǒng)管理員和分單位管理員使用,不同的人有不同的權(quán)限。
②讀者借閱管理:管理員對(duì)讀者借書還書時(shí),有單獨(dú)的登錄入口,只要輸入正確的讀者學(xué)號(hào)就會(huì)進(jìn)入借書還書界面。界面會(huì)顯示讀者的信息(讀者編號(hào)、讀者姓名、讀者類型和可借數(shù)量),圖書信息的情況,以及讀者借書的情況。
③圖書管理:圖書管理包含基本信息的管理和圖書類型的管理兩部分。圖書信息管理模塊主要用于查詢、瀏覽圖書的相關(guān)信息以及對(duì)圖書信息的增加、刪除、修改等操作。管理員可以通過圖書編號(hào)、圖書名稱、圖書類型這三者之中的任何一個(gè)進(jìn)行查詢功能(模糊查詢和精確查詢)。圖書分類管理模塊主要用于查詢、瀏覽圖書分類信息以及對(duì)圖書分類信息的增加、刪除、修改等操作。
④讀者管理:讀者管理包含基本信息的管理和讀者類型的管理兩部分。讀者信息管理模塊主要用于查詢、瀏覽讀者的相關(guān)信息,以及對(duì)讀者的增加、修改、刪除等操作。讀者分類管理模塊主要用于查詢、瀏覽讀者分類信息以及對(duì)讀者分類信息的增加、刪除、修改等操作。
5 系統(tǒng)類設(shè)計(jì)
本節(jié)將介紹實(shí)現(xiàn)修改圖書信息功能的詳細(xì)設(shè)計(jì)。為了實(shí)現(xiàn)修改圖書信息的功能,一共設(shè)計(jì)了四個(gè)類,分別是:endprint
ContactDaoImpl:圖書信息數(shù)據(jù)庫操作類
ContactServiceImpl:圖書信息服務(wù)層類
GetAllContactsAction:查找所有圖書信息的Action類
GetAllCategories4UploadAction:查找所有圖書類別的Action類
下面將逐一介紹這幾個(gè)類的設(shè)計(jì)思路,關(guān)系,及類中所使用的方法和實(shí)現(xiàn)的功能等。
上述幾個(gè)類的關(guān)系如下圖3所示。
該類主要功能為實(shí)現(xiàn)對(duì)contact表的數(shù)據(jù)庫操作,該類中的成員變量JdbcTemplate類為Spring框架為開發(fā)人員提供的一個(gè)類,是core包的核心類,它對(duì)JDBC操作進(jìn)行了封裝,完成了資源的創(chuàng)建以及釋放工作,從而簡化了開發(fā)者的開發(fā)難度,減少了開發(fā)人員的代碼量。它還可以幫助避免一些常見的錯(cuò)誤,比如忘記關(guān)閉數(shù)據(jù)庫連接等。JdbcTemplate將完成JDBC核心處理流程,比如SQL語句的創(chuàng)建、執(zhí)行,而把SQL語句的生成以及查詢結(jié)果的提取工作留給應(yīng)用代碼。它可以完成SQL查詢、更新以及調(diào)用存儲(chǔ)過程,可以對(duì)ResultSet進(jìn)行遍歷并加以提取。
jdbcTemplate對(duì)象為由spring通過setter和getter方法自動(dòng)注入,其他方法通過jdbcTemplate對(duì)象的query或update方法來實(shí)現(xiàn),query或update方法需要接收一個(gè)sql語句字符串,其結(jié)果集resultset通過RowMapper來映射給JavaBean的成員變量。
ContactServiceImpl類的類圖如下圖5所示。
ContactServiceImpl類屬于服務(wù)層,由Action層調(diào)用,它調(diào)用ContactDaoImpl類的方法,設(shè)計(jì)該類主要是為了分層,分層的意義在于增強(qiáng)代碼的可復(fù)用性,代碼的擴(kuò)展性和安全性,也易于代碼的維護(hù)。在大型的項(xiàng)目中這些優(yōu)勢(shì)體現(xiàn)的更為突出,一旦業(yè)務(wù)變更,只需修改少量代碼就可完成并且影響面也比較小。這些優(yōu)勢(shì)在項(xiàng)目的開發(fā)后期和版本的升級(jí)時(shí)會(huì)更好地體現(xiàn)出來,本應(yīng)用的邏輯比較簡單,只是簡單的調(diào)用ContactDaoImpl類的方法。
GetAllContactsAction類的類圖如下圖6所示。
該類調(diào)用ContactServiceImpl類,實(shí)現(xiàn)了查詢所有圖書的功能,將得到的所有圖書放在List中,再將該List放在request中,由頁面顯示,它繼承了ActionSupport類,在Struts 2配置文件中映射為一個(gè)以.action結(jié)尾的路徑,頁面中可以請(qǐng)求該路徑,服務(wù)器將執(zhí)行其中的execute方法,該方法返回一個(gè)字符串,根據(jù)字符串的不同進(jìn)行重定向或請(qǐng)求轉(zhuǎn)發(fā)給頁面或另一個(gè)Action。
GetAllCategories4UploadAction類的類圖如下圖7所示。
GetAllCategories4UploadAction類同樣繼承了ActionSup-port類,由頁面請(qǐng)求,實(shí)現(xiàn)了查詢所有圖書類別的功能。
本系統(tǒng)的界面如圖8所示:
6 系統(tǒng)測試
軟件測試就是按照測試方案和流程,利用測試工具對(duì)產(chǎn)品進(jìn)行功能和性能測試,甚至根據(jù)需要編寫不同的測試工具,設(shè)計(jì)和維護(hù)測試系統(tǒng),對(duì)測試方案可能出現(xiàn)的問題進(jìn)行分析和評(píng)估。執(zhí)行測試用例后,需要跟蹤故障,以確保開發(fā)的產(chǎn)品適合需求。它用來幫助識(shí)別開發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整體或部分)的正確度(correctness)、完全度(completeness)和質(zhì)量(quality),使用人工或者自動(dòng)手段來運(yùn)行或測試某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別[2]。
為了更加簡單快捷地測試軟件,采用黑盒測試和白盒測試相結(jié)合的方案。黑盒測試即在測試的過程中并不關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn),它是通過測試來檢測每個(gè)功能是否都能正常使用。在測試中,把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測試,檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測試。主要試圖發(fā)現(xiàn)下列幾類錯(cuò)誤:功能不正確或遺漏;界面錯(cuò)誤;數(shù)據(jù)庫訪問錯(cuò)誤;性能錯(cuò)誤;初始化和終止錯(cuò)誤等。
白盒測試也稱結(jié)構(gòu)測試,這種方法將測試對(duì)象看作一個(gè)透明的盒子,測試人員根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計(jì)測試用例,檢查程序中所有邏輯路徑是否都能按預(yù)定的要求正確工作。白盒測試主要用于對(duì)程序模塊的測試,包括程序模塊中的所有獨(dú)立路徑至少執(zhí)行一次;在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán);對(duì)所有邏輯判定的取值(“真”與“假”)都至少測試一次;測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。常用的白盒測試方法主要有邏輯覆蓋測試、基本路徑測試、數(shù)據(jù)流測試和循環(huán)測試[3]。
7 結(jié)語
本系統(tǒng)滿足了圖書館管理的功能需求,系統(tǒng)界面清晰、操作方便,有效提高了圖書管理的工作效率。系統(tǒng)仍然存在一些不足,今后需對(duì)其進(jìn)行改進(jìn)和完善,以滿足用戶的更高要求。
【參考文獻(xiàn)】
【1】李昊,楊燕勤.基于B/S結(jié)構(gòu)的高校圖書館管理系統(tǒng)的開發(fā)與應(yīng)用[J].現(xiàn)代情報(bào), 2010,30(1):154-158.
【2】曹亞新,侯勇,王文國.基于.NET的圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2006,16(20):35-36.
【3】楊會(huì)朋.圖書館管理系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2011,07(18):4289-4291.endprint