搞笑教務排課系統畢業論文-無憂無慮畢設網_第1頁
搞笑教務排課系統畢業論文-無憂無慮畢設網_第2頁
搞笑教務排課系統畢業論文-無憂無慮畢設網_第3頁
搞笑教務排課系統畢業論文-無憂無慮畢設網_第4頁
搞笑教務排課系統畢業論文-無憂無慮畢設網_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

評論

0/150

提交評論