基于delphi的圖書管理系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  學 士 學 位 論 文</p><p>  基于delphi的圖書管理系統(tǒng)的設計與實現(xiàn)</p><p>  學 士 學 位 論 文</p><p>  基于delphi的圖書管理系統(tǒng)的設計與實現(xiàn)</p><p> 姓 名:</p><p> 學 號:</p>&l

2、t;p> 指導教師:</p><p> 院系(部所):計算機科學系</p><p> 專 業(yè):計算機科學與技術</p><p> 完成日期:2010年5月10日</p><p><b>  摘 要</b></p><p>  隨著科學技術的不斷提高,計算機科學日漸成熟,傳統(tǒng)的圖書管

3、理方式必然被計算機為基礎的信息管理畢業(yè)設計所取代?使用計算機對圖書信息進行管理,具有手工管理所無法比擬的優(yōu)點經過分析如此情況,我們使用Borland的DELPHI 7.0開發(fā)工具,利用其提供的各種面向對象的開發(fā)工具,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象,首先在短時間內建立畢業(yè)設計應用原型,然后,對初始原型畢業(yè)設計進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行畢業(yè)設計?</p><p>  圖

4、書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數據的管理,本系統(tǒng)對圖書的管理主要包括圖書入庫,圖書查詢,圖書借還,圖書修改,圖書類別設置等,其中圖書查詢可以按書號,書名,出版社,作者,類別等進行查詢。系統(tǒng)還包括了權限設置和讀者設置,權限分為管理員,工作人員和讀者,其中管理員可以對系統(tǒng)進行各種操作,工作人員可以進行除權限外的任何操作,而讀者只能進行圖書查詢。讀者設置包括學生和教師,其中學生和教師一次可以借書的數量是不

5、一樣的。</p><p>  本文采用delphi7.0+Sql Server的技術方案。還總結概括了該系統(tǒng)的主要特點和功能,外觀設計簡約,交流界面人性化,配合數據庫管理,使用且易操作。畢業(yè)設計在撰寫過程中,力求將理論與實踐應用相結合,對各種理論進行闡述的同時配合畢業(yè)設計從實際應用和操作技巧上加以說明,希望能夠更充分地體現(xiàn)到這些知識與技術在本畢業(yè)設計中的應用與實現(xiàn)?</p><p>  【

6、關鍵詞】圖書管理系統(tǒng);Delphi 7.0;SQL SERVER 2000 </p><p><b>  Abstract</b></p><p>  With the continuous improvement of science and technology, computer science and the maturing of traditional l

7、ibrary management must be computer-based information management graduate design replaced. the use of its various object-oriented development tools, in particular, the data window can be simple and easy to manipulate inte

8、lligence database objects, the first application in a short time to establish the prototype school designs, and then graduated from the initial prototype design needs to c</p><p>  Library as a distribution

9、center for information resources, books and many users to borrow materials, including a lot of information and data management. This system mainly includes the management of library book storage, books borrowed books, mo

10、dify, books and books category Settings, etc, Which book inquires according to call can be title, author, category, etc. System includes the permissions Settings and readers, access into administrators, staff and readers

11、, including system administrators </p><p>  In this paper, using delphi7.0 + Sql Server technology solutions. Also summarized as the system's main features and functionality, minimalist design, human com

12、munication interface, with database management, use and easy to operate. Graduation in the writing process, sought to combine theory and practical application of various theories explain the same time with the graduation

13、 from the practical application and operation technique illustrated in the hope of more fully to the knowledge and techno</p><p>  【Keywords】Library Management System;Delphi 7.0; SQLSERVER 2000</p>&l

14、t;p><b>  目 錄</b></p><p><b>  第1章 緒 論1</b></p><p>  1.1 研究背景1</p><p>  1.2 研究的目的和意義2</p><p>  1.3 國內外的研究現(xiàn)狀3</p><p>  第2章 圖書管

15、理系統(tǒng)分析4</p><p>  2.1 系統(tǒng)需求分析4</p><p>  2.2 可行性分析5</p><p>  2.3 系統(tǒng)開發(fā)環(huán)境的分析5</p><p>  第3章 系統(tǒng)設計7</p><p>  3.1 設計目標7</p><p>  3.2 構建開發(fā)環(huán)境7</

16、p><p>  3.3 系統(tǒng)業(yè)務流程圖8</p><p>  3.4 系統(tǒng)功能模塊圖8</p><p>  3.5 系統(tǒng)E-R圖9</p><p>  3.6 系統(tǒng)數據流程圖11</p><p>  3.7 數據描述12</p><p>  第4章 基于Delphi的數據庫分析與設計16

17、</p><p>  4.1 中間件技術16</p><p>  4.2 服務端程序的建立17</p><p>  4.3 客戶端程序的建立17</p><p>  4.4 delphi 7.0 VCL組件的體系結構18</p><p>  4.5 數據庫組件19</p><p>  

18、第5章 圖書管理系統(tǒng)的功能實現(xiàn)20</p><p>  5.1 數據庫的連接20</p><p>  5.2 主要功能模塊的詳細設計21</p><p>  5.2.1登錄窗口的設計21</p><p>  5.2.2 主窗體設計23</p><p>  5.2.3 書庫信息查詢管理模塊設計26</p

19、><p>  5.2.4 圖書借閱列表管理模塊設計29</p><p>  5.2.5 罰款信息管理模塊設計30</p><p>  5.2.6 讀者注冊管理模塊設計30</p><p>  第6章 圖書管理系統(tǒng)測試33</p><p>  6.1系統(tǒng)測試目標及方法34</p><p> 

20、 6.2 系統(tǒng)測試結果與分析34</p><p>  6.3本章小結36</p><p>  結束語錯誤!未定義書簽。</p><p><b>  參考文獻38</b></p><p><b>  致 謝40</b></p><p><b>  第1章

21、緒 論</b></p><p><b>  1.1 研究背景</b></p><p>  圖書管理信息系統(tǒng)目前被廣泛應用于學校、工業(yè)、商業(yè)、企業(yè)、事業(yè)等單位,幾乎每個進行了信息化建設的單位都具有圖書館管理系統(tǒng)。在使用計算機系統(tǒng)對圖書的管理,其實就是對信息的管理[1]。使用信息系統(tǒng)對圖書館進行管理,將會大幅提高管理的效率、便捷與安全。近些年來,圖書館事業(yè)的巨

22、大進步已為圖書館在新世紀的發(fā)展打下了堅實的基礎.全球信息化和高新技術的發(fā)展也為圖書館提供了更好的發(fā)展機遇,傳統(tǒng)的單一以書本作為單元信息服務手段已不能滿足讀者的需求,現(xiàn)代化服務手段的實施勢在必行。</p><p>  隨著社會的發(fā)展,信息社會的建立,圖書館開始沖破傳統(tǒng)服務模式,緊密地配合社會需求,提供特色服務,有針對性的服務,不斷提高讀者的滿意率。過去我們以開架借閱滿足讀者按需索書的需求。但在傳統(tǒng)的借閱方式下,難以

23、達到讀者快速索取圖書的要求。以計算機網絡為手段的信息傳遞具有高速度、高效率的特點,是任何手工操作都無法比擬的,電子技術與圖書館工作的結合,實現(xiàn)了圖書館管理和服務的現(xiàn)代化。利用圖書管理系統(tǒng),可以激活館藏中的各種圖書,使讀者從主題,各種角度檢索圖書的愿望得到實現(xiàn)。方便,快捷的檢索方式縮短了尋找所需圖書的時間,使讀者擺脫了由于書目急速增長而無從下手的困擾,大大提高了搜索效率,加速了圖書的開發(fā)利用[2]。更為優(yōu)越的是新圖書管理系統(tǒng)的使用增強了圖

24、書館員與讀者之間的互動服務,以及讀者的自助服務,比如說可通過網絡推薦新書和自行辦理圖書借閱,續(xù)借手續(xù)等等。</p><p>  現(xiàn)代圖書館以用戶為中心,需要什么就提供什么,擺脫傳統(tǒng)的服務方式,摒棄單個、重復、被動、瑣碎的手工服務。把服務模式從單純服務型轉變?yōu)榉战洜I型,把服務推向市場,開展信息的深加工,如代查、代檢索、代翻譯、人辦手續(xù)、代復制、聯(lián)機檢索、光盤檢索、聯(lián)機目錄查詢、網上專題信息服務等。提供信息資源的范

25、圍和載體更廣泛。</p><p>  圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數據的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理[3]。根據調查得知,以前對信息管理的主要方式是基于文本、表格等紙介質的手工處理,對于圖書借閱情況(如借書天數、超過限定借書時間的天數)的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以及借閱天數等用人工計算、

26、手抄進行。數據信息處理工作量大,容易出錯;由于數據繁多,容易丟失,且不易查找。</p><p>  本文提出根據基于分布式delphi下的圖書管理系統(tǒng)的設計方案,并根據高效圖書館對圖書管理系統(tǒng)的需求的調查,進行了初步的探索和嘗試。</p><p>  1.2 研究的目的和意義</p><p>  為了實現(xiàn)圖書管理的系統(tǒng)化、規(guī)范化和自動化,實現(xiàn)對圖書資料的集中統(tǒng)一的管

27、理。有效的解決以往的圖書管理信息系統(tǒng)存在的不足和弊病,不斷豐富完善的管理內容,還應具備如何能夠創(chuàng)建通向未來的沒有中斷的跨越LAN、WAN和Internet平臺的分布式可伸縮的應用結構,以滿足當今的復雜的不斷發(fā)展的圖書管理業(yè)務需求。通過查閱大量資料,經過兩個多月設計實踐,我開發(fā)了一個基于delphi的圖書管理系統(tǒng)(局域網),可以實現(xiàn)動態(tài)的連接應用程序服務器,只要對配置文件進行配置,就可以像網上鄰居一樣選擇所要連接的應用程序服務器(數據庫)

28、,并提供簡單的圖書管理功能。</p><p>  本系統(tǒng)以高校圖書館為設計背景,一般圖書館工作效率比較低,并且不能及時了解圖書館各類圖書的存庫,學生們比較需求的圖書等,不便于查閱相關的圖書資料。隨著科技社會的不斷發(fā)展,計算機作為現(xiàn)代人類生活主要工具之一,已被廣泛應用于社會各個領域。現(xiàn)今,科技水平高速發(fā)展,計算機網絡作為今天使用最廣的現(xiàn)代化工具正在成為未來社會的重要支柱[6]。所以,在這樣的背景下,現(xiàn)代圖書館的管理

29、方式產生了重大變化,這種變化表現(xiàn)在圖書館工作,管理和服務平臺發(fā)生的變化,圖書館已由傳統(tǒng)的手工記錄管理轉變?yōu)橛嬎銠C系統(tǒng)自動管理。讀者是圖書館賴以生存和發(fā)展的根本,圖書館也是現(xiàn)代人學習獲取知識的主要場所,圖書館的正常運營中總是面對大量的讀者信息,圖書信息以及兩者相互作用產生的借書信息,因此要對讀者資源,圖書資源,借書信息進行管理[7]。</p><p>  目前的圖書館并沒有較完善的圖書管理系統(tǒng),為了使一切復雜程序方

30、便快捷,我為學校設計了一個圖書管理系統(tǒng),其意義在于想通過自己的努力對自己所學專業(yè)知識的一個測試,也在于想在系統(tǒng)設計過程中學習到更多的知識,為邁入社會做準備。</p><p>  1.3 國內外的研究現(xiàn)狀</p><p>  據統(tǒng)計,在美國圖書出版業(yè)在網絡利用方面領先其他行業(yè)至少1年。技術上較先進。采用Clint/Server模式架構;使用開放的Oracle數據庫;高度集成的模塊結構,數據結

31、構關系緊密,統(tǒng)一處理CNMARC和USMMARC,兩種MARC格式合庫為跨語種檢索提供了可能;系統(tǒng)開放性好,遵循TCP/IP協(xié)議、Z39.50協(xié)議。服務意識濃郁,細致的服務體現(xiàn)在采訪、編目、流通各環(huán)節(jié),注重與讀者的互動[9]。例如Unicorn設有專門的讀者請求模塊,不僅方便讀者薦購,而且薦購的讀者可在當頁看到館員的回復,可看到每本書從訂購、驗收、編目到流通各階段的狀態(tài),系統(tǒng)可通知薦購者優(yōu)先借閱。這種構思體現(xiàn)了系統(tǒng)的精細,使圖書館的各項

32、工作做得細致深入。正如許多使用館所說,引進國外的系統(tǒng)就是引入一套管理理念和管理方法。這是國外系統(tǒng)最大的優(yōu)點,也是各館引進系統(tǒng)的初衷。清華大學圖書館、天津大學圖書館自引進系統(tǒng)后,服務跨上了新臺階。</p><p>  國外系統(tǒng)的不足主要是本土化問題,畢竟這些系統(tǒng)都是由國外的公司基于其主要用戶開發(fā)的,在各工作流程的設計上、具體工序的操作上,與中國的情況不太一致,甚至有些無謂的重復操作[10]。體現(xiàn)在采訪模塊上就是數據

33、缺乏攜帶功能,即自動生成功能差。恰恰這方面國內的系統(tǒng)做得較好,操作簡單,簡化了工作步驟。</p><p>  我國加入WTO后,面對高度信息化、全球化和管理現(xiàn)代化的國際競爭,我國圖書館事業(yè)如何應用信息技術促進管理創(chuàng)新,以管理創(chuàng)新促進實施信息現(xiàn)代化的戰(zhàn)略,深化圖書館改革和實現(xiàn)管理水平跨越式發(fā)展,提高服務水平和服務質量,增強圖書館的競爭力,已成為一個不容回避、亟待研究解決的重大課題[11]。管理創(chuàng)新應以先進的信息技術

34、和管理技術的應用為手段,以促進圖書館管理全面創(chuàng)新為著眼點,整合和再造圖書館業(yè)務流程、組織結構、管理模式和服務方式,實現(xiàn)圖書館文獻信息資源數字化和電子化、文獻信息加工自動化、服務方式網絡化和檢索手段的智能化,為加快數字化、信息化發(fā)展奠定現(xiàn)代化的管理基礎。運用信息技術變革圖書館管理模式,不僅可以大大提高圖書館工作效率和社會效益、經濟效益,增強圖書館競爭力,還必將對整個社會信息化整體水平的提高產生重大而深遠的影響。 </p>&

35、lt;p>  第2章 圖書管理系統(tǒng)分析</p><p>  2.1 系統(tǒng)需求分析</p><p>  圖書管理系統(tǒng)需要滿足來自三方面的需求,這三個方面分別是圖書借閱者、圖書館工作人員和圖書館管理人員。圖書借閱者的需求是查詢圖書館所存的圖書、個人借閱情況及個人信息的修改;圖書館工作人員對圖書借閱者的借閱及還書要求進行操作,同時形成借書或還書報表給借閱者查看確認;圖書館管理人員的功能最

36、為復雜,包括對工作人員、圖書借閱者、圖書進行管理和維護,及系統(tǒng)狀態(tài)的查看、維護并生成催還圖書報表。</p><p>  圖書借閱者可直接查看圖書館圖書情況,如果圖書借閱者根據本人借書證號和密碼登錄系統(tǒng),還可以進行本人借書情況的查詢和維護部分個人信息。一般情況下,圖書借閱者只應該查詢和維護本人的借書情況和個人信息,若查詢和維護其他借閱者的借書情況和個人信息,就要知道其他圖書借閱者的借書證號和密碼。這些是很難得到的,

37、特別是密碼,所以不但滿足了圖書借閱者的要求,還保護了圖書借閱者的個人隱私。</p><p>  圖書館工作人員有修改圖書借閱者借書和還書記錄的權限,所以需對工作人員登陸本模塊進行更多的考慮。在此模塊中,圖書館工作人員可以為圖書借閱者加入借書記錄或是還書記錄,并打印生成相應的報表給用戶查看和確認。</p><p>  圖書館管理人員功能的信息量大,數據安全性和保密性要求最高。本功能實現(xiàn)對圖書

38、信息、借閱者信息、總體借閱情況信息的管理和統(tǒng)計、工作人員和管理人員信息查看及維護。圖書館管理員可以瀏覽、查詢、添加、刪除、修改、統(tǒng)計圖書的基本信息;瀏覽、查詢、統(tǒng)計、添加、刪除和修改圖書借閱者的基本信息,瀏覽、查詢、統(tǒng)計圖書館的借閱信息,但不能添加、刪除和修改借閱信息,這部分功能應該由圖書館工作人員執(zhí)行,但是,刪除某條圖書借閱者基本信息記錄時,應實現(xiàn)對該圖書借閱者借閱記錄的級聯(lián)刪除。并且還應具有生成催還圖書報表,并打印輸出的功能。<

39、;/p><p>  在本系統(tǒng)中由于沒有打印機設備供試驗,所以預先把報表打印改成報表預覽設計不同用戶的操作權限和登陸方法 對所有用戶開放的圖書查詢 借閱者維護借閱者個人部分信息 借閱者查看個人借閱情況信息 維護借閱者個人密碼 根據借閱情況對數據庫進行操作并生成報表 根據還書情況對數據庫進行操作并生成報表 查詢及統(tǒng)計各種信息 維護圖書信息 維護工作人員和管理員信息,維護借閱者信息,處理信息的完整性,對借閱過期的圖書生成報

40、表。</p><p><b>  2.2 可行性分析</b></p><p>  可行性分析也稱為可行性研究,是在系統(tǒng)調查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,可行性研究主要考慮系統(tǒng)硬件和軟件的配置能否滿足用戶的需求,依照現(xiàn)有的技術條件能否順利完成系統(tǒng)的實現(xiàn)。后臺采用SQL SERVER 2000創(chuàng)建數據庫,它能夠處理大量數據,同時保持數據的完整性并提供許

41、多高級管理功能[13]。它的靈活性、安全性和易用性為數據庫編程提供了良好的條件。因此,在一定程度上是絕對可行的。</p><p>  2.3 系統(tǒng)開發(fā)環(huán)境的分析</p><p>  系統(tǒng)采用Delphi 7.0作為開發(fā)平臺、SQL SERVER 2000開發(fā)數據庫,系統(tǒng)的設計從需求分析開始,就保證了系統(tǒng)的穩(wěn)定性和可擴展性。</p><p>  因為Delphi擁有世

42、界上最快的編譯器,并提供了豐富的組件集,強大的代碼自動生成功能和豐富的數據庫管理工具等,使用它的集成開發(fā)環(huán)境可以更快的建立應用程序。在眾多的編程工具中,Delphi在數據庫方面的特長尤為突出,它適用于多種數據庫結構,具有高效的數據庫管理系統(tǒng)處理能力[15]。</p><p>  SQL Server 2000是一個后臺數據庫管理系統(tǒng),它功能強大操作簡便,日益為廣大數據庫用戶所喜愛。越來越多的開發(fā)工具提供了與SQL

43、 Server的接口。SQL Server 是一個關系數據庫管理系統(tǒng),它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的[4]。于1988 年推出了第一個OS/2 版本,在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Win

44、dows NT 版本。</p><p>  SQL Server不但可以應用于大中型數據庫管理中,建立分布式關系數據庫,并且也可以開發(fā)桌面數據庫。事實上,SQL Server數據庫處理的基本結構,采取關系型數據庫模式,盡管如此,相信大家都可以輕易的發(fā)現(xiàn),在SQL Server的數據庫處理方式,則是使用面向對象的操作方式與精神,也就是說,SQL Server的所有功能,都可以基于系統(tǒng)已經建立好的一些對象來達成,是相

45、當OO(面向對象)的一個系統(tǒng)結構[17]。</p><p>  SQL Server 企業(yè)管理器是 SQL Server 的主要管理工具,它提供了一個遵從 MMC 標準的用戶界面,使用戶得以:定義 SQL Server 實例組;將個別服務器注冊到組中;為每個已注冊的服務器配置所有 SQL Server 選項;在每個已注冊的服務器中創(chuàng)建并管理所有 SQL Server 數據庫、對象、登錄、用戶和權限;在每個已注冊的

46、服務器上定義并執(zhí)行所有 SQL Server 管理任務;通過喚醒調用 SQL 查詢分析器,交互地設計并測試 SQL 語句、批處理和腳本;喚醒調用為 SQL Server 定義的各種向導。</p><p><b>  第3章 系統(tǒng)設計</b></p><p><b>  3.1 設計目標</b></p><p>  對與典

47、型的數據庫管理系統(tǒng),尤其是對于像圖書管理系統(tǒng)這樣數據流量特別大的MIS管理系統(tǒng),必須要滿足使用方便,操作靈活等要求。本系統(tǒng)在設計時應該滿足以下幾個目標:</p><p>  (1) 采用人機對話的操作方式,界面美觀,友好,信息查詢靈活、方便,數據存儲準確、安全可靠。</p><p>  (2) 全面展示圖書館所有圖書,并可展示新到圖書及受歡迎的圖書。</p><p>

48、;  (3) 便于顧客快捷的進行圖書信息查詢(采用模糊查詢技術)。</p><p>  (4) 會員可以隨時修改自己的基本資料。</p><p>  (5) 實現(xiàn)借閱預定。能夠方便的查詢到讀者要借閱的圖書信息。</p><p>  (6) 讀者可以隨時查看自己的圖書借閱信息。</p><p>  (7) 對讀者輸入的數據,系統(tǒng)進行嚴格的數據檢

49、驗,盡可能排除人為地錯誤。</p><p>  (8) 系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性。</p><p>  (9) 系統(tǒng)運行穩(wěn)定,可靠。</p><p>  3.2 構建開發(fā)環(huán)境</p><p><b>  硬件平臺:</b></p><p>  CPU:P41.8GHZ;</p&

50、gt;<p>  內存:256MB以上</p><p><b>  軟件平臺</b></p><p>  操作系統(tǒng):windows XP</p><p>  數據庫:sqlserver 2000;</p><p>  開發(fā)工具包:Delphi 7.0 VCL組件及數據庫組件</p><p

51、>  開發(fā)環(huán)境:Borland 7.0</p><p>  分辨率:最佳效果1024*768像素</p><p>  3.3系統(tǒng)業(yè)務流程圖</p><p>  圖書管理系統(tǒng)業(yè)務流程圖如圖3-1所示。</p><p>  圖3-1 系統(tǒng)業(yè)務流程圖</p><p>  讀者借閱業(yè)務流程圖如圖3-2所示。</p&

52、gt;<p>  圖3-2 讀者借閱業(yè)務流程圖</p><p>  3.4 系統(tǒng)功能模塊圖</p><p>  圖書管理系統(tǒng)前臺功能結構如圖3-3所示。 </p><p>  圖3-3前臺組織結構圖</p><p>  圖書管理系統(tǒng)后臺功能結構如圖3-4所示。</p><p>  圖3-4后臺組織結構圖&

53、lt;/p><p><b>  3.5系統(tǒng)E-R圖</b></p><p>  在本系統(tǒng)中主要有以下5個E-R圖:用戶信息E-R圖、讀書信息E-R圖、圖書管理E-R圖、圖書借閱E-R圖。</p><p>  用戶實體與屬性如圖3-5所示,用戶的屬性主要包括:用戶編號,用戶名,用戶密碼,是否是管理員。</p><p>  圖3

54、-5 用戶E-R圖</p><p>  讀者實體與屬性如圖3-6所示,顧客的屬性主要包括:讀者編號,讀者姓名名稱,院系,性別。</p><p>  圖3-6 讀者信息E-R圖</p><p>  圖書信息實體與屬性如圖3-7所示,圖書管理的屬性主要包括:出版社,圖書作者,出版社名稱,聯(lián)系地址,出版日期,網址,電話,聯(lián)系電話,添加/修改/刪除圖書,圖書編號。</

55、p><p>  圖3-7 圖書管理E-R圖</p><p>  圖書借閱實體與屬性如圖3-8所示,商品的屬性主要包括:借閱數量,還書時間,讀者編號,違規(guī)罰金,借書時間。</p><p>  圖3-8 圖書借閱E-R圖</p><p>  3.6系統(tǒng)數據流程圖</p><p>  系統(tǒng)主要功能數據流圖如下圖3-9所示。<

56、;/p><p>  圖3-9系統(tǒng)主要功能數據流圖</p><p><b>  3.7 數據描述</b></p><p>  各數據表之間的關系如圖3-10所示。</p><p>  圖3-10數據表關系圖</p><p>  共創(chuàng)建9個數據表,依次是讀者信息表、圖書信息表、出版社信息表、讀者借閱信息表

57、、后臺管理員登錄表、登錄信息表、書籍大類信息表、書籍小類信息表、書籍入庫信息表,各表結構詳細設計如表3-1、表3-2、表3-3、表3-3、表3-4、表3-5、表3-6、表3-7、表3-8、表3-9所示。</p><p>  表3-1讀者信息表結構</p><p>  表3-2圖書信息表結構</p><p>  表3-3出版社信息表結構</p><

58、p>  表3-4讀者借閱信息表結構 </p><p>  表3-5后臺管理員信息表結構 </p><p>  表3-6登錄信息表結構</p><p>  表3-7書籍大類信息表結構</p><p>  表3-8書籍小類信息表結構</p><p>  表3-9書籍入庫信息表結構</p><p&g

59、t;  第4章 基于Delphi的數據庫分析與設計</p><p><b>  4.1 中間件技術</b></p><p>  Delphi提出的MIDAS(Multi-Tier distributed Application Services Suite多層分布式應用服務器組),是把原來Two- Tier數據連接放到了服務器端的COM組件上,客戶端只剩下了執(zhí)行文件和

60、MIDAS.DLL,前臺和服務器上的COM組件,通過DCOM機制互相溝通。</p><p>  這個多的一層,稱為應用程序服務器(Application Server),或者稱為中間件。整個工作機制見下圖:</p><p>  圖4-1 分布式應用服務器</p><p>  這種多層分布式工作機制,主要基于這樣幾點考慮:</p><p>  

61、(1) 減少客戶機的維護量,因為前臺程序比較簡單,把企業(yè)邏輯封裝在通用的中間件應用服務器中,不同的客戶都可以共享同一個中間層(包括Web),而不必每個客戶都單獨實現(xiàn)企業(yè)規(guī)則,避免了重復開發(fā)和維護的麻煩。由于客戶程序相當瘦(這就是現(xiàn)在流行的瘦客戶機概念),無論是開發(fā)還是發(fā)布,都變得簡單了。表現(xiàn)在:便于升級,當中間件升級的時候,客戶程序可能不需要變化;實現(xiàn)了分布式數據處理,把一個應用程序分布在幾臺機器上運行,可以提高應用程序的性能,也可以把

62、敏感部分封裝在中間件,為不同的用戶設置不同的訪問權限,增強了安全性;減少直接連接數據庫的用戶數目,減少費用[20]。</p><p>  (2) 在Delphi 7.0上,在原來的MIDAS基礎上,發(fā)展了DataSnap技術,在很多細節(jié)方面,它提供了原來MIDAS所沒有的許多功能,使用上更加方便了。</p><p>  (3) DataSnap主要提供客戶端和中間件之間的通信,不但支持CO

63、M+技術也支持TCP/IP或者CORBA,它們使用類似的界面和方法,其結果由程序自動完成,這就大大擴充了它的應用范圍。</p><p>  (4) 必須要提醒的是,前臺機器上除了應用程序以外,還必須把一個MIDAS.DLL文件復值到前臺機器上,這個文件在服務器的WINNT\System32目錄下。</p><p>  4.2 服務端程序的建立</p><p>  服

64、務器端程序實際上是個COM 工程,它本身連接數據源,再通過接口與客戶端聯(lián)系,這個COM 工程必須注冊在服務器上。</p><p>  首先建立一個空白的工程,在工程里放置一個Adoconnection組件。然后再建一個遠程數據模塊Remote Data Module(遠程數據模塊)。Coclass Name : libserver ,Instancing:執(zhí)行模式,大部分用Multiple Instance(多重

65、實例),Threading Model:線程模式,建議用Apartment(單元),產生一個窗口,在這個窗口里,可以放入數據控件。</p><p>  在Type Libray 中,我們可以看到這個COM 的一些特性。我們也可以記下系統(tǒng)提供的GUID,以備后來使用。加入一個ADOTable,并設置其指向一個數據庫。再設置一個DataSetProvider(在DataAccess頁)指向ADOTable,這就完成了

66、服務器端的程序設計。保存,編譯,注冊(注意,只要運行就自動在本機注冊了)。</p><p>  4.3 客戶端程序的建立</p><p>  在Two-Tier模式中,客戶端(Client)程序是直接和服務器的數據源相連的,而Multi-Tier模式,多個客戶端連接的是一個應用程序服務器,因為收費是按客戶端數計算的,所以,數據庫的使用費用比較低。</p><p> 

67、 (1) 建立一個普通的工程 </p><p>  (2) 放置一個TDCOMConnrction控件</p><p>  屬性:在本機注冊時,可直接設置以下屬性:ServerName:應用程序服務器注冊名server.libserver,Connected=true。這時你可以看到服務器端的COM 程序被激活了。如果在網絡上調試,需要給出服務器名:ComputerName:服務器名(自動

68、給出網上鄰居)注意: ServerGUID的GUID值是自動給出的。</p><p>  (3) 放置一個TClientDataSet控件</p><p>  屬性RemoteServer= DCOMConnrction1,ProviderName:=DataSetProvider1(服務器端將被激活),Active=true (激活后將能正常連接)</p><p>

69、;  (4) 放置TDataSource</p><p>  屬性:Dataset:指向cdsCustomer。</p><p>  這樣一個客戶端程序就建立好了,其余猶如普通的數據庫設計。</p><p>  4.4 Delphi 7.0 VCL組件的體系結構</p><p>  Delphi類可以粗略地分成兩部分:一部分是組件類,這些組件

70、類通常以某種方式出現(xiàn)在組件面板上,當用戶從組件面板上點取一個類的圖標后,在程序中就自動生成了該類的對象(非可視組件除外);另一部分是功能類,這此功能類的對象通常出現(xiàn)在程序代碼中,起著不可代替的作用,但是這些功能類在組件面板上是找不到的。在Delphi中,每一個類的祖先都是Tobject類,整個類的層次結構就像一棵倒掛的樹,在最頂層的樹根即為Tobject類。這樣,按照面向對象編程的基本思想,就使得用戶可用Tobject類這個類型代替任何

71、其它類的數據類型。</p><p>  實際上在Delphi的類庫中,Tobject類派生出了為數相當眾多的子類,它們形成了一個龐大的體系,通常情況下,如果不自行開發(fā)組件,就不必了解整個類的體系結構,只用到類層次 樹的葉結點就足夠了。這一小節(jié)簡略介紹一下Delphi 6.0中VCL(可視化組件庫)組件的體系結構。凡是做過程序開發(fā)的人都知道從來沒有單純的數據應用程序,也就是說,數據庫應用程序必須和用戶界面(可以是圖

72、形界面,也可以是命令接口)元素相結合,只講界面或只講數據庫本身都構不成數據庫應用程序,因而用Delphi 7.0開發(fā)數據庫應用程序就隱含著界面開發(fā)[19]。組件在Delphi程序的開發(fā)中是最顯眼的角色。大家知道,在編寫程序時一般都開始于在組件面板上選擇組件并定義組件間的相互作用。但也有一些組件不在組件面板上,例如Tform和Tapplication(典型的非可視組件)。組件是Tcomponents派生出來的子類,可以流的形式存放在DFM

73、文件中,具有事件和Publish屬性。窗口組件類是窗口化的可視化組件類,在Delphi的類庫中占有最大的份額。</p><p>  在實際編程中,窗口組件類的對象都有句柄,可以接受輸入焦點和包含其它組件。圖形組件與窗口組件并列,是另一大類組件。圖形組件不是基于窗口的,因而不能有窗口句柄,不能接受輸入焦點和包含其它組件。圖形組件的基類是TgraphicControl,在實際編程中,它們必須寄生于它們的宿主——窗口組

74、件類的對象,由它們的擁有者負責其顯示,而且它們還能觸發(fā)一些和鼠標活動相關的事件。圖形控件最典型的例子是Tlabel和TspeedButton。其實使用圖形組件的最大好處在于節(jié)省資源,正是因為它們的功能較弱,所以使用的系統(tǒng)資源就要少。在一個應用程序中,如果能在不影響其功能的前提下合理大量地使用圖形組件,將會大減少程序對系統(tǒng)資源的消耗[18]。非可視組件是與可視組件相并列的另一類組件,非可視組件在程序運行中是不可見的(除各種對話框組件之外,

75、事實上有人認為對話框組件不能歸入非可視組件,應該是另一種介于可視與非可視之間的組件)。</p><p>  最后要說明一下,常說的控件實際上是一種組件??丶蒞indows系列操作系統(tǒng)提出并使用,而組件是Borland和其它廠商在對Windows控件做了必要的擴展之后提出來的概念,它們是在不同時期由不同的廠商提出的概念。</p><p><b>  4.5數據庫組件</b&

76、gt;</p><p>  用Delphi7.0開發(fā)數據庫應用,重點是和各種數據庫組件打交道,能和數據庫掛鉤的組件對象有5種,它們是:Session(數據庫會話)、Database(數據庫)、Dataset(數據集)、DataSource(數據源)、Data control(數據控制組件,也叫data-controls即數據感知組件)。其中前面4種統(tǒng)稱為數據訪問(Data Access)組件。ADO組件 Delp

77、hi7.0包含了可以用來訪問Microsoft公司的ActiveX Data Objects(ADO)格式數據庫的組件。ADO是Micrsoft公司關于各種類型數據的高等界面,后來逐漸演變成滿足所有數據訪問需要的完整解決辦法。ADO的對象模型是所有數據訪問接口對象模型中最簡單的一種。</p><p>  Microsoft公司用來訪問ADO數據的應用程序界面技術是OLE DB。OLE DB是一種底層編程接口,用來

78、訪問許多不同類型的數據源,其中包括消息、文件系統(tǒng)以及其他一些非傳統(tǒng)的數據源。OLE DB是一個由Component Object Model(COM)接口組成的集合,用來隱藏創(chuàng)建數據訪問服務過程中的細節(jié)。OLEDB提供了訪問任何數據資源的方法,包括相互關聯(lián)的數據庫和相互不關聯(lián)的數據庫、Email和文件系統(tǒng)、文本和圖形以及用戶定義的數據對象[20]。Delphi的ADO組件無需依靠BDE而是使用ADO技術,提供了可以通過數據控制組件訪問數

79、據的新方法。唯一的要求是在使用ADO組件時必須運行ADO/OLE-DB。ADO組件的使用使得DELPHI在訪問數據的類型和采用的技術方面都有了很大的突破。</p><p>  第5章 圖書管理系統(tǒng)的功能實現(xiàn)</p><p><b>  5.1數據庫的連接</b></p><p>  通過它連接數據庫。數據模塊如圖5-1所示。</p>

80、<p><b>  圖5-1 數據模塊</b></p><p>  圖5-2 數據庫連接模塊</p><p>  點擊ADOConnection1組件,在“Object Inspector”窗口中,單擊ConnectionString屬性右側的【…】按鈕,彈出對話框,單擊“Build”選項在彈出的對話框中的“提供程序”選項卡中設置希望連接的數據,單擊“下

81、一步”,選擇“連接”選項卡,設置連接相關設置,單擊測試連接,如果連接成功,則提示成功,單擊【確定】按鈕完成數據庫的連接。如圖5-3所示。</p><p>  圖5-3 數據鏈接屬性</p><p>  5.2主要功能模塊的詳細設計</p><p>  5.2.1 登錄窗口的設計</p><p>  登錄窗體是在整個程序運行之前呈現(xiàn)給用戶的界面

82、,通過它來進行用戶的合法性驗證,需要添加兩個TEdit和兩個TLabel、TBitbutton組件,具體設計界面如圖5-4所示。</p><p><b>  圖5-4用戶登錄</b></p><p><b>  程序相關代碼:</b></p><p>  procedure TFormlogin.ButtonloginCl

83、ick(Sender: TObject);</p><p>  var dmScreenSettings: DEVMODE; // 設備模式</p><p>  begin try</p><p>  if trim(username.Text )='' then</p><p><b>  begin</b

84、></p><p>  application.MessageBox('用戶名為空,請輸入用戶名','輸入錯誤',mb_iconinformation + mb_defbutton1);</p><p>  username.SetFocus ;</p><p><b>  exit;end;</b><

85、;/p><p>  if trim(userpwd.Text )='' then</p><p><b>  begin</b></p><p>  application.MessageBox('用戶密碼為空,請輸入密碼!','輸入錯誤',mb_iconinformation + mb_defbut

86、ton1);</p><p>  userpwd.SetFocus ; exit;end;</p><p>  fm_data.Cd_login.Close;</p><p>  fm_data.Cd_login.CommandText:='selec * from Userlogin where UserName='+'''

87、;'+username.Text +''''+' and UserPwd='+''''+userpwd.Text +'''';</p><p>  fm_data.Cd_login.Execute;fm_data.Cd_login.Open;</p><p>  if f

88、m_data.Cd_login.RecordCount=0 then</p><p><b>  begin</b></p><p>  returnvalue:=application.MessageBox('該用戶記錄不存在,或者你的信息輸入錯誤。請重新輸入信息!' ,'系統(tǒng)警告',mb_Iconstop+mb_RetryCance

89、l+mb_defbutton1);</p><p>  case returnvalue of</p><p>  mrRetry: begin</p><p>  logintimes:=logintimes+1;</p><p>  if(logintimes=3)then begin</p><p>  

90、returnpwd:=application.MessageBox('很抱歉!您已經三次嘗試進入本系統(tǒng),均不成功,系統(tǒng)將強制關閉!' ,'系統(tǒng)警告',mb_Iconstop+mb_OK+mb_defbutton1);</p><p>  case returnpwd of</p><p>  mROK:begin</p><p> 

91、 formlogin.Close; close;</p><p>  end;end;end;else begin</p><p>  username.Text:='';userpwd.Text :='';username.SetFocus ;</p><p>  exit;end;end;mrcancel:begin</p

92、><p>  formlogin.free;close;end;end;</p><p><b>  end else</b></p><p><b>  begin</b></p><p>  pepdom:= fm_data.Cd_login.FieldByName('Userpepdom

93、').AsString;</p><p>  fm_data.Cd_login.Close;</p><p>  fm_data.Cd_login.CommandText:='update Screen set width='''+inttostr(screen.Width )+''',height=''

94、9;+inttostr(screen.height)+''' where autoid=''001'''; fm_data.Cd_login.Execute;</p><p>  loged:=true;</p><p>  if pepdom='超級管理員' then begin</p>

95、<p>  frmmain:=Tfrmmain.Create(self);</p><p>  frmmain.WindowState:=wsMaximized;</p><p>  formlogin.Close;</p><p>  frmmain.ShowModal; end</p><p>  5.2.2 主窗體設計&l

96、t;/p><p>  通過本模塊可以實現(xiàn)系統(tǒng)的所有功能,主要用到的組件包括TMainMenu,TStatus-Bar,TToolBar和TimageList,界面設計如圖5-5所示。</p><p>  具體操作步驟是添加一個TMainMenu組件,右擊組件進入Menu Designer界面對菜單進行添加,每個菜單下都有子菜單,包括系統(tǒng)管理(書庫編目,書籍信息,讀者管理,借閱列表退出系統(tǒng)),查

97、詢(書庫查詢,借閱查詢,還書查詢),關于。再添加一個TToolBar組件,右擊組件,點擊New Button和New Separator進行添加新按鈕和間隔,每個按鈕都有不同的功能。再添加一個TPanel組件,在panel組件上添加TLabel和Timage組件,TLabel組件用來填寫系統(tǒng)的標題,Timage組件用來添加窗體的背景圖片。</p><p>  圖5-5 主界面設計</p><p

98、>  點擊一個Menu按鈕就會出現(xiàn)相應功能的窗體,部分代碼如下,此代碼進入的是管理界面和查詢界面。相關程序代碼如下:</p><p>  procedure Tfrmmain.bookstackClick(Sender: TObject);</p><p><b>  begin</b></p><p>  frmbookquery:=t

99、frmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.bookinfoClick(Sender: TObject);</p><p><b>  begin</b></p><p>  frmboo

100、kquery:=tfrmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.readerinfoClick(Sender: TObject);</p><p><b>  begin</b></p><p&

101、gt;  frmuseradd:=tfrmuseradd.Create(SELF);</p><p>  frmuseradd.Show;end;</p><p>  procedure Tfrmmain.lentbookClick(Sender: TObject);</p><p><b>  begin</b></p><

102、;p>  frmselectreader:=tfrmselectreader.Create(SELF);</p><p>  frmselectreader.Caption:='讀者借閱信息登錄';</p><p>  frmselectreader.Show;end;</p><p>  procedure Tfrmmain.systemex

103、itClick(Sender: TObject);</p><p><b>  begin</b></p><p>  application.Terminate;close;end;</p><p>  procedure Tfrmmain.querybookClick(Sender: TObject);</p><p&g

104、t;<b>  begin</b></p><p>  frmbookquery:=tfrmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.queryreaderClick(Sender: TObject);</p&

105、gt;<p><b>  begin</b></p><p>  frmreader.show;</p><p>  frmreader.FormCreate(sender);end;</p><p>  procedure Tfrmmain.querylentbookClick(Sender: TObject);</p&g

106、t;<p><b>  begin</b></p><p>  frmselectreader:=tfrmselectreader.Create(SELF);</p><p>  frmselectreader.Caption:='讀者借閱信息登錄';</p><p>  frmselectreader.Show;

107、end;</p><p>  procedure Tfrmmain.manageinitClick(Sender: TObject);</p><p>  beginmanset.Show ;manset.FormCreate(sender);end;</p><p>  procedure Tfrmmain.queryreturnbookClick(Sender:

108、 TObject);</p><p><b>  begin</b></p><p>  frmlentbook:=Tfrmlentbook.Create(self);</p><p>  frmlentbook.Show;</p><p>  end;在主窗體下方的TStatus-Bar中,顯示登錄的當前用戶名和登錄日

109、期。</p><p>  procedure Tcfrm_mainform.FormCreate(Sender: TObject);</p><p><b>  begin</b></p><p>  tatus.Panels[0].Width:=350;</p><p>  status.Panels[1].Width

110、:=350;</p><p>  status.Panels[2].Width:=330;</p><p>  Status.Panels[0].Text:='歡迎您登錄圖書館客戶端管理系統(tǒng)!';</p><p>  Status.Panels[1].Text:='操作員:'+formlogin.username.Text;</

111、p><p>  Status.Panels[2].Text:='現(xiàn)在的日期是:'+datetostr(date)+' 時間是: '+timetostr(NOW);</p><p>  username:= formlogin.username.Text;end;</p><p>  5.2.3 書庫信息查詢管理模塊設計</p&g

112、t;<p>  書庫信息管理模塊主要實現(xiàn)了對館藏圖書信息進行按照綜合查詢條件功能進行查詢,窗體設計如圖5-6所示。</p><p>  具體操作步驟是在窗體上添加DataGrid組件,再添加4個GroupBox組件。添加6個TComboBox組件,用于讀取數據庫中書籍大小類的名稱,在此組件上添加TLabel和Tedit組件,在TLabel的caption屬性中填寫字段名。再添加4個Tbutton按扭

溫馨提示

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

評論

0/150

提交評論