【文章內(nèi)容簡(jiǎn)介】
詢(xún)的圖書(shū)不存在(第 2 步后)1. 讀者輸入的圖書(shū)信息不能在數(shù)據(jù)庫(kù)中查詢(xún)到2. 系統(tǒng)顯示暫時(shí)無(wú)該圖書(shū)信息3. 重新啟動(dòng)該用例被包含用例 無(wú)被擴(kuò)展用例 無(wú)優(yōu)先級(jí) 高9 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)是整個(gè)系統(tǒng)的基石,數(shù)據(jù)庫(kù)的設(shè)計(jì)優(yōu)劣直接影響到整個(gè)系統(tǒng)的設(shè)計(jì)成敗,本節(jié)對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)進(jìn)行專(zhuān)門(mén)闡述 [5]。數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù)。十多年來(lái)數(shù)據(jù)庫(kù)管理系統(tǒng)已從專(zhuān)用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。因此不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫(kù)管理系統(tǒng) [6]。數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫(kù)技術(shù)也是計(jì)算機(jī)領(lǐng)域中發(fā)展最快的技術(shù)之一。數(shù)據(jù)庫(kù)設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫(kù)的模型的過(guò)程,它是建立數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的核心問(wèn)題。數(shù)據(jù)庫(kù)及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫(kù)的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫(kù)設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫(kù)性能的方法收效都是有限的。數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫(kù)能合理地存儲(chǔ)用戶(hù)的數(shù)據(jù),方便用戶(hù)進(jìn)行數(shù)據(jù)處理 [6]。設(shè)計(jì)數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫(kù)中,這種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫(kù)遵循第三范式。即:數(shù)據(jù)庫(kù)表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度 [6]。整個(gè)系統(tǒng)所包括的信息有圖書(shū)信息、讀者信息、留言信息、圖書(shū)借閱信息、圖書(shū)歸還信息、系統(tǒng)用戶(hù)信息、讀者類(lèi)型信息??蓪⑦@些信息抽象為下列系統(tǒng)所需要的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):1)圖書(shū)信息(編號(hào),圖書(shū)名稱(chēng),圖書(shū)類(lèi)型,作者,譯者,ISBN 號(hào),價(jià)格,出版社,所在書(shū)架,入庫(kù)時(shí)間,操作員)2)圖書(shū)類(lèi)型(編號(hào),名稱(chēng),可借閱天數(shù))3)讀者信息(編號(hào),姓名,性別,條形碼,讀者類(lèi)型,出生年月,有效證件,證件號(hào)碼,登記日期,電話(huà),郵箱,操作員)4)讀者類(lèi)型(名稱(chēng),可借閱圖書(shū)本數(shù))5)圖書(shū)借閱信息(圖書(shū)編號(hào),讀者 ID,借出時(shí)間,應(yīng)還時(shí)間,是否歸還,操作員)6)圖書(shū)歸還信息(圖書(shū)編號(hào),讀者 ID,歸還時(shí)間,操作員)107)用戶(hù)(編號(hào),用戶(hù)名稱(chēng),密碼)8)圖書(shū)館信息(編號(hào),名稱(chēng),館長(zhǎng),電話(huà),地址,郵箱,創(chuàng)建日期,簡(jiǎn)介)圖書(shū)館參數(shù)信息(編號(hào),辦證費(fèi)用,有效期限)注:帶下劃線(xiàn)表示主鍵在這里使用 ER 圖描述了圖書(shū)借閱管理系統(tǒng)的數(shù)據(jù)模型。圖 圖書(shū)借閱管理系統(tǒng)ER 圖描述了該系統(tǒng)所涉及到的實(shí)體以及他們之間的關(guān)系。具體結(jié)構(gòu)如下圖所示:圖 系統(tǒng) ER 圖 圖書(shū)信息表結(jié)構(gòu)設(shè)計(jì) 圖書(shū)信息表主要用于存儲(chǔ)圖書(shū)館中所藏圖書(shū)的相關(guān)信息,其中的相關(guān)信息是在圖書(shū)入庫(kù)時(shí)由操作員進(jìn)行添加完善,此表主要用于讀者和圖書(shū)管理員對(duì)館中圖書(shū)的查詢(xún),系統(tǒng)用戶(hù)根據(jù)圖書(shū)的某個(gè)屬性進(jìn)行查詢(xún),便可得知圖書(shū)的其他相關(guān)信息,其中圖書(shū)所在書(shū)架屬性是便于讀者借閱時(shí)對(duì)圖書(shū)的尋找,圖書(shū)價(jià)格是在讀者不慎將圖書(shū)遺失時(shí)對(duì)遺失圖書(shū)進(jìn)行賠償?shù)囊罁?jù)。表的具體結(jié)果如下:表 圖書(shū)信息表 tb_bookinfo字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明barcode varchar 30 No Keybookname varchar 70 No 11author varchar 30 Yes 作者translator varchar 30 Yes 譯者ISBN varchar 20 Noprice float 8,2 No 圖書(shū)價(jià)格bookcase varchar 10 No 圖書(shū)所在書(shū)架press varchar 70 No 出版社intime date No 圖書(shū)入庫(kù)時(shí)間operator varchar 30 No 操作員page int 10 Yes 圖書(shū)頁(yè)碼 圖書(shū)類(lèi)型信息表結(jié)構(gòu)設(shè)計(jì) 該表的設(shè)計(jì)主要是方便對(duì)圖書(shū)的分類(lèi),和對(duì)圖書(shū)的查詢(xún),在實(shí)際應(yīng)用中圖書(shū)管理員就是根據(jù)圖書(shū)類(lèi)型的不同將之分列在不同的書(shū)架,以方便讀者的借閱尋找,其中可借閱天數(shù)項(xiàng)設(shè)置了不同類(lèi)型圖書(shū)的借閱期限,可根據(jù)圖書(shū)的具體情況進(jìn)行不同的維護(hù)管理,表的具體結(jié)構(gòu)設(shè)計(jì)如下:表 圖書(shū)類(lèi)型信息表 tb_booktype字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明ID int 10 No Keybookname varchar 30 No days int 10 No 可借閱天數(shù) 讀者信息表結(jié)構(gòu)設(shè)計(jì)讀者信息表的設(shè)計(jì)是為了圖書(shū)館管理員對(duì)讀者進(jìn)行管理,其中讀者 ID,不同類(lèi)型證件的號(hào)碼都是唯一的,是讀者在借閱圖書(shū)時(shí)需要輸入對(duì)讀者身份進(jìn)行識(shí)別的信息,讀者郵件電話(huà)等信息室為了與讀者進(jìn)行聯(lián)系,讀者類(lèi)型信息決定了讀者一次性可借閱的圖書(shū)的數(shù)量,注冊(cè)時(shí)間可用于查詢(xún)計(jì)算讀者身份有效的期限,操作員是為了便于對(duì)信息才操作的查詢(xún)。表的具體結(jié)構(gòu)設(shè)計(jì)如下:12表 讀者信息表 tb_reader字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明Id int 10 No Keyname varchar 20 No sex varchar 4 No barcode varchar 30 No readertype varchar 11 No 讀者類(lèi)型tel varchar 20 Yes 電話(huà) varchar 100 Yes paperType varchar 10 No 證件類(lèi)型PaperNO. Varchar 20 No 證件號(hào)碼birthday date Yes intime date No 登記時(shí)間operator varchar 30 No 操作員 讀者類(lèi)型信息表結(jié)構(gòu)設(shè)計(jì)此表的設(shè)計(jì)是為了對(duì)不同身份的讀者進(jìn)行分類(lèi)方便讀者的管理,其中可借閱圖書(shū)數(shù)量的屬性設(shè)定,是根據(jù)讀者需求的不同對(duì)起權(quán)限進(jìn)行的設(shè)置,用于規(guī)定不同類(lèi)型讀者一次可借閱的圖書(shū)數(shù)量,表的具體結(jié)構(gòu)設(shè)計(jì)如下:表 讀者類(lèi)型信息表 tb_readertype字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明ID int 10 No Keyreadername varchar 50 No number int 4 No 可借圖書(shū)本數(shù) 圖書(shū)借閱信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)是用于對(duì)讀者借閱圖書(shū)進(jìn)行管理,表中圖書(shū) ID 屬性是對(duì)借閱圖書(shū)的唯一性識(shí)別標(biāo)識(shí),讀者 ID 號(hào)記錄借閱的相應(yīng)讀者,結(jié)出時(shí)間記錄了相應(yīng)的歸還時(shí)間,以及歸還時(shí)是否超時(shí),操作員是對(duì)借閱進(jìn)行操作的人員的記錄方便日后的查詢(xún),是否歸還標(biāo)識(shí)可查13詢(xún)當(dāng)起讀書(shū)是否被歸還,表的具體結(jié)構(gòu)設(shè)計(jì)如下:表 圖書(shū)借閱信息表 tb_borrow字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明ID int 10 No KeyreaderID varchar 10 No bookID int 10 No borrowTime date No 結(jié)出時(shí)間backTime date No 應(yīng)歸還時(shí)間operator varchar 30 No 操作員ifback tinyint 1 No 是否歸還 圖書(shū)歸還信息表結(jié)構(gòu)設(shè)計(jì)與圖書(shū)借閱信息表形成對(duì)照的是圖書(shū)歸還信息表,該表的設(shè)計(jì)除了像上表一樣把借閱的圖書(shū)與相應(yīng)的借閱者進(jìn)行對(duì)應(yīng)的聯(lián)系以外還記錄了讀者應(yīng)歸還圖書(shū)的時(shí)間,以此判斷讀者的借閱是否超時(shí),表的具體結(jié)構(gòu)設(shè)計(jì)如下:表 圖書(shū)歸還信息表 tb_giveback字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明ID int 10 No KeyreaderID varchar 11 No bookID int 11 No backTime date No 歸還時(shí)間operator varchar 30 No 操作員 用戶(hù)信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)用于記錄圖書(shū)管理系統(tǒng)用戶(hù)的信息,方便對(duì)用戶(hù)的管理,表中包括用戶(hù) ID 和用戶(hù)的登錄密碼,表的具體結(jié)構(gòu)設(shè)計(jì)如下:14表 系統(tǒng)用戶(hù)信息表 tb_user字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明ID int 10 No Keyname varchar 30 No password varchar 30 No 圖書(shū)館信息表結(jié)構(gòu)設(shè)計(jì)該表包含了圖書(shū)館的名稱(chēng),地址,聯(lián)系方式,建館時(shí)間,簡(jiǎn)介等信息,是對(duì)圖書(shū)館基本屬性信息的描述,方便外界讀者對(duì)圖書(shū)館的了解,表的具體結(jié)構(gòu)設(shè)計(jì)如下:表 圖書(shū)館信息表 tb_library 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明ID int 10 No Keylibraryname varchar 50 No curator varchar 10 No tel varchar 20 Yes 結(jié)出時(shí)間address varchar 100 No 應(yīng)歸還時(shí)間 varchar 100 No url varchar 100 No 圖書(shū)館網(wǎng)站createDate varchar No 創(chuàng)館時(shí)間introduce text Yes 圖書(shū)館簡(jiǎn)介 辦證參數(shù)信息表結(jié)構(gòu)設(shè)計(jì)該表是為校外人員設(shè)計(jì)的,對(duì)于需要到圖書(shū)館進(jìn)行借閱的讀者可辦理臨時(shí)的借閱證用于對(duì)圖書(shū)的借閱憑證,表中包含了辦證所需費(fèi)用以及證件的有效期限,表的具體結(jié)果設(shè)計(jì)如下:表 圖書(shū)證參數(shù)信息表 tb_parameter字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段長(zhǎng)度 是否為空 說(shuō)明ID int 10 No KeyCost int 10 No 辦證費(fèi)用validity int 10 No 有效時(shí)間15 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)該系統(tǒng)在 Windows98/2022/XP 環(huán)境下,主要采用 JSP 開(kāi)發(fā)工具,MySQL 數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì),開(kāi)發(fā)過(guò)程與成果應(yīng)符合 GB/T 114571995 軟件工程術(shù)語(yǔ),GB/T 85671988 計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文件編制指南等 [7]。 圖書(shū)管理系統(tǒng)總體結(jié)構(gòu)圖繪制系統(tǒng)結(jié)構(gòu)圖的過(guò)程,實(shí)際上就是對(duì)系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過(guò)程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)構(gòu)圖 [8]。系統(tǒng)結(jié)構(gòu)圖將會(huì)使讀者和用戶(hù)能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個(gè)功能的結(jié)構(gòu),能很好地方便用戶(hù)使用和理解整個(gè)系統(tǒng)。本系統(tǒng)的結(jié)構(gòu)圖如下:圖 系統(tǒng)總體結(jié)構(gòu)圖根據(jù)需求分析的結(jié)果,按照“低耦合、高內(nèi)聚”的原則,本系統(tǒng)將劃分為以下主要功能模塊:系統(tǒng)管理員功能模塊,讀者管理功能模塊,圖書(shū)管理功能模塊,圖書(shū)借還功能模塊;系統(tǒng)查詢(xún)功能模塊 [8]。 系統(tǒng)管理員模塊功能該模塊主要包括圖書(shū)館信息設(shè)置,用戶(hù)管理,參數(shù)設(shè)置,書(shū)架設(shè)置。該功能選項(xiàng)用于系統(tǒng)管理員對(duì)圖書(shū)館名稱(chēng),地址,聯(lián)系方式,簡(jiǎn)介等信息的管理更新,16以便于讀者和外界人士對(duì)圖書(shū)館的了解。該功能是對(duì) td_library 表進(jìn)行維護(hù)修改等操作,修改后的信息將被保存在該表中。該功能子模塊主要是系統(tǒng)管理員對(duì)系統(tǒng)用戶(hù)的管理,通過(guò)此子模塊的功能實(shí)現(xiàn)可以對(duì)用戶(hù)進(jìn)行添加、修改、刪除、權(quán)限設(shè)置等操作,該子模塊能將圖書(shū)館的不同工作細(xì)化到不同的相關(guān)人員,極大地提高了圖書(shū)館的工作效率。該操作是對(duì) tb_users 表進(jìn)行操作,在對(duì)用戶(hù)進(jìn)行了相關(guān)的操作后把操作后的最新信息存放在該表中。通過(guò)該子模塊設(shè)置在圖書(shū)館辦理臨時(shí)讀者證的費(fèi)用及證件有效期限。該操作是對(duì)于tb_parameter 表進(jìn)行,并把操作后的最新數(shù)據(jù)存放在該表中。 讀者管理模塊功能該模塊主要包含讀者類(lèi)型管理和讀者信息管理兩個(gè)子模塊:1. 讀者類(lèi)型管理該子模塊是對(duì)圖書(shū)館系統(tǒng)用戶(hù)讀者的類(lèi)型進(jìn)行維護(hù),修改等操作,在此模塊中主要設(shè)置不同類(lèi)型讀者一次性可借閱的圖書(shū)的數(shù)量,該操作是對(duì)于 tb_resderType 表進(jìn)行,并將操作結(jié)果保存在該表中。2. 讀者信息管理該子模塊是對(duì)讀者的基本信息進(jìn)行管理,可以對(duì)讀者的基本信息進(jìn)行添加,修改,刪除操作,這下操作均是對(duì) tb_resder 表進(jìn)行的,并將操作后的結(jié)果保存在該表中。 圖書(shū)管理模塊功能 圖書(shū)管理功能模塊可分為圖書(shū)類(lèi)型管理和圖書(shū)信息管理兩個(gè)子模塊,其各自的實(shí)現(xiàn)分別如下面表中所示:表 圖書(shū)類(lèi)型管理描述圖書(shū)類(lèi)型管理功能描述 對(duì)圖書(shū)進(jìn)行類(lèi)型設(shè)置分類(lèi),并對(duì)不同類(lèi)型圖書(shū)可被借閱的天數(shù)進(jìn)行設(shè)置訪問(wèn)的數(shù)據(jù)庫(kù)表 圖書(shū)類(lèi)型表:tb_bookType進(jìn)行的操作 添加、修改、刪除圖書(shū)類(lèi)型,對(duì)不同類(lèi)型圖書(shū)可被借閱的天數(shù)進(jìn)行設(shè)置產(chǎn)生的結(jié)果 對(duì)圖書(shū)類(lèi)型進(jìn)行管理,對(duì)不同類(lèi)型圖書(shū)參數(shù)進(jìn)行設(shè)置結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書(shū)類(lèi)型表(tb_bookType)中,結(jié)果在圖書(shū)類(lèi)型查詢(xún)頁(yè)面輸出17表 圖書(shū)信息管理描述圖書(shū)信息管理功能描述 對(duì)圖書(shū)進(jìn)行基本操作和信息管理訪問(wèn)的數(shù)據(jù)庫(kù)表 圖書(shū)類(lèi)型表:tb_bookType進(jìn)行的操作 添加、修改、刪除圖書(shū),對(duì)圖書(shū)的編號(hào)、所在書(shū)架、價(jià)格、出版社等基本信息進(jìn)行管理產(chǎn)生的結(jié)果 對(duì)圖書(shū)基本操作管理,對(duì)不同圖書(shū)參數(shù)進(jìn)行各自信息的設(shè)置管理結(jié)果存儲(chǔ)位置或輸出 結(jié)果存儲(chǔ)在圖書(shū)類(lèi)型表(tb_book)中,結(jié)果在圖書(shū)查詢(xún)頁(yè)面輸出 圖書(shū)借還模塊功能該功能模塊主要實(shí)現(xiàn)對(duì)讀者借閱、續(xù)接、歸還圖書(shū)的操作,其中子模塊各自的描述如下各表所列:表 圖書(shū)借閱描述圖書(shū)借閱管理功能描述 對(duì)讀者借閱圖書(shū)進(jìn)行基本操作和信息管理訪問(wèn)的數(shù)據(jù)庫(kù)表 圖書(shū)信息表: tb_bookinfo讀者信息表:tb_reader讀者類(lèi)型