版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本 科 畢 業(yè) 設 計 ( 論 文 ) 計算機與信息學院題目:基于.net 平臺的圖書館管理信息系統(tǒng)設計與實現(xiàn)學生:學號:專業(yè):班級: 指導教師:日期:目錄摘要.- 1 - abstract .- 2 - 第 1 章 緒論.- 4 - 1.1 開發(fā)背景及意義 . - 4 - 1.2系統(tǒng)簡介 . - 4 - 第 2 章 技術背景 .- 5 - 2.1 開發(fā)平臺 .net及 c# 語言 . - 5 - 2.2 sql server 2005 . - 6 - 2.3 ado.net . - 7 - 第 3 章 需求分析 .- 8 - 3.1 業(yè)務描述 . - 8 - 3.1.1 圖書借閱者業(yè)務 .
2、- 8 - 3.1.2 圖書館工作人員業(yè)務 . - 9 - 3.1.3 圖書館管理人員業(yè)務 . - 9 - 3.2 系統(tǒng)基本模塊功能分析 . - 10 - 3.2.1 系統(tǒng)數(shù)據(jù)流程圖 . - 10 - 3.2.2 系統(tǒng)基本模塊功能分析 . - 10 - 3.3 狀態(tài)分析 . - 10 - 3.4 安全性分析 . - 11 - 第 4 章 系統(tǒng)設計 . - 12 - 4.1 系統(tǒng)設計基本思想 . - 12 - 4.2 系統(tǒng)總功能模塊結構設計 . - 12 - 4.3 系統(tǒng)子模塊設計 . - 12 - 4.4 系統(tǒng)界面設計 . - 14 - 4.4.1 登錄界面設計 . - 14 - 4.4.2
3、系統(tǒng)主界面 . - 14 - 4.4.3 讀者檔案管理 . - 15 - 4.4.4 圖書檔案管理 . - 16 - 4.4.5 讀者查詢 . - 16 - 4.4.6 圖書罰款 . - 17 -4.5 數(shù)據(jù)庫設計 . - 18 - 4.5.1 概念結構設計 . - 18 - 4.5.2 邏輯結構設計 . - 19 - 4.5.3 物理結構設計 . - 19 - 第 5 章 系統(tǒng)實現(xiàn) . - 23 - 5.1 系統(tǒng)實現(xiàn) . - 23 - 5.1.1 系統(tǒng)開發(fā)及運行環(huán)境 . - 23 - 5.1.2 系統(tǒng)模塊的實現(xiàn) . - 23 - 5.2 系統(tǒng)測試 . - 27 - 5.2.1 測試目的 .
4、- 27 - 5.2.2 測試原則 . - 28 - 5.2.3 測試用例 . - 28 - 第 6 章 畢業(yè)設計總結 . - 29 - 謝辭 . - 30 - 參考文獻 . - 31 - 附錄 a:主要源程序代碼 . - 32 - 附錄 b:圖書館管理信息系統(tǒng)使用說明書. - 39 - 附錄 c:光盤資料說明 . - 40 - 計算機與信息學院本科畢業(yè)設計(論文)- 1 - 基于.net平臺的圖書館管理信息系統(tǒng)設計與實現(xiàn)摘要隨著社會的發(fā)展,人們對知識的渴求越來越大。其中知識的主要來源就是書籍。圖書館就成了人們獲得知識的一個寶貴地方。而管理現(xiàn)代化,辦公自動化和決策科學化,是現(xiàn)代化辦公管理發(fā)展的
5、必然趁勢。圖書管理比較繁瑣,復雜,產(chǎn)生的文檔比較多,并且由于手工的操作,使這些文檔無法有效地核對和管理,在匯總以及分析方面更加困難。國內一些圖書館對信息管理的主要方式是基于文本、表格等紙介質的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以及借閱天數(shù)等用人工計算、手抄進行。這種數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找。總的來說,缺乏系統(tǒng),規(guī)范的信息管理手段。因此,迫切需要計算機技術來輔助管理。圖書管理系統(tǒng)的目的是應用信息化的技術對圖書進行管理,減少大量的數(shù)據(jù)冗余和傳統(tǒng)管理的繁瑣工作量,
6、實現(xiàn)圖書管理的系統(tǒng)化,科學化?;谏鲜鲞@些特點,使用visual studio 2005 和 sql server 2005 工具開發(fā)了本系統(tǒng)。本系統(tǒng)共有資料管理模塊、借閱管理模塊、查詢報表管理模塊和系統(tǒng)管理模塊 4 大模塊。本文首先對系統(tǒng)進行需求分析,使用流程圖、實體關系圖、狀態(tài)圖等對系統(tǒng)進行詳細的結構分析。隨后進行詳細的系統(tǒng)設計,功能設計、模塊設計、數(shù)據(jù)庫設計、界面設計。本系統(tǒng)基本包含了小型圖書館的有關功能需求。關鍵詞:圖書;信息管理;系統(tǒng)分析;系統(tǒng)設計;系統(tǒng)實現(xiàn)計算機與信息學院本科畢業(yè)設計(論文)- 2 - based on the .net platform of the librar
7、y management information system design and realization abstract as society develops, people thirst for knowledge is growing.which is the main source of knowledge and books.library access to knowledge has become a valuable place.the modernization of management, office automation and scientific decisi
8、on-making, is the inevitable development of modern office management taking advantage of.library management is cumbersome, complex to produce more documents, and because of manual operation, so that these documents can not be effectively checked and managed, in the matrix and the analysis more diffi
9、cult.some domestic library information management is based on the main form of text, tables and other paper-based manual processing, for borrowing books (such as library days, more than the charging time of the number of days) and verification of such statistics are often used for librarycard manual
10、 inspections carried out on the borrowers borrowing authority, and the number of days with artificial lending terms were handwritten.this data processing workload, error-prone; the variety of data, easily lost, and easy to find.overall, the lack of a systematic, standardized information management t
11、ools.therefore, the urgent need for computer technology to assist management. the purpose of library management system is the application of information technology on library management, reduce the large amount of data redundancy and cumbersome traditional management workload, library management to
12、achieve a systematic and scientific.based on these characteristics, the use of visual studio 2005 and sql server 2005 計算機與信息學院本科畢業(yè)設計(論文)- 3 - tools to develop this system.total data management module of the system, to borrow management module, reporting module and the system management module manage
13、ment 4 major modules.firstly, the system needs analysis, the use of flow charts, entity relationship diagrams, state diagrams of the detailed structural analysis of the system.followed by a detailed system design, functional design, module design, database design, interface design.the basic system i
14、ncludes the functional needs of small libraries.key words: books; information management; system analysis; system design; system implementation計算機與信息學院本科畢業(yè)設計(論文)- 4 - 第1章 緒論1.1 開發(fā)背景及意義當今時代是飛速發(fā)展的信息時代,在各行各業(yè)中離不開信息處理,計算機管理系統(tǒng)被廣泛應用。計算機的好處在于它能夠進行信息管理,使用計算機信息管理,不僅提高了工作效率,而且大大提高了安全性。如今圖書管理是高校內每一個系或院都必須切實面對的工
15、作,但一直以來人們使用傳統(tǒng)的人工方式管理圖書資料。這種方式存在著很多缺點,如效率低、保密性差而且較為繁瑣。另外,隨著圖書資料數(shù)量的增加,其工作量也將大大增加,這必將增加圖書資料管理者的工作量和勞動強度,這將給圖書資料的查找、更新、維護都帶來很多困難。隨著科學技術不斷的提高,這種傳統(tǒng)的手工管理方法必然被計算機管理所取代。圖書管理的優(yōu)點在于,查找方便、可靠性高、保密性好、成本低等,這些優(yōu)點能夠極大地提高圖書管理的效率。因此,開發(fā)圖書館管理系統(tǒng)是非常必要的。1.2 系統(tǒng)簡介圖書館管理系統(tǒng) (library manage system)的設計與實現(xiàn)是結合c#.net2005和 sql server20
16、05開發(fā)的 。本系統(tǒng)以讀者管理、圖書管理、讀書借還管理、綜合查詢、報表管理、管理員等六大系統(tǒng)功能為重點部分。其中具體讀者管理模塊包括讀者類型設置、讀者檔案管理、借書證掛失與恢復等功能;圖書管理包括:圖書類型設置、圖書檔案管理、出版社管理、圖書注銷、圖書征訂等功能;圖書借還管理模塊包括、圖書借閱、圖書歸還、圖書續(xù)借、圖書丟失、圖書罰款等功能;綜合查詢包括、圖書借閱查詢、圖書歸還查詢、圖書超期查詢、圖書注銷查詢、圖書定購查詢、讀者檔案管理員包括管理員密碼修改功能。計算機與信息學院本科畢業(yè)設計(論文)- 5 - 第2章 技術背景本系統(tǒng)以 sql server 2005 作為后臺數(shù)據(jù)庫, micros
17、oft visual studio .net 2005(c#)為前臺開發(fā)工具。2.1 開發(fā)平臺 .net及 c# 語言microsoft .net是一個環(huán)境,稱之為理想化的未來因特網(wǎng)環(huán)境,微軟的構想是一個“不再關注單個網(wǎng)站、單個設備與因特網(wǎng)相連的互聯(lián)網(wǎng)環(huán)境,而是要讓所有的計算機群、相關設備和服務商協(xié)同工作”的網(wǎng)絡計算環(huán)境。 microsoft .net追求的是以上所說的一種理想的互聯(lián)網(wǎng)環(huán)境。microsoft .net的最終目的就是讓用戶在任何地方、任何時間,以及利用任何設備都能訪問他們所需要的信息、文件和程序。而用戶無需知道這些東西存在什么地方,甚至連如何獲得等具體細節(jié)都不知道。圖 2-1
18、.net框架圖microsoft .net開發(fā)框架支持多種語言,。而且microsoft公司支持第三方生產(chǎn)針對 microsoft .net的編譯器和開發(fā)工具,這也就是說幾乎所有市場上的編程語言都有可能應用于microsoft .net開發(fā)框架。 .net 框架圖如圖 2-1 所示。計算機與信息學院本科畢業(yè)設計(論文)- 6 - 需要特別指出的是, microsoft公司在 microsoft .net中推出了全新的c 語言,這種全新的面向對象的語言使得開發(fā)者可以快速地構建從底層系統(tǒng)級到高層商業(yè)組件的不同應用。microsoft .net會改變技術開發(fā)人員的開發(fā)應用程序的方式,而且使得開發(fā)人員
19、能創(chuàng)建出全新的各種應用程序,其關鍵是提出了web服務這個嶄新的概念。microsoft .net可使用戶通過互聯(lián)網(wǎng)輕松地完成那些在當今看來十分費時費力的事務,這些事務往往要求用戶進行數(shù)據(jù)重復輸入并需長時間運行才能完成??傊?microsoft .net使得用戶不再關心如何與計算機進行交互,從而致力于使計算機自動執(zhí)行所需要完成的任務。visual c# .net 是一套綜合工具集,用于為 microsoft windows 和 web 創(chuàng)建 xml web 服務和基于 microsoft .net 的應用程序。這個強勁的開發(fā)包使用面向組件的 c# 開發(fā)語言,為具備 c+ 或 java 經(jīng)驗的初級
20、和中級開發(fā)人員創(chuàng)建下一代軟件提供了現(xiàn)代化的語言和環(huán)境。visual c# .net 基于強大的 c+ 傳統(tǒng)語言而創(chuàng)建。 c# 是一個現(xiàn)代化的、直觀的、面向對象的編程語言,它不僅可以讓 c+ 和 java 開發(fā)人員馬上熟悉,而且提供了重要的改進,包括統(tǒng)一的類型系統(tǒng)、最大化開發(fā)人員控制的“不安全”代碼以及大多數(shù)開發(fā)人員容易理解的強大的新語言構造。這個現(xiàn)代化的面向組件的語言具有對屬性、索引器、委托、版本控制和自定義屬性的內在支持,開發(fā)人員可以充分享受它帶來的好處。使用 xml 注釋, c# 開發(fā)人員可以生成有用的源代碼文檔。高級繼承模型使開發(fā)人員能夠重用來自任何支持 .net 的語言的代碼。2.2
21、sql server 2005 sql server 2005引入了 sql server management studio ,這是一個新型的統(tǒng)一的管理工具組。這個工具組將包括一些新的功能,以開發(fā)、配置sql server數(shù)據(jù)庫,發(fā)現(xiàn)并修理其中的故障,同時這個工具組還對從前的功能進行了一些改進。使用 sql server 2005 ,開發(fā)人員通過使用相似的語言,例如微軟的visual c# .net 和微軟的 visual basic,將能夠創(chuàng)立數(shù)據(jù)庫對象。開發(fā)人員還將能夠建立兩個新的對象用戶定義的類和集合。計算機與信息學院本科畢業(yè)設計(論文)- 7 - 從對 sql類的新的支持,到多活動結
22、果集(mars ),sql server 2005 中的ado.net 將推動數(shù)據(jù)集的存取和操縱,實現(xiàn)更大的可升級性和靈活性??傊?, sql server 2005 非常適合與本系統(tǒng)的開發(fā)。2.3 ado.net ado.net 提供了對 xml 的強大支持,這也是ado.net 的一個主要設計目標。 在 ado.net 中通過 xmlreader、 xmlwriter 、 xmlnavigator 及 xmldocument等可以方便地創(chuàng)建和使用xml 數(shù)據(jù),并且支持w3c 的 xslt、dtd 及 xdr 等標準。ado.net 對 xml 的支持也為 xml 成為 microsoft.n
23、et 中數(shù)據(jù)交換的統(tǒng)一格式提供了基礎。 ado.net 引入了 dataset的概念,提供了數(shù)據(jù)的關系型視圖。不管數(shù)據(jù)來源于一個關系型數(shù)據(jù)庫,還是來源于一個 xml 文檔,都可以用一個統(tǒng)一的編程模型來創(chuàng)建和使用它。它替代了原有的recordset的對象,提高了程序的交互性和可擴展性,尤其適合與分布式的應用場合。計算機與信息學院本科畢業(yè)設計(論文)- 8 - 第3章 需求分析需求分析就是描述系統(tǒng)的需求,通過定義系統(tǒng)中的關鍵類來建立模型。分析的根本目的是在開發(fā)者和提出需求的人之間建立一種理解和溝通的機制。系統(tǒng)分析工作是開發(fā)信息系統(tǒng)中的重要環(huán)節(jié),特別是開發(fā)大中型規(guī)模的信息系統(tǒng),系統(tǒng)分析工作做的好壞將
24、直接影響整個系統(tǒng)的成敗。系統(tǒng)分析階段是整個系統(tǒng)建設最關鍵的階段之一,也是信息系統(tǒng)建設與一般工程項目建設的主要區(qū)別。系統(tǒng)分析也稱邏輯設計,即建立新系統(tǒng)的邏輯模型,在邏輯上規(guī)定新系統(tǒng)的功能但不涉及新系統(tǒng)具體的物理實現(xiàn),也就是要解決系統(tǒng)“做什么”,而不是“如何做”的問題。系統(tǒng)分析階段的結果在系統(tǒng)分析說明書中描述,系統(tǒng)分析說明書是下階段工作的依據(jù),也是衡量一個信息系統(tǒng)優(yōu)劣的依據(jù)。3.1 業(yè)務描述圖書管理系統(tǒng)需要滿足來自三方面的需求,這三個方面分別是圖書借閱者、圖書館工作人員和圖書館管理人員。圖書借閱者的需求是查詢圖書館所存的圖書、個人借閱情況及個人信息的修改;圖書館工作人員對圖書借閱者的借閱及還書要求
25、進行操作,同時形成借書或還書報表給借閱者查看確認;圖書館管理人員的功能最為復雜,包括對工作人員、圖書借閱者、圖書進行管理和維護,及系統(tǒng)狀態(tài)的查看。3.1.1 圖書借閱者業(yè)務圖書借閱者根據(jù)本人的借書證號碼和密碼登錄系統(tǒng),可查看圖書館中館藏圖書的情況,可以查詢圖書館中的熱門書籍,圖書排行榜,還可以對本人借書歷史、會費標準等進行的查詢和維護部分個人信息。一般情況下,圖書借閱者只能查詢和維護本人的借書歷史和個人信息,若查詢和維護其他借閱者的借書情況和個人信息,就必須要知道其他圖書借閱者的借書證號碼和密碼。但借閱者很難得到別人的登錄密碼,所以這是比較安全的,不但滿足了各個借閱者的查詢要求,還可以保護圖書
26、借閱者的個人隱私。計算機與信息學院本科畢業(yè)設計(論文)- 9 - 3.1.2 圖書館工作人員業(yè)務圖書館工作人員即圖書管理員有自己的登錄名稱和登錄密碼,登錄系統(tǒng)以后,可以對圖書館內的圖書信息進行操作,包括類別、出版社等具體信息進行增加、刪除、修改,還可以對借閱者的借書還書要求進行操作,可以查詢各種圖書相關信息,并打印各種報表,可以進行讀者掛失處理,但是不能對讀者的借閱歷史等隱私進行查看,不能查看圖書館的收入情況,不能對其他管理員的操作權限進行修改。3.1.3 圖書館管理人員業(yè)務圖書館管理人員即系統(tǒng)管理員功能最廣,幾乎涵蓋本系統(tǒng)的所有功能,數(shù)據(jù)安全性和保密性要求高,可以是想對圖書信息、借閱者信息、
27、總體借閱情況信息的管理和統(tǒng)計、工作人員和管理人員信息查看、修改,并對操作權限等進行維護。圖書館管理員可以瀏覽、查詢、添加、刪除、修改、統(tǒng)計圖書的基本信息;瀏覽、查詢、統(tǒng)計、添加、刪除和修改圖書借閱者的基本信息,瀏覽、查詢、統(tǒng)計、添加、刪除和修改圖書館的借閱信息,注意在刪除某條圖書借閱者基本信息記錄或圖書基本信息記錄時,應實現(xiàn)對借閱記錄的級聯(lián)刪除。業(yè)務流程圖如圖 3-1 所示。讀者管理員借書證圖書信息借閱表結束還書操作書庫讀者表圖 3-1 業(yè)務流程圖計算機與信息學院本科畢業(yè)設計(論文)- 10 - 3.2 系統(tǒng)基本模塊功能分析3.2.1 系統(tǒng)數(shù)據(jù)流程圖數(shù)據(jù)流程圖又稱數(shù)據(jù)流圖,它以圖形的方式來表達
28、數(shù)據(jù)處理系統(tǒng)中信息的變換和傳遞過程。作為一種描述手段,它可以模擬手工、自動以及兩者兼而有之的數(shù)據(jù)處理過程。根據(jù)系統(tǒng)的調查和分析,本系統(tǒng)總的數(shù)據(jù)流程圖如圖3-2 所示。圖 3-2 系統(tǒng)總數(shù)據(jù)流程圖3.2.2 系統(tǒng)基本模塊功能分析1)“讀者管理”用于管理讀者相關信息。2)“圖書管理”用于管理圖書相關信息。3)“圖書借還管理”用于圖書借還的相關信息。4)“綜合查詢”用于圖書的相關查詢和模糊查詢等。5)“報表“用于顯示圖書分類、讀者的狀況。3.3 狀態(tài)分析狀態(tài)圖在需求分析中非常重要,是系統(tǒng)分析的一種常用工具,通過他可以直觀圖 3-3 系統(tǒng)管理員維護借閱者帳戶的活動圖讀者圖書管理系統(tǒng)借閱讀者歸還計算機與
29、信息學院本科畢業(yè)設計(論文)- 11 - 的了解到系統(tǒng)的功能,及不同成員登錄的不同權限,不同操作,系統(tǒng)管理員維護限于篇幅,這里盡畫出系統(tǒng)管理員維護借閱者帳戶的活動圖書籍狀態(tài)圖進行進行說明,如圖3-3 所示。3.4 安全性分析系統(tǒng)的安全性是整個系統(tǒng)的一個重點,從使用系統(tǒng)的人員情況來看,在計算機上運行后, 3 種人員可以登錄系統(tǒng),分別是讀者、圖書管理員、系統(tǒng)管理員,讀者的權限最低,只能對圖書信息進行查詢而不能添加、修改,可以查看自己的借閱歷史記錄,不能查看其他讀者的記錄,很好的保護了讀者的隱私,較為安全。在同一臺機器上可以重復登錄,每種人員登錄后進行操作,然后可以退出,如果需要再次登錄,就必須要知
30、道其他人員的登錄名密碼。圖書管理員只能對圖書進行相關操作,而不能對讀者信息記錄等進行操作。系統(tǒng)管理員,人員較少,可以有系統(tǒng)的幾乎所有權限??傮w來說,每種使用人員中的每一個人,都只能對與自己相關的信息進行操作,而每人的密碼其他人員很難得到,所以系統(tǒng)的安全性可以滿足要求。計算機與信息學院本科畢業(yè)設計(論文)- 12 - 第4章 系統(tǒng)設計4.1 系統(tǒng)設計基本思想系統(tǒng)開發(fā)的總目標是實現(xiàn)內部圖書借閱管理的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)設計的任務是:在系統(tǒng)分析的基礎上,按邏輯模型的要求,科學合理地進行系統(tǒng)的總體設計和詳細設計。其中,總體設計又稱結構設計,包括子系統(tǒng)劃分、模塊結構圖等;詳細設計包括代碼設計、人
31、機界面設計、數(shù)據(jù)庫設計等。4.2 系統(tǒng)總功能模塊結構設計根據(jù)上述本圖書管理系統(tǒng)需要實現(xiàn)的功能,可以得出圖書館管理系統(tǒng)的總體模塊功能結構圖,如圖4-1 所示。圖 4-1 圖書館管理系統(tǒng)總功能模塊結構圖4.3 系統(tǒng)子模塊設計(1) 讀者信息管理模塊用于管理讀者相關信息,如圖4-2 所示。計算機與信息學院本科畢業(yè)設計(論文)- 13 - 圖 4-2 讀者管理模塊功能結構圖 (2) 圖書信息管理模塊用于管理圖書相關信息,如圖4-3 所示。圖 4-3 圖書管理功能結構圖 (3) 圖書借還管理模塊用于圖書借還的操作,如圖4-4 所示。圖 4-4 圖書借還管理功能結構圖計算機與信息學院本科畢業(yè)設計(論文)-
32、 14 - (4) 綜合查詢模塊用于圖書的相關查詢和模糊查詢等,如圖4-5 所示。圖 4-5 綜合查詢功能結構圖4.4 系統(tǒng)界面設計4.4.1 登錄界面設計首先,程序判斷用戶輸入的數(shù)據(jù)是否為空,若為空則提示“請輸入用戶信息” ;不為空則對用戶名進行判斷, 如果用戶名錯誤則不執(zhí)行查詢密碼操作,并提示“輸入信息錯誤,請重新輸入!“相反輸入正確則將密碼與數(shù)據(jù)庫中數(shù)據(jù)進行比較,一致則跳轉到程序主界面,錯誤即提示“輸入信息錯誤,請重新輸入!”。用戶登錄界面如圖4-6 所示。圖 4-6 系統(tǒng)登錄界面4.4.2 系統(tǒng)主界面從登錄界面進入后首先看到的是系統(tǒng)主界面。此界面包含了所有界面的入口點該界面由菜單欄和狀
33、態(tài)欄組成。每個功能的訪問可通過點擊菜單欄里相應的名計算機與信息學院本科畢業(yè)設計(論文)- 15 - 稱進入。然后可對其進行進一步的操作。狀態(tài)欄顯示的是系統(tǒng)當前的狀態(tài)、系統(tǒng)時間等。如圖 4-7 所示。圖 4-7 系統(tǒng)主界面4.4.3 讀者檔案管理此功能模塊主要負責的是讀者的登記、注冊并輸入相關信息。此頁面為用戶提供了用戶新增、修改、刪除等操作。在工具欄中提供快捷操作,可以直接翻閱記錄。如圖 4-8 所示。圖 4-8 讀者信息管理界面計算機與信息學院本科畢業(yè)設計(論文)- 16 - 4.4.4 圖書檔案管理在圖書檔案管理功能模塊中,主要用于查詢、瀏覽圖書的信息以及對圖書檔案的增加、刪除、修改等功能
34、。如圖4-9 所示。圖 4-9 圖書檔案管理界面4.4.5 讀者查詢在讀者查詢功能中,只需選擇輸入查詢內容,然后選擇查詢字段。此后點擊查詢按鈕即會在數(shù)據(jù)庫查詢匹配的記錄,并把記錄加入下面的列表框中。 如圖 4-10所示。計算機與信息學院本科畢業(yè)設計(論文)- 17 - 圖 4-10 讀者查詢界面4.4.6 圖書罰款借出的圖書有可能在規(guī)定的時間內沒有還上,按照罰款的規(guī)則把罰款的金額記入相應證號的圖書罰款表中。當讀者未還清欠款時暫停該讀者的借閱,必須交清欠費方可進行借閱圖書。操作界面如下,輸入查詢的相關信息,確定無誤后只需交清欠費后點擊交納罰款即可。如圖4-11 所示。圖 4-11 圖書罰款界面計
35、算機與信息學院本科畢業(yè)設計(論文)- 18 - 4.5 數(shù)據(jù)庫設計4.5.1 概念結構設計人們把數(shù)據(jù)庫設計分為需求分析、概念結構設計、邏輯結構設計、物理結構設計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行與維護6 個階段。概念結構設計就是對信息世界進行建模,常用的概念模型是e-r模型。1 實體描述(1)根據(jù)分析得到本圖書館管理系統(tǒng)的各實體分別為:圖書、借閱證、管理員、讀者(2)實體屬性分別描述如下:圖書(條形碼、編號、書名、類型、作者、譯者、isbn、出版社、價格、頁碼、書架名稱、現(xiàn)存量、庫存總量、入庫時間、操作員、簡介、借出次數(shù)、是否注銷)管理員(編號、名稱、密碼、圖書管理、讀者管理、圖書借還、系統(tǒng)設置、系統(tǒng)查
36、詢)讀者(條形碼、編號、姓名、性別、類型、出生日期、有效證件、證件號碼、聯(lián)系方式、登記日期、有效期至、操作員、備注、圖書借閱次數(shù)、是否掛失)(3)各實體間的聯(lián)系。一個讀者可借閱多本圖書。一個管理員可管理多名讀者;一個讀者也可能被多名管理員管理。一個管理員發(fā)放多個借閱證。一個管理員可管理多本圖書;同一本圖書也可被多名管理員管理。一個讀者擁有一個借閱證。2 e-r 圖本系統(tǒng)的 e-r圖如圖 4-12 所示。計算機與信息學院本科畢業(yè)設計(論文)- 19 - 圖書歸還pk歸還編號fk1圖書編號讀者編號退還押金歸還時間操作員確定歸還出版社pk出版社編號isbn出版社名稱讀者類型pk類型圖書冊書續(xù)借次數(shù)限
37、制圖書圖書丟失pk丟失編號fk1圖書編號讀者編號賠償金額操作時間操作員確定丟失圖書征訂pk征訂編號fk1圖書編號訂購者訂購者聯(lián)系方式訂購數(shù)量訂購單價訂購日期是否驗收驗收日期操作員圖書借閱pk借閱編號fk1圖書編號讀者編號借閱時間應還時間續(xù)借次數(shù)操作員狀態(tài)讀者信息pk編號條形碼姓名性別fk1類型出生日期有效證件證件號碼聯(lián)系方式登記日期有效期至操作員備注圖書借閱次數(shù)期刊借閱次數(shù)是否掛失圖書罰款pk罰款編號fk2圖書編號fk1讀者編號罰款日期應罰金額實收金額是否交款備注圖書類型pk類型編號類型名稱可借天數(shù)圖書注銷pk注銷編號fk1圖書編號注銷數(shù)量注銷時間操作員確定注銷圖書信息pk編號條形碼書名類型作
38、者譯者isbn出版社價格頁碼書架名稱現(xiàn)存量庫存總量入庫時間操作員簡介借出次數(shù)是否注銷圖 4-12 系統(tǒng) e-r 圖4.5.2 邏輯結構設計er模型向關系模型的轉換,實際上就是把er圖轉換成關系模式的集合。er圖的主要成分是實體類型和聯(lián)系類型,轉換規(guī)則就是如何把實體類型、聯(lián)系類型轉換成關系模式。規(guī)則一:將每個實體類型轉換成一個關系模式,實體的屬性即為關系模式的屬性,實體標識符即為關系模式的鍵。規(guī)則二:若實體間聯(lián)系是1:1,可以在兩個實體類型轉換成的每個關系模式中任意一個關系模式的屬性中加入另一個關系模式的鍵和聯(lián)系類型的屬性。若實體間聯(lián)系是 1:n,則在 n端實體類型轉換楊的關系模式中加入1 端實
39、體類型的鍵和聯(lián)系類型的屬性。若實體間聯(lián)系是m :n ,則將聯(lián)系類型也轉換成關系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體的組合。4.5.3 物理結構設計根據(jù)本系統(tǒng)的需求分析,本系統(tǒng)的數(shù)據(jù)庫共有13 張表,限于篇幅,盡列出如幾張進行說明。1. 圖書信息表計算機與信息學院本科畢業(yè)設計(論文)- 20 - 基本表圖書信息,用于保存入庫的所有圖書,其中除書所專有的屬性外還添加了幾項屬性:圖書所在書架、現(xiàn)存量、庫存總量、入庫時間、借出次數(shù)、是否注銷。其中現(xiàn)存量是根據(jù)圖書借閱情況做相應更改沒借出一本數(shù),現(xiàn)存量減少一本,每歸還一本現(xiàn)存量增加一本。庫存總量是根據(jù)圖書丟失或圖書注銷做相應更
40、改的每丟失一本圖書現(xiàn)存量和庫存總量都相應減少一本。如注銷該圖書則從數(shù)據(jù)庫中減少相應的數(shù)目。注銷是標記圖書是否需要被注銷,如標明要注銷則該圖書不得再借閱,查看圖書是否已完全歸還如在借閱中等圖書歸還完畢注銷此數(shù)。如表 4-1 所示。表 4-1 圖書信息表結構數(shù)據(jù)項數(shù)據(jù)類型主鍵否長度條形碼varchar 否40 編碼varchar 是50 書名varchar 否200 類型varchar 否100 作者varchar 否100 譯者varchar 否100 isbn varchar 否40 出版社varchar 否100 價格money 否8 頁碼int 否4 書架名稱varchar 否200 現(xiàn)存
41、量int 否4 庫從總量int 否4 入庫時間smalldatetir 否4 操作員varchar 否20 簡介varchar 否100 借出次數(shù)int 否4 是否注銷bit 否1 2 讀者信息用于保存讀者信息,其中包含了讀者的基本信息。其中類型、有效證件是外鍵信息輸入是通過選取相關值然后填充至數(shù)據(jù)庫。此表還添加了借書證的信息相應減少了借書證表的創(chuàng)建。其還配備了圖書借閱次數(shù)信息。另外還多了個是否掛失選項,如果讀者丟失借書證則可以掛失。掛失的卡不能再借閱書刊,在借閱是計算機與信息學院本科畢業(yè)設計(論文)- 21 - 系統(tǒng)檢查是否掛失,掛失則跳出提示并關閉窗口。必須注銷掛失才能繼續(xù)使用。如表 4-
42、2 所示。表 4-2 基本表讀者信息表結構數(shù)據(jù)項數(shù)據(jù)類型主鍵否長度條形碼varchar 否40 編號varchar 是20 姓名varchar 否20 類型varchar 否8 出生日期smalldatetir 否20 有效證件varchar 否4 證件號碼varchar 否60 聯(lián)系方式varchar 否60 登記日期smalldatetir 否100 有效期至smalldatetir 否4 操作員varchar 否4 備注varchar 否20 圖書借閱次數(shù)int 否100 是否掛失bit 否4 性別varchar 否1 3 圖書借閱基本表圖書借閱記錄已借出的圖書的主要信息。對于圖書的詳細
43、屬性可根據(jù)圖書編號返回圖書表中查找,同時還記錄了每本借出圖書的外借日期和應還日期。并可以查看已續(xù)借的次數(shù),同時設置了圖書狀態(tài)未還,以還,丟失等狀態(tài)。如表4-3 所示。表 4-3 基本表圖書借閱表結構數(shù)據(jù)項數(shù)據(jù)類型主鍵否長度借閱編號int 是4 圖書編號varchar 否50 讀者編號varchar 否40 借閱時間smalldatetir 否4 應還時間smalldatetir 否4 續(xù)借次數(shù)int 否4 操作員varchar 否20 狀態(tài)varchar 否10 計算機與信息學院本科畢業(yè)設計(論文)- 22 - 4 圖書罰款圖書丟失或者圖書過期都會觸發(fā)圖書罰款這一事件。罰款未交清則不允許再次借
44、閱圖書。需等相關罰款全部交清才能繼續(xù)使用借書功能。如表4-4 所示。表 4-4 基本表圖書罰款表結構數(shù)據(jù)項數(shù)據(jù)類型主鍵否長度罰款編號int 是4 圖書編號varchar 否50 讀者編號varchar 否20 罰款日期smalldatetir 否4 應罰金額money 否8 實收金額money 否8 是否交款bit 否1 備注varchar 否100 計算機與信息學院本科畢業(yè)設計(論文)- 23 - 第5章系統(tǒng)實現(xiàn)5.1 系統(tǒng)實現(xiàn)實現(xiàn)的任務是在預定的環(huán)境中實現(xiàn)系統(tǒng)、生成代碼、可執(zhí)行程序和相應的軟件文檔,建立一個可執(zhí)行的系統(tǒng)。5.1.1 系統(tǒng)開發(fā)及運行環(huán)境1. 硬件環(huán)境 intel amd 或同
45、檔次以上微機; 1g 以上內存或更高; 120g 以上硬盤; 42 速以上光驅; 針打或激光打印機一臺。2. 軟件環(huán)境 操作系統(tǒng):服務器windows xp server ,客戶端 windows xp; 軟件開發(fā)平臺: .net 2.0 framework,開發(fā)語言 c#; 數(shù)據(jù)庫: sql server 2005 ; 可視化軟件開發(fā)工具: microsoft visual studio 2005;開發(fā)軟件工具: microsoft office visio 2003 5.1.2 系統(tǒng)模塊的實現(xiàn)限于篇幅,下面盡對系統(tǒng)中主要模塊的實現(xiàn)進行闡述。1. 用戶登錄的不同操作權限實現(xiàn)該系統(tǒng)共有三種人員
46、使用,圖書借閱者、圖書管理員和系統(tǒng)管理員,不同的人員有不同的權限。在用戶登錄界面,可以選擇登錄的用戶類型是讀者還是管理員,在用戶名密碼都正確的情況下進入主界面。根據(jù)不同用戶的不同操作權限配置系統(tǒng)菜單。主要代碼如下:讀者登錄,權限固定,舉例如下this .menustrip1.visible = false ; 計算機與信息學院本科畢業(yè)設計(論文)- 24 - this . 圖書類別設置 toolstripbutton.visible = false ; 管理員登錄,首先恢復按鈕顯示,舉例如下this .menustrip1.visible = true ; this . 圖書類別設置 tool
47、stripbutton.visible = true ; 根據(jù)操作權限表配置菜單 , 例:string mysql = select * from 操作權限設置 where 用戶名稱 = + this .myoperator + ; datatable mytable = new datatable (); sqldataadapter myadapter = new sqldataadapter (mysql, myconnection); myadapter.fill(mytable); if ( int )mytable.rows0 資料管理之圖書類別設置 = 0) this . 圖書類
48、別管理 ttoolstripmenuitem.visible = false ; this .toolstripseparator1.visible = false ; this . 圖書類別設置 toolstripbutton.visible = false ; if ( int )mytable.rows0 資料管理之出版社信息設置 = 0) this . 出版社信息設置 ptoolstripmenuitem.visible = false ; this .toolstripseparator2.visible = false ; this . 出版社信息設置 toolstripbutto
49、n.visible = false ; 任何一種讀者都可以在登錄后,點擊退出登錄按鈕,返回登錄頁面。這樣就實現(xiàn)了在同一臺機器中可以多次登錄。首先要對主界面實例化,在其他界面尤其是登錄界面使用。privatestaticmainform mydlg; publicstaticmainform getmydlg() return mydlg; 而在登錄頁面,要對主界面進行設置,并記錄登錄用戶名、用戶類型等信息。/ 顯示 mainform program.getmydlg().visible = true ; / 記錄登錄的用戶名program.getmydlg().myoperator = thi
50、s .用戶名稱 textbox.text; / 記錄登錄用戶的用戶說明用于在狀態(tài)欄中顯示 mysql = select 用戶說明 from 操作權限設置 where 用戶名稱 = + this . 用戶名稱 textbox.text + ; mycommand = new sqlcommand (mysql, myconnection); program.getmydlg().userdirection = mycommand.executescalar().tostring(); / 根據(jù)用戶的操作權限配置系統(tǒng)菜單計算機與信息學院本科畢業(yè)設計(論文)- 25 - program.getmyd
51、lg().setuseroperatemenu(); / 最大化顯示系統(tǒng)主窗體program.getmydlg().windowstate = formwindowstate .maximized; 2. 借書功能實現(xiàn)在借書的操作頁面,首先系統(tǒng)自動創(chuàng)建無連接的數(shù)據(jù)表,用于展示存放結束信息,然后需要輸入用戶名稱,在焦點離開文本框時,可以顯示讀者名稱,讀者的會員等級。點擊查詢,根據(jù)查詢條件,顯示允許借閱的圖書信息,然后雙擊要借的圖書,這時會根據(jù)會員等級得出最長借出天數(shù)、最多借出冊數(shù),根據(jù)讀者編號得到已借圖書冊數(shù)等信息。然后判斷歸還天數(shù)是否合法,借出冊數(shù)是否合法。成功以后,借閱信息會先暫時寫入前面創(chuàng)
52、建的數(shù)據(jù)表中,點擊保存更改數(shù)據(jù)庫信息。部分重要代碼如下:privatevoid bookborrowform_load( object sender, eventargs e) / 創(chuàng)建無連接的數(shù)據(jù)表datacolumn mykey = new datacolumn1; myborrowtable = new datatable ( 借閱管理臨時表 ); myborrowtable.columns.add(圖書編號 , typeof (string); myborrowtable.columns.add(讀者編號 , typeof (string); myborrowtable.columns
53、.add(借出日期 , typeof (datetime); myborrowtable.columns.add(應還日期 , typeof (datetime); myborrowtable.columns.add(借閱說明 , typeof (string); this .datagridview1.datasource = myborrowtable; / 向借閱臨時表中增加圖書privatevoid datagridview2_doubleclick(object sender, eventargs e) / 檢查此讀者想借的圖書數(shù)量是否符合其等級的規(guī)定if ( this .myboo
54、ks - this .myindex = 0) messagebox .show( 借出數(shù)量過多! , 信息提示 , messageboxbuttons .ok, messageboxicon.information); return ; / 應還日期和借出日期之間的天數(shù)timespan myspan = this . 應還日期 datetimepicker.value.subtract(this . 借出日期datetimepicker.value); / 檢查此讀者想借圖書的天數(shù)是都符合其等級的規(guī)定計算機與信息學院本科畢業(yè)設計(論文)- 26 - if (myspan.days - myd
55、ays 0) messagebox .show( 借出日期過長! , 信息提示 , messageboxbuttons .ok, messageboxicon.information); return ; / 檢查應還日期是否在借出日期之前,是否合法if (myspan.days = 0) messagebox .show( 應還日期不正確! , 信息提示 , messageboxbuttons .ok, messageboxicon.information); return ; / 檢查庫存數(shù)量sqlcommand mycommand = myconnection.createcommand
56、(); mycommand.commandtext = select (入庫數(shù)量 - 出借數(shù)量 )- 遺失數(shù)量 ) as 庫存數(shù)量 from 圖書信息 where 圖書編號 = +this .datagridview2.currentrow.cells0.value.tostring()+ ; object kc = mycommand.executescalar(); if ( convert .toint32(kc) 1) messagebox .show( 庫存數(shù)量不足! , 信息提示 , messageboxbuttons .ok, messageboxicon.information
57、); return ; / 把借書信息寫入臨時表datarow myrow = myborrowtable.newrow(); myrow 讀者編號 = this .讀者編號 textbox.text; myrow 圖書編號 = this .datagridview2.currentrow.cells0.value.tostring(); myrow 借出日期 = this .借出日期 datetimepicker.value; myrow 應還日期 = this .應還日期 datetimepicker.value; myrow 借閱說明 = this .借閱說明 textbox.text;
58、 myborrowtable.rows.add(myrow); myindex = myindex + 1;/ 借出數(shù)量 +1 privatevoid保存 button_click(object sender, eventargs e) for ( int i = 0; i = convert.toint32(txtbcount.text) messagebox.show( 已經(jīng)達到最大借書數(shù)量,請先歸還書籍后再借書 , 借書數(shù)量達到上限 , messageboxbuttons.ok, messageboxicon.information); groupbox2.enabled = false
59、; return; myconnection = new sqlconnection( datasource.connectionstring); myconnection.open(); commd = myconnection.createcommand(); datarow dr = ds.tables 圖書借閱 .newrow(); string booktype; if (rabtnbookid.checked) commd.commandtext = select 編號 , 書名 , 出版社 , 價格 , 類型 from 圖書信息where 編號 = +txtbooksearch.
60、text.trim() + ; else commd.commandtext = select 編號 , 書名 , 出版社 , 價格 , 類型 from 圖書信息where 條形碼 = +txtbooksearch.text.trim() + ; sdr = commd.executereader(); 計算機與信息學院本科畢業(yè)設計(論文)- 35 - if (sdr.hasrows = false) messagebox.show( 無 此 圖 書 , 請 檢 查 后 重 新 輸 入 , 錯 誤 , messageboxbuttons.ok, messageboxicon.error); r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學強化訓練試卷A卷附答案
- 2024年度山西省高校教師資格證之高等教育法規(guī)模擬考試試卷B卷含答案
- 2024年家具成套生產(chǎn)線項目資金申請報告代可行性研究報告
- 2024年-2025年《農(nóng)作物生產(chǎn)技術》綜合知識考試題庫及答案
- 2024專項產(chǎn)品線唯一供貨商協(xié)議
- 兒童教育服務協(xié)議:2024定制
- 2024照明系統(tǒng)倉庫安裝協(xié)議條款
- 2024工程總承包深度合作協(xié)議
- 2024年賠償問題解決協(xié)議模板
- 安全生產(chǎn)管理員的職責與權益明細協(xié)議
- 金融市場2024年的金融監(jiān)管和市場波動
- 2024普通高中物理課程標準解讀
- 2024年廣西玉林市自來水有限公司招聘筆試參考題庫含答案解析
- 2022年度食品安全負責人考試題庫(含答案)
- 教師近3年任教學科學生學業(yè)水平和綜合素質
- 企業(yè)法律合規(guī)與外部監(jiān)管的內外因素分析
- 2022年版煤礦安全規(guī)程
- 九年級數(shù)學上冊 期中考試卷(湘教版)
- 冷彎機行業(yè)市場研究報告
- 牛津英語四年級上冊4A-M2-Unit-3-The-lion-and-the-mouse優(yōu)秀信息化教案附反思
- 山東省青島市膠州市2023-2024學年八年級上學期期中英語試卷
評論
0/150
提交評論