搞笑教務排課系統(tǒng)畢業(yè)論文-無憂無慮畢設網(wǎng)_第1頁
搞笑教務排課系統(tǒng)畢業(yè)論文-無憂無慮畢設網(wǎng)_第2頁
搞笑教務排課系統(tǒng)畢業(yè)論文-無憂無慮畢設網(wǎng)_第3頁
搞笑教務排課系統(tǒng)畢業(yè)論文-無憂無慮畢設網(wǎng)_第4頁
搞笑教務排課系統(tǒng)畢業(yè)論文-無憂無慮畢設網(wǎng)_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 本文配套程序下載地址 : 無憂無慮畢設網(wǎng) ()-大學生畢業(yè)設計站 ,免費畢業(yè)設計論文 ,無憂無慮畢設網(wǎng) 大學生畢業(yè)設計 ,出售各類畢業(yè)設計源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費視頻教程 ,我們將竭誠為您服務! 前 言 1課題的研究意義 在信息飛速發(fā)展的今天,各個行業(yè)對信息包含的內(nèi)容、信息的容量、信息更新的速度等有了更高的要求。在信息管理尤其重要的某些領域,更是如此,圖書館對圖書的管理就是其中的一個。從最開始的由人工的手記信息,到計算機出現(xiàn)后應用的一些低級軟件管理,到今天,一些功能不完善的圖書 管理系統(tǒng)已經(jīng)不能滿足像擁有十幾甚至幾十萬本圖書的大中型圖書館的信息管理。因此,開發(fā)功能強大、操作簡單、更新能力強的圖書館管理系統(tǒng)就勢在必行,本次設計的內(nèi)容開發(fā)出功能強大、操作簡單、更新能力強的圖書館管理系統(tǒng)。 圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的 人工檢查進行,對借閱者的借閱權限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 閱信息的管理工作混亂而又復雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書 館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。 因此 , 很有必要 建立一個 這樣的 圖書管理系統(tǒng), 它 使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。 目前,我國 各 學校圖書館辦館的要求及領先標志就是藏書全部開放,師生共享開架借閱。這種借閱方式是當前適合我國國情的發(fā)揮圖書館應有作用的最佳方式,也是素質(zhì)教育的最好體現(xiàn)。它充 分發(fā)揮了圖書館的功效,最大限度地為讀者服務,這也是圖書館自動化管理的最終目標。實現(xiàn)這一目標,必須有現(xiàn)代化的管理手段和管理體制。為此,各地教育主管部門都逐步提出學校要采用圖書館管理系統(tǒng),從而實現(xiàn)人工管理做不到的一些功能并發(fā)揮圖書館的最大效益。而隨著越來越多的學校采用了現(xiàn)代化的管理軟件進行管理,進一步提升了學校管理的現(xiàn)代化水平,從而在競爭中處于有利位置,也對其他兄弟學校起到了示范和促進作用。 圖書 館 管理系統(tǒng)是典型的管理信息系統(tǒng) (MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前 者要求建立起數(shù)據(jù)一致性和完整性 強, 數(shù)據(jù)安全性好的庫 ,本產(chǎn)品采用的是 SQL Sever 來建庫, 于后者則要求應用程序功能完備 ,容 易使用 ,這里用 C+builder7 來進行開發(fā) 。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 2國內(nèi)外有關信息 在國外,尤其是信息技術高度發(fā)達的國家,對像圖書館管理系統(tǒng)這樣的應用軟件的開發(fā)已經(jīng)發(fā)展的相當成熟。而在我國,由于信息技術尚屬起步階段,各類息管理系統(tǒng)的功能相當不完善,因此對這類功能強大、操作簡單、更新能力強的信息管理系統(tǒng)的開發(fā)就顯得尤其重要。完善其功能更是當務之急。 數(shù)據(jù)管理技術經(jīng)歷了人工管理、文件管理和數(shù)據(jù) 庫系統(tǒng) 3個階段。當今世界圖書館管理系統(tǒng)的發(fā)展趨勢是應用計算機技術代替原來的人工管理。隨著計算機技術的發(fā)展,圖書館的計算機管理技術越來越智能化,且隨著計算機技術的普及,數(shù)據(jù)信息處理技術得到了空前發(fā)展,這就使通過運用數(shù)據(jù)庫技術來管理圖書成了唯一趨勢。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 第一章 系統(tǒng)分 析 1 1 需求分析 一般通用的圖書館管理系統(tǒng)包括系統(tǒng)管理、讀者管理、編目、圖書流通、統(tǒng)計、查詢等功能。比較先進的能夠在一個界面下實現(xiàn)圖書、音響、期刊的管理,設置假期、設置暫離鎖(提高安全性)、暫停某些讀者的借閱權、導入導出讀 者、交換 MARC 數(shù)據(jù)升級輔助編目庫等。此外組隨著 Internet 應用的發(fā)展,一個完善的系統(tǒng)還應提供無縫接入Internet 的功能,通過 IE 瀏覽器讓讀者使用借閱資料查詢、更換密碼、預約、資料檢索等功能。有些系統(tǒng)還能提供讀者自助服務、檢索資料等。 下面介紹通用圖書館管理系統(tǒng)所必備的功能,如圖 1-1 所示,其中每個功能都由若干個相關聯(lián)的子功能模塊組成。除此之外系統(tǒng)還應包括信息系統(tǒng)必須具備的通用功能,例如權限設置、數(shù)據(jù)備份與恢復等。 圖 1-1 圖書館管理系統(tǒng) 功能模塊圖 圖書館管理系統(tǒng) 基礎信息維護 讀者管理 圖書管理 期刊流通管理 圖書流通管理 期刊管理 統(tǒng)計分析管理 系統(tǒng)管理 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 1 1.1 流通管理 圖書借閱者 信息管理主要目的是為了明確 圖書借閱者 的類型和詳細信息,為管理 圖書借閱者 創(chuàng)造良好環(huán)境。 統(tǒng)計信息管理的主要功能是對借閱的圖書進行查詢、查詢已歸還的圖書、查詢超期圖書、查詢借閱圖書排行,因此該功能模塊有 4 個子功能模塊:圖書借閱查詢,圖書歸還查詢,圖書超期查詢,圖書借閱排行。 基礎信息管理的主要功能是設置圖書館基礎信息、用戶修改密碼、書架設置,因此該功能模塊有 3 個子功能模塊:圖書館基礎信息,密碼修改,書架設置。 系統(tǒng)信息管理主要功能是設置用戶權限和備份數(shù)據(jù)庫,所以該 模塊可以用兩個子模塊來實現(xiàn)其功能。 圖書館流通管理 圖書借閱 圖書歸還 圖書續(xù)借 圖書預約 圖書檔案管理 圖書罰款 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 1-2 流通系統(tǒng)功能模塊圖 圖書借閱:用于登記讀者借閱圖書的紀錄并減少圖書在庫的庫存,登記內(nèi)容包括借閱編號、圖書編號、讀者編號、押金、借閱時間、應還時間、操作員等。 圖書歸還:用于登記讀者歸還圖書的記錄比增加圖書在庫的庫存,登記內(nèi)容包括歸還編號、圖書編號、讀者編號、退還押金、歸還時間、操作員等。 圖書續(xù)借 : 用于登記讀者到期圖書的續(xù)借記錄。 圖書罰款:用于對圖書超期、丟失等情況的罰款管理,內(nèi) 容包括罰款編號、圖書編號、讀者編號、罰款日期、應罰日期、實收金額、是否交款、備注等。 圖書檔案管理:用于設置圖書相關設置的信息,內(nèi)容包括編號、條形碼、書名、類型、作者、譯者、 ISBN、出版社、價格、頁碼、書架名稱、現(xiàn)存量、庫存總量、入庫時間、操作員、簡介、續(xù)借次數(shù)、等。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 1 1.2 系統(tǒng)流程圖 系統(tǒng)流程圖如圖 1-2所示 圖 1-3 系統(tǒng)流程圖 圖書信息 讀者信息 流通管理 讀者管理 管理員 圖書借閱 圖書歸還 圖書征訂 預約續(xù)借 罰款管理 圖書管理 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 系統(tǒng)登錄流程圖如 1-3所示 N Y 圖 1-4 系統(tǒng)登錄流程圖 Y Y N N 開始登陸 輸入用戶名 用戶名不為空 ? 輸入密碼 密碼不為空 ? 打開用戶權限 用戶權限驗證 ? 2quanxian yanzh 登陸成功 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 1 2 系統(tǒng)數(shù)據(jù)流圖 預定 操作請求 操作答復 D1 圖書 借書 操作請求 操作答復 D2 借書信息 圖 1-5 圖書庫存管理數(shù)據(jù)流程圖 借書 續(xù)借 D1 庫存圖書 D2 借書情況 讀者 管理員 讀者 圖書檔案管理 借書管理 讀者 讀者 符合結束條件 借閱信息處理 管理員 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 1-6 借書處理數(shù)據(jù)流程 第二章 概要設計 根據(jù)上一章系統(tǒng)分析,一個基本的圖書館系統(tǒng)數(shù)據(jù)庫中大概包括40 多張數(shù)據(jù)表,分別存放在相應的子功能的數(shù)據(jù)信息,其中“讀者信息”和“圖書信息”是關鍵的表用于存放圖書館讀者的信息和文獻信息, 圖書館管理系統(tǒng)實際上就是對讀者和文獻的管理。其他涉及讀者信息和文獻信息的數(shù)據(jù)表,都只記錄相應的編號,根據(jù)作為外鍵的“編號”字段相對應。因此“讀者信息”、“圖書信息”和其它數(shù)據(jù)標的關系是 1:N的關系。 2.1 圖書館管理系統(tǒng) E-R 圖 因為整個系統(tǒng)涉及的實體和屬性較多,限于篇幅也不能也沒必要一一列舉。下面是圖書館管理系統(tǒng)關鍵實體的 E-R圖。 圖 2-1 已借閱圖書實體圖 已借閱圖書實體 借閱編號 圖書編號 讀者編號 借閱時間 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 2-2 已歸還圖書 實體圖 圖 2-3 讀者實體圖 已歸還圖書實體 歸還編號 圖書編號 讀者編號 歸還時間 讀者 姓名 住址 班級 電話 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 由系統(tǒng) E-R圖可以快速、方便地看出圖書、管理員、讀者、罰款信息各實體間的關系,如下圖所示 M N P 1 1 1 1 Q 圖 2-4 系統(tǒng) E-R圖 讀者 借閱超期 借還 罰款 罰款信息 圖書 圖書預約 管理員 類型 信息 編號 權限 日期 數(shù)額 類型 信息 借閱日期 還書日期 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 第三章 邏輯結構設計 3.1 C+builder 簡介 Borland C+builder 是 inprise(borland)公司推出的基于 C+語言的快速應用程序開發(fā)( rapid application development,RAD)工具。C+Builder 充分利用已經(jīng)成熟發(fā)展的 Delphi的可視化組件庫 (visual component library,VCL),吸收 Borland C+ 優(yōu)秀編譯器諸多優(yōu)點,結合先進的基于組件的程序設計技術已成為一個非常成熟的可視化應用程序開發(fā)工具 ,可以快速、高效地開發(fā)出基于 Windows 環(huán)境的各類程序 ,尤其在數(shù)據(jù)庫應用和網(wǎng)絡應用方面 , C+builder更是一個十分理想的軟件開發(fā)平臺。 3.1.1 C+builder 的可視化開發(fā)環(huán)境 一般的用戶的應用程序是由應用程序界面和數(shù)據(jù)處理兩部分組成 ,如在 Windows 應用程序中單擊窗體中的菜單或按鈕 (用戶界面 )來執(zhí)行某一命令或完成某一操作(數(shù)據(jù)處理 )。這種基于窗體的應用程序運用 C+builder 這樣的可視化開發(fā)工具后,用戶界面的設計過程如同“搭積木”一樣,只需根據(jù)需要在窗體上放置各種組件(“積木”),并根據(jù)需要改變它(們)的位置(或外觀),程序員不必編寫大量的代碼來實現(xiàn)界面功能,因而可以把主要精力集中在關鍵代碼的設計上。 Windows 平臺下常用的可視化開發(fā)工具(編程環(huán)境)有Inprise(Borland)公司的 delphi、 C+builder, Microsoft 公司的無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: Visual Basic等。 Inprise(Borland)公司還提供與 delphi相似的 linux下的可視化開發(fā)工具 Kylix,它也是 Linux 平臺下市場占有率最高的RAD 工具。通過這些工具,程序員可以直觀的使用圖形化工具來創(chuàng)建Windows應用程序。 C+builder 的集成開發(fā)環(huán)境( IDE)使程序員可以利用一組窗體、菜單和其他組件,并使用可視化的方式( WYSIWYG-what you see is what you get,即所見所得)來設計應用程序的界面,將代碼和事件與界面中的某一元素建立聯(lián)系,并對整個應用程序調(diào)試 3.1.2 數(shù)據(jù)庫組件介紹 用 C+builder開發(fā)數(shù)據(jù)庫應用 , 重點是和各種數(shù)據(jù)庫組件打交道 ,能和數(shù)據(jù)庫掛鉤的組件對象有 5種 , 它們是 : Session( 數(shù)據(jù)庫會話 ) 、Database( 數(shù)據(jù)庫 ) 、 Dataset( 數(shù)據(jù)集 ) 、 DataSource( 數(shù)據(jù)源 ) 、 Data control( 數(shù)據(jù)控制組件 , 也叫 data-controls 即數(shù)據(jù)感知組件 ) 。其中前面 4種統(tǒng)稱為數(shù)據(jù)訪問( Data Access)組件。 ADO 組件 C+builder 包含了可以用來訪問 Microsoft 公司的ActiveX Data Objects( ADO)格式數(shù)據(jù)庫的組件。 ADO是 Micrsoft公司關于各種類型數(shù)據(jù)的高等界面,后來逐漸演變成滿足所有數(shù)據(jù)訪問需要的完整解決辦法。 ADO 的對象模型是所有數(shù)據(jù)訪問接口對象模型中最簡單的一種。 Microsoft 公司用來訪問 ADO數(shù)據(jù)的應用程序界面技術是 OLE DB。 OLE DB 是一種底層編程接口,用來訪問許多不同類型的數(shù)據(jù)源, 其中包括消息、文件系統(tǒng)以及其他一些非傳統(tǒng)的數(shù)據(jù)源。 OLE DB是一個由 Component Object Model( COM)接口組成的集合,用來隱藏創(chuàng)建數(shù)據(jù)訪問服務過程中的細節(jié)。 OLE DB 提供了訪問任何數(shù)據(jù)資源的方法,包括相互關聯(lián)的數(shù)據(jù)庫和相互不關聯(lián)的數(shù)據(jù)庫、 Email和文件系統(tǒng)、文本和圖形以及用戶定義的數(shù)據(jù)對象。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: C+builder 的 ADO 組件無需依靠 BDE 而是使用 ADO 技術,提供了可以通過數(shù)據(jù)控制組件訪問數(shù)據(jù)的新方法。唯一的要求是在使用 ADO 組件時必須運行 ADO/OLE DB。 ADO 組件的使用使得 C+BUILDER 在訪問數(shù)據(jù)的類型和采用的技術方面都有了很大的突破。 使用 ADO 控件訪問SQL Server數(shù)據(jù)庫時,通常需要做以下幾件事情: ( 1) C+builder 中的 Form 窗體或 Data Module 中添加 ADO 數(shù)據(jù)控件; ( 2) 使用 ADO 數(shù)據(jù)控件連接到一個 SQL Server 數(shù)據(jù)庫; ( 3) 將 ADO 數(shù)據(jù)控件連接到一個或多個數(shù)據(jù)綁定控件 3.1.3 SQL語言在 C+builder 中的應用 在 C+builder 中使用 SQL 語言非常方便,一般來說,都是通過Tquery 或 TADOquery 組件來使用 SQL 語言的??梢栽?Tquery 或TADOquery組件的 SQL屬性中設置 SQL語句。設計程序時,在該組件的屬性對話框中選擇 SQL屬性,單擊帶省略號的按鈕,就可以打開 String List Editor對話框,然后我們就可 以在對話框中添加 SQL語句。還可以使用 C+builder 的 SQL Builder 來自動生成 SQL語句,這樣可以避免手工編寫 SQL 而可能造成的語法錯誤。 靜態(tài) SQL 語句在程序設計時便已固定下來,它不包含任何參數(shù)和變量。 動態(tài) SQL 語句,也被稱作參數(shù)化的語句,在其中間包含著表示字段名或表名的參 數(shù)。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 3.2 圖書館信息管理系統(tǒng)數(shù)據(jù)庫的建立 一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個非常重要的條件和關鍵技術 。 本系統(tǒng)是一個功能簡單,單機使用的軟件。 基本表的個數(shù)越少越 好 , 主鍵的個數(shù)越少越好 , 鍵是表間連接的工具,主鍵越少,表間的連接就越簡單 , 字段的個數(shù)越少越好 , 所有基本表的設計均應盡量符合第三范式。 考慮到這些因素,選用 SQL 作為后臺數(shù)據(jù)庫。根據(jù)需求分析,并依據(jù)數(shù)據(jù)庫設計技術,為圖書館管理系統(tǒng)建立一個數(shù)據(jù)庫。該數(shù)據(jù)庫包含 13 個表格,本人實現(xiàn)的模塊用到 8個表格如下所示: 如表 3-1 所示,讀者信息表對讀者信息進行設置,包括條形碼、編號、姓名、性別、類型、出生日期、有效證件、證件號碼、聯(lián)系方式、登記日期、有效期至、操作員、備注、是否掛失字段,設置編號為主鍵 。 表 3-1 讀者信息 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 如表 3-2 所示,圖書借閱表設置已借出書籍的信息,包括借閱編號、圖書編號、讀者編號、借閱時間、應還時間、操作員、狀態(tài)字段,設置借閱編號為主鍵。 表 3-2 圖書借閱 如表 3-3 所示,圖書歸還表設置歸還圖書的信息,包括歸還編號、圖書編號、讀者編號、退還押金、歸還時間字段,設置歸還編號為主鍵。 表 3-3 圖書歸還 如表 3-4 所示,管理員表對用戶權限 進行設置,包括編號、名稱、密碼、讀者信息、圖書信息、流通管理、統(tǒng)計信息、基礎信息、系統(tǒng)信息字段,設置編號為主鍵。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 表 3-4 權限設置 如表 3-5 所示,圖書罰款表對顯示超期圖書的信息,包括罰款編號、圖書編號、讀者編號、罰款日期、應罰金額、實收金額、是否交款、備注字段,設置罰款編號為主鍵。 表 3-5 圖書罰款 通過設置表的主鍵和外鍵,系統(tǒng)生成的數(shù)據(jù)庫表關系 圖如圖 3-1: 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 3-1 數(shù)據(jù)表關系圖 由上圖可以看出圖書借閱表與圖書信息表一對一關聯(lián),圖書歸還表與圖書信息表一對一關聯(lián),圖書罰款表與圖書信息表一對一關聯(lián),圖書罰款表與讀者信息表一對一關聯(lián)。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 第四章 圖書館流通系統(tǒng)詳細設計 4.1 具體功能模塊的實現(xiàn) 系統(tǒng)先由登錄窗體通過權限設置進入主窗體界面,各功能由其子窗體實現(xiàn),可以實現(xiàn)圖書借閱、圖書歸還、圖書罰款、圖書預約、圖書續(xù)借、圖書檔案管理 6 個子窗體功能模塊,還可以實現(xiàn)數(shù)據(jù)庫備份功能。 4.1.1 登錄功能 的實現(xiàn) 這里用戶輸入用戶名和密碼,通過 adoquery 控件訪問已建好的數(shù)據(jù)庫,若正確則成功登錄進入主界面,若不正確則提示錯誤信息,并且用戶會根據(jù)用戶的權限激活主界面相應的菜單和工具按鈕。設計界面如圖 4-1 所示 圖 4-1 系統(tǒng)登錄界面 adoquery 與 adotable 連接數(shù)據(jù)庫的方式相同,點擊各自的connectionstring 屬性右邊的省略號,出現(xiàn)如下圖 4-2界面,然后再點新出來界面的 Build按鈕,出現(xiàn)圖 4-2所示界面,選擇所需數(shù)據(jù)庫,測試鏈接成功后就表示與數(shù)據(jù)庫連接好了。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 4-2 數(shù)據(jù)鏈接屬性圖 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 4.1.2 主窗體設計 系統(tǒng)主窗體界面主要用來管理各個功能模塊,要進入相應子模塊必須先進入主界面,主窗體包括的菜單項有讀者信息、圖書信息、流通管理、統(tǒng)計管理、基礎信息、系統(tǒng)信息、退出。讀者信息下有子菜單讀者類別設置、讀者檔案管理;圖書類別設置、圖書檔案管理;流通管理下有子菜單圖書借閱、圖書征訂、圖書歸還、圖書罰款;統(tǒng)計信息下有子菜單圖書借閱查詢、圖書歸還查詢、圖書罰款查詢、圖書借閱排行 ;基礎信息下面有子菜單圖書館基礎信息、密碼修改、書架設置;系統(tǒng)信息下有子菜單權限設置、數(shù)據(jù)庫備份。主界面設計如圖4-3所示: 圖 4-3 系統(tǒng)主界面 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 4.1.3 系統(tǒng)維護父窗體 該系統(tǒng)中有幾個子功能模塊實現(xiàn)方法類似,所以采用系統(tǒng)維護父窗體進行設計,繼承過來的窗體具有父窗體的所有屬性、功能。 該窗體中最上一排是工具欄,可以對信息進行修改,保存,取消。選擇方向鍵可以查看首記錄,上記錄,下記錄,尾記錄。通過分別設置 adotable控件與 adoquery控件的 connectionstring 屬 性使二者與數(shù)據(jù)庫相連,由 adoquery控件來訪問已建好的數(shù)據(jù)庫,根據(jù)各功能模塊需要, adotable 控件可以與數(shù)據(jù)庫中特定的表相連接,進而使adoquery 訪問數(shù)據(jù)庫中指定的表,將符合查詢條件的信息顯示在界面上。當 adoquery 訪問的表不只一個時, adotable不能與單個表連接 4.1.4 圖書借閱模塊設計 該功能模塊的窗體是繼承維護父窗體得來的, adotable 的tablename屬性設置為圖書借閱,主要是查詢已借閱圖書的信息,包括借閱編號、圖書編號、讀者編號、借閱時間,應還時間等信息。 圖如下: 圖 4-4 圖書借閱窗體 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: Tform*pFrom = FormExist(“圖書借閱” ) sql = insert into 圖書借閱 (圖書編號 , 讀者編號 , 借閱時間 , sql += 應還時間 , 續(xù)借次數(shù) , 操作員 , 狀態(tài) ) 按照編號輸入讀者信息后回車,顯示讀者信息和可借冊數(shù),按編號輸入圖書信息后回車,可以查詢圖書的狀態(tài)信息,點擊借閱,借閱成功后界面如下圖所示: 圖 4-5 圖書借閱 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 4-6 圖書已經(jīng)借出 4.1.5 圖書歸還模塊設計 該窗體 是繼承父窗體來的, adotable 的 tablename 屬性設置為圖書歸還,主要功能是查詢已歸還圖書的信息。包括歸還編號、圖書編號、讀者編號、歸還時間等信息。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 4-7 圖書歸還窗體 Tform*pFrom = FormExist(“圖書歸還” ) 圖書歸還時,按要求輸入讀者編號,則顯示該讀者的借書信息,未還記錄等,出現(xiàn)下面窗體: 圖 4-8 圖書歸還查詢 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 點擊歸還選擇的圖書,則歸還該書,如果超過還書日期則會提示罰款,如下面窗體所示: 圖 4-9 歸還圖書罰款提示 4.1.6 圖書罰 款模塊設計 該窗體是在繼承父窗體的基礎上設計出來的,增加了一個adoquery控件,還添加了 adocommand 控件,這樣在編程的時候思路比較清晰, 程序也不容易受到干擾。 Adocommand 與 adoquery 的用途和方法相似,只不過后者比前者功能更全面,在本窗體中只用于訪問數(shù)據(jù)庫,兩者都能實現(xiàn)該功能。由于 adoquery控件要訪問圖書信息,讀者信息,圖書罰款 3個表,所以 adotable 的 tablename 屬性不用設置。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 4-10 圖書罰款窗體 Tform*pFrom = FormExist(“圖書罰款” ) 按要求輸入讀者編號等信息則可以查看該讀者的罰款信息,包括應罰金額,實還金額和罰款日期等,如下圖所示: 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 4-11 查看圖書罰款信息 4.1.7 圖書檔案管理模塊設計 該窗體是繼承父窗體來的, adotable 的 tablename 屬性設置為圖書檔案管理,主要功能是設置圖書相關的信息。包括編號、書名 、類型、作者、出版社、價格、現(xiàn)存量、庫存總量、入庫時間等。 圖 4-12 圖書檔案管理窗體 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: Tform*pFrom = FormExist(“圖書檔案管理” ) 進入圖書檔案管理, 按要求輸入相關信息就可以查詢圖書和讀者的相關信息,以及包括新增,修改,刪除等功能。如下圖所示: 圖 4-13 查看圖書檔案信息 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 第五章 系統(tǒng)調(diào)試程序與測試 軟件編程者對程序的調(diào)試這一步驟是必不可少的,而且也是系統(tǒng)設計中一個很重要的環(huán)節(jié)。此次畢設中遇到了許多問題。這里把系統(tǒng)設計中的一些主要問題簡略介紹一下。 在整個系統(tǒng)設計過程中,開始設計主窗體時,由于主窗體是對所有系統(tǒng)子窗體進行統(tǒng)一調(diào)度,在調(diào)用子窗體單元時,經(jīng)常忘記在implementation 后面引用子窗體的單元,這將導致程序語法錯誤。例如 : implementation uses LoginForm,BorrowForm,ReturnForm,LibInfForm,BookShellForm,ManageForm,PswdchForm,TopForm,BookCancelForm,UserSettingForm,UserDocuForm,BookSettingForm,BookDocuForm,BookOrderForm,BookBorrowForm,BookReturnForm,BookOverdueForm,ForfeitForm; 在登 錄系統(tǒng)設計方面 , 本來想程序剛運行時先出現(xiàn)登錄窗體 , 登錄成功后再彈出主窗體 , 但由于主窗體是 MDI 的 MainForm,這項功能難以實現(xiàn)。因此改為運行后直接出現(xiàn)未激活任何功能的主窗體和登錄窗體 , 將 project/options/Forms 中的自動創(chuàng)建窗體項設置為 main,并在主窗體 Oncreate 事件中創(chuàng)建 Login 窗體 , 但運行后系統(tǒng)出現(xiàn)錯誤,如圖 5-1所示 : 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 5-1 錯誤提示 1 錯誤可能出現(xiàn)在主窗體的 Oncreate 事件中,在經(jīng)過多次嘗試后,取消這個事件,而在主窗體中添 入一個 Timer控件,當它觸發(fā) Ontimer事件后,創(chuàng)建 Login窗體,此功能正常實現(xiàn)。 在系統(tǒng)數(shù)據(jù)錄入窗體設計中,剛開始沒有控制 Edit 編輯框中可以懸空,當錄入信息的 Edit 的 text 屬性為空時,單擊保存,系統(tǒng)進入死循環(huán),彈出報錯對話框。如圖 5-2所示: 圖 5-2 錯誤提示 2 遇到這種情況時,要用 If條件語句控制編輯中的 Text可以為空,把空字符串賦給 Edit 就可以實現(xiàn),當 Text 為空時,庫存系統(tǒng)彈出提示信息,“資料輸入不全!”,詳細程序為: if (edit1.Text=)or (edit2.Text=)then messageDlg(資料輸入不全! ,mtwarning,mbok,0) else with ADOTable1 do begin open ; 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: append; fieldvalues名稱 :=trim(edit1.Text); fieldvalues密碼 :=trim(edit2.Text); end; 在用戶及權限窗體設計中,也出現(xiàn)了一個的問題,就是每次 新增用戶時,如果沒有選擇各權限的 Dbcheckbox,這時直接單擊“保存”工具欄按鈕,系統(tǒng)出現(xiàn)報錯信息,如圖 5-3所示。 圖 5-3 錯誤提示 3 根據(jù)提示信息,說明不能將空數(shù)值插入“管理員” 表的“讀者管理” 字段中,但由于在編程時對 DBCheckbox 是否選中的屬性設置未知,因此將數(shù)據(jù)庫“管理員”表的各個權限字段默認值設置為“ T” ,這樣在添加用戶時可以省去不少操作,使操作更簡 單。 還有應該注意,由于父窗體里面已經(jīng)對窗體關閉事件編程,實現(xiàn)關閉窗體后釋放內(nèi)存,所以凡是 繼承來的窗體就不必再進行這一工作的,而非繼承來的窗體都必須編程實現(xiàn)窗體關閉后釋放內(nèi)存,如果不這樣的話,在程序運行后桌面會出現(xiàn)幾個窗體,占用內(nèi)存空間。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 通過已借閱圖書的借閱編號和圖書編號以及讀者編號可以查詢到相應的圖書信息。由于開始父窗體中沒有模糊查詢,當進行借閱查詢沒有輸入查詢條件時系統(tǒng)報錯,如圖 5-4所示: 圖 5-4 錯誤提示 4 在 設 計 借 閱 查 詢 窗 體 時 , 由 于 SQL 語言adoquery1.sql.Add(select top 10 with ties * from 圖書信息 order by 借出次數(shù) desc);語句中少寫了 * ,運行后進行借閱前10名查詢時系統(tǒng)報錯,報錯信息框如圖 5-5所示: 圖 5-5 錯誤提示 5 在設計書架設置窗體時,由于是繼承父窗體得來的,在刪除該窗體不需要用到的 adoquery控件時系統(tǒng)報錯,如圖 5-6所示 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 圖 5-6 錯誤提示 6 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 第六章 結 論 本次設計是是對數(shù)據(jù)庫技術,軟件工程,編程技術的一次綜合實踐。在系統(tǒng)開發(fā)階段之前,要全面、細致地調(diào)查研究,全面的需 求分析,明確用戶的需求。通過需求分析,得出系統(tǒng)的功能模塊,并根據(jù)需求分析的結果,建立相應的數(shù)據(jù)庫。建庫的時候考慮要周全,還要盡量符合建立數(shù)據(jù)庫的相關理論,明確各表之間的關系。而編程時則要盡量模塊化,避免代碼的過多重復。 本系統(tǒng)實現(xiàn)了圖書館管理系統(tǒng)流通系統(tǒng)的最基本的管理功能,但是仍然存在很多不足的地方,做需求分析時也還有很多沒考慮到情況。如:本系統(tǒng)的數(shù)據(jù)庫建得還不夠科學,有些字段根本沒有必要。另外,本系統(tǒng)沒有考慮到丟書、期刊的管理等圖書館管理中實際存在的問題。希望有興趣對本系統(tǒng)進行改進的人能將這些問題 考慮進去。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 致 謝 本次畢業(yè)設計得到了指導老師方芳老師的精心指導,這對畢業(yè)設計的順利完成起了重要作用。 在制作過程中同組同學江佐華同學給了很大的幫助,檢查老師趙敏老師、黃麗珍老師等指出了軟件存在的一些問題 ,并給出了一些很好的建議,軟件的質(zhì)量得到提高,自己的能力也得到了提高。本次設計順利完成是老師和同學的幫助,在此一并表示感謝。 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 參考文獻 1 宋靜 .學生信息管理系統(tǒng)設計與實現(xiàn) J.計算機與數(shù) 字工程, 2008( 8) 2 陸衛(wèi)忠、劉文亮 .C+Builder6程序設計教程 M,北京:科學出版社, 2005 3 侯識忠 .數(shù)據(jù)結構算法 -C+Builder6.0 程序集 M.北京:中國水利水電出版 4 李進 . 軟件工程導論 M. 北京:清華大學出版社, 1998.1 5 郭盈發(fā),張紅娟 .數(shù)據(jù)庫原理 M.西安:西安電子科技大學, 2002 6 美 O Neil,P.DATABASE Principles Programming and Performance.( second editionl) M.北京:高等教育出版社, 2001 8 孫鑫 .VC+深入詳解 M.電子工業(yè)出版社 ,2006年 9 苗雪蘭 .數(shù)據(jù)庫系統(tǒng)原理及應用教程 J.機械工業(yè)出版社 ,2007年 10 李偉明 .VISUAL C+開發(fā)技術大全 M.人民郵電出版社 ,2007年 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 程序附錄 void _fastcall TfmMain:mnuReaderInfoClick(TObject *Sender) TForm *pForm = FormExist(讀者檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuBookTypeClick(TObject *Sender) TForm *pForm = FormExist(圖書類別設置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookType(Application); pForm-Show(); void _fastcall TfmMain:mnuBookInfoClick(TObject *Sender) TForm *pForm = FormExist(圖書檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuOrderClick(TObject *Sender) 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: TForm *pForm = FormExist(圖書征訂 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookOrder(Application); pForm-Show(); /- void _fastcall TfmMain:mnuBorrowClick(TObject *Sender) TForm *pForm = FormExist(圖書借閱 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookBorrow(Application); pForm-Show(); void _fastcall TfmMain:mnuReturnClick(TObject *Sender) TForm *pForm = FormExist(圖書歸還 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookReturn(Application); pForm-Show(); void _fastcall TfmMain:mnuDueDateClick(TObject *Sender) 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: TForm *pForm = FormExist(圖書逾期清單 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookDue(Application); pForm-Show(); void _fastcall TfmMain:mnuFineClick(TObject *Sender) TForm *pForm = FormExist(圖書罰款 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookFine(Application); pForm-Show(); #include #pragma hdrstop #include Main.h #include readertype.h #include readerinfo.h #include booktype.h #include bookinfo.h #include bookorder.h #include bookborrow.h #include bookreturn.h 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: #include bookdue.h #include bookfine.h #pragma package(smart_init) #pragma resource *.dfm TfmMain *fmMain; _fastcall TfmMain:TfmMain(TComponent* Owner) : TForm(Owner) TForm* TfmMain:FormExist(AnsiString szCaption) for(int i=0; iMDIChildCount; i+) TForm *pForm = this-MDIChildreni; if(pForm-Caption = szCaption) return pForm; return NULL; void _fastcall TfmMain:mnuExitClick(TObject *Sender) Application-Terminate(); void _fastcall TfmMain:Label1Click(TObject *Sender) for(int i = 0; iItems-Count; i+) TMenuItem* pItem = MainMenu1-Items-Itemsi; TMenuItem* pItem1 = pItem-Find( (TLabel*) Sender)-Caption); 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: if(pItem1) pItem1-Click(); void _fastcall TfmMain:mnuReaderTypeClick(TObject *Sender) TForm *pForm = FormExist(讀者類別設置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderType(Application); pForm-Show(); void _fastcall TfmMain:mnuReaderInfoClick(TObject *Sender) TForm *pForm = FormExist(讀者檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuBookTypeClick(TObject *Sender) TForm *pForm = FormExist(圖書類別設置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookType(Application); pForm-Show(); 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: void _fastcall TfmMain:mnuBookInfoClick(TObject *Sender) TForm *pForm = FormExist(圖書檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuOrderClick(TObject *Sender) TForm *pForm = FormExist(圖書征訂 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookOrder(Application); pForm-Show(); void _fastcall TfmMain:mnuBorrowClick(TObject *Sender) TForm *pForm = FormExist(圖書借閱 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookBorrow(Application); pForm-Show(); void _fastcall TfmMain:mnuReturnClick(TObject *Sender) 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: TForm *pForm = FormExist(圖書歸還 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookReturn(Application); pForm-Show(); void _fastcall TfmMain:mnuDueDateClick(TObject *Sender) TForm *pForm = FormExist(圖書逾期清單 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookDue(Application); pForm-Show(); void _fastcall TfmMain:mnuFineClick(TObject *Sender) TForm *pForm = FormExist(圖書罰款 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookFine(Application); pForm-Show(); #include BookBorrow.h #pragma package(smart_init) #pragma resource *.dfm TfmBookBorrow *fmBookBorrow; _fastcall TfmBookBorrow:TfmBookBorrow(TComponent* Owner) 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: : TForm(Owner) void _fastcall TfmBookBorrow:FormShow(TObject *Sender) edReaderCon-SetFocus(); StringGrid1-Cells00 = 狀態(tài) ; StringGrid1-Cells10 = 編號 ; StringGrid1-Cells20 = 書名 ; StringGrid1-Cells30 = 借出時間 ; StringGrid1-Cells40 = 應還時間 ; StringGrid1-Cells50 = 出版社 ; StringGrid1-Cells60 = 書價 ; void _fastcall TfmBookBorrow:btOkClick(TObject *Sender) AnsiString sql; for(int i=1; iRowCount; i+) if(!(StringGrid1-Cells0i = 新借 & StringGrid1-Cells1i.Length()0) continue; sql = insert into 圖書借閱 (圖書編號 , 讀者編號 , 借閱時間 , ; sql += 應還時間 , 續(xù)借次數(shù) , 操作員 , 狀態(tài) ) values (; sql += StringGrid1-Cells1i + ,; sql += edReaderCon-Text + ,; sql += StringGrid1-Cells3i + ,; sql += StringGrid1-Cells4i + ,0,操作員 ,新借無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: ); Query1-SQL-Clear(); Query1-SQL-Add(sql); Query1-ExecSQL(); TQuery* pQuery = new TQuery(NULL); pQuery-DatabaseName = db; pQuery-SQL-Add(exec sf_圖書借閱 ); pQuery-ExecSQL(); delete pQuery; m_nBorrowNum = 0; m_nNum = 0; edReaderCon-Text = ; edBookCon-Text = ; edReaderCon-SetFocus(); for(int i=1; iRowCount; i+) StringGrid1-Cells0i = ; StringGrid1-Cells1i = ; StringGrid1-Cells2i = ; StringGrid1-Cells3i = ; StringGrid1-Cells4i = ; StringGrid1-Cells5i = ; StringGrid1-Cells6i = ; Panel2-Caption = ; void _fastcall TfmBookBorrow:btCancelClick(TObject *Sender) 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: m_nBorrowNum = 0; m_nNum = 0; edReaderCon-Text = ; edBookCon-Text = ; edReaderCon-SetFocus(); for(int i=1; iRowCount; i+) StringGrid1-Cells0i = ; StringGrid1-Cells1i = ; StringGrid1-Cells2i = ; StringGrid1-Cells3i = ; StringGrid1-Cells4i = ; StringGrid1-Cells5i = ; StringGrid1-Cells6i = ; Panel2-Caption = ; void _fastcall TfmBookBorrow:btExitClick(TObject *Sender) this-Close(); void _fastcall TfmBookBorrow:FormCl

溫馨提示

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

評論

0/150

提交評論