




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、.參考資料.參考資料.s=1綜述1.1課題背景1.1.1概述當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這使得計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。隨著Intranet的飛速發(fā)展,移動辦公和分布式辦公越來越普及,B/S(Browser/Server)架構(gòu)應運而生,并得到普遍應用。B/S架構(gòu)最大的優(yōu)點就是客戶端無需安裝任何專用的客戶端軟件,只需配置瀏覽器(如IntranetExplorer)即可,這樣為程序的安裝、調(diào)試和維護帶來了極大的方便。ASP.NET所開發(fā)的應用軟
2、件一般都是B/S架構(gòu),用戶可直接通過瀏覽器來使用系統(tǒng),而無需安裝軟件的客戶端。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理。根據(jù)調(diào)查得知,以前對信息管理的主要方式是基于紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找。總的來說,缺乏系統(tǒng),規(guī)的信息管理手段?,F(xiàn)今,有很多的圖書館都是開始使用計算機進行信息管理。使圖書管理工作進入規(guī)化,系統(tǒng)化,程序化的軌道,同時避免了圖書管理
3、的隨意性,提高了信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書及用戶信息。1.1.2歷史圖書管理系統(tǒng)的發(fā)展歷史可以追溯到20世紀60年代末期。由于當時計算機技術(shù)已經(jīng)進入實用階段,同時大型圖書館用手工來計算和發(fā)放圖書信息既費時費力又非常容易出差錯,為了解決這個矛盾,第一代的圖書管理系統(tǒng)應運而生。幾乎沒有報表生成功能和圖書信息數(shù)據(jù)分析功能。但是,它的出現(xiàn)為圖書管理的管理展示了美好的前景,即用計算機的高速度和自動化來替代手工的巨大工作量,用計算機的高準確性來避免手工的錯誤和誤差,使大規(guī)模集中處理大型圖書館的圖書信息管理系統(tǒng)成為可能。1.1.3現(xiàn)狀信息社會的高科技,商品經(jīng)濟化的高效益,使
4、計算機的應用已普及到經(jīng)濟和社會生活的各個領域。計算機與人類的關系愈來愈密切,幾乎沒有人由于計算機操作不方便而用手工勞動的。為了適應現(xiàn)代社會人們高度強烈的時間觀念,圖書管理系統(tǒng)軟件為圖書辦公室?guī)砹藰O大的方便。開發(fā)圖書管理系統(tǒng),以供圖書管理的工作人員及圖書的進出貨和售書退書操作者進行有效的管理,方便操作者隨時添加、查詢、修改等。當今圖書管理系統(tǒng)已經(jīng)逐步進入信息化時代,然而工作效率大大提高的前提下,基于網(wǎng)絡的安全問題依然存在,圖書管理系統(tǒng)也無法完全避免這一問題,這也是目前圖書館只對部開放的一個重要原因,從而阻止了信息的共享。目前,圖書管理系統(tǒng)依然有很長的路要走1.1.4發(fā)展趨勢處在知識經(jīng)濟形勢下的
5、新信息浪潮,是以信息技術(shù)的高速發(fā)達和全方位應用為特征,以生產(chǎn)科學知識和信息為基礎的,它形成了圖書管理的新的生存環(huán)境信息和信息技術(shù)環(huán)境。新的世紀人類社會正面臨知識經(jīng)濟和信息社會的急劇變革,世界各個角落的人們都強烈地感受到新時代的沖擊與震撼。知識更新經(jīng)濟朝代和網(wǎng)絡時代的一些特征,已經(jīng)深入到人們的社會生活中。知識經(jīng)濟是以知識更新為基礎的經(jīng)濟,這各經(jīng)濟直接領帶于知識更新和信息的生產(chǎn)、擴散和應用。面對現(xiàn)代化管理,必須適應信息世界的變化。新型的圖書管理軟件必須向現(xiàn)代化轉(zhuǎn)變。必須具有信息咨詢服務、信息資源數(shù)據(jù)庫服務、網(wǎng)絡信息服務等代化服務。網(wǎng)絡飛速發(fā)展的環(huán)境下,未來的圖書管理應該以信息網(wǎng)絡為目的加快信息的傳
6、播速度,提高信息服務質(zhì)量.在網(wǎng)絡化條件下,圖書的借閱主要由計算機流通管理系統(tǒng)或讀者在自己的終端上自動完成。在完成方式上,更多地利用,移動通訊、電子等來完成;在咨詢?nèi)萆?,更多的是關于信息源查詢、信息容的鑒定等容。系統(tǒng)基于互動的客戶/服務模型,其系統(tǒng)結(jié)構(gòu)包括元數(shù)據(jù)服務器、WEB應用服務器、對象數(shù)據(jù)服務器、以及客戶端機等。系統(tǒng)應該具備在開放式、異構(gòu)型環(huán)境中的運行能力。1.2課題提出在當今知識大爆炸的時代,圖書作為信息的一種載體,仍是人們獲得知識的一種重要途徑,因而作為圖書管理與借閱的圖書館,它的運行情況則關系到知識的傳播速度問題。以往舊的圖書管理模式完全是手工操作,從新書的購買、編碼、入庫、上架,到
7、借閱、續(xù)借、歸還、查詢,無一不是人工處理,需要大量的勞動力與工作量,而且由于人為的原因造成一些錯誤,也是再所難免的。當讀者想要借閱一本書時,首先要查詢大量的卡片,而且要有一定的圖書管理知識,才能很快的查到。自己想要的圖書,在借閱過程中還要填寫許多相關的卡片,使得圖書的管理效率低下,圖書流通速度較慢,因而從一定程度上也影響了知識的傳播速度。學校作為教書育人的中堅力量,圖書館的作用更是舉足輕重。學校圖書館要做到安全順暢的運轉(zhuǎn),為廣學提供良好的服務,就必須有一套完善健全的運行管理機制。聯(lián)系實際,考慮各層次學校的情況,軟件本身要求易學,界面友好,容易掌握,可以較簡單方便的管理各種圖書信息;硬件的配置要
8、求不能太高,這樣可以很好的適應當前的學校圖書館。系統(tǒng)的總體特點應該是方便、簡單、實用。1.3開發(fā)工具和開發(fā)環(huán)境本系統(tǒng)采用C#語言實現(xiàn),開發(fā)平臺使用VisualStudio2008,數(shù)據(jù)庫使用SQLServer2005ExpressEdition。C#是一種先進,面向?qū)ο蟮恼Z言,通過C#可以讓開發(fā)人員快速的建立大圍的基于MS網(wǎng)絡平臺的應用,并且提供大量的開發(fā)工具和服務幫助開發(fā)人員開發(fā)基于計算和通信的各種應用。VisualStudio2008是面向WindowsVista、Office2007、Web2.0的開發(fā)工具,在其中引入了250多個新特性,整合了對象、關系型數(shù)據(jù)、XML的訪問方式,語言更加
9、簡潔。使用VisualStudio2008可以高效開發(fā)Windows應用。設計器中可以實時反映變更,XAML中智能感知功能可以提高開發(fā)效率。同時VisualStudio2008支持項目模板、調(diào)試器和部署程序。VisualStudio2008可以高效開發(fā)Web應用,集成了ASP.NET、AJAX1.0,包含ASP.NET、AJAX項目模板,它還可以高效開發(fā)Office應用和Mobile應用。由于VS2008支持多定向技術(shù),本次開發(fā)架構(gòu)選擇的是.NETFramework3.5。SQLServer2005ExpressEdition可以簡化基本的數(shù)據(jù)庫操作,通過與VisualStudio項目的集成,
10、數(shù)據(jù)庫應用程序的設計和開發(fā)也變得更加簡單。此外,服務和修補也得到了簡化和自動化。1.4系統(tǒng)文件結(jié)構(gòu)本系統(tǒng)在設計思想上采用4層架構(gòu),本解決方案共有4個項目組成,各個文件夾及文件對應含義如下:Web層(UI層):界面層包含的文件夾:Common公共的資源,包含修改密碼和顯示用戶信息的兩個用戶自定義控件CSS控制界面的CSS文件Images圖片資源JSJavaScript文件Reader所有以讀者身份登陸時有關的頁面SysAdmin所有以管理員身份登陸時有關的頁面SysOperator所有以操作員身份登陸時有關的頁面BusinessLogicLayerproject:業(yè)務邏輯層包含的文件:Book.
11、cs、BookBusiness.cs、BookType.cs、User.csDataAccessLayerproject:數(shù)據(jù)訪問層包含的文件:Book.cs、BookBusiness.cs、BookType.cs、DataBase.cs、GetSafeData.cs、User.cs2需求分析2.1系統(tǒng)開發(fā)目的圖書管理系統(tǒng)是典型的管理信息系統(tǒng),其目的是方便用戶進行圖書的管理和信息的檢索。本次畢業(yè)設計,在當前的資源和技術(shù)水平條件下盡量保證系統(tǒng)的穩(wěn)定性、安全性以及界面的友好性,實現(xiàn)圖書管理的基本功能,本著寧缺毋濫的原則保證系統(tǒng)的完成。本系統(tǒng)將采用ASP.NET3.5進行項目的開發(fā),進一步學習這一技
12、術(shù)在Web開發(fā)中的技術(shù),同時也鞏固以前學習的B/S開發(fā)模型中的基礎知識,以為后續(xù)開發(fā)積累經(jīng)驗。2.2系統(tǒng)功能要求本系統(tǒng)要實現(xiàn)的功能包括:用戶登陸、密碼修改、圖書管理及用戶管理為降低開發(fā)難度,縮短開發(fā)時間,對圖書管理系統(tǒng)的功能進行了精簡,提煉了以下系統(tǒng)所必需實現(xiàn)的功能,具體功能如下:1、用戶登錄,包括讀者、操作員和管理員三種身份2、修改密碼3、添加用戶4、添加圖書5、修改用戶信息6、修改圖書信息7、借閱圖書8、過期圖書提示9、歸還圖書10、讀者所借圖書列表11、借閱歷史查詢12、圖書查詢功能2.3系統(tǒng)界面要求本系統(tǒng)是Web應用程序,要求使用簡單方便,有足夠的提示信息(以彈出框的形式或者在網(wǎng)頁上直
13、接顯示),符合用戶的操作習慣(如Enter鍵的使用),對有特殊意義的則以不同顏色提示(如圖書過期,則在所借圖書列表中以黃色背景顯示)。2.4系統(tǒng)性能要求1、系統(tǒng)安全、可靠2、系統(tǒng)穩(wěn)定性好3、易于維護和擴充3系統(tǒng)總體設計3.1任務概述3.1.1目標圖書管理系統(tǒng)針對的用戶是單個中小型圖書室或者個人,藏書的種類和數(shù)量較少,讀者的數(shù)量和來源受到一定的限制。相應的需求有:1能夠存儲一定數(shù)量的圖書信息,并方便有效的進行相應的書籍數(shù)據(jù)操作和管理,這主要包括:圖書信息的錄入、刪除及修改。圖書信息的多關鍵字檢索查詢。圖書的出借、返還和資料統(tǒng)計。2能夠?qū)σ欢〝?shù)量的讀者進行相應的信息存儲與管理,這其中包括:1)讀者
14、信息的登記、刪除及修改。2)讀者資料的統(tǒng)計與查詢。3能夠?qū)π枰慕y(tǒng)計結(jié)果提供列表顯示輸出。3.1.2條件與限制一個更為完善的圖書管理系統(tǒng),應提供更為便捷與強大的信息查詢功能,如相應的網(wǎng)絡操作及服務,由于開發(fā)時間和計算機數(shù)量有限,該系統(tǒng)并未提供這一功能。對信息的保護手段僅限于設置用戶級別,比較簡單,不能防止惡意的破壞,安全性能有待進一步完善。BookManagementSystem總體結(jié)構(gòu)Model層BLL層DAL層Database圖3.2系統(tǒng)總體結(jié)構(gòu)圖Web層BooksManagementSystem設計采用四層結(jié)構(gòu),說明如下:1、Web層,主要負責客戶端UI的顯示及收集用戶輸入;2、BBL層
15、,即業(yè)務邏輯層,主要負責業(yè)務邏輯的處理;3、DAL層,即數(shù)據(jù)訪問層,主要負責與數(shù)據(jù)庫的交互,只專注于數(shù)據(jù)存儲和讀取;4、Model層,即實體類,主要負責存儲復雜的數(shù)據(jù),封裝各個類;5、層與層之間是單向調(diào)用關系,是服務與被服務的關系,這種依賴關系是單向的,是不可逆轉(zhuǎn)的;6、通過分層,可以限制子系統(tǒng)間的依賴關系,使系統(tǒng)以更松散的方式耦合,從而更易于維護;3.3框架結(jié)構(gòu)圖3.3系統(tǒng)框架結(jié)構(gòu)圖3.4接口設計3.4.1外部接口1用戶界面按Web軟件用戶界面的規(guī)來設計,使用以表單,為主的用戶界面,便于用戶使用。1)用戶登錄界面:用戶賬號輸入?yún)^(qū):用于輸入用戶賬號;密碼輸入?yún)^(qū):用于輸入密碼;登錄按鈕:提交登錄
16、信息。2)借書表單:讀者賬號輸入?yún)^(qū):用于輸入讀者賬號;圖書書號輸入框:用于輸入圖書書號;借閱提交按鈕:提交借書請求;重置按鈕:清空已經(jīng)錄入的讀者賬號框和圖書書號框。3)還書表單:圖書書號編輯框:用于輸入所還圖書書號;提交按鈕:用于提交還書請求;重置按鈕:清空已經(jīng)錄入的圖書書號框。4)添加用戶表單:用戶證號編輯框:用于輸入用戶證號;初始密碼編輯框:用于輸入初始密碼;確認密碼編輯框:用于輸入確認密碼;用戶類型選擇:用于選擇用戶的類型(讀者、操作員或者管理員)用戶編輯框:用于輸入用戶;用戶性別選擇框:用于選擇用戶性別;出生時間選擇框:用于選擇出生的年月日;所在院系編輯框:用于輸入所在部門;用戶編輯框
17、:用于輸入用戶;用戶住址編輯框:用于輸入用戶住址;“添加”按鈕:增加用戶記錄;“重置”按鈕:清空所有編輯框。5)顯示修改用戶信息:用戶ID編輯框:用于顯示用戶ID;用戶編輯框:用于顯示修改用戶;用戶權(quán)限選擇框:用于顯示修改用戶權(quán)限;用戶性別選擇框:用于顯示修改用戶性別;用戶院系編輯框:用于顯示修改用戶院系;用戶住址編輯框:用于顯示修改用戶住址;“刪除”按鈕:刪除用戶記錄;“編輯”按鈕:使選中行變?yōu)榭删庉嫚顟B(tài);6)添加圖書表單:圖書編號編輯框:用于輸入圖書ID編號;圖書書名編輯框:用于輸入圖書書名;圖書索取號編輯框:用于輸入圖書索取號;圖書類型選擇:用于選擇圖書的類型;圖書作者編輯框:用于輸入圖
18、書作者;圖書編輯框:用于輸入;圖書價格編輯框;用于輸入圖書價格;圖書出版時間選擇框:用于選擇出版的年月日;圖書主題詞編輯框:用于輸入主題詞;圖書說明編輯框:用于輸入對圖書的簡要描述;“添加”按鈕:增加圖書記錄;“重置”按鈕:清空所有編輯框。7)顯示圖書信息:圖書提名顯示區(qū):用于顯示圖書題名;圖書作者顯示區(qū):用于顯示圖書作者;圖書顯示區(qū):顯示圖書;“刪除”按鈕:刪除本行圖書記錄;“詳細”按鈕:在新頁面中顯示本行圖書信息。8)修改圖書信息:圖書書名編輯框:用于顯示修改圖書書名;圖書索取號編輯框:用于顯示編輯圖書索取號;圖書類型單選框:用于顯示編輯圖書類型;作者編輯框:用于顯示編輯作者;單價編輯框:
19、用于顯示編輯圖書單價;編輯框:用于顯示編輯;出版時間選擇框:用于顯示編輯圖書出版的年月日;主題詞編輯框:用于顯示修改圖書的主題詞;描述編輯框:用于顯示修改圖書的簡要描述;“修改”按鈕:提交修改圖書信息。9)圖書查詢:圖書種類選擇框:用于選擇圖書種類;查詢途徑選擇框:用于選擇圖書查詢途徑(作者、書名、出版時間)關鍵字編輯框:用于輸入查詢關鍵字;開始查詢按鈕:用于提交查詢請求。10)讀者所借圖書:題名顯示區(qū):顯示所借圖書的書名;借閱日期顯示區(qū):顯示借閱日期;應歸還日期顯示區(qū):顯示應歸還日前;顯示區(qū):顯示圖書的。11)更改登錄用戶的信息:證件編號顯示區(qū):顯示登錄用戶的編號;顯示區(qū):顯示登錄用戶的;性
20、別顯示區(qū):顯示登錄用戶的性別;權(quán)限顯示區(qū):顯示登錄用戶的權(quán)限;所在院系編輯框:顯示修改登錄用戶的所在院系;住址編輯框:顯示修改登錄用戶的住址;聯(lián)系編輯框:顯示修改登錄用戶的聯(lián)系;“修改”按鈕:提交修改請求。12)更改口令對話框原始口令編輯框:用于輸入原始口令;新口令編輯框:用于輸入新口令;確認新口令編輯框:用于輸入新口令;“保存”按鈕:保存口令修改;“取消”按鈕:取消操作。2硬件接口鼠標、鍵盤、顯示器。3.4.2部接口模塊間接口采用數(shù)據(jù)耦合方式,通過參數(shù)表傳送數(shù)據(jù),交換信息。3.5數(shù)據(jù)庫設計3.5.1ER圖設計實體涉及的數(shù)據(jù)項有:讀者:用戶唯一標識、用戶名、密碼、讀者性別、所在院系、家庭住址、
21、聯(lián)系、出生年月、角色標識圖書:圖書的唯一標識、圖書名稱、所屬分類號、作者、價格、出版日期、摘要信息、關鍵詞、圖書狀態(tài)、登記日期角色:角色標識、角色名稱3.5.2數(shù)據(jù)庫結(jié)構(gòu)描述主要包括各個表結(jié)構(gòu)設計、表間關系的設計、存儲過程。字段名稱數(shù)據(jù)類型說明userIDnvarchar(50)用戶唯一標識userNamenvarchar(50)用戶名userPasswordnvarchar(50)密碼userGenderbit讀者性別userDepartmentnvarchar(50)所在院系userAddressnvarchar(50)家庭住址userPhonenvarchar(50)聯(lián)系userBirt
22、hdatedatetime出生年月roleIDint角色標識表User表(系統(tǒng)用戶信息數(shù)據(jù)表).字段名稱數(shù)據(jù)類型說明bookIDnvarchar(50)圖書的唯一標識bookNamenvarchar(50)圖書名稱bookTypeIDint所屬分類號authornvarchar(50)作者publishnvarchar(50)pricemoney價格publishDatedatetime出版日期abstractntext摘要信息keywordnvarchar(50)關鍵詞bookStatusint圖書狀態(tài)(0-借出,1-在館)registeDatedatetime登記日期表Book表(圖書信息
23、表)字段名稱數(shù)據(jù)類型說明borrowRecIDint系統(tǒng)自動生成readerIDnvarchar(50)讀者的唯一標識bookIDnvarchar(50)圖書的唯一標識beginDatedatetime借書日期endDatedatetime還書日期borrowStatusbit圖書的狀態(tài):是否借出overdueDaysdatetime超出天數(shù)penaltymoney罰款金額表BorrowRec表(圖書借閱信息表)字段名稱數(shù)據(jù)類型說明bookTypeIDint系統(tǒng)自動生成bookTypeNamenvarchar(50)圖書類型名稱bookTypeDescnvarchar(50)圖書類型描述表Bo
24、okType表(圖書類型表)字段名稱數(shù)據(jù)類型說明roleIDint系統(tǒng)自動生成roleNamenvarchar(50)角色名稱表Role表(角色表)系統(tǒng)中用到的存儲過程:1.Proc_AddBook:用于向Book表中插入一條記錄CREATEPROCEDURE(bookIDbookNamebookIndexbookTypeIDauthorpublishpricedbo.Proc_AddBooknvarchar(50),nvarchar(50),nvarchar(50),int,nvarchar(50),nvarchar(50),money,publishDateabstractdatetime
25、,keywordstatusntext,varchar(50),int,registeDatedatetime)ASINSERTINTOBook(bookID,bookName,bookIndex,bookTypeID,author,publish,price,publishDate,abstract,keyword,status,registeDate)VALUES(bookID,bookName,bookIndex,bookTypeID,author,publish,price,publishDate,abstract,keyword,status,registeDate)2.Proc_G
26、etBooklnfoBylD:由圖書的ID查詢圖書的所有信息CREATEPROCProc_GetBookInfoByIDbookIDNVARCHAR(50)ASSELECT*FROMBookWHEREbookID=bookIDProc_GetBooks:得到所有的圖書記錄CREATEPROCProc_GetBooksASSELECT*FROMBookProc_UpdateBookByID:根據(jù)圖書的ID修改圖書的其他信息CREATEPROCProc_UpdateBookByIDbookIDnvarchar(50),bookNamenvarchar(50),bookIndexnvarchar(5
27、0),bookTypeIDINT,authornvarchar(50),publishnvarchar(50),pricemoney,pulishDatedatetime,abstractntext,keywordnvarchar(50)ASUPDATEBookSETbookName=bookName,bookIndex=bookIndex,bookTypeID=bookTypeID,author=author,publish=publish,price=price,publishDate=pulishDate,abstract=abstract,keyword=keywordwhereboo
28、kID=bookIDProc_DeleteBook:刪除圖書CREATEPROCProc_DeleteBookbookIDnvarchar(50)ASDELETEFROMBookWHEREbookID=bookIDProc_SearchBook根據(jù)查詢條件搜索圖書CREATEPROCEDUREdbo.Proc_SearchBook(bookTypeIDint,queryByColvarchar(10),Contentvarchar(50)ASBEGINDECLAREsqlnvarchar(lOOO)-生成的sql語句IFbookTypeID=0-0為“全部”BEGINLIKESETsql=se
29、lect*FROMBookWHERE+queryByCol+%+Content+%EXECsp_executesqlsqENDELSEBEGINSETsql=select*FROMBookWHEREbookTypeID=+str(bookTypeID)+AND+queryByCol+LIKE%+Content+%EXECsp_executesqlsqlENDENDProc_GetCurrentBorrow:由用戶ID從BorrowRec中查詢該用戶的借書詳細記錄CREATEPROCEDUREdbo.Proc_GetCurrentBorrowuserIDVARCHAR(50)ASSELECTdb
30、o.borrowRec.readerID,dbo.borrowRec.beginDate,dbo.book.bookName,dbo.book.author,dbo.book.publish,dbo.book.publishDateFROMdbo.borrowRec,dbo.bookWHEREbook.bookID=borrowRec.bookIDANDborrowStatus=TrueANDreaderID=userIDProc_UpdateUser:由用戶ID更新此用戶的其他信息CREATEPROCProc_UpdateUser(userIDnvarchar(50),userNamenva
31、rchar(50),roleIDint,userGenderbit,userDepartmentnvarchar(50),userAddressnvarchar(50)ASUPDATEUsersSETuserName=userName,roleID=roleID,userGender=userGender,userDepartment=userDepartment,userAddress=userAddressWHEREuserID=userIDProc_UsersDetail:由用戶的ID查詢用戶的詳細信息CREATEPROCEDUREdbo.Proc_UsersDetailUserIDva
32、rchar(50)ASSELECT*FROMdbo.UsersWHEREuserID=UserIDProc_GetUsers:得到所有用戶CREATEPROCEDUREProc_GetUsersASSELECT*FROMUsers11.Proc_GetRole:得到Role表中的所有數(shù)據(jù)CREATEPROCEDUREProc_GetRoleASSELECT*FROMRole3.6出錯處理出錯輸出信息根據(jù)不同的出錯情況給出不同的出錯信息,一般用頁面輸出紅色文字給出。2.出錯處理對策對一般錯誤,給用戶提示信息,讓用戶重新輸入或退出。3.7安全設計為每個操作人員設置賬號及口令,規(guī)定每一級操作人員的權(quán)
33、限。3.8維護設計由于此項目比較小,除了嚴格按照軟件工程的科學方法開發(fā)軟件、認真建立文檔、編碼階段寫詳細的注釋外,沒有特殊的維護設計,如:設置維護模塊等。4系統(tǒng)詳細設計及編碼實現(xiàn)4.1類定義依據(jù)系統(tǒng)總體結(jié)構(gòu),每層的類定義如下DAL中的類DataBase類:此類是訪問數(shù)據(jù)庫的基礎類,封裝了數(shù)據(jù)庫操作的所有方法,如建立連接,執(zhí)行增刪改查操作,關閉連接等。DataBdseClass-Fields:*Connection:*tonnectionStrinq-Methodsf-DataBasetAdvancedSearchVClose屮Create匚ommmnd/DataBasetDisposetExe
34、cuteNonQueryt(十1averload)tetRecordtetRecordQnunttMakelnParamfMakeParam$Open*RunProc(十1overload)*RunProcGetCountfRunProcGetFleader(十1overload)GetSafeData類:此類完成從數(shù)據(jù)庫中安全獲取數(shù)據(jù)的任務,即當數(shù)據(jù)庫中的數(shù)據(jù)為NULL時,保證讀取不發(fā)生異常。GEtSaTeDataClass-Methcids*VlidateDatakow_B零Vlidat&DakaR-OVJ_F-*Vlidat&Dakakovj_NvVlidat&DataR.QW_5VVl
35、idat&DataF!.QW_TDALBook類:封裝與圖書操作有關的方法,如查詢、增加、更改、搜索DALBookClass-Methods*AddBookMDALBook7GetBooklnFoBylDvSearchBookvupdmttBmkBookBusinessClassBookBusiness類:封裝驗證圖書的存在與否和借書、還書操作。-Fields#dL-Methods-*CheckBcokElylD-*LendBockYReturnBookBBL中的類BLLBook類:負責業(yè)務邏輯層有關圖書的操作BLLBook薊Class-Fields占#dalBook-MethodsvAddB
36、ook4BLLBookDeleteByProc7GetBooklnFoQuer/BooksSearchBookUpdateBaQkJnfoBookBusiness類:負責業(yè)務邏輯層驗證以及借還操作BookBusinessClass-Fields*bb-MethodstCheckfiookBylDtLendBooktRetjrnBookUsers類:負責業(yè)務邏輯層對用戶的處理Users匚b雷+Fields+Properties-MethodsvAddUsertCheckPasswordvDeleteDyProcfGetBomowBookVGetUserlnfoDylDvQueryUsersfUp
37、dateByProcWeb中的類每個頁面都是一個類,為了保證界面一致,三種角色身份登錄時,每個身份都使用ASP.NET的模板Model中的類BookInfo類:圖書的實體類BookInfo-FieldsJ_abstract3#_authorJ_bookIDJ_booklnde)cj/上ookName#_bookStatu#_bookTypeIDj/-keywordj/_price#_publishJ/_publishD3teJ/_registeDate-PropertiesAbstracAuthorBooklDBooklndexBookrJameBookStatusBookT沖eIDKeywo
38、rdPricePublishPublishDateRegieteDate-Methods*Bookinfo(十1oy.BookTypelnfo類:圖書類型的實體類BookTypelnFoQmEFieldsJ_bookTypeDesc之*_bookTypeName-PropertiesBookT/peDescBookT/perJarmeEMethodsBaokT沖WnF口UserInfo類:用戶的實體類UserlnroClass-Fields/_gender_roleID_usePasword_userAddress_u5erBirthdate_u5erDepartrment_ueerIDJ_u
39、5erPJanieJ_u5erPhon&-Properties盤GenderRolelD督Userfiddress臺UeerBirthdate舛UserDepartmentUserID仝UeerName合1UeerPassord臺UeerPhone-MethodsvUserinfo4.2軟件結(jié)構(gòu)圖4.2.1主模塊圖4.2.2借書模塊圖4.2.3還書模塊圖4.2.4圖書管理模塊圖4.2.5用戶管理模塊程序描述登錄模塊功能登錄輸入項目讀者證號、登錄口令輸出項目進入相應的角色頁面程序邏輯開始No驗證身份密碼驗證Yes*輸入賬號輸入口令操作員管理員讀者借書模塊功能查驗輸入的讀者證號查驗輸入的圖書號登記
40、借書輸入項目讀者證號、圖書書號(用戶輸入)輸出項目借閱成功與否程序邏輯還書模塊功能進入還書頁面查驗輸入的圖書書號對合法輸入記錄還書信息顯示相關信息(本次還書操作信息成功與否)輸入項目圖書書號輸出項目相關信息(本次還書操作信息成功與否)程序邏輯圖書查詢模塊功能根據(jù)給定查詢條件,查詢數(shù)據(jù)庫,獲取圖書信息輸入項目查詢方式指定以及查詢關鍵字輸出項目查詢結(jié)果列表顯示程序邏輯讀者操作模塊功能提供對讀者庫的瀏覽、數(shù)據(jù)修改、增加、刪除記錄等操作增加記錄時,提供對生成的讀者證號的唯一性驗證刪除記錄時,提供對所刪除記錄的相關性檢驗輸入項目數(shù)據(jù)庫連接(傳入?yún)?shù))輸出項目無程序邏輯5測試5.1類測試在開發(fā)過程中,每實
41、現(xiàn)一個小類,都要對該類進行測試,已將錯誤消滅在萌芽之中。但是測試主要以邏輯上的正確性為標準,不過多考慮執(zhí)行效率。在此不一一列舉。系統(tǒng)測試整個系統(tǒng)開發(fā)完成后,進行了總體測試。每種角色設置一個登錄賬號以便測試,admin是管理員身份,opt是操作員身份,reader是讀者身份,密碼與用戶名相同,過程如下:1、登錄模塊測試:登錄主界面,如下圖書管理系統(tǒng)登陸登錄圖5.2.1登錄主界面以admin賬號登錄后的界面:且用戶管理滋加用戶用戶維護日書刊管理添加書刊書刊維護高級扌叟桑曰個人信息修改個人信息僱改密碼注消我的登錄圖5.2.2管理員主界面以opt賬號登錄后的界面:網(wǎng)絡圖書管理系統(tǒng)歡迎燃:apt豹叩年6
42、月5日星期五我的基本信息惜書噪作諸輸入讀者編號:還書操作借書操作查詢當前借闔查詢歷史借圈借閱重置傕改密碼注銷我的登錄圖5.2.2操作員主界面以reader賬號登錄后的界面:網(wǎng)絡圖書管理系統(tǒng)歎迎您:reader2009年5月叮日星期君我的基本信息書刊惜聞信息借閱歷史信息書刊預約信息修改密碼注銷截的登錄圖5.2.3讀者主界面修改密碼模塊測試:以admin登錄,點擊修改密碼,顯示頁面如下20曲年5月刃日星期為,眈迎您;admin用戶管理保存潔輸入新密碼:諳輸我當前密碼:添加用戶旳戶堆護-書刊管理添加書刊書刊維薩高級棧事修改傘火信息修改密碼注銷我的登錄圖5.2.4修改密碼界面修改個人信息模塊:以adm
43、in登錄,點擊修改個人信息,顯示頁面如下網(wǎng)絡圖書管理系統(tǒng)獲迎您;admin石用戶管理添加用戶用戶堆護曰書刊營理添加書刊書刊維護高級搜索e卡人信息條改個人信息修改密碼、注銷我的登錄”00弈5月30日星期夭UE件編號:性別:所在院系;聯(lián)系電話:admin姓名=女權(quán)限:admtn管理員j匕京每淀區(qū)圖5.2.5查詢修改個人信息界面4.添加用戶模塊:以admin登錄,點擊添加用戶,顯示頁面如下鼻用尸編號添加重置男女姓名擔話弊別:驅(qū)迎您dmin30H星期為用戶管理所在単位:用戶性址:添加用戸信息加垢対必埴項目丟統(tǒng)管理員寸*-書刊管理切始密碼:高級搜縈用戶類型:注銷我的登錄出生時間:添加用戶甲戶維護添加書刊
44、書刊維護S牛兒信息怨改亍人信息僱改密碼1960命年1亍月1日網(wǎng)絡圖書管理系統(tǒng)圖5.2.6添加用戶界面5.修改用戶信息模塊:以admin登錄,點擊用戶維護,顯示頁面如下歡迎您;admin囚盹年5月30日星期六0用戶管理添加用戶用戶維爹-書刊營理用戶1D姓名權(quán)限1院系住址編輯Jessi葩譙者0322-鬻操Seattleus刪除編輯computerBerjing刪除編捐男巖加書刊書刊維護高級搜索s個爬信息僱改個人時息修改密碼注誚我的登錄2309339484adminapt李佳妮讀者女李好adminopt女女男操管操統(tǒng)員統(tǒng)國統(tǒng)二貝系作系理系作創(chuàng)始家園勺號刪除編輯hwU傳媒刪除編輯文靜學院南校區(qū)9#刪除
45、編輯moonee刪除編握sun刪除編輯readerreader者男訂iafa刪除圖5.2.6用戶維護界面6.添加圖書模塊:以admin登錄,點擊添加書刊,顯示頁面如下編輯S帛戶管理添加用戶用戶維護-書刊管理原加書刊書刊維護高級搜索曰個人信息修改個人信息修改密碼注銷我的登錄添加囹書ISB鶴:索取號:團書類型?社會科學自然科學綜合性閤書哲學作者名:*出版社:1*定價元闊I*岀版肝1999年1月1碎日主題詞,說明:添加遑冋圖5.2.7添加圖書界面7.修改圖書信息模塊:以admin登錄,點擊書刊維護,顯示頁面如下歡蝕您:admin血弭5月知日星期賓B用戶管理國電力出版社刪除洋細潦加用戶電力刪除詳堀舗丸
46、門經(jīng)典(4版)用戶堆滬TheAriofComputerProgrammingDonald.E.KnuthPrenticeHall刪除詳堀(美】夏錐里(美)爭蘇費宋徳際建瞼電孑工業(yè)刪除詳鈿愛搟才令贏E:書刊管理潦加書刊嘶息架憫計犬型網(wǎng)站第確書刊堆護D-t-t-Primer3rdStanleyEi.LippmanPrenticel-al刪除詳拒高級櫻索庚曲爾s(craigLarman;方梁等譯機械工吐出版社刪除詳細0牛人信息軟件工程基卿驚2版融印版國外經(jīng)典計算機科詡材隱蓋伊、查耶、曼德若利中國電力岀版社刪除詳堀neamw&awer+Flash+Phakisli網(wǎng)頁制作頁南夏丈出版社刪除洋如僵改密碼
47、注銷帝的登錄圖5.2.8圖書維護界面8.借閱圖書模塊測試:以opt賬號登錄,單擊借書操作,界面顯示如下網(wǎng)絡圖書管理系統(tǒng)惜書操作請輸入讀若騙號:戯迎您:opt卻09年6月丘日星期五我的基本信息還書操作僧書操作查詢當前借蘭查詢歷史倍諭修改密碼注銷我的登錄圖5.2.9借閱圖書界面9.歸還圖書模塊測試:以opt賬號登錄,單擊借書操作,界面顯示如下網(wǎng)絡圖書管理系統(tǒng)2皿g年6月!5日星期五還書重置尊迎您:opt2的基豐信忌還書操作借書操作查詢當前借閩査詢歷史借閩修&密碼注銷我時登錄還書操佗請輸入閣書騙號:圖5.2.10歸還圖書界面測試總結(jié)測試從功能、性能、可用性、客戶端兼容性、安全性等方面進行了基于Web
48、的圖書管理系統(tǒng)測試,具體是檢查和驗證了是否按照設計的要求運行,還測試了系統(tǒng)在不同用戶的瀏覽器端的顯示是否合適等。并從最終用戶的角度進行了簡單的安全性和可用性測試。然而,Internet和Web媒體的不可預見性使測試基于Web的系統(tǒng)變得很困難,不可能面面俱到,其中仍有缺陷和不足,如在數(shù)據(jù)量非常大的情況下,系統(tǒng)的性能會受到影響,用戶等待頁面的時間會長一些,但對總體的運行、性能已影響不大,可以保證系統(tǒng)的交付。經(jīng)測試,本系統(tǒng)可實現(xiàn)圖書管理的基本功能,如借閱、歸還、搜索等操作,三個角色的使用都較為方便。結(jié)束語緊而充實的畢業(yè)設計即將結(jié)束了。對于學生時代的這最后一次作業(yè),感慨頗多。通過畢業(yè)設計,可以綜合應用
49、所學的各種理論知識和技能,進行全面、系統(tǒng)、嚴格的技術(shù)及基本能力的訓練。畢業(yè)設計是對我們每名學生智力、毅力的一次艱巨考驗,是對我們每名學生知識體系的一次豐富升華,是對我們每名學生整個大學的學習成果的一次檢驗。在畢業(yè)設計過程中,使我對軟件開發(fā)的流程有了一個深刻的認識,在開發(fā)中也涉及了方方面面的知識,大大擴大了知識面,同時使我學會了如何使用所學的知識去解決一些實際的問題,增強了我的動手能力。此外,通過這次畢業(yè)設計,使我感到我的所學知識還是不夠的,還要繼續(xù)多加努力。因本次畢業(yè)設計是在實習公司完成,時間比較倉促,設計還有很多不足之處,比如功能不完善,沒有完善的錯誤處理,系統(tǒng)的安全性也沒有多加考慮,編碼的
50、規(guī)也不是很好。希望以后在工作的過程中逐步改進。致謝非常感謝我的指導教師宋宜斌教授。因為我不在學校,聯(lián)系不是很方便,感謝老師在百忙之中答復我的疑問及對我的幫助。非常感謝我的舍友,感謝他們及時給我反饋學校的情況。非常感謝和我一塊作畢業(yè)設計的同志們(公司的和學校的),感謝他們通知我老師的要求以及在系統(tǒng)設計、編碼階段對我的幫助。非常感謝這臺機器,畢業(yè)設計期間一直陪伴著我,是我獲取知識,解決問題的好幫手。參考文獻(美)格爾等,C#髙級編程(第4版),清華大學,2006年10月冠軍,精通ASP.NET2.0企業(yè)級項目開發(fā),人民郵電,2007年2月(美)恰坡(Chappell),.NET大局觀,電子工業(yè),2
51、006年9月(美)代祿,互聯(lián)網(wǎng)的變革一Web2.0理念與設計,電子工業(yè),2007年1月CradyBooch,面向?qū)ο蠓治雠c設計(原書第2版),機械工業(yè),2003年9月丁躍潮,Web編程技術(shù),科學,2008年3月UreshVahalia,系統(tǒng)分析與設計方法,機械工業(yè),2004年9月里伯提(Liberty,J.),ProgrammingC#,電子工業(yè),2001年3月銘澤等譯,JAVASCRIPT權(quán)威指南(第四版),機械工業(yè),2003年1月(美)KARLE.WIEGERS,軟件需求(第2版),清華大學,2004年12月(美)帕帕斯,C#Web編程,人民郵電,2002年10月哲,ASP.NET程序員成
52、長供略,機械工業(yè),200年7月(美)BillEvjen,(美)ScottHanselman,(美)FarhanMuhammad等著,ASP.NET2.0髙級編程,清華大學,2006年附錄:由于源碼比較多,在此只摘抄比較典型的幾個文件,其中Web層的代碼沒有摘抄DAL層的文件如下文件一:DataBase.csnamespaceDataAccessLayer/數(shù)據(jù)庫接口類publicclassDataBase/私有變量,數(shù)據(jù)庫連接protectedSqlConnectionConnection;protectedstringConnectionString;/構(gòu)造函數(shù)publicDataBase(
53、)ConnectionString=ConfigurationManager.ConnectionStringsConnectionString.ConnectionString;/保護方法,打開數(shù)據(jù)庫連接privatevoidOpen()/判斷數(shù)據(jù)庫連接是否存在if(Connection=null)/不存在,新建并打開Connection=newSqlConnection(ConnectionString);Connection.Open();else/存在,判斷是否處于關閉狀態(tài)if(Connection.State.Equals(ConnectionState.Closed)Connect
54、ion.Open();/連接處于關閉狀態(tài),重新打開/公有方法,關閉數(shù)據(jù)庫連接publicvoidClose()if(Connection.State.Equals(ConnectionState.Open)Connection.Close();/連接處于打開狀態(tài),關閉連接/析構(gòu)函數(shù),釋放非托管資源/DataBase()tryif(Connection!=null)Connection.Close();catchtryDispose();catch/公有方法,釋放資源publicvoidDispose()if(Connection!=null)/確保連接被關閉Connection.Dispose
55、();Connection=null;/公有方法,根據(jù)Sql語句,返回是否查詢到記錄publicboolGetRecord(stringXSqlString)Open();SqlDataAdapteradapter=newSqlDataAdapter(XSqlString,Connection);DataSetdataset=newDataSet();adapter.Fill(dataset);Close();if(dataset.Tables0.Rows.Count0)returntrue;elsereturnfalse;/公有方法,返回Sql語句獲得的數(shù)據(jù)值/SqlString的格式:se
56、lectcount(*)fromXXXwhere./selectmax(XXX)fromYYYwhere.publicintGetRecordCount(stringXSqlString)stringSCount;Open();SqlCommandCmd=newSqlCommand(XSqlString,Connection);SCount=Cmd.ExecuteScalar().ToString().Trim();if(SCount=)SCount=0;Close();returnConvert.ToInt32(SCount);/公有方法,執(zhí)行Sql語句,返回受影響的行數(shù)/:update/i
57、nsert/deletepublicintExecuteNonQuery(stringXSqlString)Open();SqlCommandCmd=newSqlCommand(XSqlString,Connection);intval=Cmd.ExecuteNonQuery();returnval;/公有方法,根據(jù)XWhere更新數(shù)據(jù)表XTableName中的某些紀錄/XTableName-表名/XHT-哈希表,鍵為字段名,值為字段值publicDataSetAdvancedSearch(stringXTableName,HashtableXHT)intCount=0;stringField
58、s=;foreach(DictionaryEntryIteminXHT)if(Count!=0)Fields+=and;Fields+=Item.Key.ToString();Fields+=like%;Fields+=Item.Value.ToString();Fields+=%;Count+;Fields+=;stringSqlString=select*from+XTableName+where+Fields;Open();SqlDataAdapterAdapter=newSqlDataAdapter(SqlString,Connection);DataSetDs=newDataSet(
59、);Adapter.Fill(Ds);Close();returnDs;/私有方法,獲得一個用來調(diào)用存儲過程的SqlCommand/輸入:/ProcName-存儲過程名/Params-用來調(diào)用存儲過程的參數(shù)表privateSqlCommandCreateCommand(stringProcName,SqlParameterPrams)Open();SqlCommandCmd=newSqlCommand(ProcName,Connection);Cmd.CommandType=CommandType.StoredProcedure;if(Prams!=null)foreach(SqlParame
60、terParameterinPrams)Cmd.Parameters.Add(Parameter);returnCmd;/公有方法,實例化一個用于調(diào)用存儲過程的參數(shù)/輸入:/ParamName-參數(shù)名稱/DbType-參數(shù)類型/Size-參數(shù)大小/Direction-傳遞方向/Value-值publicSqlParameterMakeParam(stringParamName,SqlDbTypeDbType,Int32Size,ParameterDirectionDirection,objectValue)SqlParameterParam;if(Size0)Param=newSqlParam
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商合作合同終止與解除執(zhí)行辦法
- 二零二五年度家庭自用井承包使用協(xié)議
- 2025年度車間出租與智能化生產(chǎn)管理系統(tǒng)合同
- 二零二五年度文化旅游資源開發(fā)用工勞務合同模板
- 2025年度燒烤店轉(zhuǎn)讓合同含獨家配方及設備
- 2025年度藝術(shù)品抵押借款合同協(xié)議
- 二零二五年度汽車零部件制造廠房產(chǎn)權(quán)移交合同
- 二零二五年度瑜伽舞蹈工作室店鋪鋪面租賃協(xié)議
- 發(fā)言稿組織委員
- 2025年安徽貨運從業(yè)資格考試題目大全答案
- 2024年12月重慶大學醫(yī)院公開招聘醫(yī)生崗位2人(有編制)筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 主題班會:新學期 新起點 新期待
- 統(tǒng)編版歷史 選擇性必修二第12課 《水陸交通的變遷》課件(共27張)
- 小學生雙擁活動國防教育
- 《得勝的基督新婦》課件
- 消防風道風管施工方案
- 煙囪拆除工程施工方案設計及安全措施
- 2025年湖南省煙草專賣局系統(tǒng)招聘336人高頻重點提升(共500題)附帶答案詳解
- 交通安全勸導講座課件
- 和利時DCS系統(tǒng)課件
- 2.2 生態(tài)脆弱區(qū)的綜合治理 課件 【知識精研】高二地理人教版(2019)選擇性必修2
評論
0/150
提交評論