




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、-. z.圖書館管理系統(tǒng)分析與設計第一章引言隨著計算機及網絡技術的飛速發(fā)展,Internet/Intranet應用在全球圍日益普及,當今社會正快速向信息化社會前進,信息自動化的作用也越來越大。從而使我們從繁雜的事務中解放出來,提高了我們的工作效率。目前圖書館的借閱工作部分還是手工管理,工作效率很低,并且不能及要求。手工管理還存在這許多弊端,由于不可避免的人為因素,造成數(shù)據(jù)的遺漏、誤報。計算機信息化管理有著儲存量大,速度快等許多優(yōu)點,提供給我們的處理信息及時快捷,因此我們利用計算機提供給我們的信息對學生們的借閱過程形成一整套動態(tài)的管理。管理信息系統(tǒng)(簡稱MIS)是介于信息論,經濟管理理論,統(tǒng)計學
2、與運籌學及計算機科學之間的一門邊緣性,綜合性,系統(tǒng)性的交叉科學,它是隨著管理科學,信息技術,計算機技術等的發(fā)展而產生和發(fā)展起來的。圖書館管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端的應用程序的開發(fā)兩個方面。對于前者要求建立數(shù)據(jù)的一致性和完整性,對于后者則要求應用程序功能的完備,易用等的特點。基于上述考慮本系統(tǒng)主要利用PowerBuilder 9.0作前端的應用開發(fā)工具,利用SQL SERVER 2000 作為后臺的數(shù)據(jù)庫,利用WINDOWS作為系統(tǒng)平臺開發(fā)的圖書管理系統(tǒng)。另外本圖書館管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結構化生命法進行系統(tǒng)分析和設計的,而
3、系統(tǒng)實現(xiàn)等步驟則采用了原型法和面對對象的方法。第1節(jié)管理信息系統(tǒng)的定義MIS的定義有很多種,研究者們從各自的角度出發(fā)給出了不同的定義。MIS的一個定義是:一個MIS是能夠提供過去、現(xiàn)在和將來預期信息的一種有條理的方式,這些信息涉及到部業(yè)務和外部情報。它按適當?shù)臅r間間隔供給格式相同的信息,支持一個組織的計劃、控制和操作功能,以便輔助決策制定過程。MIS的另一個定義是:MIS是一個由人、計算機等組成的能進行信息收集、傳送、儲存、維護和使用的系統(tǒng),能夠實測企業(yè)的各種運行情況,并利用過去的歷史數(shù)據(jù)預測未來,從企業(yè)全局的角度出發(fā)輔助企業(yè)進行決策,利用信息控制企業(yè)的行為,幫助企業(yè)實現(xiàn)其規(guī)劃目標。第2節(jié)管理
4、信息系統(tǒng)的主要功能1.信息處理信息處理對組織的數(shù)據(jù)和信息進行收集、存儲、傳輸、加工、查詢等操作,以實現(xiàn)向管理人員及時提供所需的可靠、準確信息的功能。2.輔助事務處理和輔助組織管理輔助事務處理,包括具有通用性的事務處理(如計劃的制定與管理、人事管理、財務管理等)和各類特殊事務處理(如物資管理、銷售規(guī)律3、教學管理、群眾來信來訪管理等)。3.支持決策實測企業(yè)運行情況、預測企業(yè)未來行為、輔助企業(yè)決策人員進行決策是管理信息系統(tǒng)的重要功能,管理信息系統(tǒng)主要是輔助結構化決策問題。第3節(jié)管理信息系統(tǒng)的結構MIS的結構有以下幾種:總體結構:信息源、信息處理器、信息用戶、信息管理者。物理結構:物理組成、處理功能
5、、用戶需要的輸出。層次結構:用于執(zhí)行控制的信息系統(tǒng)、管理控制的信息系統(tǒng)、戰(zhàn)略計劃的信息系統(tǒng)。職能結構:一般企業(yè)的職能子系統(tǒng)有市場銷售、生產管理、物資供應、人事管理、財務管理、信息管理、高層管理等子系統(tǒng)。空間分布結構:集中式系統(tǒng)、分布式系統(tǒng)。第4節(jié)管理信息系統(tǒng)開發(fā)方法MIS(管理信息系統(tǒng))的開發(fā)方法有三種:生命周期法、原型法和面向對象的開發(fā)方法等:生命周期法(Life Cycle Method)是20世紀60年代發(fā)展起來的一種應用廣泛且比較成熟的管理系統(tǒng)開發(fā)方法,就是用按照MIS的生命周期來開發(fā)的一種方法,把MIS開發(fā)分成五個形狀:總體規(guī)劃,系統(tǒng)分析,系統(tǒng)設計,系統(tǒng)實施和系統(tǒng)的運行維護。原型法(
6、Prototyping Method)是80年代隨著計算機軟件技術的發(fā)展,特別是在關系數(shù)據(jù)庫系統(tǒng)(RDBS)、第四代程序生成語言(4GL)和各種系統(tǒng)開發(fā)生成環(huán)境產生的基礎之上,提出的一種從設計思想、工具、手段都全新的系統(tǒng)開發(fā)方法。原型法是憑借著系統(tǒng)開發(fā)人員對用戶要求解,在強有力的軟件環(huán)境支下,給出一個實實在在的系統(tǒng)原型,然后與用戶反復協(xié)商修改,最終形成實際系統(tǒng)。面向對象(Object Oriented)的開發(fā)方法于20世紀80年代開始興起的,是一種基于問題對象的自底向上的一種系統(tǒng)開發(fā)方法,這種方法的特點是以對象為基礎,對象是分析問題和解決問題的核心。第5節(jié)管理信息系統(tǒng)開發(fā)過程1系統(tǒng)開發(fā)準備系統(tǒng)
7、開發(fā)準備工作主要包括提出系統(tǒng)開發(fā)要求、成立系統(tǒng)開發(fā)小組、制訂系統(tǒng)開發(fā)計劃等工作。 2系統(tǒng)調查新系統(tǒng)的系統(tǒng)分析與系統(tǒng)設計工作都要建立在對現(xiàn)行系統(tǒng)調查的基礎上,即必須調查現(xiàn)行系統(tǒng)的運行情況、問題等,明確用戶的需求,特別是合作開發(fā)和委托開發(fā)方式。調查的主要容有:(1)現(xiàn)行系統(tǒng)概況:該組織的發(fā)展歷史、目前組織的規(guī)模、工作狀況、管理水平、與外界的主要聯(lián)系等。調查該項容的目的主要是為了劃分系統(tǒng)界限、系統(tǒng)與外界的輸入輸出接口等。(2)組織機構:畫出組織的組織結構圖,弄清組織的行政關系、人員編制、工作圍、地理位置等,發(fā)現(xiàn)不合理問題及新系統(tǒng)啟動后可能對現(xiàn)有組織的影響。(3)業(yè)務流程:按照業(yè)務種類的不同和處理時間
8、的先后不同,深入了解現(xiàn)行系統(tǒng)的業(yè)務流程,畫出現(xiàn)行系統(tǒng)業(yè)務流程圖,并與業(yè)務人員反復討論,得到認可。調查中要注意定性與定量相結合,注意人、財、物、信息的流向、規(guī)格、頻率、要求以及需要解決的問題等。(4)報表、數(shù)據(jù)處理:了解各種統(tǒng)計報表、數(shù)據(jù)的格式、容、處理時間及上報時間、頻率、規(guī)律,存在的問題,對新系統(tǒng)的要求、希望等并收集各種報表。(5)問題:現(xiàn)行系統(tǒng)中存在的主要問題和薄弱環(huán)節(jié),可以按照嚴重程度分成不同的等級。新系統(tǒng)的建立應能解決大部分問題,并改善薄弱環(huán)節(jié)。(6)新系統(tǒng)的功能和目標:了解各級領導和各類業(yè)務工作人員對新系統(tǒng)功能的要求,為進一步完善新系統(tǒng)的目標做準備。(7)其他:如對新系統(tǒng)的各種約束條
9、件,需要說明的其他問題等。 3系統(tǒng)分析系統(tǒng)分析(又稱邏輯設計)是管理信息系統(tǒng)開發(fā)的關鍵環(huán)節(jié),要求在系統(tǒng)調查的基礎上,對新系統(tǒng)的功能進行細致的分析,并建立一個新系統(tǒng)的邏輯模型。新系統(tǒng)的邏輯模型由系統(tǒng)數(shù)據(jù)流程圖、概況表、數(shù)據(jù)字典、吃理邏輯表達式及有關說明組成。最后要完成系統(tǒng)分析報告(也稱為系統(tǒng)邏輯設計說明書)。系統(tǒng)邏輯模型就像在根據(jù)需要建設一座學校前,按照學校教育的層次(初等、中等、高等)、規(guī)模、投資、地理環(huán)境、技術水平等條件的要求和約束,先由建筑進行設計,保證學校建成后的各種功能得以實現(xiàn),之后才能進行工程設計和施工一樣。在系統(tǒng)設計階段要做認真、細致的分析、研究工作,避免新系統(tǒng)在功能上存在先天不足
10、或缺陷。因為新系統(tǒng)模型是建立在對現(xiàn)行系統(tǒng)的分析及要求的基礎上的,所以系統(tǒng)調查工作要進行得深入、細致、全面。用戶可以對新系統(tǒng)的邏輯模型提出意見,雙方經過討論、修改,最后達成共識,并完成系統(tǒng)分析報告(系統(tǒng)邏輯設計說明書),經有關領導審批通過之后,轉入系統(tǒng)設計(又稱系統(tǒng)物理設計)階段。 4系統(tǒng)設計系統(tǒng)設計又稱系統(tǒng)物理設計。系統(tǒng)設計要根據(jù)系統(tǒng)分析報告中的系統(tǒng)邏輯模型綜合考慮各種約束,利用一切可用的技術手段和方法進行各種具體設計,確定新系統(tǒng)的實施方案,解決系統(tǒng)怎么做”的問題。結構化系統(tǒng)設計是指利用一組標準的圖表工具和準則,確定系統(tǒng)有哪些模塊,用什么方法連接,如何構成良好的系統(tǒng)結構,并進行系統(tǒng)輸入、輸出、
11、數(shù)據(jù)處理、數(shù)據(jù)存儲等環(huán)節(jié)的詳細設計。這一階段的重點是設計好系統(tǒng)的總體結構,選擇最經濟合理的技術手段。系統(tǒng)設計階段的文件是系統(tǒng)設計報告(又稱系統(tǒng)物理設計說明書)。管理信息系統(tǒng)的開發(fā)是一項系統(tǒng)工程,為了保證系統(tǒng)的質量,設計人員必須遵守共同的設計原則,盡可能地提高系統(tǒng)的各項指標(系統(tǒng)可變性、可靠性、工作質量、工作效率、經濟性等)。 5系統(tǒng)實施與轉換系統(tǒng)實施階段的主要工作包括:系統(tǒng)硬件的購置與安裝、程序的編寫(購買)與調試、系統(tǒng)操作人員的培訓、系統(tǒng)有關數(shù)據(jù)的準備和錄入、系統(tǒng)調試和轉換。在系統(tǒng)實施階段要成立系統(tǒng)實施工作量到小組,組織各專業(yè)小組組長和有關部門的領導共同編制新系統(tǒng)實施計劃??梢詰酶鞣N項目管
12、理的軟件和方法進行管理,實行項目經理負責制,保證系統(tǒng)實施工作的順利進行和成功。硬件的購置和安裝包括計算機硬件、外設、網絡、電源、機房、環(huán)境等有關設備的購買、驗收、安裝與調試工作等,這些工作主要由專業(yè)技術人員完成。數(shù)據(jù)準備與錄入工作主要是指由手工操作轉入計算機處理所需的各種數(shù)據(jù)的整理、錄入及計算機系統(tǒng)中為新系統(tǒng)所用數(shù)據(jù)的轉換工作。數(shù)據(jù)準備與錄入工作要注意數(shù)據(jù)的準確性,在整理、錄入、校驗等各個環(huán)節(jié)把好關,為系統(tǒng)的順利轉換打好基礎。在進行以上各個環(huán)節(jié)的同時展開人員培訓工作,包括管理信息系統(tǒng)只是的普及教育、新制度的學習、計算機操作訓練等。使所有人員了解新系統(tǒng)的基本功能、新系統(tǒng)對使用人員的要求、建立管理
13、信息系統(tǒng)的目的、管理信息系統(tǒng)的建立可以為組織和個人帶來的幫助和便利、個人在新系統(tǒng)中應該承擔的工作等,是用戶關心、支持新系統(tǒng)的實現(xiàn)。 6系統(tǒng)維護和評價管理信息系統(tǒng)是一個復雜的人機系統(tǒng)。系統(tǒng)外部環(huán)境與部因素的變化,不斷影響系統(tǒng)的運行,這時就需要不斷地完善系統(tǒng),以提高系統(tǒng)運行的效率與服務水平,這就需要從始至終地進行系統(tǒng)的維護工作分頁標題#e#系統(tǒng)評價主要是指系統(tǒng)建成后,經一段時間的運行后,要對系統(tǒng)目標與功能的實現(xiàn)情況進行檢查,并與系統(tǒng)開發(fā)中設立的系統(tǒng)預期目標進行對比,及時寫出系統(tǒng)評價報告。系統(tǒng)維護與評價階段是系統(tǒng)生命周期中的最后一個階段,也是時間最長的一個重要階段,就像汽車的維護工作好可以延長汽車的
14、使用壽命和提高其使用效率一樣,系統(tǒng)維護工作的好壞可以決定系統(tǒng)的生命周期的長短和使用效果。第二章需求分析為了開發(fā)出真正滿足用戶需求的軟件產品,首先必須知道用戶的需求。對軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論我們把設計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望,給開發(fā)者帶來煩惱。需求分析是軟件定義時期的最后一個階段,它的基本任務是準確地回答系統(tǒng)必須做什么?”這個問題。第1節(jié)功能需求圖書管理系統(tǒng)涉及圖書信息、系統(tǒng)用戶信息、讀者信息、圖書借閱信息等多種數(shù)據(jù)管理。從管理的角度出發(fā)可將圖書管理分為三類:圖書信息管理、系統(tǒng)管理、讀者數(shù)據(jù)管理。圖書信息管理包括圖書入庫、
15、圖書增刪、圖書借還和查詢操作,系統(tǒng)管理主要是用戶密碼管理,讀者數(shù)據(jù)管理包括讀者類別管理和讀者個人數(shù)據(jù)的錄入、修改、刪除、借書和還書等。典型的圖書管理系統(tǒng)主要應具有以下功能:圖書入庫管理:錄入新的圖書信息。圖書信息管理:主要是對已有圖書的修改、刪除。圖書借還管理:實現(xiàn)對圖書的借出和歸還的信息管理。圖書查詢管理:通過各種查詢方式來進行查詢,比如書號、作者等。系統(tǒng)用戶管理:實現(xiàn)用戶密碼的管理。讀者數(shù)據(jù)管理:讀者個人數(shù)據(jù)的錄入、修改、刪除、刷新等功能。第2節(jié)現(xiàn)行系統(tǒng)存在問題的分析目前的圖書館多為手工管理,手續(xù)繁瑣,耗費大量的人力,而且由于信息比較多,圖書借閱信息的管理工作混亂而又復雜;一般借閱情況是記
16、錄在借書證上,圖書的數(shù)目和容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。第3節(jié)解決方案看到以上的問題,利用計算機來改進圖書館的管理就很有必要了。圖書館信息系統(tǒng)的建立,需要進行用戶的需求調查與分析,以確定系統(tǒng)目標,提出解決問題的詳細方案,這是系統(tǒng)建設的重要環(huán)節(jié)。用戶需求要有四個方面:圖書館工作人員通過計算機來管理各類圖書,分類編號,調整圖書結構,增加圖書庫存,適應學生的需求;學生們能通過計算機來查詢?yōu)g覽圖書館中的圖書,來確定自己需要的書籍,為借閱做好準備;
17、工作人員對學生們的借書證發(fā)放;對圖書的借閱管理。在軟、硬件方面對系統(tǒng)的需求,軟件要求易學,界面友好,容易掌握,可以很簡單方便的管理各種圖書信息。硬件的配置要求不能太高,這樣可以很好的適應當前的學校圖書館。在開發(fā)方式上對系統(tǒng)的需求,系統(tǒng)設計開發(fā)的周期要短,在短時間完成,減少開發(fā)成本,提高開發(fā)效率,方便、簡單、實用作為系統(tǒng)開發(fā)的指導思想。第三章總體結構設計要完成一個圖書館管理系統(tǒng),就需要更多相關的信息。因為各種原因的限制,還有開發(fā)成本,所以本系統(tǒng)僅實現(xiàn)基本的管理功能。所以必須使用前應進行二次開發(fā)。第一節(jié)系統(tǒng)目標設計實現(xiàn)部圖書借閱管理的系統(tǒng)化、規(guī)化和自動化是系統(tǒng)開發(fā)的總目標。圖3.1 圖書管理業(yè)務流
18、程圖能夠對圖書進行注冊登記,也就是將圖書的基本信息(如:書名、作者、價格等)預先存入數(shù)據(jù)庫中,供以后檢索。能夠對借閱人進行注冊登記,包括記錄借閱人的、地址、等信息。提供方便的查詢方法。如:以書名、作者、出版時間(確切的時間、時間段、*一時間之前、*一時間之后)等信息進行圖書檢索,并能反映出圖書的借閱情況;以借閱人編號對借閱人信息進行檢索;以名稱查詢聯(lián)系方式信息。提供統(tǒng)計分析功能。可以展現(xiàn)出圖書類型比例、庫存與借出比例。提供舊書銷毀功能,對于淘汰、損壞、丟失的書目可及時對數(shù)據(jù)庫進行修改。讀者可以登錄系統(tǒng)查找所需要的書,同時可以查看自己已經借到的書。能夠對使用該管理系統(tǒng)的用戶進行管理,按照不同的工
19、作職能提供不同的功能授權。提供較為完善的差錯控制與友好的用戶界面,盡量避免誤操作。第2節(jié)系統(tǒng)功能分析圖書館管理系統(tǒng)數(shù)據(jù)分為兩種:數(shù)據(jù)輸入部分,數(shù)據(jù)輸出部分和數(shù)據(jù)處理部分。數(shù)據(jù)輸入部分主要包括圖書基本信息的錄入、借閱人基本信息的錄入、用戶基本信息的錄入。數(shù)據(jù)輸出部分主要是各種統(tǒng)計查詢,包括:根據(jù)圖書信息(如書名、作者、等)查閱圖書及其借閱信息、統(tǒng)計輸出圖書類型比例等。數(shù)據(jù)處理部分主要涉及借閱和歸還的處理,如一本書借出后,必須在數(shù)據(jù)庫中將該書標記為已借出,以防出現(xiàn)數(shù)據(jù)庫中有書但圖書館無書的情況;一本書歸還后,同樣必須在數(shù)據(jù)庫中將其標記為已經歸還,以便再次借出。圖3.2 圖書管理系統(tǒng)功能模塊圖第3節(jié)
20、系統(tǒng)各功能模塊設計在系統(tǒng)功能分析的基礎上,考慮PowerBuilder程序編制的特點,得到如圖所示的系統(tǒng)功能模塊圖:圖3.3圖書借閱管理系統(tǒng)圖第4節(jié)數(shù)據(jù)流圖(1)圖書基本信息登記/修改圖3.4 系統(tǒng)數(shù)據(jù)流圖說明:信息人工錄入后,存放在信息庫中,便于今后書籍信息的錄入以及信息的查詢。分類信息由圖書館進行分類定制,存放在圖書分類信息庫中,用于圖書的分類管理。登記新書時,當涉及到和分類的填寫時,只需做相應的選擇即可,并存放在圖書信息庫中。(2)借閱人基本信息登記/修改圖3.5 借閱人信息修改說明:錄入借閱人基本信息后存放在借閱人信息庫中。(3)圖書查詢圖3.6 圖書查詢說明:輸入查詢條件后,檢索圖書
21、信息庫,并反應出查詢結果。(4)圖書統(tǒng)計圖3.7 圖書統(tǒng)計說明:根據(jù)選擇的統(tǒng)計條件,檢索圖書分類信息庫或圖書信息庫,并反應出統(tǒng)計結果。(5)圖書借閱圖3.8 圖書借閱說明:輸入借閱人編號,通過檢索借閱人信息庫,核實借閱人身份。輸入圖書編號,通過檢索圖書信息庫,核實圖書信息。進行圖書借出處理后,在圖書借閱庫中進行登記,并將借出圖書的在借標志設為是”。(6)圖書歸還圖3.9 圖書歸還說明:輸入圖書編號,檢索在借信息庫,反應出圖輸借閱情況。進行歸還操作后,修改在借信息庫中相關條目,同時在圖書信息庫中修改相關圖書在借標志為否第三章數(shù)據(jù)庫設計需求分析概念設計邏輯設計物理設計實施階段運行和維護一、需求分析
22、1.1 系統(tǒng)目標圖書管理信息系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強.數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。系統(tǒng)開發(fā)的總體任務是實現(xiàn)各種信息的系統(tǒng)化,規(guī)化和自動化。1.2 需求定義圖書館管理系統(tǒng)開發(fā)。系統(tǒng)開發(fā)的總的設計目標是實現(xiàn)圖書管理的系統(tǒng)化、規(guī)化和自動化,實現(xiàn)對圖書資料的集中統(tǒng)一的管理。本系統(tǒng)主要實現(xiàn)對圖書館信息的管理,主要功能為管理有關讀者、圖書、借閱、查詢、刪除和管理員的信息等。本系統(tǒng)結構分為讀者信息管理、圖書信息管理,讀者管理可以瀏覽讀者的信息,可以對讀者
23、信息進行維護。圖書管理可以瀏覽圖書的信息,可以對圖書信息進行維護。借閱管理可以顯示當前數(shù)據(jù)庫中書籍借閱情況,可以對借閱信息進行維護。本系統(tǒng)主要解決的問題是利用關鍵字對數(shù)據(jù)庫進行查詢。本系統(tǒng)的宗旨是提高圖書管理工作的效率,減少相關人員的工作量,使學校的圖書管理工作真正做到科學、合理的規(guī)劃,系統(tǒng)、高效的實施。1.3 功能需求(1)有關讀者種類標準的制定、種類信息的輸入、包括種類編號、種類名稱、借書數(shù)量、借書期限等。(2)讀者有關信息的修改、查詢等。(3)讀者基本信息的輸入,包括讀者編號、讀者、班級、院系等。(4)讀者基本信息的查詢、修改(5)書籍信息的輸入,包括書籍編號、書籍名稱、書籍所屬類別、作
24、者、出版日期、在庫數(shù)、價格(6)借書信息包括借書證號、書籍編號、借出日期、拖欠日期、罰款種額(7)圖書管理書籍號、管理員編號、銷書數(shù)量、銷書日期。概念設計根據(jù)需求分析我們規(guī)劃出實體有:管理員信息實體、圖書信息實體、讀者信息實體、借閱信息實體、管理信息實體。各個實體具體的描述E-R實體如下。1、圖書管理員信息模塊2、借閱者信息模塊3、圖書信息模塊4.管理信息模塊5、完整的ER圖三、邏輯結構設計1、數(shù)據(jù)庫邏輯設計:從ER模型到理論關系模型的轉換,通過E_R模型到關系模型的轉換我們可以得到如下關系模式(1)借閱關系屬性:借書證號、書的編號、借出日期、歸還日期、推遲日期、應罰款總額主鍵:借書證號、編號
25、(2)管理員與圖書關系屬性:管理員編號、書的編號、銷毀日期、銷毀數(shù)量主鍵:管理員編號、圖書編號2、數(shù)據(jù)庫邏輯結構(1).書籍信息表由大量圖書構成記錄圖書數(shù)據(jù)結構如下:(2、)讀者信息表:讀者記錄的數(shù)據(jù)結構如下(3)借閱信息表:借閱數(shù)據(jù)構成(4)管理員信息表:其結構如下(5)管理表:有隊圖書管理的信息構成物理設計從理論關系模型到實施數(shù)據(jù)庫建立、物理文件的安排和、建立索引建立索引為提高在表中搜索元組的速度,在實際現(xiàn)實的時候應該基于鍵碼建立索引是個表中建立索引的表項:讀者信息(讀者圖書證號)書籍信息(書籍編號)管理員書籍(管理員編號,圖書編號)管理員(管理員編號)借閱信息(讀者圖書證號,圖書編號)將
26、上面的邏輯結構設計轉換為SQL sever 2005據(jù)支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。圖書管理系統(tǒng)數(shù)九庫各個表中的的設計如下:建立圖書館數(shù)據(jù)庫(MyLibrary)createdatabase MyLibraryon(name=Mylibrary_data1,filename=d:Mylibrary_data1.mdf,size=10,ma*size=50,filegrowth=4),(name=Mylibrary_data2,filename=d:Mylibrary_data2.ndf,size=8,ma*size=20,filegrowth=2)logon(name=Mylib
27、rary_log1,filename=d:Mylibrary_log1.ldf,size=10,ma*size=20,filegrowth=2)go查看數(shù)據(jù)庫建立信息:sp_helpdb MyLibrarygo(2)在MyLibrary表中建立管理員表(adminis)use MyLibrarygoCreatetable admins(Id nvarchar(10)notnull,adNam nvarchar(20)notnull,GLSk nvarchar(10)notnull,constraint pk_adminsprimarykey(Id)go查看表信息:select*from adm
28、inssp_help admins在數(shù)據(jù)庫中建立圖書表(BOOk)use MyLibrarygoCreatetable Book(Ip nvarchar(10)notnull,bookName nvarchar(20)notnull,author nvarchar(20)notnull,LB nvarchar(10)notnull,publisher nvarchar(10)notnull,pubilshdata nvarchar(8)notnull,buydata nvarchar(8)notnull,stocknum intnotnull,price decimal(6,2)notnull
29、,constraint pk_Bookprimarykey(Ip)go結果:(3)建立讀者信息表(Reader):Createtable Reader(ReadId nvarchar(10)notnull,Name nvarchar(20)notnull,Class nvarchar(10)notnull,Department nvarchar(10)notnull,constraint pk_Readerprimarykey(ReadId)go顯示:sp_help Reader(4)在數(shù)據(jù)庫中建立借閱信息表(loanInfo):use MyLibrarygoCreatetable loanI
30、nfo(Ip nvarchar(10)notnull,ReadId nvarchar(20)notnull,loandate nvarchar(20)notnull,bakedate nvarchar(10)notnull,latedate nvarchar(10)notnull,penalsum intnotnull,constraint pk_loanInfoprimarykey(Ip)go(5)建立管理員管理書的管理表(Manage)Createtable Manage(Ip nvarchar(10)notnull,Id nvarchar(10)notnull,bookName nvar
31、char(20)notnull,Booksdestroyeddate nvarchar(8)notnull,destroyNum intnotnull,constraint pk_Manageprimarykey(Ip)sp_help Manage實施階段1、在數(shù)據(jù)庫中用DML語言對adminis表加入數(shù)據(jù)insert adminsvalues(001,三,IT計算機)values(002,四,經濟學)select*from admins用DML語言對BOOk表添加數(shù)據(jù)insert Bookvalues(00001,C語言,譚浩強,IT計算機,電子工業(yè),20090801,20100101,50
32、,20.00)insert Bookvalues(00003,貿易關系,譚浩強,經濟學,電子工業(yè),20090801,20100101,50,20.00)select*from Book用DML語言對Reader表添加數(shù)據(jù)insert Readervalues(00001,王五,10級計應三班,電子與信息工程系)select*from Reader5、用DML語言對loanInfo表添加數(shù)據(jù)insert loanInfovalues(00001,00001,20110112,20110212,10,5)select*from loanInfo用DML語言對Manage表添加信息insert Ma
33、nagevalues(00001,001,C語言,20110112,20)select*from Manage運行和維護對數(shù)據(jù)庫性能的監(jiān)測、分析和改善。在數(shù)據(jù)庫運行過程中,監(jiān)督系統(tǒng)運行,對監(jiān)測數(shù)據(jù)進行分析,找出改進系統(tǒng)性能的方法是數(shù)據(jù)庫管理員的又一重要任務。目前有些數(shù)據(jù)庫管理系統(tǒng)產品提供了監(jiān)測系統(tǒng)性能參數(shù)的工具,數(shù)據(jù)庫管理員利用這些工具方便地得到系統(tǒng)運行過程中一系列性能參數(shù)的值。數(shù)據(jù)庫管理員應仔細分析這些數(shù)據(jù),判斷當前系統(tǒng)運行狀況是否是最佳,應當做哪些改進。例如調整系統(tǒng)物理參數(shù),或對數(shù)據(jù)庫進行重組織或重構造等。數(shù)據(jù)庫的轉儲和恢復。數(shù)據(jù)庫的轉儲和恢復是系統(tǒng)正式運行后最重要的維護工作之一。要針對不
34、同的應用要求制定不同的轉儲計劃,以保證一旦發(fā)生故障能盡快將數(shù)據(jù)庫恢復到*種一致的狀態(tài),并盡可能減少對數(shù)據(jù)庫的破壞。數(shù)據(jù)庫的安全性和完整性。各級環(huán)境數(shù)據(jù)庫系統(tǒng)主管單位應保證以下安全保護措施的正常執(zhí)行。環(huán)境數(shù)據(jù)庫系統(tǒng)重要部分的冗余或備份措施。計算機病毒防治措施。網絡攻擊防、追蹤措施。環(huán)境數(shù)據(jù)庫系統(tǒng)運行和用戶操作日志記錄保存60 日以上措施。記錄環(huán)境數(shù)據(jù)庫系統(tǒng)用戶網絡地址的措施。環(huán)境數(shù)據(jù)庫系統(tǒng)身份登記和識別確認措施。數(shù)據(jù)庫的重組和重構。數(shù)據(jù)庫運行一段時間后,由于記錄不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲情況變壞,降低了數(shù)據(jù)的存取效率,數(shù)據(jù)庫性能下降,這時DBA(數(shù)據(jù)庫管理員)就要對數(shù)據(jù)庫進行重組織,或
35、部分重組織(只對頻繁增、刪的表進行重組織)。DBMS(數(shù)據(jù)庫管理系統(tǒng)(database management system))一般都提供數(shù)據(jù)重組織用的實用程序。在重組織的過程中,按原設計要求重新安排存儲位置、回收垃圾、減少指針鏈等,提高系統(tǒng)性能。部分修改數(shù)據(jù)庫的模式和模式實現(xiàn)數(shù)據(jù)庫的重組。第五章圖書管理系統(tǒng)的具體實施第一節(jié) PowerBuilder開發(fā)工具簡介數(shù)據(jù)庫應用是當前計算機應用的一個非常重要的方面,而在目前的數(shù)據(jù)庫應用技術中普遍采用的就是客戶機/服務器體系結構,在這種體系結構中,所有的數(shù)據(jù)和數(shù)據(jù)庫管理系統(tǒng)都在服務器上,客戶機通過采用標準的SQL語句等方式來訪問服務器上數(shù)據(jù)庫中的數(shù)據(jù)。由
36、于這種體系結構把數(shù)據(jù)和對數(shù)據(jù)的管理都統(tǒng)一放在了服務器上。就保證了數(shù)據(jù)的安全性和完整性,同時也可以充分利用服務器高性能的特點。正因為客戶機/服務器體系結構的這些優(yōu)點,因而得到了非常廣泛的應用。PowerBuilder是完全按照客戶機/服務器體系結構研制設計,在客戶機/服務器結構中,它使用在客戶機中,作為數(shù)據(jù)庫應用程序的開發(fā)工具而存在。由于PowerBuilder采用了面向對象和可視化技術,提供可視化的應用開發(fā)環(huán)境,使得我們利用PowerBuilder,可以方便快捷地開發(fā)出利用后臺服務器中的數(shù)據(jù)和數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫應用程序。在當前,網絡技術迅速發(fā)展,隨之發(fā)展的還有OLE,OC*,跨平臺等技術,
37、而在PowerBuilder的最新版PowerBuilder 9.0中提供了對這些技術的全面支持。總之在數(shù)據(jù)庫開發(fā)工具領域,PowerBuilder是其中非常優(yōu)秀的一個,利用它我們可以開發(fā)出功能強大的數(shù)據(jù)庫應用程序。第二節(jié) SQL Server后臺數(shù)據(jù)庫管理系統(tǒng)本系統(tǒng)的開發(fā)選擇了SQL數(shù)據(jù)庫。SQL是MS SQL Server的簡述,是世界上及國比較流行的關系數(shù)據(jù)庫管理系統(tǒng)。它適用于中小型事物處理及客戶端/服務端結構的應用系統(tǒng)。它功能強大操作簡便,日益為廣大數(shù)據(jù)庫用戶所喜愛。越來越多的開發(fā)工具提供了與SQL Server的接口。SQL Server 是一個關系數(shù)據(jù)庫管理系統(tǒng),它最初是由Micr
38、osoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的。于1988 年推出了第一個OS/2 版本,在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的最新版本,該版本繼承了SQL Server 7.0 版本的優(yōu)點,同時又比它增加了許多更先進的功能、具有使用方便、可伸縮性好與相關軟
39、件集成程度高等優(yōu)點??煽缭綇倪\行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2000 的大型多處理器的服務器等多種平臺使用。MS SQL Server不但可以應用于大中型數(shù)據(jù)庫管理中,建立分布式關系數(shù)據(jù)庫,并且也可以開發(fā)桌面數(shù)據(jù)庫。事實上,SQL Server數(shù)據(jù)庫處理的基本結構,采取關系型數(shù)據(jù)庫模式,盡管如此,相信大家都可以輕易的發(fā)現(xiàn),在SQL Server的數(shù)據(jù)庫處理方式,則是使用面向對象的操作方式與精神,也就是說,SQL Server的所有功能,都可以基于系統(tǒng)已經建立好的一些對象來達成,是相當OO(面向對象)的一個系統(tǒng)結構。分頁標題#e
40、#SQL Server 企業(yè)管理器是 SQL Server 的主要管理工具,它提供了一個遵從 MMC 標準的用戶界面,使用戶得以:定義 SQL Server 實例組。將個別服務器注冊到組中。為每個已注冊的服務器配置所有 SQL Server 選項。在每個已注冊的服務器中創(chuàng)建并管理所有 SQL Server 數(shù)據(jù)庫、對象、登錄、用戶和權限。在每個已注冊的服務器上定義并執(zhí)行所有 SQL Server 管理任務。通過喚醒調用 SQL 查詢分析器,交互地設計并測試 SQL 語句、批處理和腳本。它支持中小型數(shù)據(jù)庫,多用戶的高性能和事物處理,支持分布式數(shù)據(jù)庫和分布處理,能夠實現(xiàn)安全性和完整性控制,具有可移
41、植性、可兼容性和可聯(lián)結性,它具有良好的數(shù)據(jù)管理能力和良好的開發(fā)性。第三節(jié) Powerbuilder 9應用程序開發(fā)的基本步驟我們要開發(fā)應用程序時,首先要對它進行分析。無論哪種、哪方面的應用程序,都要先建立一個應用對象。下面我們介紹以下PowerBuilder 9應用程序開發(fā)的基本步驟:(1)首先要建立應用對象。(2)創(chuàng)建窗口。在窗口里放置各種控件和編寫事件響應的腳本。(3)創(chuàng)建菜單。窗口里的菜單可包括菜單條,下拉式菜單,級聯(lián)菜單和彈出式菜單為菜單編寫事件響應的腳本。(4)創(chuàng)建用戶對象。如果想要重復使用*個控件的功能,可以把窗口上經常放置的控件定義為用戶對象。(5)創(chuàng)建數(shù)據(jù)窗口。數(shù)據(jù)窗口可以檢索
42、數(shù)據(jù)庫中的數(shù)據(jù),可以建立各種報或統(tǒng)計表,可以修改數(shù)據(jù)庫。(6)創(chuàng)建函數(shù)、結構、事件。為了能夠更好地支持腳本,編寫自定義的函數(shù),定義結構類型變量,也可以為對象和控件定義自己的事件。(7)運行與調試??梢栽陂_發(fā)環(huán)境中隨時運行應用程序,發(fā)現(xiàn)錯誤后,可以用調試工具進行調試。(8)當應用程序開發(fā)完畢后,可以把它編譯成可執(zhí)行的文件,讓用戶比較容易地建立應用系統(tǒng)的運行環(huán)境。第四節(jié)編碼規(guī)在軟件開發(fā)過程中,為了減少在軟件開發(fā)過程中的錯誤,應該遵守一定標準。給對象命名要有一定的規(guī),部件名稱可以達到40個字符,窗口的命名:W_功能代碼_功能描述。數(shù)據(jù)窗口的命名:DW_功能代碼_功能描述。菜單命名:W_功能代碼_功能
43、描述。標識符命名時,應該使標識符有一定的字面含義,有助于程序的調試和腳本的可讀性的提高。本系統(tǒng)中使用的命名規(guī)為:變量作用域+變量類型+”_”+具有一定字面含義的名稱。例如:li_selectrow反映出的含義:”l”代表是本地變量,是local的縮寫,”i”代表是integer類型的變量,selectrow表示該變量是用來記錄一個行號的計數(shù)器。第五節(jié)創(chuàng)建祖先窗口和全局函數(shù)為充分利用PB的面向對象的特性。程序開發(fā)時一般創(chuàng)建幾個模板窗口。將功能窗口上的*些常用功能封裝在模板窗口中。然后將這些模板窗口作為祖先窗口。所有的子窗口都可以通過繼承的方法來生成。這樣就減少了代碼的書寫量。使得整個程序界面保持
44、整齊。當修改祖先窗口時,所有的子窗口都會自動修改。所以,祖先窗口的確定要十分謹慎。全局函數(shù)與局部函數(shù)的作用類似。唯一不同的是全局函數(shù)的作用域是整個程序周期。不論你在任何一個模塊的代碼中都可以調用它。所以我們可以把*些常用功能寫成全局函數(shù)。在程序的其他地方反復調用。一、函數(shù)setmenu(character lev)功能介紹:通過傳入的gi_right值,將*些菜單項設為非使能”,以限制*些功能的使用。gi_right值即不同職責的權限(讀者-1、普通圖書管理員1、高級圖書管理員 2、超級管理員3)。二、函數(shù)countdaycountday (date date1,date date2)功能介紹
45、:通過傳入的date1(起始日期)值與date2(結束日期)值,計算出中間相差的天數(shù),返回值為integer型。代碼分析:int dayday=(integer(year(date2) - integer(year(date1)*365 +& (integer(month(date2) - integer(month(date1)*30 +& (integer(day(date2) - integer(day(date1)*1return day第六節(jié)應用程序對象 App_librarain功能介紹:PB程序由一個應用程序開始,即每個PB程序在開始運行時,先執(zhí)行應用程序對象的Open事件。在O
46、pen事件中連接數(shù)據(jù)庫,并打開登陸窗口w_login。代碼分析:SQLCA.DBMS = MSS Microsoft SQL ServerSQLCA.Database = ch4ckglSQLCA.LogPass =ProfileString(.data.dat,&SQLCA,LogPass,super1234)/從參數(shù)文件得到登錄密碼SQLCA.ServerName = ProfileString(.data.dat,&SQLCA,ServerName,localhost)/從參數(shù)文件得到數(shù)據(jù)庫服務器名SQLCA.LogId =saSQLCA.Automit = FalseSQLCA.DBP
47、arm = connect;open(w_login)第六章具體窗口的實現(xiàn)第一節(jié)登錄窗口圖6.1 登陸窗口功能介紹:本窗口主要是檢查操作員輸入的用戶名及密碼是否正確,如果正確,允許登錄。如果錯誤,顯示出錯誤提示。操作方法:填寫用戶名”與密碼”后,點擊登錄”按鈕進行驗證,點擊取消”退出。第二節(jié)主窗口功能介紹:本窗口作為菜單及其他子窗口的容器。窗口設置;本窗口為容器窗口。表示本窗口為多文檔界面,可以有菜單、工具欄與狀態(tài)欄。圖6.2 主窗口界面第三節(jié)新書入庫窗口圖6.3 新書入庫功能介紹:增加信息。操作方法:點擊出庫入庫”按鈕,填寫圖書信息,完成后點擊保存”按鈕代碼分析:保存”按扭事件:long l
48、l_id,ll_i/得到最大的圖書編號select ma*(圖書編號) into :ll_id from book;if sqlca.sqlcode=0 then/成功il_amount=dw_2.getitemnumber( 1,圖書編號)dw_2.setredraw( false)/不自動刷新數(shù)據(jù)窗口for ll_i=1 to il_amountll_id=ll_id+1dw_2.setitem( 1,圖書編號, ll_id)/必須對數(shù)據(jù)窗口的狀態(tài)進行設置才能多次插入數(shù)據(jù)/只有將行設置為NewModified!才能插入,設置列列不行的dw_2.setitemstatus( 1,0, Pri
49、mary!,NewModified!)if dw_2.update( )1 thenmessagebo*(錯誤,插入圖書記錄失?。?stopsign!)rollback;return/退出end ifmit;ne*tdw_2.setitem( 1,圖書編號,il_amount)dw_2.setredraw( true)elsemessagebo*(錯誤,查找最大的圖書編號時出現(xiàn)錯誤!,stopsign!)end ifil_startid=(ll_id - il_amount)+1/如果沒有出現(xiàn)錯誤,則得到起始編號messagebo*(成功,圖書入庫成功!)cb_refresh.triggere
50、vent( clicked!)this.enabled=false第四節(jié)舊書出庫窗口圖6.4 圖書出庫窗口功能介紹:刪除圖書信息。操作方法:首先通過圖書編號檢索出圖書信息,然后點擊出庫”按鈕注銷圖書。第五節(jié)讀者類型管理窗口圖6.5 讀者類型管理窗口功能介紹:管理讀者類型信息。操作方法:可以通過”添加”、刪除、保存”等按扭對讀者類型做相應的操作。代碼分析:刪除”按扭事件:integer li_row,li_restring ls_nameli_row=dw_1.getrow( )ls_name=dw_1.getitemstring( li_row, 值)li_re=messagebo*(提示,是
51、否刪除用戶類型:+ls_name+?,Question!,YesNO!)if li_re=1 thendw_1.deleterow( li_row)li_re=dw_1.update( )if li_re=1 thenmit;elsemessagebo*(提示,刪除用戶類型:+ls_name+失?。?rollback;end ifend if第六節(jié)借閱人管理窗口圖6.6 讀者維護管理窗口功能介紹:增加、查詢、刪除、修改借閱人等信息操作方法:其中添加按扭類同新書入庫窗口”的入庫按扭,其它都是對圖書做簡單的修改、查詢和刪除按扭。詳細代碼在此不一一列舉。第七節(jié)圖書維護窗口圖6.7圖書維護窗口功能介紹:查詢、添加、修改、刪除圖書基本信息。操作方法:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公交公司周年慶典活動方案
- 一堂生動的課的讀后感4篇
- 公交車公司活動策劃方案
- 公眾號評比活動方案
- 描述我的家庭生活的場景作文12篇
- 公共關系活動策劃方案
- 公關公司承包活動方案
- 公務員憲法宣傳活動方案
- 公司diy活動方案
- 2025至2030年中國二羥甲基海因行業(yè)投資前景及策略咨詢報告
- 2025年普通高等學校招生全國統(tǒng)一考試數(shù)學試題(全國二卷)(有解析)
- 消防考試基礎試題及答案
- 部編人教版一年級下冊道德與法治復習計劃
- 新基建浪潮下臨沂市智慧交通管理的創(chuàng)新與突破
- 臨時用電施工方案技術交底
- 廠房維修合同協(xié)議書模板
- 兒童意外異物吞食課件
- 2025年Z世代消費行為與品牌社群營銷研究報告
- 富民銀行筆試題庫及答案
- 2025年高考第二次模擬考試數(shù)學(新高考Ⅱ卷)(參考答案)
- 2025年春季《中華民族共同體概論》第二次平時作業(yè)-國開(XJ)-參考資料
評論
0/150
提交評論