校園圖書(shū)館管理系統(tǒng)方案_第1頁(yè)
校園圖書(shū)館管理系統(tǒng)方案_第2頁(yè)
校園圖書(shū)館管理系統(tǒng)方案_第3頁(yè)
校園圖書(shū)館管理系統(tǒng)方案_第4頁(yè)
校園圖書(shū)館管理系統(tǒng)方案_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

..校園圖書(shū)館管理系統(tǒng)1產(chǎn)品主要功能和特色〔1本圖書(shū)館管理系統(tǒng)的主要功能如下表:表1-1功能名稱功能說(shuō)明使用對(duì)象用戶登錄功能不同用戶登錄系統(tǒng),擁有不同的使用權(quán)限圖書(shū)館管理員、學(xué)生、員工圖書(shū)信息管理圖書(shū)入庫(kù)功能圖書(shū)館的現(xiàn)有圖書(shū)及后來(lái)購(gòu)入的圖書(shū)進(jìn)行圖書(shū)的入庫(kù)〔增添圖書(shū)的編碼、書(shū)名、購(gòu)買日期、價(jià)格等圖書(shū)信息圖書(shū)館管理員圖書(shū)信息編輯功能對(duì)系統(tǒng)內(nèi)的圖書(shū)信息〔出版社、版次、作者、內(nèi)容簡(jiǎn)介等進(jìn)行編輯處理借閱證管理借閱證辦理功能辦理新的借閱證圖書(shū)館管理員借閱證查詢功能查詢已辦理的借閱證列表,查看借閱證的狀態(tài)圖書(shū)館管理員、學(xué)生、員工借閱證掛失功能掛失借閱證圖書(shū)館管理員、學(xué)生、員工借閱證補(bǔ)辦功能補(bǔ)辦借閱證圖書(shū)館管理員借閱證注銷功能注銷借閱證圖書(shū)館管理員圖書(shū)借閱管理圖書(shū)借閱功能借閱者滿足借閱條件,借閱圖書(shū)時(shí),管理員對(duì)圖書(shū)狀態(tài)進(jìn)行修改圖書(shū)館管理員圖書(shū)歸還功能借閱者按要求歸還圖書(shū)時(shí),管理員對(duì)圖書(shū)狀態(tài)進(jìn)行修改借閱者未按要求歸還圖書(shū)時(shí),管理員對(duì)圖書(shū)狀態(tài)進(jìn)行修改,并對(duì)借閱者進(jìn)行相應(yīng)罰款和記錄圖書(shū)館管理員圖書(shū)掛失功能借閱者不能歸還圖書(shū)時(shí),對(duì)圖書(shū)進(jìn)行掛失,修改圖書(shū)庫(kù)存記錄圖書(shū)館管理員、學(xué)生、員工圖書(shū)續(xù)借功能借閱者滿足續(xù)借條件,需要續(xù)借圖書(shū)時(shí),可通過(guò)系統(tǒng)對(duì)圖書(shū)進(jìn)行續(xù)借,圖書(shū)借閱期限自動(dòng)進(jìn)行修改圖書(shū)館管理員、學(xué)生、員工圖書(shū)催還功能自動(dòng)生成逾期未歸還圖書(shū)的書(shū)目和借閱記錄,便于打印催還圖書(shū)館管理員信息查詢統(tǒng)計(jì)功能圖書(shū)查找功能輸入圖書(shū)的名字、關(guān)鍵字、作者等對(duì)圖書(shū)進(jìn)行查找;也可以分類查找圖書(shū)圖書(shū)館管理員、學(xué)生、員工圖書(shū)信息查詢功能可查詢圖書(shū)的相關(guān)信息〔作者、出版社、內(nèi)容簡(jiǎn)介、版次、存放地點(diǎn)、圖書(shū)狀態(tài)〔在館/出借和最快可借閱時(shí)間圖書(shū)館管理員、學(xué)生、員工借書(shū)歷史查詢功能登錄圖書(shū)館管理系統(tǒng)后,可以個(gè)人查詢圖書(shū)的借閱歷史情況,以及圖書(shū)借出時(shí)間和應(yīng)歸還時(shí)間,并提醒借閱者應(yīng)立即歸還的圖書(shū)圖書(shū)館管理員、學(xué)生、員工最新入庫(kù)的圖書(shū)查詢功能查詢顯示最新入庫(kù)的圖書(shū)信息圖書(shū)館管理員、學(xué)生、員工最熱借閱的圖書(shū)查詢功能查詢顯示最熱借閱的圖書(shū)信息圖書(shū)館管理員、學(xué)生、員工圖書(shū)借閱統(tǒng)計(jì)功能對(duì)一段時(shí)間里的這各種圖書(shū)借閱信息進(jìn)行分類匯總,顯示每一類的熱門圖書(shū)和借閱需求,也可統(tǒng)計(jì)借閱時(shí)間信息圖書(shū)館管理員、學(xué)生、員工圖書(shū)的收藏評(píng)論圖書(shū)的收藏功能借閱者可以對(duì)想要借閱,但受條件限制,必須下次借閱的圖書(shū)進(jìn)行收藏,以便下次借閱圖書(shū)館管理員、學(xué)生、員工圖書(shū)的評(píng)論功能對(duì)閱讀過(guò)的圖書(shū)可以發(fā)表讀后感,與他人分享對(duì)某本圖書(shū)的心得感想,也方便其他借閱者對(duì)圖書(shū)有更為全面直觀的了解2.產(chǎn)品中的角色角色名稱職責(zé)描述管理員除了具有普通用戶的對(duì)圖書(shū)信息的查詢?yōu)g覽功能,還具有管理權(quán)限。主要負(fù)責(zé)圖書(shū)館管理系統(tǒng)的基本管理,如圖書(shū)信息管理、借閱證管理、圖書(shū)借閱管理。學(xué)生、員工是圖書(shū)館管理系統(tǒng)前臺(tái)的使用者,可以進(jìn)行圖書(shū)信息的查詢?yōu)g覽、圖書(shū)評(píng)論、圖書(shū)續(xù)借、掛失,圖書(shū)借閱證查詢和掛失,查詢自己的借閱歷史。3.產(chǎn)品的功能性需求功能3.1功能類別子功能圖書(shū)信息統(tǒng)計(jì)查詢圖書(shū)信息查詢功能最熱借閱的圖書(shū)查詢功能圖書(shū)借閱分類統(tǒng)計(jì)功能功能3.2功能類別子功能圖書(shū)借閱管理功能〔特殊情況下的續(xù)借功能掛失圖書(shū)功能催還圖書(shū)功能功能3.3功能類別子功能圖書(shū)信息管理圖書(shū)入庫(kù)功能圖書(shū)信息編輯功能功能類別子功能信息查詢統(tǒng)計(jì)功能圖書(shū)查找功能最新入庫(kù)的圖書(shū)查詢功能功能3.4功能類別子功能圖書(shū)借閱管理功能〔一般情況下的圖書(shū)借閱功能圖書(shū)歸還功能用戶登錄功能登錄功能密碼修改功能功能3.5功能類別子功能借閱證管理借閱證辦理功能借閱證查詢功能借閱證掛失功能借閱證補(bǔ)辦功能借閱證注銷功能借書(shū)歷史查詢功能功能3.1.1名稱、標(biāo)識(shí)符圖書(shū)信息查詢功能功能描述管理員或?qū)W生可查詢圖書(shū)的相關(guān)信息〔作者、出版社、內(nèi)容簡(jiǎn)介、版次、存放地點(diǎn)、圖書(shū)狀態(tài)〔在館/出借和最快可借閱時(shí)間優(yōu)先級(jí)一般輸入索書(shū)號(hào)或圖書(shū)名操作序列1.獲取查詢者輸入的索書(shū)號(hào)或圖書(shū)名;2.查詢圖書(shū)表,找到匹配記錄;3.提取圖書(shū)信息,包括作者、出版社、內(nèi)容簡(jiǎn)介、版次、存放地點(diǎn)、圖書(shū)狀態(tài)和最快可借閱時(shí)間輸出圖書(shū)信息,包括作者、出版社、內(nèi)容簡(jiǎn)介、版次、存放地點(diǎn)、圖書(shū)狀態(tài)和最快可借閱時(shí)間補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符最熱借閱的圖書(shū)查詢功能功能描述管理員或?qū)W生查詢顯示最熱借閱的圖書(shū)信息優(yōu)先級(jí)一般輸入查詢最熱借閱的圖書(shū)信息請(qǐng)求操作序列1.選定一段時(shí)間內(nèi)的借閱記錄,得到每本書(shū)及其借閱次數(shù)的視圖;2.將記錄按照書(shū)的借閱次數(shù)進(jìn)行排序,并選取前20名的圖書(shū)進(jìn)行顯示。輸出一段時(shí)間內(nèi)借閱次數(shù)排在前20名的圖書(shū)進(jìn)行顯示補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符圖書(shū)最熱借閱分類統(tǒng)計(jì)功能功能描述對(duì)一段時(shí)間里的這各種圖書(shū)借閱信息進(jìn)行分類匯總,顯示每一類的熱門圖書(shū)優(yōu)先級(jí)一般輸入欲查詢的圖書(shū)的類別操作序列1.選定一段時(shí)間內(nèi)特定類別的圖書(shū)借閱記錄,得到該類別每本書(shū)及其借閱次數(shù)的視圖;2.將記錄按照書(shū)的借閱次數(shù)進(jìn)行排序,并選取前20名的圖書(shū)進(jìn)行顯示。輸出將特定類別的圖書(shū),一段時(shí)間內(nèi)借閱次數(shù)排在前20名的進(jìn)行顯示補(bǔ)充說(shuō)明功能3.2.1名稱、標(biāo)識(shí)符續(xù)借功能功能描述普通借閱時(shí)間上限為從圖書(shū)館借書(shū)之日起的30天,但借閱者如若對(duì)本書(shū)很感興趣,想多借幾天,就可以登錄本系統(tǒng),查看自己已借書(shū)目并在相應(yīng)書(shū)目后選擇"續(xù)借",其借閱時(shí)間就可以在原基礎(chǔ)上延長(zhǎng)15天。優(yōu)先級(jí)中輸入借閱證件號(hào),系統(tǒng)登錄密碼操作序列進(jìn)入系統(tǒng);查看已借閱未歸還書(shū)單;在欲續(xù)借書(shū)目后點(diǎn)擊"續(xù)借"按鈕,并確認(rèn)輸出彈出提示續(xù)借成功對(duì)話框補(bǔ)充說(shuō)明若沒(méi)有已借閱未歸還的圖書(shū),則不可完成此功能名稱、標(biāo)識(shí)符掛失功能功能描述當(dāng)借閱者借閱的圖書(shū)遺失后,帶著借閱證去圖書(shū)館管理臺(tái)由管理員登錄本系統(tǒng)完成掛失。管理員用其自己的賬號(hào)及密碼登錄系統(tǒng),輸入該借閱者的借閱證號(hào),看到已借閱的圖書(shū),點(diǎn)擊"掛失"按鈕,將這本書(shū)存儲(chǔ)在數(shù)據(jù)庫(kù)中的狀態(tài)信息改為"掛失",并更改借閱證的狀態(tài)為"不可借",直到借閱者支付了丟失本書(shū)應(yīng)賠償?shù)娜拷痤~后,借閱證的狀態(tài)才可恢復(fù)為"可借"。優(yōu)先級(jí)高輸入管理員賬號(hào)、密碼,借閱證件號(hào)操作序列管理員登陸系統(tǒng);輸入借閱證號(hào);查找已丟失書(shū)目;點(diǎn)擊"掛失"按鈕,確認(rèn)掛失;輸出彈出提示已掛失對(duì)話框補(bǔ)充說(shuō)明若無(wú)管理員賬號(hào)、密碼則不可完成此功能;若借閱證件號(hào)無(wú)效,則不可完成此功能;若沒(méi)有該書(shū)目項(xiàng),則不可完成此功能。名稱、標(biāo)識(shí)符催還功能功能描述如若借閱者未申請(qǐng)續(xù)借而已經(jīng)借書(shū)超過(guò)30天,或申請(qǐng)了續(xù)借而已經(jīng)借書(shū)超過(guò)45天,系統(tǒng)就會(huì)在管理員登錄后做出相應(yīng)提醒,列出名單告知有哪些借閱證所借圖書(shū)應(yīng)當(dāng)催還,并根據(jù)超期時(shí)間長(zhǎng)短算出借閱者應(yīng)繳費(fèi)用。優(yōu)先級(jí)高輸入管理員賬號(hào)、密碼操作序列管理員登陸系統(tǒng);點(diǎn)擊"查看催還名單"按鈕查看近日應(yīng)催還圖書(shū)以及借閱證件號(hào)輸出生成近日催還名單補(bǔ)充說(shuō)明若無(wú)管理員賬號(hào)、密碼則不可完成此功能名稱、標(biāo)識(shí)符圖書(shū)入庫(kù)功能功能描述圖書(shū)館的現(xiàn)有圖書(shū)及后來(lái)購(gòu)入的圖書(shū)進(jìn)行圖書(shū)的入庫(kù)〔增添圖書(shū)的編碼、書(shū)名、購(gòu)買日期、價(jià)格等圖書(shū)信息優(yōu)先級(jí)輸入圖書(shū)的編碼、圖書(shū)名、購(gòu)買日期、價(jià)格操作序列1.對(duì)圖書(shū)進(jìn)行編碼2.將圖書(shū)編碼、書(shū)名、購(gòu)買日期、價(jià)格等圖書(shū)信息輸入數(shù)據(jù)庫(kù)3.輸出圖書(shū)的編碼、圖書(shū)名、購(gòu)買日期、價(jià)格補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符圖書(shū)信息編輯功能功能描述對(duì)系統(tǒng)內(nèi)的圖書(shū)信息〔出版社、版次、作者、內(nèi)容簡(jiǎn)介等進(jìn)行編輯處理優(yōu)先級(jí)輸入查詢最熱借閱的圖書(shū)信息請(qǐng)求圖書(shū)的編碼操作序列1.輸入圖書(shū)的編碼2.找到需要編輯的信息3.對(duì)信息進(jìn)行編輯4.保存編輯后的信息輸出編輯后的圖書(shū)信息補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符圖書(shū)查找功能功能描述輸入圖書(shū)的名字、關(guān)鍵字、作者等對(duì)圖書(shū)進(jìn)行查找;也可以分類查找圖書(shū)優(yōu)先級(jí)輸入欲查找的圖書(shū)的類別或圖書(shū)編號(hào)或圖書(shū)名稱操作序列1.選定整個(gè)數(shù)據(jù)庫(kù)的信息;2.按照用戶輸入的信息進(jìn)行查找3.將查找的圖書(shū)進(jìn)行排序輸出與用戶輸入信息相一致的有關(guān)圖書(shū)補(bǔ)充說(shuō)明功能3.3.4名稱、標(biāo)識(shí)符最新入庫(kù)的圖書(shū)查詢功能功能描述查詢顯示最新入庫(kù)的圖書(shū)信息優(yōu)先級(jí)輸入欲查找最新入庫(kù)的圖書(shū)操作序列1.選定一段時(shí)間內(nèi)的圖書(shū)入庫(kù)記錄,得到每本書(shū)入庫(kù)時(shí)間的視圖;2.將記錄按照書(shū)的入庫(kù)時(shí)間進(jìn)行排序,并選取前20名的圖書(shū)進(jìn)行顯示。輸出最新入庫(kù)的有關(guān)圖書(shū)補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符圖書(shū)借閱功能功能描述借閱者滿足借閱條件,借閱圖書(shū)時(shí),管理員對(duì)圖書(shū)狀態(tài)進(jìn)行修改優(yōu)先級(jí)輸入借閱證號(hào)、圖書(shū)編號(hào)操作序列1.輸入借閱者的借閱證號(hào)2.查詢?cè)摻栝喿C號(hào)的借閱記錄,是否滿足借閱條件〔是否還可以借書(shū),是否有到期但尚未歸還的圖書(shū),借閱證的狀態(tài)是否正確;3.輸入圖書(shū)編號(hào),添加至該借閱證的當(dāng)前借閱記錄中,記錄借閱時(shí)間,更改圖書(shū)的狀態(tài)——由在館變?yōu)榻璩?借閱證的還可借書(shū)的本數(shù)減14.完成圖書(shū)借閱輸出借閱證號(hào),借閱記錄,可借書(shū)的本數(shù),借到圖書(shū)的信息〔圖書(shū)編號(hào)、圖書(shū)名稱、借閱時(shí)間、應(yīng)歸還時(shí)間、實(shí)際歸還時(shí)間補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符圖書(shū)歸還功能功能描述借閱者按要求歸還圖書(shū)時(shí),管理員對(duì)圖書(shū)狀態(tài)進(jìn)行修改借閱者未按要求歸還圖書(shū)時(shí),管理員對(duì)圖書(shū)狀態(tài)進(jìn)行修改,并對(duì)借閱者進(jìn)行相應(yīng)罰款和記錄優(yōu)先級(jí)輸入借閱證號(hào)、圖書(shū)編號(hào)操作序列1.輸入借閱者的借閱證號(hào)2.查詢?cè)摻栝喿C號(hào)的當(dāng)前借閱記錄,查看圖書(shū)編號(hào)的借閱和應(yīng)歸還時(shí)間,3.記錄實(shí)際歸還時(shí)間,更改圖書(shū)的狀態(tài)——由借出變?yōu)樵陴^,借閱證的還可借書(shū)的本數(shù)加14.完成圖書(shū)歸還輸出借閱證號(hào),借閱記錄,可借書(shū)的本數(shù),借到圖書(shū)的信息〔圖書(shū)編號(hào)、圖書(shū)名稱、借閱時(shí)間、歸還時(shí)間補(bǔ)充說(shuō)明若實(shí)際歸還時(shí)間在應(yīng)歸還時(shí)間之內(nèi),則無(wú)其他記錄若實(shí)際歸還時(shí)間超出應(yīng)歸還時(shí)間,則有管理者對(duì)借閱者進(jìn)行相應(yīng)罰款和記錄名稱、標(biāo)識(shí)符登錄功能功能描述不同用戶登錄系統(tǒng),擁有不同的使用權(quán)限優(yōu)先級(jí)高輸入用戶名〔學(xué)生為學(xué)號(hào),員工為員工號(hào),管理員為用戶名,密碼〔初始密碼與用戶名相同操作序列1.輸入用戶名與密碼2.點(diǎn)擊登錄按鈕,登錄圖書(shū)館管理系統(tǒng)輸出登錄成功補(bǔ)充說(shuō)明用戶名與密碼輸入錯(cuò)誤,則不能成功登錄管理員和用戶登錄后現(xiàn)實(shí)的界面不同功能3.4.4名稱、標(biāo)識(shí)符密碼修改功能功能描述用戶登錄之后,可以對(duì)密碼進(jìn)行修改優(yōu)先級(jí)中輸入原始密碼,2次新密碼操作序列1.用戶進(jìn)行圖書(shū)館管理系統(tǒng)登錄2.點(diǎn)擊修改密碼3.輸入原始密碼,2次新密碼4.點(diǎn)擊確定按鈕輸出修改密碼成功補(bǔ)充說(shuō)明原始密碼輸入錯(cuò)誤或密碼不合規(guī)范,則密碼修改不成功名稱、標(biāo)識(shí)符借閱證辦理功能功能描述辦理新的借閱證,新的借閱證注冊(cè),信息入庫(kù)優(yōu)先級(jí)一般輸入新借閱證的所有必備信息,如:借閱證編號(hào),用戶的一些基本信息操作序列1.生成新借閱證編號(hào)2.輸入用戶基本信息3.儲(chǔ)存于數(shù)據(jù)庫(kù)中輸出無(wú)補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符借閱證查詢功能功能描述查詢已辦理的借閱證列表,查看借閱證的狀態(tài)〔及已經(jīng)借了幾本書(shū)優(yōu)先級(jí)一般輸入借閱證查詢的必備信息,如:借閱證編號(hào),或用戶的一些基本信息操作序列1.獲得用戶輸入的信息2.查詢數(shù)據(jù)庫(kù)中借閱證表3.獲得借閱證的相關(guān)信息。如現(xiàn)借圖書(shū)數(shù)量,是否有未及時(shí)歸還圖書(shū)等輸出借閱證的相關(guān)信息。如現(xiàn)借圖書(shū)數(shù)量,是否有未及時(shí)歸還圖書(shū)等。補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符借閱證掛失功能功能描述掛失借閱證優(yōu)先級(jí)一般輸入掛失證查詢的必備信息,用戶的學(xué)號(hào)操作序列1.獲得用戶輸入的信息2.查詢數(shù)據(jù)庫(kù)中借閱證表3.修改借閱證的狀態(tài)為已掛失輸出借閱證的狀態(tài)改為已掛失補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符借閱證補(bǔ)辦功能功能描述補(bǔ)辦借閱證優(yōu)先級(jí)一般輸入補(bǔ)辦借閱證的必備信息,用戶的學(xué)號(hào)操作序列1.獲得用戶輸入的信息,并生成新借閱證編號(hào)2.儲(chǔ)存于數(shù)據(jù)庫(kù)中輸出用戶有新的借閱證補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符借閱證注銷功能功能描述注銷借閱證優(yōu)先級(jí)一般輸入注銷借閱證的必備信息,如用戶的學(xué)號(hào)或借閱證的編號(hào)操作序列1.獲得用戶輸入的信息2.給用戶補(bǔ)辦借閱證,將原借閱證信息轉(zhuǎn)移到新借閱證3.刪除老借閱證信息。輸出用戶老的借閱證信息轉(zhuǎn)移到新借閱證上。補(bǔ)充說(shuō)明名稱、標(biāo)識(shí)符借閱證歷史查詢功能功能描述登錄圖書(shū)館管理系統(tǒng)后,可以個(gè)人查詢圖書(shū)的借閱歷史情況,以及圖書(shū)借出時(shí)間和應(yīng)歸還時(shí)間,并提醒借閱者應(yīng)立即歸還的圖書(shū)優(yōu)先級(jí)一般輸入借閱證歷史查詢的必備信息,如:借閱證編號(hào),或用戶的一些基本信息操作序列1.獲得用戶輸入的信息2.查詢數(shù)據(jù)庫(kù)中借閱證表3.獲得借閱證的相關(guān)信息。如個(gè)人查詢圖書(shū)的借閱歷史情況,以及圖書(shū)借出時(shí)間和應(yīng)歸還時(shí)間,并提醒借閱者應(yīng)立即歸還的圖書(shū)等輸出借閱歷史的相關(guān)信息。如個(gè)人查詢圖書(shū)的借閱歷史情況,以及圖書(shū)借出時(shí)間和應(yīng)歸還時(shí)間,并提醒借閱者應(yīng)立即歸還的圖書(shū)等。補(bǔ)充說(shuō)明4.系統(tǒng)總體結(jié)構(gòu)[畫(huà)出系統(tǒng)的包圖,并簡(jiǎn)單說(shuō)明每個(gè)包的功能以及負(fù)責(zé)人]圖1:系統(tǒng)包圖:包名稱包功能Inquiry圖書(shū)信息查詢、最熱借閱的圖書(shū)查詢、圖書(shū)借閱分類統(tǒng)計(jì)功能BorrowCard借閱證密碼修改、借閱證注銷功能bookMAXNumber表示某書(shū)的復(fù)本數(shù)Book實(shí)現(xiàn)書(shū)的各種功能BookSort指明書(shū)是哪種類型,例如哲學(xué)、文學(xué)等BorrowExtend圖書(shū)續(xù)借、圖書(shū)催還、圖書(shū)掛失功能BorrowRecord完成圖書(shū)館的基本功能——書(shū)籍的借閱歸還,以及用戶的借閱歷史查詢、當(dāng)前借閱情況查詢Administration管理者的登錄、修改密碼表1:包圖的簡(jiǎn)單說(shuō)明5.1識(shí)別類[場(chǎng)景描述、識(shí)別出的概念類]場(chǎng)景描述:借閱者憑借閱證<BorrowCard>的借閱證號(hào)和密碼登錄系統(tǒng),通過(guò)圖書(shū)查詢<Inquiry>找到預(yù)借圖書(shū)<Book>,若該書(shū)狀態(tài)顯示為"在館"且"可借",則本借閱證可以在借閱管理員<Administration>處將此書(shū)借走,同時(shí)生成相應(yīng)的借閱記錄<BorrowRecord>,存入系統(tǒng)。借閱記錄加載后,管理員和借閱證持有者都可以瀏覽已保存的借閱記錄,并擁有借閱記錄的部分修改權(quán)限。借閱證持有者可以管理借閱證,如修改借閱證密碼等,也可以在所借圖書(shū)應(yīng)當(dāng)歸還日期前續(xù)借圖書(shū),修改特殊情況下的借閱記錄<BorrowExtend>。若借閱記錄中已到期圖書(shū)尚未歸還,則管理員可通過(guò)系統(tǒng)打印出超期借閱證號(hào)名單。若某借閱證持有者在借閱過(guò)程中遺失圖書(shū),就要告知管理員并由管理員完成圖書(shū)掛失。對(duì)于圖書(shū),管理員要在圖書(shū)入館前定義其索書(shū)號(hào),并確定相同索書(shū)號(hào)圖書(shū)的復(fù)本數(shù)<BookMAXNumber>,還要將圖書(shū)分類<BookSort>。有關(guān)圖書(shū)借閱或管理的操作結(jié)束后,借閱證持有者和管理員都可以退出本系統(tǒng)。過(guò)濾后的概念類:用戶可以在登陸系統(tǒng)后進(jìn)行借閱證密碼修改;用戶也可以查詢借閱記錄,查看用戶現(xiàn)在借了幾本書(shū)及每本書(shū)借出時(shí)間和應(yīng)歸還時(shí)間;用戶登陸系統(tǒng)后,亦可進(jìn)行借閱歷史查詢;后臺(tái)管理員在用戶離校后,登陸后臺(tái)進(jìn)行用戶注銷。識(shí)別出的概念類:用戶,借閱證,借閱記錄,管理員。用戶登錄系統(tǒng),對(duì)書(shū)目進(jìn)行簡(jiǎn)單檢索,選擇檢索類型,輸入關(guān)鍵字進(jìn)行檢索,可獲得書(shū)的詳細(xì)信息〔作者、出版社、內(nèi)容簡(jiǎn)介、版次、存放地點(diǎn)、圖書(shū)狀態(tài)〔在館/出借和最快可借閱時(shí)間。另外用戶可以查詢最熱借閱圖書(shū),此排行以2個(gè)月內(nèi)借閱記錄為依據(jù)。最后用戶可以按照?qǐng)D書(shū)類別,查詢某類別圖書(shū)的最熱借閱排行,此排行同樣以2個(gè)月內(nèi)借閱記錄為依據(jù)。識(shí)別出的概念類:用戶,查詢,借閱記錄,圖書(shū)類別。管理員將現(xiàn)有及后來(lái)購(gòu)入的圖書(shū)進(jìn)行圖書(shū)入庫(kù)〔增添圖書(shū)的編碼、書(shū)名、購(gòu)買日期、價(jià)格等圖書(shū)信息。管理員對(duì)系統(tǒng)內(nèi)的圖書(shū)信息〔出版社、版次、作者、內(nèi)容簡(jiǎn)介等進(jìn)行編輯處理。用戶輸入圖書(shū)的名字、關(guān)鍵字、作者等對(duì)圖書(shū)進(jìn)行查找;也可以分類查找圖書(shū)。用戶查詢顯示最新入庫(kù)的圖書(shū)信息。識(shí)別出的概念類:用戶,圖書(shū),管理員。場(chǎng)景描述1:圖書(shū)館管理員登錄圖書(shū)管理系統(tǒng)之后,借閱者告訴圖書(shū)管理員其借書(shū)證卡號(hào),圖書(shū)館管理員點(diǎn)擊新增借閱記錄后,輸入相應(yīng)的借閱證號(hào)、圖書(shū)編號(hào)和當(dāng)前借閱時(shí)間,系統(tǒng)會(huì)首先查詢書(shū)籍的狀態(tài)和借閱證的狀態(tài),及是否有到期應(yīng)還而未還的圖書(shū),判斷是否可借,如果條件都符合,則顯示新增的借閱記錄,其中應(yīng)歸還時(shí)間是在當(dāng)前借閱時(shí)間加30天后自動(dòng)生成的,若有條件不滿足,則顯示為什么不能進(jìn)行書(shū)籍正常借閱的原因。場(chǎng)景描述2:圖書(shū)館管理員登錄圖書(shū)管理系統(tǒng)之后,借閱者告訴圖書(shū)管理員其借書(shū)證卡號(hào),圖書(shū)館管理員點(diǎn)擊圖書(shū)歸還后,輸入相應(yīng)的借閱證號(hào)、圖書(shū)編號(hào)找到相應(yīng)的借閱記錄,更新數(shù)據(jù)庫(kù),輸入歸還時(shí)間,系統(tǒng)會(huì)根據(jù)歸還時(shí)間與應(yīng)歸還時(shí)間作比較,判斷是否超期,若超期,則需借閱者繳納相應(yīng)的罰款,同時(shí),將圖書(shū)的狀態(tài)更新為在館。場(chǎng)景描述3:圖書(shū)館管理員或借閱者可根據(jù)借閱證號(hào)查詢,該借閱者的所有借閱歷史記錄。場(chǎng)景描述4:圖書(shū)館管理員或借閱者可根據(jù)圖書(shū)編號(hào)查詢,該圖書(shū)被借閱的所有借閱歷史記錄。場(chǎng)景描述5:圖書(shū)館管理員或借閱者可根據(jù)借閱證號(hào)查詢?cè)摻栝喺弋?dāng)前的借閱記錄,反映借閱者當(dāng)前借閱的書(shū)籍信息,借閱時(shí)間和借出應(yīng)還時(shí)間,提醒借閱者按時(shí)歸還圖書(shū)。識(shí)別出的概念類:管理員,借書(shū)證,借閱記錄,圖書(shū)。2.2域模型[域模型簡(jiǎn)單說(shuō)明、畫(huà)域模型圖]添加了關(guān)系和屬性的域模型如下圖:在場(chǎng)景描述中共抽出了8個(gè)概念類,依次為BorrowCard、Inquiry、Book、Administration、BorrowRecord、BorrowExtend、BookMAXNumber、BookSort.3.類圖設(shè)計(jì)3.1以數(shù)據(jù)庫(kù)模式的實(shí)體類圖[畫(huà)出整個(gè)系統(tǒng)所有的實(shí)體類的類圖,并簡(jiǎn)單說(shuō)明,小組成員可共同完成]3.1子功能類圖由于子功能只有2個(gè),故合并之畫(huà)在如下類圖中。圖2:1.表現(xiàn)層BorrowCardForm:與用戶進(jìn)行交互,供用戶進(jìn)行密碼修改及管理員注銷離校用戶。用于接收用戶輸入的新密碼或管理員檢索用戶命令及點(diǎn)擊注銷用戶按鈕進(jìn)行用戶注銷。2.中間業(yè)務(wù)層BorrowCardBLL:受Form層的調(diào)用進(jìn)行業(yè)務(wù)處理,業(yè)務(wù)處理通過(guò)調(diào)用DAL層的數(shù)據(jù)庫(kù)訪問(wèn)函數(shù)實(shí)現(xiàn)。3.數(shù)據(jù)訪問(wèn)層BorrowCardDAL:直接訪問(wèn)數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)信息的讀取和修改。訪問(wèn)數(shù)據(jù)庫(kù)中的表BorrowCard表獲取和修改信息。圖2:圖書(shū)信息查詢、最熱借閱的圖書(shū)查詢、圖書(shū)借閱分類統(tǒng)計(jì)功能類圖表現(xiàn)層InquiryForm:位于最外層〔最上層,供用戶進(jìn)行簡(jiǎn)單檢索、最熱借閱、分類最熱借閱的查詢。用于接收用戶輸入的檢索數(shù)據(jù)或按鈕的點(diǎn)擊及呈現(xiàn)書(shū)目信息。中間業(yè)務(wù)層InquiryBLL:負(fù)責(zé)據(jù)Form層的要求進(jìn)行數(shù)據(jù)檢索。調(diào)用DAL層的數(shù)據(jù)庫(kù)訪問(wèn)函數(shù)實(shí)現(xiàn)業(yè)務(wù)。數(shù)據(jù)訪問(wèn)層InquiryDAL:實(shí)現(xiàn)對(duì)信息的讀取操作。訪問(wèn)數(shù)據(jù)庫(kù)中的表BorrowRecord及Book表獲取信息。3.2子功能一類圖圖2-1:圖書(shū)信息查詢功能類圖表現(xiàn)層InquiryForm:接收用戶輸入的檢索數(shù)據(jù)。中間業(yè)務(wù)層InquiryBLL:負(fù)責(zé)據(jù)Form層的要求進(jìn)行數(shù)據(jù)檢索。數(shù)據(jù)訪問(wèn)層InquiryDAL:實(shí)現(xiàn)對(duì)信息的讀取操作。訪問(wèn)數(shù)據(jù)庫(kù)中的表Book表獲取書(shū)本詳細(xì)信息,訪問(wèn)BorrowRecord表進(jìn)行書(shū)目借出應(yīng)還時(shí)間信息獲取。3.2子功能二類圖圖2-2:最熱借閱的圖書(shū)查詢功能類圖表現(xiàn)層InquiryForm:接收用戶點(diǎn)擊按鈕時(shí)提交的類別數(shù)據(jù)。中間業(yè)務(wù)層InquiryBLL:負(fù)責(zé)據(jù)Form層的要求進(jìn)行數(shù)據(jù)檢索。數(shù)據(jù)訪問(wèn)層InquiryDAL:實(shí)現(xiàn)對(duì)信息的讀取操作。訪問(wèn)BorrowRecord表進(jìn)行特定類別書(shū)目借閱量的查詢,獲取訪問(wèn)數(shù)據(jù)庫(kù)中的表Book表獲取書(shū)本詳細(xì)信息,供用戶查看。3.2子功能三類圖圖2-3:圖書(shū)最熱借閱分類統(tǒng)計(jì)功能類圖表現(xiàn)層InquiryForm:接收用戶點(diǎn)擊按鈕時(shí)提交的類別數(shù)據(jù)。中間業(yè)務(wù)層InquiryBLL:負(fù)責(zé)據(jù)Form層的要求進(jìn)行數(shù)據(jù)檢索。數(shù)據(jù)訪問(wèn)層InquiryDAL:實(shí)現(xiàn)對(duì)信息的讀取操作。訪問(wèn)BorrowRecord表進(jìn)行書(shū)目借閱量的查詢,獲取訪問(wèn)數(shù)據(jù)庫(kù)中的表Book表獲取書(shū)本詳細(xì)信息,供用戶查看。1.表現(xiàn)層BookInformationForm:與用戶和管理員進(jìn)行交互,供用戶根據(jù)信息查找圖書(shū)及分類查找圖書(shū),管理員對(duì)圖書(shū)進(jìn)行入庫(kù)及修改圖書(shū)信息的操作。2.中間業(yè)務(wù)層BookInformationBLL:受Form層的調(diào)用進(jìn)行業(yè)務(wù)處理,業(yè)務(wù)處理通過(guò)調(diào)用DAL層的數(shù)據(jù)庫(kù)訪問(wèn)函數(shù)實(shí)現(xiàn)。3.數(shù)據(jù)訪問(wèn)層BookInformationDAL:直接訪問(wèn)數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)信息的讀取和修改。訪問(wèn)數(shù)據(jù)庫(kù)中的表Book、BookSort、BookMAXNumber表獲取和修改信息。1.表現(xiàn)層BookRecordForm:用戶和管理員通過(guò)圖書(shū)管理系統(tǒng)和網(wǎng)上平臺(tái)的界面類直觀的進(jìn)行相關(guān)的操作,供用戶輸入卡號(hào)查詢自己所有的借閱歷史或是查詢自己當(dāng)前的借閱情況,看看自己是否有書(shū)快到歸還期,管理員則通過(guò)界面進(jìn)行書(shū)籍的借閱歸還,修改相應(yīng)的狀態(tài)記錄。2.中間業(yè)務(wù)層BookRecordBLL:受Form層的調(diào)用進(jìn)行業(yè)務(wù)處理,業(yè)務(wù)處理通過(guò)調(diào)用DAL層的數(shù)據(jù)庫(kù)訪問(wèn)函數(shù)實(shí)現(xiàn),當(dāng)觸發(fā)了BookRecordForm上的一個(gè)按鈕時(shí),就調(diào)用BookRecordBLL進(jìn)行相關(guān)的業(yè)務(wù)處理,進(jìn)一步調(diào)用BookRecordDAL層的數(shù)據(jù)庫(kù)的進(jìn)行數(shù)據(jù)庫(kù)的增改查詢。3.數(shù)據(jù)訪問(wèn)層BookRecordDAL:直接訪問(wèn)數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)信息的讀取和修改。訪問(wèn)數(shù)據(jù)庫(kù)中的表BorrowRecord、Book、BorrowCard表獲取和修改信息。圖中BorrowExtend、BorrowExtendDAL、BorrowExtendBLL、BorrowExtendForm依次為實(shí)體類、數(shù)據(jù)訪問(wèn)類、業(yè)務(wù)邏輯類和界面類。主要實(shí)現(xiàn)續(xù)借、借閱超期和圖書(shū)掛失記錄的管理。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)4.物理設(shè)計(jì)4.0表匯總表名功能說(shuō)明表A:Book存儲(chǔ)具體的一本書(shū)特有的信息表B:BookDetail存儲(chǔ)某種書(shū)共有的信息表C:BookMAXNumber存儲(chǔ)某種書(shū)所擁有的本數(shù)表D:BookSort存儲(chǔ)書(shū)的每種類型的具體信息表E:BorrowCard存儲(chǔ)借閱證卡號(hào)和借閱者信息表F:BorrowExtend主要實(shí)現(xiàn)續(xù)借、借閱超期和圖書(shū)掛失記錄的管理表G:BorrowRecord存儲(chǔ)圖書(shū)館借閱圖書(shū)的基本信息的表,進(jìn)行圖書(shū)館的借閱管理和借閱信息的記錄,方便對(duì)借閱信息進(jìn)行查詢統(tǒng)計(jì)表H:Administration存儲(chǔ)圖書(shū)館管理系統(tǒng)的管理員的信息,是管理員可以登入系統(tǒng)進(jìn)行相應(yīng)權(quán)限的操作視圖A:BookInfo用于顯示相同索書(shū)號(hào)的圖書(shū)的基本信息,如書(shū)名、作者、出版機(jī)構(gòu)等。視圖B:BookDetailInfo用于顯示每本書(shū)的條碼號(hào),具體存放地點(diǎn),副本數(shù),狀態(tài)<是否在館,借出應(yīng)還日期>。系統(tǒng)各功能模塊實(shí)現(xiàn)的說(shuō)明2.1.模塊A提示:開(kāi)發(fā)人員根據(jù)"編程計(jì)劃"編寫(xiě)軟件的代碼,并隨時(shí)記錄編程技術(shù)、問(wèn)題與對(duì)策、心得體會(huì)等等,產(chǎn)生《編程文檔》〔類似于編程日記。程序名稱圖書(shū)借閱功能描述圖書(shū)管理員在登錄圖書(shū)館管理系統(tǒng)之后,可以幫助借閱者進(jìn)行圖書(shū)借閱記錄編程技術(shù)、問(wèn)題與對(duì)策、心得體會(huì)等等UI層newborrowusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingWindowsFormsApplication_BookManagement.BLL;usingWindowsFormsApplication_BookManagement.Model;usingSystem.Data.SqlClient;namespaceWindowsFormsApplication_BookManagement.UI{publicpartialclassnewborrow:Form{BorrowRecordBLLborrowRecordBLL;BorrowCardBLLborrowCardBLL;BookBLLbookBLL;BorrowRecordborrRecord;publicnewborrow<>{InitializeComponent<>;borrowRecordBLL=newBorrowRecordBLL<>;borrowCardBLL=newBorrowCardBLL<>;bookBLL=newBookBLL<>;label4.Text=DateTime.Now.ToString<>;label6.Text=DateTime.Now.AddDays<30>.ToString<>;}privatevoidnewborrow_Load<objectsender,EventArgse>{//TODO:這行代碼將數(shù)據(jù)加載到表"bookManageDataSet4.BorrowRecord"中。您可以根據(jù)需要移動(dòng)或移除它。//this.borrowRecordTableAdapter1.Fill<this.bookManageDataSet4.BorrowRecord>;//TODO:這行代碼將數(shù)據(jù)加載到表"bookManageDataSet3.BorrowRecord"中。您可以根據(jù)需要移動(dòng)或移除它。//this.borrowRecordTableAdapter.Fill<this.bookManageDataSet3.BorrowRecord>;}privatevoidbutton1_Click<objectsender,EventArgse>{stringcardID=textBox1.Text.ToString<>.Trim<>;stringbookCode=textBox2.Text.ToString<>.Trim<>;DateTimeborrowTime=DateTime.Now;DateTimeshouldReturnTime=DateTime.Now.AddDays<30>;DateTimereturnTime=DateTime.MinValue;borrRecord=newBorrowRecord<cardID,bookCode,borrowTime,returnTime,shouldReturnTime>;intins1=borrowRecordBLL.insertBorrowRecord<borrRecord>;intins2=borrowCardBLL.delBorrowedCount<cardID>;intins3=bookBLL.updateBookState<bookCode,"已借出">;intins4=bookBLL.addBorrowCount<bookCode>;if<ins1==1&&ins2==1&&ins3==1&&ins4==1>MessageBox.Show<"已成功新增借閱記錄!">;elseMessageBox.Show<"新增借閱記錄失敗!">;}privatevoidbutton3_Click<objectsender,EventArgse>{textBox1.Text="";textBox2.Text="";}privatevoidbutton2_Click<objectsender,EventArgse>{BorrowCardChangeborrcardchange=newBorrowCardChange<>;borrcardchange.Show<>;}privatevoidbookreturnTooStripMenuItem_Click<objectsender,EventArgse>{bookreturnbookreturn1=newbookreturn<>;bookreturn1.Show<>;this.Hide<>;}privatevoidnewborrowToolStripMenuItem_Click<objectsender,EventArgse>{newborrownewborrow1=newnewborrow<>;newborrow1.Show<>;this.Hide<>;}privatevoid圖書(shū)催還ToolStripMenuItem_Click<objectsender,EventArgse>{reminderremind=newreminder<>;remind.Show<>;}privatevoid圖書(shū)掛失ToolStripMenuItem_Click<objectsender,EventArgse>{lossreportlossreport=newlossreport<>;lossreport.Show<>;this.Hide<>;}privatevoid退出ToolStripMenuItem1_Click<objectsender,EventArgse>{MessageBox.Show<"已退出!">;Homeh=newHome<>;h.Show<>;this.Hide<>;}privatevoid圖書(shū)入庫(kù)ToolStripMenuItem_Click<objectsender,EventArgse>{AddBook_1ad1=newAddBook_1<>;ad1.Show<>;this.Hide<>;}privatevoid辦理借閱證ToolStripMenuItem_Click<objectsender,EventArgse>{BorrowCardManageboorowcardnew=newBorrowCardManage<>;boorowcardnew.Show<>;this.Hide<>;}privatevoid注銷借閱證ToolStripMenuItem_Click<objectsender,EventArgse>{BorrowCardCancelboorowcardcal=newBorrowCardCancel<>;boorowcardcal.Show<>;this.Hide<>;}privatevoid編輯借閱證狀態(tài)ToolStripMenuItem_Click<objectsender,EventArgse>{BorrowCardChangeborrcardchange=newBorrowCardChange<>;borrcardchange.Show<>;this.Hide<>;}}}BLL層BorrowRecordBLL中的usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingWindowsFormsApplication_BookManagement.DAL;usingSystem.Data;usingSystem.Data.SqlClient;usingWindowsFormsApplication_BookManagement.Model;namespaceWindowsFormsApplication_BookManagement.BLL{classBorrowRecordBLL{privateBorrowRecordDALborrowRecordDAL;publicBorrowRecordBLL<>{borrowRecordDAL=newBorrowRecordDAL<>;}publicintinsertBorrowRecord<BorrowRecordborrRecord>{returnborrowRecordDAL.insertBorrowRecord<borrRecord>;}}}BookBLL中的publicintaddBorrowCount<stringbookCode>{returnbookDAL.addBorrowCount<bookCode>;}publicintupdateBookState<stringbookCode,stringbookState>{returnbookDAL.updateBookState<bookCode,bookState>;}BorrowCardBLL中的publicintdelBorrowedCount<stringcardID>{returnborrowCardDAL.delBorrowedCount<cardID>;}DAL層BorrowRecordDAL中的usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingWindowsFormsApplication_BookManagement.Model;usingSystem.Data;namespaceWindowsFormsApplication_BookManagement.DAL{classBorrowRecordDAL{DBHelperdbHelper;publicBorrowRecordDAL<>{dbHelper=newDBHelper<>;}publicintinsertBorrowRecord<BorrowRecordborrRecord>{stringsql=string.Format<"insertinto[BorrowRecord]<CardID,BookCode,BorrowTime,ShouldReturnTime>values<'{0}','{1}','{2}','{3}'>",borrRecord.CardID,borrRecord.BookCode,borrRecord.BorrowTime,borrRecord.ShouldReturnTime>;//DateTime.Now.Date.ToShortDateString<>,DateTime.Now.AddDays<7>.ToShortDateString<>returndbHelper.ExecuteNonQuery<sql>;}}}BookDAL中的publicintgetBorrowCount<stringbookCode>{intborrowCount=0;stringqueryStr=string.Format<"select[BookDetail].BorrowCountfrom[BookDetail],[Book]where[BookDetail].BookNumber=[Book].BookNumberand[Book].BookCode='{0}'",bookCode>;DataTabledt=dbHelper.ExecuteQuery<queryStr>;if<dt.Rows.Count!=0>{borrowCount=Convert.ToInt32<dt.Rows[0]["BorrowCount"].ToString<>.Trim<>>;}returnborrowCount;}publicintaddBorrowCount<stringbookCode>{intborrowCount=getBorrowCount<bookCode>+1;stringupdateSql=string.Format<"update[BookDetail]set[BookDetail].BorrowCount='{0}'from[Book]where[BookDetail].BookNumber=[Book].BookNumberand[Book].BookCode='{1}'",borrowCount,bookCode>;returndbHelper.ExecuteNonQuery<updateSql>;}publicintupdateBookState<stringbookCode,stringbookState>{stringupdateSql2=string.Format<"update[Book]setBookState='{0}'whereBookCode='{1}'",bookState,bookCode>;returndbHelper.ExecuteNonQuery<updateSql2>;}BorrowCardDAL里的publicintgetBorrowedCount<stringcardID>{intborrowedCount=0;stringqueryStr=string.Format<"select*from[BorrowCard]whereCardID='{0}'",cardID>;DataTabledt=dbHelper.ExecuteQuery<queryStr>;if<dt.Rows.Count!=0>{borrowedCount=Convert.ToInt32<dt.Rows[0]["BorrowedCount"].ToString<>.Trim<>>;}returnborrowedCount;}publicintdelBorrowedCount<stringcardID>{intborrowedCount=getBorrowedCount<cardID>-1;stringupdateSql=string.Format<"update[BorrowCard]setBorrowedCount='{0}'wherecardID='{1}'",borrowedCount,cardID>;returndbHelper.ExecuteNonQuery<updateSql>;}MODEL層BorrowRecordusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceWindowsFormsApplication_BookManagement.Model{publicclassBorrowRecord{privatestringcardID;privatestringbookCode;publicDateTimeborrowTime;publicDateTimereturnTime;publicDateTimeshouldReturnTime;publicBorrowRecord<>{}publicBorrowRecord<stringcardID,stringbookCode,DateTimeborrowTime,DateTimereturnTime,DateTimeshouldReturnTime>{this.cardID=cardID;this.bookCode=bookCode;this.borrowTime=borrowTime;this.returnTime=returnTime;this.shouldReturnTime=shouldReturnTime;}//屬性publicstringCardID{get{returncardID;}set{cardID=value;}}publicstringBookCode{get{returnbookCode;}set{bookCode=value;}}publicDateTimeBorrowTime{get{returnborrowTime;}set{borrowTime=value;}}publicDateTimeReturnTime{get{returnreturnTime;}set{returnTime=value;}}publicDateTimeShouldReturnTime{get{returnshouldReturnTime;}set{shouldReturnTime=value;}}}}新增借閱記錄,首先需要滿足一定的條件,這就需要點(diǎn)擊查詢借閱證狀態(tài)按鈕,輸入借閱證號(hào),顯示借閱者的借閱證狀態(tài)及可借書(shū)數(shù)〔初始是借閱證的可借書(shū)數(shù)都為5,注銷和欠費(fèi)時(shí),會(huì)將可借書(shū)數(shù)置為0,當(dāng)借閱證狀態(tài)為可借,可借書(shū)數(shù)>=1時(shí),即可在newborrow中辦理借閱,這里我沒(méi)有查詢圖書(shū)狀態(tài)是因?yàn)榭紤]到實(shí)際情況,借閱者拿著圖書(shū)辦理借閱,圖書(shū)的借閱狀態(tài)應(yīng)為在館,于是省略了這一功能。因?yàn)樾略鼋栝喒δ苁菆D書(shū)館管理系統(tǒng)中比較重要和基本的功能,因此新增圖書(shū)功能的實(shí)現(xiàn),并不單一是對(duì)數(shù)據(jù)庫(kù)中BorrowRecord這張表進(jìn)行,在界面中按下一個(gè)新增借閱按鈕,就要在后臺(tái)對(duì)多張表進(jìn)行操作,首先是在BorrowRecord中會(huì)新增一條借閱證號(hào)與書(shū)號(hào)做復(fù)合主鍵的記錄,利用DateTime.Now將系統(tǒng)當(dāng)前時(shí)間插入borrowTime列中,利用DateTime.Now.AddDays<30>將系統(tǒng)當(dāng)前時(shí)間加上30天之后的時(shí)間插入shouldReturnTime列中,利用DateTime.MinValue將NULL插入returnTime列中,其次需要引用BookBLL和BorrowCardBLL完成借閱記錄新增的同時(shí),將BookState改為借出,同時(shí)在BookDetail表中將書(shū)的借閱次數(shù)加1,方便最熱借閱功能的實(shí)現(xiàn),將BorrowCard這張表中的可借書(shū)數(shù)減1,。因?yàn)橐淮螆?zhí)行的SQL語(yǔ)句較多而且之間牽扯的很多數(shù)據(jù)是datetime類型的,因此在一開(kāi)始進(jìn)行調(diào)試的時(shí)候,出現(xiàn)了錯(cuò)誤,并不知道是哪,一條語(yǔ)句出現(xiàn)了錯(cuò)誤,必須對(duì)數(shù)據(jù)庫(kù)改變的4張表同時(shí)進(jìn)行查看,看哪一張表未出現(xiàn)變化,在查看對(duì)應(yīng)的語(yǔ)句,最容易出現(xiàn)錯(cuò)誤的是stringupdateSql=string.Format<"update[BookDetail]set[BookDetail].BorrowCount='{0}'from[Book]where[BookDetail].BookNumber=[Book].BookNumberand[Book].BookCode='{1}'",borrowCount,bookCode>,因?yàn)樾枰ㄟ^(guò)BookCode將Book和BookDetail表連起來(lái)然后通過(guò)BookCode查詢到對(duì)應(yīng)的記錄在BookDetail表中更改BorrowCount,前面變成的時(shí)候sql語(yǔ)句中一直沒(méi)有寫(xiě)from[Book],程序怎么調(diào)都不對(duì),之間還將語(yǔ)句改成過(guò)select嵌套的形式,也沒(méi)能實(shí)現(xiàn),sql語(yǔ)句改了又改,最終調(diào)試時(shí)出現(xiàn)新增借閱記錄成功的時(shí)候,非常興奮,又看了看數(shù)據(jù)庫(kù)的4張表,也都實(shí)現(xiàn)了更改,知道終于完成了圖書(shū)借閱的操作。模塊B提示:開(kāi)發(fā)人員根據(jù)"編程計(jì)劃"編寫(xiě)軟件的代碼,并隨時(shí)記錄編程技術(shù)、問(wèn)題與對(duì)策、心得體會(huì)等等,產(chǎn)生《編程文檔》〔類似于編程日記。程序名稱圖書(shū)歸還功能描述管理員使用圖書(shū)館管理系統(tǒng)可以幫助借閱者實(shí)現(xiàn)圖書(shū)歸還的操作記錄編程技術(shù)、問(wèn)題與對(duì)策、心得體會(huì)等等UI層bookreturnusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingWindowsFormsApplication_BookManagement.BLL;usingWindowsFormsApplication_BookManagement.Model;usingSystem.Data.SqlClient;namespaceWindowsFormsApplication_BookManagement.UI{publicpartialclassbookreturn:Form{BorrowRecordBLLborrowRecordBLL;BorrowCardBLLborrowCardBLL;BookBLLbookBLL;publicbookreturn<>{InitializeComponent<>;borrowRecordBLL=newBorrowRecordBLL<>;borrowCardBLL=newBorrowCardBLL<>;bookBLL=newBookBLL<>;}privatevoidbookreturn_Load<objectsender,EventArgse>{//TODO:這行代碼將數(shù)據(jù)加載到表"bookManageDataSet2.BorrowRecord"中。您可以根據(jù)需要移動(dòng)或移除它。//this.borrowRecordTableAdapter.Fill<this.bookManageDataSet2.BorrowRecord>;}privatevoidbutton1_Click<objectsender,EventArgse>{stringcardID=textBox1.Text.ToString<>;stringbookCode=textBox2.Text.ToString<>;DateTimereturnTime=DateTime.Now;DataTablebookreturnDT;borrowRecordBLL.updateReturnTime<cardID,bookCode,returnTime>;intins2=borrowCardBLL.addBorrowedCount<cardID>;intins3=bookBLL.updateBookState<bookCode,"可借">;if<ins2==1&&ins3==1>MessageBox.Show<"已成功歸還圖書(shū)!">;elseMessageBox.Show<"更新借閱記錄失敗!">;bookreturnDT=borrowRecordBLL.getBorrowRecordDT<textBox1.Text.Trim<>,textBox2.Text.Trim<>>;if<bookreturnDT!=null>dataGridView1.DataSource=bookreturnDT.DefaultView;elsedataGridView1.DataSource=null;}privatevoidbutton2_Click<objectsender,EventArgse>{DataTablebookreturnDT;if<!string.IsNullOrEmpty<textBox1.Text.Trim<>>&&!string.IsNullOrEmpty<textBox2.Text.Trim<>>>{bookreturnDT=borrowRecordBLL.getBorrowRecordDT<textBox1.Text.Trim<>,textBox2.Text.Trim<>>;}else{MessageBox.Show<"請(qǐng)輸入借書(shū)證號(hào)及書(shū)號(hào)!">;bookreturnDT=null;}if<bookreturnDT!=null>dataGridView1.DataSource=bookreturnDT.DefaultView;elsedataGridView1.DataSource=null;}privatevoidnewborrowToolStripMenuItem_Click<objectsender,EventArgse>{newborrownewborrow1=newnewborrow<>;newborrow1.Show<>;this.Hide<>;}privatevoidbookreturnTooStripMenuItem_Click<objectsender,EventArgse>{bookreturnbookreturn1=newbookreturn<>;bookreturn1.Show<>;this.Hide<>;}privatevoid圖書(shū)催還ToolStripMenuItem_Click<objectsender,EventArgse>{reminderremind=newreminder<>;remind.Show<>;}privatevoid圖書(shū)掛失ToolStripMenuItem_Click<objectsender,EventArgse>{lossreportlossreport=newlossreport<>;lossreport.Show<>;this.Hide<>;}privatevoid退出ToolStripMenuItem1_Click<objectsender,EventArgse>{MessageBox.Show<"已退出!">;Homeh=newHome<>;h.Show<>;this.Hide<>;}privatevoid圖書(shū)入庫(kù)ToolStripMenuItem_Click<objectsender,EventArgse>{AddBook_1ad1=newAddBook_1<>;ad1.Show<>;this.Hide<>;}privatevoid辦理借閱證ToolStripMenuItem_Click<objectsender,EventArgse>{BorrowCardManageboorowcardnew=newBorrowCardManage<>;boorowcardnew.Show<>;this.Hide<>;}privatevoid注銷借閱證ToolStripMenuItem_Click<objectsender,EventArgse>{BorrowCardCancelboorowcardcal=newBorrowCardCancel<>;boorowcardcal.Show<>;this.Hide<>;}privatevoid編輯借閱證狀態(tài)ToolStripMenuItem_Click<objectsender,EventArgse>{BorrowCardChangeborrcardchange=newBorrowCardChange<>;borrcardchange.Show<>;this.Hide<>;}}}BLL層BorrowRecordBLL中的usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingWindowsFormsApplication_BookManagement.DAL;usingSystem.Data;usingSystem.Data.SqlClient;usingWindowsFormsApplication_BookManagement.Model;namespaceWindowsFormsApplication_BookManagement.BLL{classBorrowRecordBLL{privateBorrowRecordDALborrowRecordDAL;publicBorrowRecordBLL<>{borrowRecordDAL=newBorrowRecordDAL<>;}publicDataTablegetBorrowRecordDT<stringcardID,stringbookCode>{returnborrowRecordDAL.getBorrowRecordDT<cardID,bookCode>;}publicintupdateReturnTime<stringcardID,stringbookCode,DateTimeReturnTime>{returnborrowRecordDAL.updateReturnTime<cardID,bookCode,ReturnTime>;}}}BookBLL中的publicintupdateBookState<stringbookCode,stringbookState>{returnbookDAL.updateBookState<bookCode,bookState>;}BorrowCardBLL中的publicintaddBorrowedCount<stringcardID>{returnborrowCardDAL.addBorrowedCount<cardID>;}DAL層BorrowRecordDAL中的usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingWindowsFormsApplication_BookManagement.Model;usingSystem.Data;namespaceWindowsFormsApplication_BookManagement.DAL{classBorrowRecordDAL{DBHelperdbHelper;publicBorrowRecordDAL<>{dbHelper=newDBHelper<>;}publicDataTablegetBorrowRecordDT<stringcardID,stringbookCode>{stringqueryStr=string.Format<"selecttop1CardIDas借閱證,BookCodeas書(shū)號(hào),BorrowTimeas借閱時(shí)間,ShouldReturnTimeas借出應(yīng)還時(shí)間,ReturnTimeas歸還時(shí)間fromBorrowRecordwherecardID='{0}'andBookCode='{1}'orderbyBorrowIDdesc",cardID,bookCode>;DataTabledt=dbHelper.ExecuteQuery<queryStr>;if<dt.Rows.Count==0>{returnnull;}else{returndt;}}publicintupdateReturnTime<stringcardID,stringbookCode,DateTimereturnTime>{stringupdateSql=string.Format<"update[BorrowRecord]setReturnTime='{0}'wherecardID='{1}'andbookCode='{2}'",returnTime,cardID,bookCode>;returndbHelper.ExecuteNonQuery<updateSql>;}publicintupdateShouldReturnTime<stringcardID,DateTimeshouldReturnTime>{stringupdateSql=string.Format<"update[BorrowRecord]setShouldReturnTime='{0}'wherecardID='{1}'",shouldReturnTime,cardID>;returndbHelper.ExecuteNonQuery<updateSql>;}}}BookDAL中的publicintupdateBookState<stringbookCode,stringbookState>{stringupdateSql2=string.Format<"update[Book]setBookState='{0}'whereBookCode='{1}'",bookState,bookCode>;returndbHelper.ExecuteNonQuery<updateSql2>;}BorrowCardDAL中的publicintgetBorrowedCount<stringcardID>{intborrowedCount=0;stringqueryStr=string.Format<"select*from[BorrowCard]whereCardID='{0}'",cardID>;DataTabledt=dbHelper.ExecuteQuery<queryStr>;if<dt.Rows.Count!=0>{borrowedCount=Convert.ToInt32<dt.Rows[0]["BorrowedCount"].ToString<>.Trim<>>;}returnborrowedCount;}publicintaddBorrowedCount<stringcardID>{intborrowedCount=getBorrowedCount<cardID>+1;stringupdateSql=string.Format<"update[BorrowCard]setBorrowedCount='{0}'wherecardID='{1}'",borrowedCount,cardID>;returndbHelper.ExecuteNonQuery<updateSql>;}MODEL層BorrowRecordusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceWindowsFormsApplication_BookManagement.Model{publicclassBorrowRecord{privatestringcardID;privatestringbookCode;publicDateTimeborrowTime;publicDateTimereturnTime;publicDateTimeshouldReturnTime;publicBorrowRecord<>{}publicBorrowRecord<stringcardID,stringbookCode,DateTimeborrowTime,DateTimereturnTime,DateTimeshouldReturnTime>{this.cardID=cardID;this.bookCode=bookCode;this.borrowTime=borrowTime;this.returnTime=returnTime;this.shouldReturnTime=shouldReturnTime;}//屬性publicstringCardID{get{returncardID;}set{cardID=value;}}publicstringBookCode{get{returnbookCode;}set{bookCode=value;}}publicDateTimeBorrowTime{get{returnborrowTime;}set{borrowTime=value;}}publicDateTimeReturnTime{get{returnreturnTime;}set{returnTime=value;}}publicDateTimeShouldReturnTime{get{returnshouldReturnTime;}set{shouldReturnTime=value;}}}}圖書(shū)歸還功能也是圖書(shū)館管理系統(tǒng)中比較重要和基本的功能,圖書(shū)歸還功能的實(shí)現(xiàn)與新增圖書(shū)借閱功能是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論