版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 軟件工程項(xiàng)目報(bào)告</b></p><p> ----圖書管理系統(tǒng)</p><p> 班 級: </p><p> 項(xiàng)目經(jīng)理: </p><p> 項(xiàng)目組成員: </p>&l
2、t;p><b> 目錄</b></p><p> 第一章 緒論……………………………………………………………………………………………………………………</p><p> 1.1 項(xiàng)目背景…………………………………………………………………………………………………………….</p><p> 1.2 編寫目的…………………………………
3、………………………………………………………………………….</p><p> 第二章 需求分析…………………………………………………………………………………………………………..</p><p> 2.1 系統(tǒng)功能需求分析…………………………………………………………………………………………….</p><p> 2.2 主要參與者………………………………………
4、………………………………………………………………..</p><p> 2.3 用例圖………………………………………………………………………………………………………………..</p><p> 2.4 系統(tǒng)用例一覽表…………………………………………………………………………………………………</p><p> 2.5 用例規(guī)約………………………………………………
5、……………………………………………………………</p><p> 2.7 時序圖………………………………………………………………………………………………………………..</p><p> 第三章 系統(tǒng)設(shè)計(jì)……………………………………………………………………………………………………………</p><p> 3.1 系統(tǒng)實(shí)體總類圖以及介紹…………………………………
6、………………………………………………</p><p> 3.2 相關(guān)數(shù)據(jù)庫的設(shè)計(jì)……………………………………………………………………………………………</p><p> 3.2.1 E-R圖……………………………………………………………………………………………………………</p><p> 3.2.2數(shù)據(jù)庫的設(shè)計(jì)………………………………………………………………
7、……………………………….</p><p> 3.3 主界面設(shè)計(jì)………………………………………………………………………………………………………..</p><p> 3.3.1 登錄/注冊界面設(shè)計(jì)……………………………………………………………………………………...</p><p> 3.3.2 管理員操作頁面…………………………………………………………………
8、………………………</p><p> 3.3.3 讀者用戶管理界面………………………………………………………………………………………</p><p> 3.3.4 代碼設(shè)計(jì)………………………………………………………………………………………………………</p><p> 第四章 結(jié)束語.......................................
9、...............................................................................</p><p><b> 第一章 緒論</b></p><p><b> 1.1項(xiàng)目背景</b></p><p> 隨著時代的發(fā)展,計(jì)算機(jī)技術(shù)越來越深入各行各
10、業(yè),為廣大的用戶提供了更為周到和便捷的服務(wù)。目前各行各業(yè)廣泛使用專用系統(tǒng),其用戶群十分龐大,因此,設(shè)計(jì)開發(fā)好一個系統(tǒng)是十分重要。近年來,隨著用戶要求的不斷提高及計(jì)算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用,向用戶提供的服務(wù)將越來越豐富,越來越人性化。本系統(tǒng)通過強(qiáng)大的計(jì)算機(jī)技術(shù)給圖書管理人員和讀者借、還書帶來便利。本系統(tǒng)除了圖書館內(nèi)管理的一般功能除外,還包括網(wǎng)上在線查詢圖書信息、查詢本人的借閱情況。</p><p&
11、gt;<b> 1.2編寫目的</b></p><p> 本系統(tǒng)最終將達(dá)到減少了人力與管理成本,提高信息準(zhǔn)確度,改進(jìn)管理和服務(wù),建立高效的平臺,提高信息處理速度和利用率,系統(tǒng)設(shè)計(jì)優(yōu)良,界面設(shè)計(jì)精美、快捷,人性化設(shè)計(jì),后臺管理功能好、效率高,更簡便、信息化程度更高的圖書管理流程。</p><p><b> 第二章 需求分析</b></p
12、><p> 2.1系統(tǒng)功能需求分析</p><p> 設(shè)計(jì)圖書館管理系統(tǒng)。此系統(tǒng)要達(dá)到方便讀者查找圖書,閱讀圖書,而且也要方便圖書館管理員的管理工作。</p><p> 管理員:對圖書的訂購、擺放、添加、刪除、查詢、統(tǒng)計(jì)、修改圖書信息。</p><p> 對讀者的信息進(jìn)行安全管理,所謂安全管理也就是對讀者的所有注冊信息進(jìn)行保密管理,也就是
13、只有此管理員可以獲取和查看讀者的信息(讀者本人也可以查看),其他人則無權(quán)查看與修改。對讀者的借還信息進(jìn)行管理,即當(dāng)讀者借閱圖書時將讀者的借閱信息保存,同時將某圖書被借閱的信息保存;當(dāng)讀者歸還圖書時可以及時將歸還信息保存,實(shí)現(xiàn)消除該讀者的借書信息,以方便讀者繼續(xù)借閱書籍。</p><p> 讀者進(jìn)行借閱書籍時,只需要找到管理員即可獲得自己想要閱覽的書籍的信息,這樣可以減少讀者查詢書籍的時間,而其余的工作則由管理員
14、們來協(xié)調(diào)完成,這樣提高了圖書館的工作效率,同時也讓讀者可以獲得一個更好的讀書方式。</p><p> 讀者除了借閱書籍以外,還可以對自己的注冊信息進(jìn)行修改,但是一旦注冊成功,則只能修改個人密碼,其他人則無權(quán)修改。</p><p><b> 2.2主要參與者</b></p><p><b> 1、圖書館管理員:</b>
15、</p><p> 管理員要為每個讀者建立借閱賬戶,并給讀者發(fā)放不同類別的借閱卡(借閱卡可提供卡號、讀者姓名),賬戶內(nèi)存儲讀者的個人信息和借閱記錄信息。持有借閱卡的讀者可以通過管理員(作為讀者的代理人與系統(tǒng)交互)借閱、歸還圖書,不同類別的讀者可借閱圖書的范圍、數(shù)量和期限不同,可通過互聯(lián)網(wǎng)或圖書館內(nèi)查詢終端查詢圖書信息和個人借閱情況,以及續(xù)借圖書(系統(tǒng)審核符合續(xù)借條件)。</p><p>
16、<b> 2、借閱者:</b></p><p> 借閱圖書時,先輸入讀者的借閱卡號,系統(tǒng)驗(yàn)證借閱卡的有效性和讀者是否可繼續(xù)借閱圖書,無效則提示其原因,有效則顯示讀者的基本信息(包括照片),供管理員人工核對。然后輸入要借閱的書號,系統(tǒng)查閱圖書信息數(shù)據(jù)庫,顯示圖書的基本信息,供管理員人工核對。最后提交借閱請求,若被系統(tǒng)接受則存儲借閱紀(jì)錄,并修改可借閱圖書的數(shù)量。歸還圖書時,輸入讀者借閱卡號和
17、圖書號(或丟失標(biāo)記號),系統(tǒng)驗(yàn)證是否有此借閱紀(jì)錄以及是否超期借閱,無則提示,有則顯示讀者和圖書的基本信息供管理員人工審核。</p><p><b> 2.3用例圖</b></p><p><b> 圖一 管理員用例圖</b></p><p><b> 圖二 讀者用例圖</b></p>
18、<p><b> 2.4 用例描述</b></p><p> 用例名稱:圖書管理員 </p><p> 用例目的:完成登記注冊、統(tǒng)計(jì)查詢、借書、還書等操作;</p><p> 參與者:數(shù)據(jù)庫管理員</p><p><b> 事件流:</b></p><p
19、> 第一步:進(jìn)入管理員登陸界面</p><p> 討論區(qū)成員:選擇相應(yīng)的操作區(qū)</p><p> 系統(tǒng):將管理員的增刪改查權(quán)限顯示出來即讀者信息,圖書信息,統(tǒng)計(jì)條件信息,讀者情況,圖書情況,統(tǒng)計(jì)結(jié)果; </p><p> 加工名:錄入新讀者 </p><p> 加工編號:1.1 </p><p>
20、簡要描述:將新的讀者信息登記到讀者信息表中</p><p> 輸入數(shù)據(jù)流:新讀者數(shù)據(jù),讀者類別 </p><p> 輸出數(shù)據(jù)流:有效讀者信息 </p><p><b> 加工邏輯: </b></p><p><b> 輸入讀者信息 </b></p><p><
21、b> 選擇讀者類別 </b></p><p> 執(zhí)行SQL語句,將完整的讀者信息寫入讀者信息表 ?</p><p> 加工名:讀者信息修改</p><p><b> 加工編號:1.2 </b></p><p> 簡要描述:修改指定的讀者信息(卡號、已借書本數(shù)不可修改) </p>
22、<p> 輸入數(shù)據(jù)流:待修改的讀者信息 </p><p> 輸出數(shù)據(jù)流:修改后的讀者信息 </p><p><b> 加工邏輯: </b></p><p><b> 輸入讀者編號 </b></p><p> 執(zhí)行SQL語句,從讀者信息表中找出該讀者的詳細(xì)信息 </p
23、><p> 修改除借書卡號和已借書本數(shù)以外的信息 </p><p> 執(zhí)行SQL語句,將修改后的讀者信息寫入讀者信息表中 ? </p><p> 加工名:讀者信息刪除 </p><p> 加工編號:1.3 </p><p> 簡要描述:將已歸還全部圖書的指定讀者信息從讀者信息表中刪除 </p>
24、<p> 輸入數(shù)據(jù)流:待刪除的讀者信息,借書狀況信息 </p><p> 輸出數(shù)據(jù)流:待刪除的讀者信息 </p><p><b> 加工邏輯: </b></p><p> 輸入讀者借書卡號 </p><p> 執(zhí)行SQL語句,從讀者信息表中找出該讀者的詳細(xì)信息 </p><p&g
25、t; IF 該讀者處于借閱狀態(tài)的書本數(shù)>0 THEN </p><p> 提示“該讀者還有未還的圖書,暫時不能刪除”</p><p> ELSE </p><p> 執(zhí)行SQL語句,將該讀者的信息從讀者信息表中刪除 </p><p><b> ENDIF ? </b></p>
26、;<p> 加工名:添加圖書; </p><p> 加工編號:2.1; </p><p> 簡要描述:將新購入的圖書登記入庫,便于讀者隨時借閱;</p><p> 輸入數(shù)據(jù)流:新圖書信息,圖書類別;</p><p> 輸出數(shù)據(jù)流:有效圖書信息; </p><p><b> 加工邏輯
27、: </b></p><p><b> 輸入新圖書信息 </b></p><p> 選擇相應(yīng)的圖書類別 </p><p> 執(zhí)行SQL語句,將新書信息寫入圖書信息表,記錄登記人姓名,圖書狀態(tài)設(shè)置為“在庫” 加工名:修改圖書 </p><p> 加工編號:2.2 </p><p&
28、gt; 簡要描述:將修改后的圖書信息(圖書編號和狀態(tài)不能修改)重新寫入圖書信息表中; </p><p> 輸入數(shù)據(jù)流:待修改的信息; </p><p> 輸出數(shù)據(jù)流:修改的圖書信息 </p><p> 加工邏輯: </p><p> 輸入圖書編號 </p><p>
29、 執(zhí)行SQL語句,從圖書信息表中查詢該圖書的詳細(xì)信息 </p><p> IF 圖書狀態(tài)為“借閱中” THEN </p><p> 提示“圖書不在庫,不能修改” </p><p> ELSE </p><p> 執(zhí)行SQL語句,將修改后的圖書信息寫入圖書信息表
30、 </p><p><b> ENDIF ? </b></p><p><b> 加工名:刪除圖書 </b></p><p> 加工編號:2.3 </p><p> 簡要描述:將報(bào)廢的或已經(jīng)遺失的圖書從系統(tǒng)中刪除 </p><p> 輸入數(shù)據(jù)流:待
31、刪除信息,圖書狀態(tài)信息; </p><p> 輸出數(shù)據(jù)流:刪除的圖書信息</p><p><b> 加工邏輯: </b></p><p><b> 輸入圖書編號 </b></p><p> 執(zhí)行SQL語句,從圖書信息表中查詢該圖書的詳細(xì)信息 </p><p>
32、IF 圖書狀態(tài)為“借閱中” THEN </p><p> 提示“圖書處在“借閱中”,暫時不能刪除”</p><p><b> ELSE </b></p><p> 執(zhí)行SQL語句,將該圖書信息從圖書信息表中刪除</p><p><b> ENDIF ? </b></p>
33、;<p><b> 加工名:查詢圖書 </b></p><p> 加工編號:2.4 </p><p> 簡要描述:按設(shè)置的條件從圖示信息表中查詢滿足條件的圖書信息</p><p> 輸入數(shù)據(jù)流:圖書查詢條件,圖書信息;</p><p> 輸出數(shù)據(jù)流:圖書查詢結(jié)果 </p><
34、p><b> 加工邏輯: </b></p><p><b> 輸入查詢條件 </b></p><p> 執(zhí)行SQL語句,從圖書信息表中查詢滿足條件圖書的詳細(xì)信息 ? </p><p><b> 加工名:借書管理</b></p><p> 加工編號:3.1
35、 </p><p> 簡單描述:通過借書卡號和可借的圖書編號完成圖書借閱,并在相應(yīng)的表中添加記錄 </p><p> 輸入數(shù)據(jù)流:讀者信息,圖書信息,操作員姓名,預(yù)借信息 </p><p> 輸出數(shù)據(jù)流:已借數(shù),借書信息,圖書狀態(tài) </p><p><b> 加工邏輯: </b></p><p
36、> 執(zhí)行SQL語句,分別從讀者信息表和圖書信息表讀取指定的讀者信息圖書信息</p><p> IF 讀者借書限額已滿 THEN </p><p> 提示“借書限額已滿,暫時不能借閱新書”</p><p><b> ENDIF </b></p><p> IF 圖書狀態(tài)為“借閱中” THE
37、N </p><p> 提示“該書目前不在庫,不能借閱”</p><p><b> ENDIF </b></p><p> IF 續(xù)借信息為真 THEN </p><p> IF 該讀者的續(xù)借限額未滿 THEN </p><p> 執(zhí)行SQL語句,將借書信息表中相應(yīng)
38、記錄的限還日期延長 </p><p> 返回借書界面,清空有關(guān)文本框</p><p> ELSE </p><p> 提示“續(xù)借限額已滿,不能再續(xù)借” </p><p> ENDIF ELSE </p><p> 執(zhí)行SQL語句,讀者信息表中該讀者的已借書數(shù)增值 </p><
39、;p> 執(zhí)行SQL語句,圖書信息表中該書的狀態(tài)更改為“借閱中” </p><p> 執(zhí)行SQL語句,將圖書編號、書名、借書卡號、讀者姓名、借書日期、限還 日期、當(dāng)前操作員姓名等信息寫入借書信息表中</p><p> 返回借書界面,清空有關(guān)文本框 </p><p><b> ENDIF ?</b></p>
40、<p><b> 加工名:還書管理 </b></p><p> 加工編號:3.3 </p><p> 簡單描述:歸還讀者借閱的圖書,同時使讀者的當(dāng)前借書總數(shù)減值,使歸還的圖書狀態(tài)為“在 庫”,使相應(yīng)的借書記錄狀態(tài)為“已還”。 </p><p> 輸入數(shù)據(jù)流:預(yù)還信息,操作員姓名,罰金金額 </p><p
41、> 輸出數(shù)據(jù)流:已借數(shù),圖書狀態(tài),借書記錄狀態(tài),還書信息 </p><p><b> 加工邏輯: </b></p><p> 執(zhí)行SQL語句,從借書信息表中查詢指定的借書記錄 </p><p> IF 過期金額==0 AND 損壞罰金==0 THEN </p><p> 執(zhí)行SQL語句
42、,向還書信息表中寫入罰金信息為0的含操作員姓名的還書 記錄 ELSE </p><p> 執(zhí)行SQL語句,向還書信息表中寫入罰金信息不為0的含操作員姓名的還 書記錄 ENDIF </p><p> 執(zhí)行SQL語句,將圖書信息表中該圖書狀態(tài)更改為“在庫” </p><p> 執(zhí)行SQL語句,將讀者信息表中當(dāng)前讀者的當(dāng)前借書總數(shù)減值 </p>
43、;<p> 執(zhí)行SQL語句,將借書信息表中相應(yīng)的借書記錄狀態(tài)更改為“已還”</p><p> 加工名:圖書總量統(tǒng)計(jì) </p><p><b> 加工編號:4.1 </b></p><p> 簡單描述:統(tǒng)計(jì)系統(tǒng)中的圖書總量或按圖書類別統(tǒng)計(jì)圖書數(shù) </p><p> 輸入數(shù)據(jù)流:總量統(tǒng)計(jì)條件,統(tǒng)計(jì)項(xiàng)信
44、息</p><p> 輸出數(shù)據(jù)流:圖書總量信息 </p><p><b> 加工邏輯: </b></p><p> IF 圖書類別不為空 </p><p><b> THEN </b></p><p> 執(zhí)行SQL語句,統(tǒng)計(jì)指定類別的圖書數(shù)量 ELSE
45、 </p><p> 執(zhí)行SQL語句,統(tǒng)計(jì)所有圖書的總量 ENDIF</p><p> 2.4 系統(tǒng)用例一覽表</p><p><b> 2.5用例規(guī)約</b></p><p><b> 添加用戶用例規(guī)約</b></p><p><b> 添加圖書用例規(guī)
46、約</b></p><p> 查看借閱信息用例規(guī)約</p><p> 查看讀者信息用例規(guī)約</p><p> 查看圖書書目用例規(guī)約</p><p> 添加借閱信息用例規(guī)約</p><p><b> 注冊用例規(guī)約</b></p><p><b>
47、; 2.6時序圖</b></p><p><b> 圖1:登陸時序圖</b></p><p> 圖2:注冊更新個人信息時序圖</p><p> 圖3:添加圖書時序圖</p><p> 圖4:修改圖書時序圖</p><p> 圖5:刪除圖書時序圖</p><
48、;p> 圖6:系統(tǒng)維護(hù)時序圖</p><p> 圖7:添加讀者時序圖</p><p> 圖8:刪除讀者時序圖</p><p> 圖9:查看借閱列表時序圖</p><p> 圖10:查看讀者信息時序圖</p><p> 圖11:查看圖書書目時序圖</p><p> 圖12:刪除
49、借書信息時序圖</p><p> 圖13:添加借書信息時序圖</p><p> 圖14:修改個人信息時序圖</p><p> 圖15:預(yù)約借閱圖書時序圖</p><p> 圖16:歸還圖書時序圖</p><p> 圖17:借閱圖書時序圖</p><p> 圖18:續(xù)借圖書時序圖<
50、;/p><p><b> 第三章 系統(tǒng)設(shè)計(jì)</b></p><p> 3.1系統(tǒng)實(shí)體總類圖以及介紹</p><p><b> 系統(tǒng)邊界類</b></p><p><b> 系統(tǒng)實(shí)體類</b></p><p><b> 系統(tǒng)控制類</
51、b></p><p> 3.2相關(guān)數(shù)據(jù)庫的設(shè)計(jì)</p><p> 經(jīng)過對系統(tǒng)的需求分析,我們總結(jié)出,該系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)思路如下(以表格信息表示)。</p><p> 3.2.1 E-R圖</p><p> 3.2.2數(shù)據(jù)庫的設(shè)計(jì)</p><p><b> 圖書信息表</b></
52、p><p> 管理員可以對讀書進(jìn)行增、刪、改、查等操作,讀者可以對讀書進(jìn)行借閱、預(yù)定借閱、續(xù)借、歸還、查詢等操作,以下是圖書的基本信息。</p><p><b> 管理員信息表</b></p><p><b> 讀者信息表</b></p><p> 讀者可以是校內(nèi)的學(xué)生,也可以是校外人士,因此需
53、要的身份驗(yàn)證方式不一樣。以下是讀者的信息表,以及具體詳細(xì)。</p><p><b> 數(shù)據(jù)庫設(shè)計(jì)代碼:</b></p><p><b> 表的設(shè)計(jì):</b></p><p><b> 圖書信息表</b></p><p> use library</p>&
54、lt;p><b> go</b></p><p> create table bookinfo</p><p> (bookNO int not null constraint pk_ISBN primary key,</p><p> Bookname nvarchar(255) not null, </p>
55、<p> bookname varchar(40) not null,</p><p> pulishname nvarchar(255) not null,</p><p> price varchar(6) not null,</p><p> stock int not null,</p><p> comme
56、nt nvarchar(255)</p><p><b> go</b></p><p><b> 讀者信息表</b></p><p> use library</p><p><b> go</b></p><p> create table
57、 reader</p><p> (readerNo int ,</p><p> readerName nvarchar(255) not null, </p><p> password varchar(16) not null,</p><p> class nvarchar(255) ,</p>&
58、lt;p> ID number varchar(25),</p><p> Telephone int</p><p> CONSTRAINT readerPK PRIMARY KEY(readerNo)</p><p><b> )</b></p><p><b> Go</b>
59、;</p><p><b> 管理員信息表</b></p><p> use library</p><p><b> go</b></p><p> CREATE TABLE Admin</p><p> ?。╝dminName nvarchar(255)
60、 not null, </p><p> password varchar(16) not null,</p><p> telephone int not null,</p><p> CONSTRAINT AdminPK PRIMARY KEY(adminName)</p><p><b> )
61、</b></p><p><b> Go</b></p><p><b> 存儲過程:</b></p><p> 圖書管理員增加圖書的存儲過程</p><p><b> 描述:</b></p><p> 輸入:書名,作者,出版社,
62、ISBN號,價(jià)格 ,庫存 </p><p> 輸出:圖書編號 </p><p> 過程:向表中插入書名,作者,出版社,ISBN號,價(jià)格</p><p> create PROCEDURE addbookInfo</p><p> @bookNo char(20),</p><p>
63、@bookname nvarchar(255),</p><p> @author nvarchar(255),</p><p> @pulishname nvarchar(255),</p><p> @price money varchar(6) ,</p><p> @stock int,</p><p>
64、; @comment nvarchar(255)</p><p><b> as</b></p><p> InsertbookInfo values(@bookNo,@bookName,@author,@pulishname,@price,@stock,@comment )</p><p> 圖書管理員修改圖書的存儲過程</p&
65、gt;<p><b> 描述:</b></p><p> 輸入:圖書編號,書名,作者,出版社,圖書類別,ISBN號,定價(jià),庫存,是否可借</p><p> 過程:根據(jù)圖書編號修改表中的書名,作者,出版社,圖書類別,ISBN號,定價(jià),庫存,是否可借</p><p> CREATE PROCEDURE updatebookIn
66、fo</p><p> @classname nvarchar(255),</p><p> @bookName nvarchar(255),</p><p> @author nvarchar(255),</p><p> @pulishname varchar(255),</p><p> @price
67、money varchar(6),</p><p> @stock int,</p><p> @bookNo output,</p><p><b> as</b></p><p><b> begin</b></p><p> update bookInfo&
68、lt;/p><p> set classname=@classname,</p><p> bookNo=@bookNo,</p><p> bookName=@bookName,</p><p> author=@author,</p><p> pulishname=@pulishname,</p>
69、;<p> price=@price,</p><p> stock=@stock,</p><p> where ISBNNo=@ISBNNo</p><p><b> end</b></p><p> 圖書管理員刪除圖書的存儲過程</p><p><b>
70、描述:</b></p><p><b> 輸入:圖書編號</b></p><p> 過程:根據(jù)圖書編號刪除表中該圖書的信息</p><p> create proc Deletebook</p><p> @bookNo int</p><p><b> as<
71、;/b></p><p><b> begin</b></p><p> delete from book</p><p> where bookNo=@bookNo</p><p><b> End</b></p><p> 圖書管理員刪除讀者信息的存儲過
72、程</p><p><b> 描述:</b></p><p><b> 輸入:讀者號</b></p><p> 過程:根據(jù)輸入的讀者號刪除表中該讀者的信息</p><p> create proc Deletereader</p><p> @readerNo in
73、t</p><p><b> as</b></p><p><b> begin</b></p><p> delete from book</p><p> where readerNo=@readerNo</p><p><b> end</b
74、></p><p><b> 3.3主界面設(shè)計(jì)</b></p><p> 3.3.1登陸/注冊界面設(shè)計(jì)</p><p><b> 人機(jī)界面設(shè)計(jì) </b></p><p><b> 設(shè)計(jì)概述 </b></p><p> 人機(jī)界面設(shè)計(jì)是接口
75、設(shè)計(jì)的一個重要的組成部分。對于交互式系統(tǒng)來說,人機(jī)界面設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì),體系結(jié)構(gòu)設(shè)計(jì)及過程設(shè)計(jì)一樣重要。 </p><p> 圖書管理系統(tǒng)是基于對話框設(shè)計(jì)的,用到了三個對話框,分別為登錄對話框,書庫管理員對話框和借閱人對話框。 </p><p> 在用戶登入時驗(yàn)證用戶身份,如果是合法用戶,則根據(jù)數(shù)據(jù)庫中記錄的用戶權(quán)限轉(zhuǎn)到管理員界面或者借閱人界面。 </p><p&
76、gt;<b> 圖1 登陸界面</b></p><p> 打開登錄界面輸入用戶名和密碼,點(diǎn)擊登錄進(jìn)入圖書管理界面。如果沒有請注冊賬戶</p><p><b> 圖2 注冊界面</b></p><p> 3.3.2管理員操作界面</p><p> 選擇“圖書維護(hù)”菜單中的“書的ID”菜單,出
77、現(xiàn)如圖所示的輸入圖書信息界面。 </p><p> 輸入信息后,單擊“圖書查詢”按鈕</p><p><b> 圖3 總管理界面</b></p><p><b> 圖4 圖書管理界面</b></p><p> 輸書的書名或書的ID點(diǎn)擊“圖書查詢”</p><p>
78、<b> 圖5 借還管理界面</b></p><p> 1.借書 選擇“圖書流通”菜單中的“借書”菜單,。 輸入借閱信息后,單擊“借書”按鈕。 </p><p> 2. 還書 選擇“圖書流通”菜單中的“還書”菜單, 輸入借閱信息后,單擊“還書”按鈕</p><p> 3.3.3 讀者用戶管理界面</p>
79、<p> 圖6 讀者用戶管理用戶</p><p><b> 圖7 修改密碼界面</b></p><p> 編輯要修改的信息,單擊“保存”按鈕</p><p><b> 圖8 讀者界面</b></p><p> 點(diǎn)擊左邊的選框可以查詢到你要查詢的信息</p>&l
80、t;p> 系統(tǒng)響應(yīng)時間 對于用戶的各種操作請求應(yīng)盡快給出響應(yīng),響應(yīng)時間應(yīng)控制在1s左右。 </p><p> 出錯信息處理 對于用戶不符合要求的輸入,系統(tǒng)會給出錯誤提示,并告知其錯誤原因。</p><p><b> 3.4部分代碼:</b></p><p><b> 添加圖書的代碼:</b></p&
81、gt;<p> using System.Data.SqlClient;</p><p> using System.Data;</p><p> public partial class Add : System.Web.UI.Page</p><p><b> {</b></p><p> p
82、rotected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p><b> }</b></p><p> protected void Button1_Click(object sender, EventArgs e)<
83、/p><p><b> {</b></p><p> string constr = "server=.; database=library; trusted_connection=yes";</p><p> SqlConnection con = new SqlConnection(constr);</p>
84、<p> SqlCommand cmd = new SqlCommand(con);</p><p> cmd.Connection = con;</p><p> cmd.CommandText = "addbookInfo";</p><p> cmd.CommandType = CommandType.StoredPr
85、ocedure;</p><p> SqlParameter sp1 = new SqlParameter("@bookname", SqlDbType.NVarChar, 255);</p><p> sp1.ParameterName = "@nvarchar";</p><p> sp1.Value = bookn
86、ame.Text;</p><p> cmd.Parameters.Add(sp1);</p><p> SqlParameter sp2 = new SqlParameter("@author", SqlDbType.NVarChar ,255);</p><p> sp2.ParameterName ="@author&quo
87、t;;</p><p> sp2.Value = author.Text;</p><p> cmd.Parameters.Add(sp2);</p><p> SqlParameter sp3 = new SqlParameter("@pulishnam", SqlDbType.NVarChar, 255);</p><
88、;p> sp3.ParameterName = "@pulishnam";</p><p> sp3.Value = pulishnam.Text;</p><p> cmd.Parameters.Add(sp3);</p><p> SqlParameter sp4 = new SqlParameter("@price&
89、quot;, SqlDbType.VarChar,6);</p><p> sp4.ParameterName = "@price";</p><p> sp4.Value = FormatString(price.Text);</p><p> cmd.Parameters.Add(sp4);</p><p>
90、SqlParameter sp5 = new SqlParameter("@stock", SqlDbType.Int);</p><p> sp5.ParameterName = "@stock";</p><p> sp5.Value = int.Parse(stock.Text);</p><p> cmd.Par
91、ameters.Add(sp5);</p><p> SqlParameter sp7 = new SqlParameter("@comment", SqlDbType.NVarChar,255);</p><p> sp7.ParameterName = "@comment";</p><p> sp7.Value =
92、 System.DateTime.Now.ToString();</p><p> cmd.Parameters.Add(sp7);</p><p> SqlParameter sp6 = new SqlParameter("@bookNO ", SqlDbType.Int);</p><p> sp6.ParameterName = &q
93、uot;@bookNO ";</p><p> sp6.Direction = ParameterDirection.Output;</p><p> cmd.Parameters.Add(sp6);</p><p> con.Open();</p><p> cmd.ExecuteNonQuery();</p>
94、<p> con.Close();</p><p> int id = int.Parse(sp6.Value.ToString());</p><p> if (id > 0)</p><p><b> {</b></p><p> Response.Write("<scr
95、ipt>alert('恭喜你,添加成功,感謝您的參與!');parent.location='index.aspx'</script>");</p><p><b> return;</b></p><p><b> }</b></p><p><b&g
96、t; else</b></p><p><b> {</b></p><p> Response.Write("<script>alert('對不起,操作出現(xiàn)錯誤,請返回??!');parent.location='index.aspx'</script>");</p&g
97、t;<p><b> }</b></p><p><b> }</b></p><p> public string FormatString(string str)</p><p><b> {</b></p><p> str = str.Repla
98、ce(" ", " ");</p><p> str = str.Replace("<", "<");</p><p> str = str.Replace(">", ">");</p
99、><p> str = str.Replace('\n'.ToString(), "<br>");</p><p> return str;</p><p><b> } </b></p><p><b> }</b></p><
100、;p> nvarchar(255) not null, </p><p> varchar(16) not null,</p><p> telephone int not null,</p><p><b> 管理員登錄代碼:</b></p><p> using System
101、;</p><p> using System.Collections.Generic;</p><p> using System.Linq;</p><p> using System.Web;</p><p> using System.Web.UI;</p><p> using System.Web
102、.UI.WebControls;</p><p> using System.Data.SqlClient;</p><p> using System.Data;</p><p> public partial class Admin : System.Web.UI.Page</p><p><b> {</b>
103、;</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!IsPostBack)</p><p><b> {</b></p><p&g
104、t; //if (Request.Cookies["user"] != null)</p><p><b> //{</b></p><p> // string User = Request.Cookies["user"].Value;</p><p> // Session[&qu
105、ot;u"] = User;</p><p> // Response.Write("<script>window.location='index.aspx'</script>");</p><p><b> //}</b></p><p><b> }
106、</b></p><p><b> }</b></p><p> protected void Button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> string adminName = use
107、rname.Text;</p><p> string password = userpwd.Text;</p><p> string constr = "server=.;database=newmessage;trusted_connection=true";</p><p> SqlConnection con = new Sql
108、Connection(constr);</p><p> SqlCommand cmd = new SqlCommand();</p><p> cmd.Connection = con;</p><p> //cmd.CommandText = "select * from Admin where adminName='" + u
109、sername + "', password='" + userpwd + "'" ;</p><p> cmd.CommandText = "select count(*) from Admin where adminName=@Name and password=@Pass";</p><p> S
110、qlParameter sp = new SqlParameter();</p><p> sp.ParameterName = "@Name";</p><p> sp.Value = username.Text;</p><p> SqlParameter sp2 = new SqlParameter();</p><
111、;p> sp2.ParameterName = "@Pass";</p><p> sp2.Value = userpwd.Text;</p><p> cmd.Parameters.Add(sp);</p><p> cmd.Parameters.Add(sp2);</p><p> con.Open()
112、;</p><p> int count = (int)cmd.ExecuteScalar();</p><p> if (count == 0)</p><p><b> {</b></p><p> Response.Write("<script>alert('用戶名或密碼錯誤&
113、#39;)</script>");</p><p><b> return;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>
114、<p> Session["u"] = user;</p><p> Response.Write("<script>alert('登錄成功')</script>");</p><p> Response.Write("<script>window.location=
115、39;index.aspx'</script>");</p><p><b> }</b></p><p> con.Close();</p><p><b> }</b></p><p><b> }</b></p><
116、;p><b> 修改圖書的代碼:</b></p><p> create table bookinfo</p><p> (bookNO int not null constraint pk_ISBN primary key,</p><p> Bookname nvarchar(255) not null, </p&
117、gt;<p> bookname varchar(40) not null,</p><p> pulishname nvarchar(255) not null,</p><p> price varchar(6) not null,</p><p> stock int not null,</p><p> c
118、omment nvarcha</p><p> using System;</p><p> using System.Collections.Generic;</p><p> using System.Linq;</p><p> using System.Web;</p><p> using Syst
119、em.Web.UI;</p><p> using System.Web.UI.WebControls;</p><p> using System.Data.SqlClient;</p><p> using System.Data;</p><p> public partial class message : System.We
120、b.UI.Page</p><p><b> {</b></p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!IsPostBack)</p>
121、<p><b> {</b></p><p> gv_bind(); </p><p><b> }</b></p><p><b> }</b></p><p> protected void gv_bind()</p><p>
122、<b> {</b></p><p> string constr = "server=.;database=library;trusted_connection=yes";</p><p> SqlConnection con = new SqlConnection(constr);</p><p> SqlCom
123、mand cmd = new SqlCommand();</p><p> cmd.Connection = con;</p><p> cmd.CommandText = "select * from bookinfo ";//SQL 文本命令</p><p> con.Open(); //打開連接數(shù)據(jù)庫</p><p
124、> SqlDataReader sdr = cmd.ExecuteReader();//讀取表中的一行數(shù)據(jù),是所運(yùn)行sql語句,將結(jié)果存到了sdr里</p><p> GridView1.DataSource = sdr;</p><p> GridView1.DataBind(); //數(shù)據(jù)綁定</p><p> con.Close();</
125、p><p><b> }</b></p><p> protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)</p><p><b> {</b></p><p> GridView1.EditInde
126、x = e.NewEditIndex;</p><p> gv_bind();</p><p><b> }</b></p><p> protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)</p><
127、;p><b> {</b></p><p> GridView1.EditIndex = -1;</p><p> gv_bind();</p><p><b> }</b></p><p> protected void GridView1_RowUpdating(object s
128、ender, GridViewUpdateEventArgs e)</p><p><b> {</b></p><p><b> //找到修改后的值</b></p><p> string updatename = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(&
129、quot;TextBox1")).Text;</p><p> string updatestatus = ((DropDownList)GridView1.Rows[e.RowIndex].FindControl("DropDownList1")).SelectedItem.ToString();</p><p> string con = "
130、server=.;database=photo;trusted_connection=true";</p><p> SqlConnection scn = new SqlConnection(con);</p><p> scn.Open();</p><p> SqlCommand scm = new SqlCommand();</p>
131、;<p> scm.Connection = scn;</p><p> scm.CommandText = "update category set c_name=updatename, status=updatestatus where id=sid";</p><p> int i = (int)scm.ExecuteNonQuery();&l
132、t;/p><p> if (i > 0)</p><p><b> {</b></p><p> Response.Write("<script>alert('修改圖書成功')</script>");</p><p><b> }</b
133、></p><p><b> //更新數(shù)據(jù)庫</b></p><p> string sid = GridView1.DataKeys[e.RowIndex].Value.ToString();</p><p> //Response.Write(id);</p><p><b> }</b
134、></p><p> protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)</p><p><b> {</b></p><p> gv_bind();</p><p> string sid = Gri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程課程設(shè)計(jì)---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)軟件工程課程設(shè)計(jì)
- 圖書管理系統(tǒng)軟件工程課程設(shè)計(jì)
- 軟件工程綜合課程設(shè)計(jì)報(bào)告-圖書管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)--在線圖書管理系統(tǒng)
- 軟件工程綜合課程設(shè)計(jì)報(bào)告-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)軟件工程課程設(shè)計(jì)作業(yè)
- 軟件工程圖書管理系統(tǒng)課程設(shè)計(jì)[1]
- 軟件工程課程設(shè)計(jì)--圖書管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
- 軟件工程課程設(shè)計(jì)--圖書借閱管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)--圖書借閱管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)--基于c#的圖書管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
- 圖書管理系統(tǒng)-軟件工程綜合設(shè)計(jì)課程總結(jié)報(bào)告
- 軟件工程圖書管理系統(tǒng)-詳細(xì)設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)--圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)-- 圖書分銷系統(tǒng)
- 軟件工程課程設(shè)計(jì)-——圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)---圖書館管理系統(tǒng)
- 圖書管理系統(tǒng)軟件工程設(shè)計(jì)書
- 圖書管理系統(tǒng)-軟件工程綜合設(shè)計(jì)課程總結(jié)報(bào)告.doc
評論
0/150
提交評論