圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上四川師范大學(xué)成都學(xué)院專科畢業(yè)設(shè)計(jì) ??飘厴I(yè)設(shè)計(jì)論文圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名XXX學(xué) 號(hào)2011XXX所在院系計(jì)算機(jī)學(xué)院專業(yè)名稱多媒體班 級(jí)XXX指導(dǎo)教師XXX四川師范大學(xué)成都學(xué)院二一四年五月圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生:XXX 指導(dǎo)教師:XXX 內(nèi)容摘要:圖書館管理信息系統(tǒng)是對(duì)學(xué)校圖書進(jìn)行全面信息管理的系統(tǒng)。該管理系統(tǒng)可以有效地管理學(xué)校圖書資源,記錄學(xué)校與讀者之間的使用書籍情況。此外,根據(jù)讀者的要求,實(shí)現(xiàn)書籍基本信息的輸入,查詢等幾個(gè)方面的功能。本系統(tǒng)可以作為獨(dú)立的系統(tǒng)使用,它包括借閱信息管理、書籍信息管理、讀者信息管理、系統(tǒng)管理四個(gè)主要的功能模塊。該管理系統(tǒng)

2、力求給讀者方便快捷的途徑去及時(shí)了解書籍信息。針對(duì)各個(gè)模塊不同的數(shù)據(jù)表實(shí)現(xiàn)添加記錄、修改記錄、刪除記錄、以及查詢顯示記錄等功能,所有的操作方便而快捷,并全面實(shí)現(xiàn)了圖書館管理的各項(xiàng)功能。這篇論文主要講述關(guān)于圖書館管理信息系統(tǒng)的信息,特別是討論了關(guān)于設(shè)計(jì)該系統(tǒng)時(shí)的思想、方法和過程,以及在細(xì)節(jié)上分析函數(shù)和方法的實(shí)現(xiàn)思想。在本論文中講述的圖書館管理信息系統(tǒng)擁有一個(gè)交互式的界面、邏輯的數(shù)據(jù)庫(kù)結(jié)構(gòu)。并且在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)還考慮到了實(shí)體完整性約束、參照完整性約束、及盡量減少數(shù)據(jù)的冗余,在數(shù)據(jù)庫(kù)里有包括表、過程、函數(shù)、觸發(fā)器等5個(gè)數(shù)據(jù)庫(kù)對(duì)象。許多涉及到圖書、讀者的信息的功能在本系統(tǒng)中都有實(shí)現(xiàn)。例如,你可以將新書的信

3、息插入到數(shù)據(jù)庫(kù)的圖書基本情況表里;還可以對(duì)已經(jīng)插入的關(guān)于圖書的信息進(jìn)行修改;更重要的是,讀者可以從圖書館里借閱書籍。經(jīng)過多次的測(cè)試和運(yùn)行,本系統(tǒng)能實(shí)現(xiàn)其在設(shè)計(jì)時(shí)的所有功能。關(guān)鍵字:圖書 讀者  管理系統(tǒng)  數(shù)據(jù)庫(kù)Book management system design and ImplementationAbstract: Library management information system is a system of comprehensive information management of the school library. The system ca

4、n effectively manage the school library resources; record the use of between the readers and school books. In addition, according to the requirements of the readers, books basic information input, query and other aspects of the function. This system can be used as an independent system, which compri

5、ses a library information management, book information management, reader information management, system management of four functional modules. Methods of the management system to learn fast and convenient, the books information to readers. In order to realize adding records, modify records; delete

6、records, and records show that inquiries and other functions of each module in different tables, all of the operation is convenient, and the full realization of the functions of Library management.This paper mainly tells about the library management information system, especially discusses the thoug

7、ht, method and process about the design of the system, and the realization of ideological function and method in detail. The data. The database structures of an interactive interface, logic library management information system about in this thesis have. And in the design of the database when consid

8、ering the entity integrity, referential integrity constraints, and minimize data redundancy, including tables, procedure, function, trigger 5 database objects in the database. Many related to the books, the readers' information functions are realized in this system. For example, you can insert n

9、ew information to the database of the basic situation of the book table; can also modify the information about a book has been inserted; more importantly, readers can borrow books from the library. Through many tests and circulate, this system can realize all the functions in the designKeywords: boo

10、ks Readers Management system Database專心-專注-專業(yè)目 錄前言隨著社會(huì)的發(fā)展,人們對(duì)于知識(shí)的需求也在不斷地增長(zhǎng)。書籍作為人們獲取并增長(zhǎng)知識(shí)的主要途徑,使得圖書館在人們生活中占有了一定位置。并且,作為學(xué)校三大辦學(xué)支柱之一的圖書館,承擔(dān)著為學(xué)校教學(xué)科研服務(wù)的重任。但是,隨著圖書館書量的不斷增長(zhǎng),造成了書庫(kù)空間極度不足,圖書擠壓,管理不善。這些都直接影響了讀者對(duì)圖書館藏書的充分利用。如何為讀者提供方便快捷的服務(wù),提高圖書的利用率,科學(xué)地管理圖書館等問題變得越來越突出。為此,必須建立以信息技術(shù)、計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)支持的、人機(jī)結(jié)合的圖書館管理系統(tǒng),將管理與系統(tǒng)有機(jī)

11、地結(jié)合在一起,才能使圖書館功能最大化、服務(wù)最優(yōu)化、管理規(guī)范化。為了適應(yīng)讀者對(duì)圖書的需求,同時(shí)又大大減輕圖書館工作人員的工作量,全面提高圖書館的管理效率及服務(wù)質(zhì)量。這時(shí)圖書館就特別需要開發(fā)一套圖書館管理系統(tǒng),通過該系統(tǒng)來提高圖書館的管理效率,從而減少管理方面的工作流程和成本。 一個(gè)現(xiàn)代化的圖書館在正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息,書籍信息以及兩者相互作用產(chǎn)生的借書信息,還書信息。面對(duì)圖書館數(shù)以萬計(jì)的圖書,紛繁復(fù)雜的讀者信息,頻繁更替的借還書信息,傳統(tǒng)的直接方法不但管理出現(xiàn)漏洞,造成損失。因此有一個(gè)智能化、系統(tǒng)化、信息化的圖書管理系統(tǒng)十分重要的。充分利用計(jì)算機(jī)的功能實(shí)現(xiàn)對(duì)讀者管理、書籍管

12、理,借閱管理等自動(dòng)化控制,將會(huì)使圖書館的工作大大減弱。方便友好的圖形界面、簡(jiǎn)便的操作、完善的數(shù)據(jù)庫(kù)管理。將會(huì)使得圖書館系統(tǒng)極大限度的應(yīng)用于現(xiàn)代化圖書管理中。1緒論1.1該系統(tǒng)研究意義和目的一個(gè)良好的圖書管理系統(tǒng)必須擁有友好便捷的系統(tǒng)用戶界面,使該界面操作簡(jiǎn)單便捷,能夠滿足城市圖書館以及各大院校的日常業(yè)務(wù)處理需求,不僅能夠減輕管理人員的勞動(dòng)強(qiáng)度,提高其工作效率,還可以給讀者查閱信息提供便利,使圖書館資源得到充分利用與合理配置,明確分配圖書館人員的分工,使采購(gòu)圖書的流程更為合理化,從而增強(qiáng)圖書館資源的共享性和流動(dòng)性。此外,借助圖書管理系統(tǒng)的優(yōu)勢(shì),還能夠?qū)崿F(xiàn)傳統(tǒng)圖書管理方式的變革,切實(shí)提高圖書管理水

13、平和服務(wù)水平。 1.2該系統(tǒng)研究情況目前許多圖書管理系統(tǒng)仍然采用傳統(tǒng)的手工信息系統(tǒng)。這種原始手工操作的信息系統(tǒng)存在以下缺點(diǎn):² 工作效率低,處理速度慢;² 數(shù)據(jù)不齊全、不準(zhǔn)確;² 重復(fù)勞動(dòng),造成數(shù)據(jù)不一致;² 管理者的創(chuàng)造精神受到約束;² 難以跟隨現(xiàn)代化市場(chǎng)的變化總的來說,缺乏系統(tǒng),規(guī)范的信息管理手段。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)

14、對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書進(jìn)行更改就更加困難了。上個(gè)世紀(jì)90年代,科學(xué)家們提出了數(shù)字圖書館這一概念以來,關(guān)于數(shù)字圖書館的研究已經(jīng)有十幾個(gè)年頭。我國(guó)與1995年開始對(duì)此領(lǐng)域進(jìn)行研究,1998年升溫,迄今,對(duì)圖書館的研究在認(rèn)識(shí),理論研究,關(guān)鍵技術(shù)方面都取得了很大進(jìn)展。國(guó)內(nèi)數(shù)字圖書館的時(shí)間活動(dòng)大致可分為以下三種類型:資源服務(wù)型、服務(wù)研究型和聯(lián)合建設(shè)型。1.3設(shè)計(jì)本系統(tǒng)的目的圖書管理系統(tǒng)的內(nèi)容對(duì)于圖書館的管理員和使用者來說都至關(guān)重要。它能夠?yàn)楣芾韱T或讀者提供充足的信息和快捷的數(shù)據(jù)處理手段。作為計(jì)算機(jī)應(yīng)用的一部分,

15、使用計(jì)算機(jī)對(duì)圖書信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn),如:檢索迅速、查找方便、易修改、可靠性高、存儲(chǔ)量大、數(shù)據(jù)處理快捷等。這些優(yōu)點(diǎn)能夠極大地提高圖書管理的效率,也是圖書館的科學(xué)化、正規(guī)化管理的重要條件。2 需求分析本系統(tǒng)根據(jù)常規(guī)的圖書館的基本功能有錄入、刪除、查詢、修改、借書、還書等功能。分為添加和刪除都采用鏈?zhǔn)浇Y(jié)構(gòu)的原理去執(zhí)行文件。在讀者區(qū)讀者可以按編號(hào)或書名輕松找到所需書的信息,這里也采用的是鏈?zhǔn)浇Y(jié)構(gòu)原理執(zhí)行。與此同時(shí),本系統(tǒng)操作界面很是簡(jiǎn)單清晰,一目了然,給讀者以舒服的感官效果。同時(shí)該系統(tǒng)中用到結(jié)構(gòu)體,數(shù)組等編程用法。通過對(duì)中小型圖書館的調(diào)查、分析發(fā)現(xiàn),用戶的需求可分為4個(gè)方面:

16、第一是圖書館的工作人員通過計(jì)算機(jī)來管理各類圖書,分類編號(hào)、調(diào)整圖書結(jié)構(gòu)、增加圖書庫(kù)存,適應(yīng)讀者的需求。第二是讀者能通過計(jì)算機(jī)來查詢?yōu)g覽圖書館中的圖書,來確定自己需要的書籍,為借閱做好準(zhǔn)備。第三是工作人員對(duì)讀者的借書情況能夠作好全面掌握,能及時(shí)得到每個(gè)讀者的當(dāng)前借閱狀態(tài)和歷史借閱記錄。第四也是圖書館的核心工作,對(duì)圖書的借閱管理。在軟、硬件方面對(duì)系統(tǒng)的需求是軟件要易學(xué),容易掌握,可以很簡(jiǎn)單方便地管理各種圖書信息。硬件的配置要求不能太高,這樣可以適應(yīng)中小型圖書館的經(jīng)濟(jì)條件。所以中小型圖書館管理信息系統(tǒng)旨在提供一個(gè)可以操作的,方便查詢的,易于修改的輔助管理系統(tǒng)。同時(shí)提供了系統(tǒng)智能輔助與用戶自主選擇的兩

17、種方式,提高查詢效率根據(jù)系統(tǒng)特點(diǎn)確定了開發(fā)模型,再通過對(duì)系統(tǒng)進(jìn)行需求分析研究,建立結(jié)構(gòu)化分析,系統(tǒng)功能模塊,系統(tǒng)流程圖。然后通過對(duì)各個(gè)功能模塊進(jìn)行深入分析,確定數(shù)據(jù)的定義和屬性,及各功能的實(shí)現(xiàn)。論文介紹了圖書管理系統(tǒng)的運(yùn)行環(huán)境和開發(fā)環(huán)境,結(jié)合了數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識(shí)。最終設(shè)計(jì)實(shí)現(xiàn)了借還書籍,書籍管理等圖書管理系統(tǒng)的基本功能。作為計(jì)算機(jī)應(yīng)用的一部分,具有著手工管理所無法比擬的優(yōu)點(diǎn)。 3 系統(tǒng)總體設(shè)計(jì)及測(cè)試由于系統(tǒng)是基于Visual C+6.0為開發(fā)環(huán)境開發(fā)出來的在DOS界面下的圖書管理系統(tǒng),系統(tǒng)簡(jiǎn)潔易于操作,用戶界面友好,人機(jī)交互方便。便于人們初步了解并使用圖書管理系統(tǒng),是信息管理變得簡(jiǎn)單,簡(jiǎn)化人們

18、的工作量,檢索迅速、查找方便、易修改、可靠性高、存儲(chǔ)量大、數(shù)據(jù)處理快捷、保密性好、壽命長(zhǎng)、成本低、數(shù)據(jù)冗余度比較低、系統(tǒng)穩(wěn)定性比較好等。實(shí)用的圖書館管理系統(tǒng)應(yīng)該包括:l 錄入:新進(jìn)圖書及基本信息輸入l 刪除:舊圖書及基本信息刪除l 查詢:查詢要借閱的圖書信息l 修改:修改已有的圖書信息l 借書:實(shí)現(xiàn)用戶辦理借書手續(xù)l 還書:實(shí)現(xiàn)用戶.辦理還書手續(xù)系統(tǒng)以菜單方式工作可以使界面友好,易于操作。用戶可以對(duì)本系統(tǒng)進(jìn)行自己需要的查詢或修改操作,如根據(jù)用戶的需求自動(dòng)的進(jìn)行添加操作、刪除操作、借還操作。我們也可以查找所要的圖書、查閱圖書的詳細(xì)資料、查閱讀者的詳細(xì)資料。最后清晰完整的結(jié)果于屏幕中。方便使用者對(duì)

19、圖書借閱的操作,提高準(zhǔn)確性,可以達(dá)到事半功倍的效果。系統(tǒng)采用的是自頂向下、層次化的模塊結(jié)構(gòu)。對(duì)于高層模塊,采用以事務(wù)為中心的設(shè)計(jì)策略,把一個(gè)大的模塊逐步分解成較小的相對(duì)簡(jiǎn)單的模塊。對(duì)低層模塊,采用以變換為中心的設(shè)計(jì)策略。為了達(dá)到高內(nèi)聚,低耦合的效果,我們可以把每個(gè)模塊設(shè)計(jì)成具有單一功能的模塊(即功能內(nèi)聚),使模塊間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)(即非直接耦合)。3.1運(yùn)行環(huán)境和開發(fā)工具3.3.1開發(fā)工具本系統(tǒng)采用c語(yǔ)言作為開發(fā)工具,c語(yǔ)言的主要特點(diǎn)如下:n 語(yǔ)言簡(jiǎn)潔、緊湊,使用方便。n 運(yùn)算符和數(shù)據(jù)類型豐富,具有現(xiàn)代語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu)。n 具有結(jié)構(gòu)化的語(yǔ)句,。n 語(yǔ)法限制不太嚴(yán)格,程

20、序設(shè)計(jì)自由度大。n 生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。n 用c語(yǔ)言編寫的程序可移植性比較好,基本上不做任何修改就能運(yùn)用于各種型號(hào)的操作系統(tǒng)中。n C語(yǔ)言允許直接訪問物理地址,能進(jìn)行位操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它由美國(guó)貝爾研究所的D.M.Ritchie于1972年推出。1978后,C語(yǔ)言已先后被移植到大、中、小及微型機(jī)上。它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)

21、上,而且各類科研都需要用到C語(yǔ)言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫。具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。指針是C語(yǔ)言的一大特色,可以說是C語(yǔ)言優(yōu)于其它高級(jí)語(yǔ)言的一個(gè)重要原因。就是因?yàn)樗兄羔?,可以直接進(jìn)行靠近硬件的操作,但是C的指針操作不做保護(hù),也給它帶來了很多不安全的因素。C+在這方面做了改進(jìn),在保留了指針操作的同時(shí)又增強(qiáng)了安全性,受到了一些用戶的支持,但是,由于這些改進(jìn)增加語(yǔ)言的復(fù)雜度,也為另一部分所詬病。Java則吸取了C+的教訓(xùn),取消了指針操作,也取消了C+改進(jìn)中一些備受爭(zhēng)議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機(jī)中運(yùn)行,運(yùn)行效率低于C+/C。一般而言

22、,C,C+,java被視為同一系的語(yǔ)言,它們長(zhǎng)期占據(jù)著程序使用榜的前三名。3.3 系統(tǒng)流程圖本文的主題框架如圖1所示信息輸入圖書館管理系統(tǒng)信息刪除信息查詢信息修改顯示信息圖書借出圖書歸還 圖1 總體設(shè)計(jì)流程圖設(shè)計(jì)時(shí)應(yīng)該先設(shè)計(jì)出主題框架,采用自頂而下、由粗到細(xì)的設(shè)計(jì)方法,主題框架設(shè)計(jì)完成之后,我們可以再其基礎(chǔ)上進(jìn)行擴(kuò)充和進(jìn)一步的改進(jìn),從而滿足基本的設(shè)計(jì)要求,這樣的設(shè)計(jì)可以避免模塊的相互沖突。3.4主體界面設(shè)計(jì)3.4.1主函數(shù)主體函數(shù)要求設(shè)計(jì)比較簡(jiǎn)潔,只提供設(shè)輸入,處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。主體函數(shù)決定著系統(tǒng)的外觀和效果,簡(jiǎn)潔的外觀有助于人們更快的理解各項(xiàng)功能的作用,

23、提高使用效率。流程圖如下圖2:顯示功能選項(xiàng)輸入n的值,判斷n是否屬于1到8根據(jù)輸入的值調(diào)用各功能模塊的功能YESNO圖2 主函數(shù)流程圖3.4.2輸入模塊該模塊的功能是假如用戶需要新加入新的圖書信息,通過鍵盤輸入將新信息逐條加在原來輸入文件上但不能覆蓋原有信息。輸入功能可以擴(kuò)充圖書管理系統(tǒng)的圖數(shù)量,在實(shí)際中,這個(gè)是必備的功能,增加了該系統(tǒng)的使用性。流程圖如下圖3:顯示圖書信息輸入提示i從0到N-1調(diào)用輸入函數(shù)input(i)I!=0保存函數(shù)save(n)圖 3 輸入模塊流程圖3.4.3刪除模塊該模塊用于顯示所有圖書信息,由于記錄較多,故而采取分屏顯示。顯示完所有紀(jì)錄后,用戶需輸入圖書編號(hào)進(jìn)而查找

24、圖書信息。流程圖如下圖4:要?jiǎng)h除的圖書序號(hào)是否有此書此書已經(jīng)刪除沒有相關(guān)信息返回主菜單YESNO 圖 4 刪除模塊流程圖3.4.4查詢模塊該模塊功能應(yīng)體現(xiàn)為用戶輸入圖書書名,若有書則查詢出來。查詢模塊式使用最多的功能之一,查找功能的好壞一定程度上決定了系統(tǒng)的好壞,好的查找模塊和算法可以簡(jiǎn)化人們查找的時(shí)間并且增加查找的準(zhǔn)確率,所以查詢模塊必須設(shè)計(jì)得簡(jiǎn)潔并且有較快的響應(yīng)速度流程圖如下圖5:顯示主菜單,輸入數(shù)字輸入需要查詢的書名是否有此書顯示圖書信息沒有相關(guān)記錄返回主菜單YESNO圖5 查詢模塊流程圖3.4.5修改模塊該模塊功能應(yīng)體現(xiàn)為用戶修改圖書信息,若有記錄則修改信息。流程圖如下圖6:要修改的圖

25、書編號(hào)是否有此書輸入修改后數(shù)據(jù)沒有相關(guān)信息返回主菜單YESNO 圖6 修改模塊流程圖3.4.6顯示模塊該模塊功能應(yīng)體現(xiàn)為顯示全部的圖書信息。流程圖如下圖7:顯示主菜單,輸入文字是否有圖書所有圖書信息沒有相關(guān)信息返回主菜單YESNO 圖7 顯示模塊流程圖3.4.7借出模塊該模塊功能應(yīng)體現(xiàn)為用戶輸入圖書序號(hào),若有書則要求輸入賬號(hào)。流程圖如下圖8:輸入圖書編號(hào)是否有圖書顯示記錄沒有相關(guān)信息用戶輸入信息:借出YESNO返回主菜單圖8 借書模塊流程圖 3.4.8歸還模塊該模塊功能應(yīng)體現(xiàn)為方便用戶歸還圖書。歸還模塊主要的對(duì)書籍的數(shù)量進(jìn)行更新,為下一位借閱的用戶提供了借閱的可能性,由于計(jì)算機(jī)無法準(zhǔn)確的識(shí)別書

26、籍的破損程度,所以破損程度有圖書管理員決定,并且應(yīng)該制定相應(yīng)的賠償條款。流程圖如下圖9: 輸入要?dú)w還的圖書編號(hào)是否有圖書顯示記錄,輸入相關(guān)信息沒有相關(guān)信息返回主菜單YESNO圖9 歸還圖書模塊4 系統(tǒng)調(diào)試與運(yùn)行系統(tǒng)測(cè)試的目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,成功的測(cè)試時(shí)發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。測(cè)試的目的就是希望能以最少的人力和事件發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷,我們應(yīng)該根據(jù)開發(fā)個(gè)階段的需求、設(shè)計(jì)等文檔或程序的內(nèi)部結(jié)構(gòu)精心設(shè)計(jì)測(cè)試實(shí)例,并利用這些實(shí)例來運(yùn)行程序,以便發(fā)現(xiàn)錯(cuò)誤的過程。系統(tǒng)測(cè)試的原則應(yīng)該遵循以下基本規(guī)則。(1) 應(yīng)該盡早并且不斷地進(jìn)行測(cè)試。測(cè)試不是在系統(tǒng)開發(fā)完之后才進(jìn)行的,由于原始問

27、題的復(fù)雜性、開發(fā)階段的多樣性以及參加人員的細(xì)條等因素,在開發(fā)過程中的各個(gè)階段都有可能出現(xiàn)錯(cuò)誤,因此,測(cè)試應(yīng)該貫穿在開發(fā)的各個(gè)階段,我們應(yīng)該盡早糾正作物,消除隱患。(2) 測(cè)試工作應(yīng)該避免由原開發(fā)軟件的人來進(jìn)行,一方面,開發(fā)人員往往不愿否認(rèn)自己的工作,總認(rèn)為自己開發(fā)的軟件過程序沒有錯(cuò)誤,另一方面,開發(fā)人員往往很難發(fā)現(xiàn)自己的錯(cuò)誤,具有局限性,所以我們應(yīng)該找其他人來幫忙檢查程序。這樣會(huì)變得更客觀,更有效。(3) 設(shè)計(jì)測(cè)試方案時(shí),不僅要確定輸入數(shù)據(jù),而且要根據(jù)系統(tǒng)功能來確定預(yù)期的輸出效果和結(jié)果。將實(shí)際輸出結(jié)果和預(yù)期結(jié)果相比較就能發(fā)現(xiàn)測(cè)試的對(duì)象是否正確,是否有一些隱患。(4) 在設(shè)計(jì)測(cè)試用例時(shí),不僅要設(shè)

28、計(jì)有效合理的輸入條件,還要包含不合理、失效的輸入條件。測(cè)試的時(shí)候,人們往往習(xí)慣按照合理的、正常的情況下進(jìn)行測(cè)試,從而忽略了對(duì)異常、不合理、意想不到的情況進(jìn)行測(cè)試,而這些情況可能都是隱患,可能會(huì)造成系統(tǒng)的崩潰。(5) 在測(cè)試程序時(shí),不僅要檢驗(yàn)程序是否做了該做的事情,還要檢驗(yàn)程序是否做了不該做的事情。多余的工作會(huì)帶來副作用,影響程序的效率,有事會(huì)帶來潛在的危害或者錯(cuò)誤。(6) 嚴(yán)格按照測(cè)試計(jì)劃來進(jìn)行,避免測(cè)試的隨意性。測(cè)試計(jì)劃應(yīng)該包括測(cè)試內(nèi)容、進(jìn)度安排、測(cè)試環(huán)境、測(cè)試工具和測(cè)試資料等。嚴(yán)格按照測(cè)試計(jì)劃可以保證進(jìn)度,使各方面都得以協(xié)調(diào)進(jìn)行。(7) 妥善保存測(cè)試計(jì)劃、測(cè)試用例,作為軟件文檔的組成部分,

29、為了以后維護(hù)的方便做了鋪墊。(8) 測(cè)試用例都是精心設(shè)計(jì)出來的,可以為重新測(cè)試或者追加測(cè)試提供方便。當(dāng)糾正錯(cuò)誤、系統(tǒng)功能擴(kuò)充后,都需要重新進(jìn)行測(cè)試,而這些工作重復(fù)性很高,可以利用以前的測(cè)試用例,或者在其基礎(chǔ)上進(jìn)行修改,然后在進(jìn)行測(cè)試,這樣科技簡(jiǎn)化系統(tǒng)的維護(hù)時(shí)間并且提高了維護(hù)的效率。在系統(tǒng)調(diào)試過程中,我們可以利用一組簡(jiǎn)單的數(shù)據(jù)對(duì)程序進(jìn)行調(diào)試,來觀察各函數(shù)是否有出錯(cuò)現(xiàn)象。然后用復(fù)雜數(shù)據(jù)對(duì)程序進(jìn)行調(diào)試。然后我們要對(duì)系統(tǒng)的各項(xiàng)能力進(jìn)行測(cè)試,看看有沒有漏洞或者死循環(huán)現(xiàn)象。 數(shù)據(jù)測(cè)試時(shí),如果程序程序錯(cuò)誤,要首先找到出錯(cuò)的函數(shù),對(duì)函數(shù)中各個(gè)變量進(jìn)行觀察,有時(shí)變量很多,循環(huán)多重不要急,對(duì)各個(gè)數(shù)據(jù)的觀察,對(duì)程序

30、的調(diào)試有很大的幫助。你也可以先對(duì)幾個(gè)變量熟悉后,在多重循環(huán)里,確定正確的數(shù)據(jù),將其跳過調(diào)試,對(duì)有疑問的數(shù)據(jù)循環(huán)進(jìn)行仔細(xì)觀察。雖然這是比較省力氣的活,但對(duì)復(fù)雜的數(shù)據(jù)錯(cuò)誤并不是很有效,所以仔細(xì)觀察每個(gè)數(shù)據(jù)的變化對(duì)調(diào)試的成功與否有決定性作用。 測(cè)試時(shí),根本的錯(cuò)誤并不一定在運(yùn)行錯(cuò)誤的函數(shù)內(nèi),或許在前面的函數(shù)內(nèi)已經(jīng)奠定了這些錯(cuò)誤數(shù)據(jù)的基礎(chǔ),需要反過頭來,對(duì)所有的的函數(shù)進(jìn)行一項(xiàng)項(xiàng)的調(diào)試!從程序運(yùn)行的第一個(gè)函數(shù)開始調(diào)試。按照程序運(yùn)行的步驟下去。一個(gè)個(gè)的確定函數(shù)的正確性,每確定一個(gè)函數(shù),在以后的調(diào)試中可以減少對(duì)該函數(shù)的調(diào)試次數(shù),或者直接跳到下一個(gè)函數(shù)。所謂的各個(gè)擊破便是如此。對(duì)頭文件中的各個(gè)函數(shù)的返回值和它所

31、要傳入的參變量及其功能更是需要注意。調(diào)試時(shí),需要對(duì)錯(cuò)誤縮小范圍,從整個(gè)程序到指定函數(shù),再到指定區(qū)域,再到指定行,在對(duì)程序縮小范圍或?qū)幾g沒通過的程序縮小錯(cuò)誤范圍時(shí)可以用"/* */"來進(jìn)行調(diào)試,確定正常范圍,縮小錯(cuò)誤范圍。在多次的調(diào)試后,系統(tǒng)運(yùn)行的界面如圖10所示圖10 主界面觀察各個(gè)界面的實(shí)際效果,注冊(cè)新書的界面如圖11 所示圖11 新書注冊(cè)借閱界面如圖12所示圖12 圖書借閱 歸還界面如圖13所示圖13 圖書歸還查詢界面如圖14所示圖 14 圖書查詢修改界面如圖15所示圖15 修改圖書刪除界面如圖16所示圖 16 刪除界面5 結(jié) 論經(jīng)過以上各章節(jié)的功能,已經(jīng)基本完成了圖

32、書館管理系統(tǒng)的開發(fā),圖書館系統(tǒng)是一套實(shí)用性非常強(qiáng)的系統(tǒng),從小學(xué)、中學(xué)直到大學(xué),很多人一直與圖書館打交道,圖書館的發(fā)展從手工管理、手工管理和計(jì)算機(jī)管理并行,直到現(xiàn)在的完全計(jì)算機(jī)管理。圖書館管理系統(tǒng)不僅需要靈活的交互功能,還需要經(jīng)常與數(shù)據(jù)庫(kù)進(jìn)行聯(lián)系,要求具有操作簡(jiǎn)單和功能強(qiáng)大的數(shù)據(jù)庫(kù)訪問能力。界面盡量美觀友好、多彩多姿,完全的圖形化設(shè)計(jì),操作者易于上手,同時(shí)多種媒體技術(shù)的集成利用,可以方便的完成用戶樂于接受的各種界面設(shè)計(jì)。本系統(tǒng)雖具備了基本的功能,但由于時(shí)間關(guān)系,還有很多功能待實(shí)現(xiàn),在此基礎(chǔ)上結(jié)合實(shí)際應(yīng)用中所出現(xiàn)的問題,要改善圖書的入庫(kù)和刪除功能,使工作人員在主界面上就能進(jìn)行其操作;在過期天數(shù)中應(yīng)

33、該增加罰款的功能;如果作為校園的圖書管理系統(tǒng),應(yīng)區(qū)分出不同身分的人(如教師和學(xué)生)的借閱權(quán)限等。通過這次編程我深深的感受到對(duì)代碼的變量命名,代碼內(nèi)注釋格式,甚至嵌套中行縮進(jìn)的長(zhǎng)度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯(cuò),也有助于不同人員之間的協(xié)作。 我們還要有模塊化思維能力,模塊化思維就是編程任何一個(gè)功能模塊或函數(shù)的時(shí)候,要多想一些,不要局限在完成當(dāng)前任務(wù)的簡(jiǎn)單思路上,想想看該模塊是否可以脫離這個(gè)系統(tǒng)存在,是否可以通過簡(jiǎn)單的修改參數(shù)的方式在其他系統(tǒng)和應(yīng)用環(huán)境下直接引用,這樣就能極大避免重復(fù)性的開發(fā)工作。善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個(gè)編程任務(wù),完

34、成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時(shí)總結(jié),找到自己的不足,這樣所編寫的程序才能逐步提高。 致 謝經(jīng)過幾個(gè)月的忙碌,本次畢業(yè)論文設(shè)計(jì)已經(jīng)接近尾聲。,由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不到的地方,在多次的修改和研究之后才寫出完成。如果沒有導(dǎo)師的督促和指導(dǎo),以及同學(xué)和朋友的支持,想要完成這個(gè)畢業(yè)論文設(shè)計(jì)是難以想像的。感謝同學(xué)和朋友的及時(shí)幫助和教導(dǎo)。在論文的寫作過程中,得到了XXX老師的親切關(guān)懷和耐心的指導(dǎo)。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助和影響。從課題的選擇得到畢業(yè)論文設(shè)計(jì)最終完成,老師都始終給予我細(xì)心的指導(dǎo)。在此謹(jǐn)向林蘇美老師致以誠(chéng)摯的謝意和崇高的敬意。同時(shí),也要感謝

35、各位老師,同學(xué)和朋友們給我極大的支持,對(duì)我的論文提出了寶貴的意見及建議。感謝所有幫助我的老師、同學(xué)和朋友們,在此向他們表達(dá)我的感激之情。參考文獻(xiàn)1 張宗杰. C語(yǔ)言程序設(shè)計(jì)實(shí)用教程. 北京:電子工業(yè)出版社,2009.58-1512 張淑平. 程序員教程.北京:清華大學(xué)出版社.,2011.42-3283 譚浩強(qiáng). C程序設(shè)計(jì). 北京:清華大學(xué)出版社.,2005.91-3104 高維春.C語(yǔ)言程序設(shè)計(jì)項(xiàng)目教程.北京:人民郵電出版社,2010.54-675 魏海新,李燕主編. C語(yǔ)言程序設(shè)計(jì)實(shí)用教程.北京:機(jī)械工業(yè)出版社,2007.161-1746 主編. C語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社,20

36、08.98-1017 路俊維,馬雪松主編. C語(yǔ)言程序設(shè)計(jì).北京:中國(guó)鐵道工業(yè)出版社,2009.78-988 王敬華等. C語(yǔ)言程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2005.45-649 張明慧. Visual C+開發(fā)圖書管理系統(tǒng).北京:北京師范大學(xué),2005.32-4010 陳朔鷹等. C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程.北京:兵器工業(yè)出版社,1994.78-9711 譚浩強(qiáng).C程序設(shè)計(jì)題解與上機(jī)指導(dǎo).北京:清華大學(xué)出版社,2005.130-15512 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).北京:清華大學(xué)出版社,2007.59-10713 C編寫組編.常用C語(yǔ)言用法速查手冊(cè).北京:龍門書局,1995.

37、34-4514 張俐,楊瑩編著.C語(yǔ)言高級(jí)程序設(shè)計(jì).北京:清華大學(xué)出版社,2006.67-7815 Stephen G Kochan.Programming in ANSI C.Hagden Book Indianapolis:Indina,U.S.A,1994.129-201附錄 程序源代碼#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>struct BOOK int id,usr10,total,store,days10; char name3

38、0,author20,publish40; books100;void page_title(char *menu_item) printf("ttt*歡迎使用圖書館管理系統(tǒng)*nn- %s -nn",menu_item); void return_confirm(void) printf("n按任意鍵返回n"); getch(); int search_book(void) int n,i; printf("請(qǐng)輸入圖書序號(hào):"); scanf("%d",&i); for(n=0;n<100;n+) i

39、f(booksn.id=i) printf("序號(hào):%dn",booksn.id); printf("書名:%sn",); printf("作者:%sn",booksn.author); printf("出版社:%sn",booksn.publish); printf("存數(shù):%dn",booksn.store); printf("總數(shù):%dn",booksn.total); return n; printf("n沒有找到相關(guān)記錄.n"

40、;); return -1; int book_search(void) int n,i=1; char nam30; system("cls"); printf("請(qǐng)輸入書名:"); scanf("%s",&nam); printf("查詢結(jié)果如下:n"); for(n=0;n<100;n+) if(strcmp(,nam)=0) printf("序號(hào):%dt",booksn.id); printf("書名:%st",booksn.nam

41、e); printf("作者:%st",booksn.author); printf("出版社:%st",booksn.publish); printf("存數(shù):%dt",booksn.store); printf("總數(shù):%dn",booksn.total);i=0; if(i=1) printf("n沒有找到相關(guān)記錄.n"); return -1; int book_change(void) int n,i; system("cls"); page_title("

42、;修改圖書信息"); printf("請(qǐng)輸入要修改的圖書序號(hào):"); scanf("%d",&i); for(n=0;n<100;n+) if(booksn.id=i) printf("修改書名:"); scanf("%s",); printf("修改作者:"); scanf("%s",booksn.author); printf("修改出版社名:"); scanf("%s",booksn.

43、publish); printf("修改總數(shù):"); scanf("%d",&booksn.total); printf("修改圖書信息成功.n"); booksn.store=booksn.total; return n; printf("n沒有找到相關(guān)記錄.n"); return -1; int book_show(void)int n,i=1;system("cls"); for(n=0;n<100;n+) if(strlen()!=0) printf(

44、"序號(hào):%dt",booksn.id); printf("書名:%st",); printf("作者:%st",booksn.author); printf("出版社:%st",booksn.publish); printf("存數(shù):%dt",booksn.store); printf("總數(shù):%dn",booksn.total); i=0; if(i=1) printf("n沒有找到相關(guān)記錄.n"); return -1;void

45、book_out(void) int n,s,l,d;system("cls"); page_title("借閱圖書"); if(n=search_book()!=-1&&booksn.store>0) printf("請(qǐng)輸入借書證序號(hào):"); scanf("%d",&s); printf("請(qǐng)輸入可借天數(shù):"); scanf("%d",&d); for(l=0;l<10;l+) if(booksn.usrl=0) booksn.u

46、srl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&&booksn.store=0) printf("此書已經(jīng)全部借出.n"); return_confirm(); void book_in(void) int n,s,l; system("cls"); page_title("歸還圖書"); if(n=search_book()!=-1&&booksn.store<booksn.total) printf("借閱者圖書證列表:n"); for(l=0;l<10;l+) if (booksn.usrl!=0) printf("%d - %d天n",booksn.usrl,booksn.daysl); printf("請(qǐng)輸入借書證序號(hào):"); scanf("%d",&s); for(l=0;l<10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&&booksn.stor

溫馨提示

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

評(píng)論

0/150

提交評(píng)論