freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于bs架構(gòu)的圖書館管理系統(tǒng)論(編輯修改稿)

2025-06-12 20:20 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 書籍歸還的時(shí)候則會(huì)結(jié)算超期時(shí)間,并將對(duì)應(yīng)記錄刪除。 reader 表,該表有 readname、 cardid、 maxborrownum、 couldborrownum、 psd和 overtime六個(gè)元組,分別存放讀者 用戶名 、借書卡號(hào)、最大可借閱書籍量、當(dāng)前可借閱書籍量、借書卡密碼和當(dāng)前超期時(shí)間。 這張表用于存放讀者賬戶的信息,基本所有的模塊都會(huì)對(duì)這張表進(jìn)行操作。 tuijian 表,該表只有 bookname、 writor 和 num 三個(gè)元組,分別存放推薦書籍的書名、作者和推薦數(shù)量 。這張表的作用就是統(tǒng)計(jì)推薦的書籍,只有推薦模塊會(huì)對(duì)這張表產(chǎn)生影響。 在系統(tǒng)結(jié)構(gòu)方面,由于有三種權(quán)限類型,所以決定采用三種身份不同登錄入口的方法,登錄后三個(gè)身份就各自進(jìn)入不同的部分,除非退回主頁(yè)重新登錄,不然無(wú)法進(jìn)入別的身份能夠進(jìn)入的頁(yè)面,各個(gè)身份只是共享數(shù)據(jù)庫(kù),其他部分則沒(méi)有交集。 本 數(shù)據(jù)庫(kù) 的 設(shè)計(jì) 圖如下: 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 界面設(shè)計(jì) 系統(tǒng)界面設(shè)計(jì)方面,首頁(yè)是整個(gè)系統(tǒng)的入口,由于決 定使用三種身份不同登錄入口的設(shè)計(jì),所以首頁(yè)和身份權(quán)限有關(guān)的部分設(shè)計(jì)如下: 如果是游客,則只能使用第一排所有功能和圖書檢索功能,而要有更多的功能,則需要從第二排的對(duì)應(yīng)入口登錄。 登錄只需要賬戶和密碼, 同時(shí)登陸頁(yè)面應(yīng)該盡可能的簡(jiǎn)單明了, 所以登錄界面 里有作用圖 412 數(shù)據(jù)庫(kù)結(jié)構(gòu) 圖 圖 413 首頁(yè)截圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 的 只有 2 個(gè)用于輸入數(shù)據(jù)的文本框和 必備的重置確定按鈕。讀者登錄界面和管理員登錄界面除了標(biāo)題和背景色稍有區(qū)別以外,其他地方完全一樣,區(qū)別只在于與之相關(guān)的 servlet 中的處理過(guò)程,管理員登錄界面如下: 無(wú)論是讀者還是管理員,登錄成功后進(jìn)入的都是對(duì)應(yīng)的個(gè)人資料管理頁(yè)面,該頁(yè)面用于修改個(gè)人密碼,同時(shí)也可以利用界面上的超鏈接進(jìn)入對(duì)應(yīng)身份的其他功能頁(yè)面,讀者與管理員的頁(yè)面不同之處就在于讀者多了修改 用戶名 的文本框以及由于擁有權(quán)限不同而不同的超鏈接。管理員個(gè)人資料管理界面如下: 圖書的借閱 、 歸還 、 超期記錄清除必須經(jīng)過(guò)管理員, 圖書續(xù)借、預(yù)借、推薦則可以通過(guò)讀者完成。這幾個(gè)功能的頁(yè)面區(qū)別不大, 區(qū)別在 于 圖書推薦需要輸入書名和作者名, 圖書借閱需要輸入對(duì)應(yīng)的讀者號(hào), 圖書歸還、續(xù)借和預(yù)借只要輸入書號(hào),超期記錄清除只要輸入讀者號(hào)以及不同身份權(quán)限導(dǎo)致的超鏈接不同, 其他界面方面沒(méi)有什么區(qū)別。 這里選擇圖書借閱和圖書續(xù)借兩個(gè)頁(yè)面作為例子, 圖書借閱頁(yè)面如下: 圖 416 圖書借閱頁(yè)面截圖 圖 415 管理員個(gè)人資料管理頁(yè)面截圖 圖 414 登陸界面截圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 圖書續(xù)借頁(yè)面如下: 管理員的最關(guān)鍵的權(quán)限就在于可以添加和刪除讀者賬戶,由于具有兩種功能,所以在讀者賬戶管理頁(yè)面使用一個(gè)下拉菜單讓管理員選擇操作 類型。讀者賬戶管理頁(yè)面如下: 詳細(xì)設(shè)計(jì) 經(jīng)過(guò)了需求分析和概要設(shè)計(jì),在這一部分里,在程序方面需要就各個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)、算法進(jìn)行描述,在數(shù)據(jù)庫(kù)方面, 概要設(shè)計(jì)里面的數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該重點(diǎn)在描述數(shù)據(jù)關(guān)系上,詳細(xì)設(shè)計(jì)則要描述為什么要使用這種類型存儲(chǔ)數(shù)據(jù) 。 本文在這一部分將主要利用文字?jǐn)⑹雠浜狭鞒虉D和關(guān)鍵代碼將各個(gè)模塊的功能一一描述。 在數(shù)據(jù)庫(kù)方面,一共有以下這幾個(gè)數(shù)據(jù):書名、圖書號(hào)、賬戶、 借書卡號(hào)、 密碼、 用戶名 、 作者、最大可借閱書目、當(dāng)前可借閱數(shù)目、預(yù) 借人卡號(hào)、借閱標(biāo)記、預(yù)借標(biāo)記、續(xù)借標(biāo)記、預(yù)借時(shí)間、借閱時(shí)間、應(yīng)該歸還時(shí)間、歸還時(shí)間、超期時(shí)間。由于圖書號(hào)和借書卡號(hào)不能排除以 0 開(kāi)頭的情況且不可能出現(xiàn)小數(shù)點(diǎn),所以不能使用整型或者浮點(diǎn)型進(jìn)行存放,所以將這兩項(xiàng)在 MySQL 里使用 char 型進(jìn)行存放,雖然看上去是數(shù)字,實(shí)際上是一個(gè)個(gè)字符串。各個(gè)標(biāo)記同樣也使用長(zhǎng)度為 1 個(gè)字符的 char 型進(jìn)行存放。由于是為中小型圖書館設(shè)計(jì)的圖書館管理系統(tǒng),一般數(shù)據(jù)量不會(huì)很多,所以除了標(biāo)記只使用一個(gè)字符長(zhǎng)度進(jìn)行存放外,其他為了保證空間足夠 存放數(shù)據(jù) , 都分配了較大的空間。 而涉及到時(shí)間的數(shù)據(jù),由 于 Java 中返回當(dāng)前時(shí)間的方法是以返回一個(gè) long 類型的數(shù)據(jù),數(shù)據(jù)內(nèi)容是從方法執(zhí)行時(shí)間到過(guò)去一個(gè)固定的時(shí)間點(diǎn)的毫秒數(shù),所以在 MySQL 中使用 bigint 類型存放各類時(shí)間數(shù)據(jù)。 圖 418 讀者賬戶管理頁(yè)面截圖 圖 417 圖書續(xù)借頁(yè)面截圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 在程序方面, 所有的模塊都要使用的方法是參數(shù)的獲取和數(shù)據(jù)庫(kù)的查詢或改寫, 參數(shù)的獲取使用 2 種方法, 方法獲取文本框中的參數(shù) , 方法獲取下拉菜單里的參數(shù)。所有的網(wǎng)頁(yè)表單使用 post 方法將數(shù)據(jù)傳給對(duì)應(yīng)的 servlet。與數(shù)據(jù)庫(kù)的連接使用 JDBC 作為驅(qū)動(dòng),對(duì) 數(shù)據(jù)庫(kù)里數(shù)據(jù)的查詢和修改則使用 PreparedStatement 對(duì)象里的 executeQuery 方法和 executeUpdate 方法。 各個(gè)模塊具體流程和關(guān)鍵代碼如下: 登錄模塊: 從表單獲取賬戶和密碼 的輸入 后連接數(shù)據(jù)庫(kù),查詢是否有對(duì)應(yīng)的數(shù)據(jù),沒(méi)有則跳轉(zhuǎn)到登錄錯(cuò)誤頁(yè)面 并且不產(chǎn)生輸出 ,正確則根據(jù)選擇的登錄入口進(jìn)入對(duì)應(yīng)的個(gè)人資料修改頁(yè)面。 如果成功登錄,則創(chuàng)建一個(gè) session 作為輸出 用于存放登錄的用戶的信息, 流程圖如下 : 個(gè)人管理模塊: 本模塊的輸入是從表 單獲取的舊密碼、兩遍新密碼和從 session 獲得的當(dāng)前登錄用戶用戶名。 如果輸入的 2 遍新密碼不同則會(huì)進(jìn)入修改資料錯(cuò)誤頁(yè)面 且不產(chǎn)生任何輸出 。 2 遍新密碼一致后獲取 session 里存放的當(dāng)前登錄的管理員用戶的賬戶名或者讀者用戶的借書卡編號(hào),然后訪問(wèn)數(shù)據(jù)庫(kù), 查詢是否有用戶名符合從 session 中獲取的登錄名以及密碼符合輸入的舊密碼的賬戶。如果有則 根據(jù)表單上的數(shù)據(jù)對(duì) 數(shù)據(jù)庫(kù)中 符合賬戶名或借書卡圖 421 登錄算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 編號(hào)的賬戶信息進(jìn)行修改 作為輸出 。 修改后依然在個(gè)人資料修改頁(yè)面。如果沒(méi)用則跳轉(zhuǎn)到個(gè)人資料修改錯(cuò)誤頁(yè)面 且不產(chǎn)生任何輸出 。 兩種個(gè)人管理模 塊的的區(qū)別僅在于借書卡管理模塊可以修改 用戶名 ,借書卡管理模塊中如果不輸入新 用戶名 則 用戶名 不做改動(dòng)。 所以流程圖和關(guān)鍵代碼只列出管理員的個(gè)人管理模塊。流程圖如下: 圖書查詢模塊: 本模塊的輸入是 從表單獲取 的 圖書查詢條件和用于查詢的書名 /作者名后,連接數(shù)據(jù)庫(kù),與 book 表中數(shù)據(jù)進(jìn)行比對(duì),將符合條件的圖書書名、書號(hào)、作 者 ,是否已被借閱的信息通過(guò) servlet 里的 ()方法以網(wǎng)頁(yè)形式 進(jìn)行 輸出。該模塊流程圖如下: 圖 422 個(gè)人資料修 改算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 賬號(hào)添加 刪除模塊: 本模塊的輸入是 從表單獲取操作類型和操作對(duì)應(yīng)的借書卡號(hào),如果是添加則看借書卡號(hào)是否已存在,卡號(hào)存在就不能添加,如果是刪除則看該借書卡有沒(méi)有借書記錄和超期記錄,存在記錄就不能刪除,不符合要求則跳轉(zhuǎn)到賬號(hào)管理錯(cuò)誤頁(yè)面 并且不產(chǎn)生任何輸出 ,符合要求則進(jìn)行對(duì)應(yīng)處理, 輸出是對(duì)數(shù)據(jù)庫(kù)的修改, 然后依然返回賬號(hào)添加刪除頁(yè)面。該模塊流程圖如下: 圖 423 圖書查詢算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 借閱模塊: 本模塊的輸入是 從表單獲取 的 需要借閱的圖書的書號(hào)和借閱 該書的讀書卡號(hào) ,之 后訪問(wèn)數(shù)據(jù)庫(kù)。先查詢?cè)摃欠裉幱诒唤锠顟B(tài)(可能是借書時(shí)書號(hào)輸入錯(cuò)誤或還書時(shí)書號(hào)輸入錯(cuò)誤造成)以及該借書卡是否還有可借數(shù)額、超期記錄或是當(dāng)前借閱的圖書處于超期階段。 然后再 查詢?cè)摃欠襁€在預(yù)訂期以及預(yù)訂人是否就是借書人。 不符合條件則跳轉(zhuǎn)到圖書借閱錯(cuò)誤頁(yè)面 并且不產(chǎn)生任何輸出 。 一切條件符合后對(duì) book,borrowbook, reader 三張表進(jìn)行相對(duì)應(yīng)的修改 作為輸出 ,然后返回圖書借閱頁(yè)面。 該模塊流程圖 如下: 圖 424 賬戶增刪算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 續(xù)借模塊: 本模塊的輸出是 從表 單獲取需要續(xù)借的圖書號(hào) 以及 從 session獲取當(dāng)前登錄用戶借書卡號(hào) , 之后 查詢數(shù)據(jù)庫(kù),看是否有符合該書號(hào)且是當(dāng)前登錄借書卡借閱的未超期且未被續(xù)借過(guò)的借閱圖書 。如果沒(méi)有符合要求的圖書則跳轉(zhuǎn)到續(xù)借錯(cuò)誤頁(yè)面且不產(chǎn)生任何輸出。如果有則對(duì) borrowbook表進(jìn)行修改 以作為輸出 ,將應(yīng)該還書時(shí)間延后至續(xù)期時(shí)間的一個(gè)月以后 ,然后返回圖書續(xù)借頁(yè)面。 該模塊程序流程圖如下: 圖 425 圖書借閱算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 預(yù)借模塊: 本模塊的輸入是 從表單獲取 的 想要預(yù)訂的圖書號(hào) ,之 后連接數(shù)據(jù)庫(kù),在borrowbook表 中查詢是否有和圖書號(hào)相同的圖書。有的話則在 book表中查詢?cè)摃欠褚呀?jīng)被預(yù)借。不符合條件則會(huì) 跳轉(zhuǎn)到預(yù)借錯(cuò)誤頁(yè)面 且不產(chǎn)生任何輸出 ,符合條件則進(jìn)行 對(duì) 數(shù)據(jù)庫(kù) 進(jìn)行 修改 作為輸出 ,然后返回圖書預(yù)借頁(yè)面。該模塊流程圖如下: 圖 426 圖書續(xù)借算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 還書模塊: 本模塊的輸入是 從表單獲取 的要還的 圖書 的書 號(hào) ,之后連接數(shù)據(jù)庫(kù) 先在borrowbook表里查詢是否存在這本書。不存在則跳轉(zhuǎn)到還書錯(cuò)誤頁(yè)面 且不產(chǎn)生任何輸出 ,如果存在 則對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改作為輸出,修改過(guò)程如下:先 查詢?cè)摫緯欠褚呀?jīng)超期,超 期則將超過(guò)的時(shí)間累加到借閱該書的讀書卡信息上 ,將該借書卡可借閱數(shù)目 +1,并刪除 borrowbook表中條目。 然后查詢 book表看該書是否被預(yù)借,如果被預(yù)借則在把該書的借閱符號(hào)改成未借閱的同時(shí)將預(yù)借時(shí)間設(shè)為當(dāng)前時(shí)間,如未預(yù)借則 預(yù)借時(shí)間依然為 0。 數(shù)據(jù)庫(kù)修改完成后依然返回還書頁(yè)面。該模塊流程圖如下: 圖 427 圖書預(yù)借算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 超期記錄清除模塊: 本模塊是的輸入是 從表單獲取 的需要清除超期記錄的借書卡號(hào) , 之后連接數(shù)據(jù)庫(kù), 查詢 reader表中是否有對(duì)應(yīng)的超期賬戶。如果沒(méi)有則跳轉(zhuǎn)到超期記 錄清除錯(cuò)誤頁(yè)面 且不產(chǎn)生任何輸出 ,如果有,則將對(duì)應(yīng)賬戶的超期記錄置 0作為本模塊輸出 ,然后返回超期記錄清除頁(yè)面。該模塊流程圖如下: 圖 428 圖書歸還算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 推薦模塊: 本模塊的輸入是 從表單獲取 的推薦的書名和作者 , 之后連接數(shù)據(jù)庫(kù), 查詢tuijian表中數(shù)據(jù),如果有相同數(shù)據(jù),則在該條目下推薦數(shù)目上 +1作為輸出 ,如果沒(méi)有則插入新數(shù)據(jù) 作為輸出 ,然后返回圖書推薦頁(yè)面。該模塊流程圖如下: 圖 4210 圖書推薦算法流程圖 圖 429 超期記錄清除算法流程圖 南京大學(xué)金陵學(xué)院 畢業(yè)論文 (設(shè)計(jì) ) 第五 章 系 統(tǒng) 測(cè) 試 一切設(shè)計(jì)都 完成后,系統(tǒng)就算是編寫完成了,但是仍然有重要的一步就是系統(tǒng)測(cè)試。它的任務(wù)是盡可能地檢查出程序里的錯(cuò)誤,提高軟件系統(tǒng)的可靠性 ,測(cè)試各個(gè)功能是否符合了用戶功能和性能的要求。 本文這一部分將采用一系列測(cè)試用例來(lái)對(duì)系統(tǒng)的各個(gè)模塊進(jìn)行測(cè)試,
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1