VC圖書信息數(shù)據(jù)存儲(chǔ)和檢索管理系統(tǒng)_第1頁
VC圖書信息數(shù)據(jù)存儲(chǔ)和檢索管理系統(tǒng)_第2頁
VC圖書信息數(shù)據(jù)存儲(chǔ)和檢索管理系統(tǒng)_第3頁
VC圖書信息數(shù)據(jù)存儲(chǔ)和檢索管理系統(tǒng)_第4頁
VC圖書信息數(shù)據(jù)存儲(chǔ)和檢索管理系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . . 目 錄摘要1、引言2、總體設(shè)計(jì) 2、1項(xiàng)目規(guī)劃 2、2需求分析 2、3系統(tǒng)功能概述 2、4開發(fā)的目的、意義、開發(fā)與運(yùn)行環(huán)境3、主要功能模塊設(shè)計(jì)實(shí)現(xiàn)流程 3、1總體結(jié)構(gòu)劃分 3、2數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)3、3界面現(xiàn)實(shí)控制臺(tái)3、4角色劃分3、5登陸窗口3、6操作流程附錄1、參考文獻(xiàn)摘要:運(yùn)用計(jì)算機(jī)管理圖書是順應(yīng)學(xué)校的要求和時(shí)代發(fā)展的,圖書管理系統(tǒng)為單機(jī)軟件,所以選擇用VC6.0開發(fā)系統(tǒng)作為圖書管理系統(tǒng)的開發(fā)工具。VC6.0具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫(kù)管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫(kù),并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。圖書管

2、理系統(tǒng)是一項(xiàng)復(fù)雜的安全工程,本軟件設(shè)計(jì)只是從方便文字檔案管理的角度出發(fā),程序中出現(xiàn)的統(tǒng)計(jì)功能只是從查閱方便和為管理者提供一般性了解用,所以,從信息管理軟件設(shè)計(jì)角度來看,功能有待于進(jìn)一步完善。當(dāng)前的圖書信息管理大多為手工方式進(jìn)行操作,大多數(shù)數(shù)據(jù)要人工重復(fù)錄入,工作效率很低。面向圖書信息管理系統(tǒng)開發(fā)的軟件較少而且大多是使用結(jié)構(gòu)化程序設(shè)計(jì)語言編寫的,缺少一種具有集中性、方便性、明顯性、可查詢性和可視性與視界友好性的應(yīng)用程序軟件工具,程序的維護(hù)和可重用性遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)狀的需求。編寫目的在于研究圖書信息管理系統(tǒng)應(yīng)用軟件是否可行,指出開發(fā)本軟件所采用的方法和手段,并對(duì)軟件的前景進(jìn)行分析。關(guān)鍵詞:圖書信息管

3、理系統(tǒng)1、 引言通過計(jì)算機(jī)軟件的設(shè)計(jì),實(shí)現(xiàn)一個(gè)圖書信息管理系統(tǒng),主要是為了解決當(dāng)前的圖書信息管理大多為手工方式進(jìn)行操作,大多數(shù)數(shù)據(jù)要人工重復(fù)錄入,工作效率很低的問題。向圖書信息管理系統(tǒng)開發(fā)的軟件較少而且大多是使用結(jié)構(gòu)化程序設(shè)計(jì)語言編寫的,缺少一種具有集中性、方便性、明顯性、可查詢性和可視性與視界友好性的應(yīng)用程序軟件工具,程序的維護(hù)和可重用性遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)狀的需求,因此設(shè)計(jì)一個(gè)方便操作的圖書信息管理系統(tǒng)就變的很必要了。2、 總體設(shè)計(jì)2、1項(xiàng)目規(guī)劃:圖書管理系統(tǒng)可以分為前臺(tái)顯示界面、圖書信息管理系統(tǒng)管理以與后臺(tái)數(shù)據(jù)庫(kù)三個(gè)部分。其中前臺(tái)顯示界面的主要工作就是顯示圖書的信息,借閱情況,查詢清空等問題,

4、主要是向大家展示必要的信息。圖書信息管理系統(tǒng)作為核心,其主要功能就是實(shí)現(xiàn)圖書的查詢、借書、還書、圖書入庫(kù)以與清除庫(kù)存。后臺(tái)數(shù)據(jù)庫(kù)主要是為了進(jìn)行圖書的查詢、借書、還書、圖書入庫(kù)以與清除庫(kù)存的信息記錄的。2、2需求分析根據(jù)軟件工程所學(xué)知識(shí)進(jìn)行需求分析的進(jìn)行,首先可以由關(guān)系畫出E-R圖:然后根據(jù)E-R可以構(gòu)造出3級(jí)式形成數(shù)據(jù)庫(kù)構(gòu)造模型。2、3系統(tǒng)功能概述該圖書管理系統(tǒng)按使用者的角色可以分為:普通用戶和管理員。普通用戶的主要功能有:借書、還書、查詢這三項(xiàng)基本功能。管理員的主要功能有:圖書錄入和清除庫(kù)存在該圖書信息管理系統(tǒng)中,不同的角色對(duì)應(yīng)不同的功能,在登陸界面需要輸入用戶名和密碼才能進(jìn)入普通用戶功能界

5、面。而需要輸入特殊密碼進(jìn)入管理員功能界面。2、4開發(fā)的目的、意義、開發(fā)與運(yùn)行環(huán)境開發(fā)目的:此次設(shè)計(jì)得目的是為了提高我們的動(dòng)手能力,以與對(duì)項(xiàng)目設(shè)計(jì)的一些基礎(chǔ)認(rèn)識(shí),幫助自己更好的掌握和理解學(xué)習(xí)過的知識(shí)。開發(fā)意義:此次主要是為了考察我們的分析和設(shè)計(jì)為主,鍛煉我們對(duì)問題分析得全局觀念。開發(fā)工具:VC+6.0開發(fā)環(huán)境:WINDOWS XP3、 主要功能模塊設(shè)計(jì)實(shí)現(xiàn)流程3、1總體結(jié)構(gòu)劃分按照需求分析所得:由所繪結(jié)構(gòu)圖可以得出該圖書信息管理系統(tǒng)是由幾個(gè)系統(tǒng)模塊去實(shí)現(xiàn)其功能模塊的。我們選擇的題目是“圖書信息管理系統(tǒng)”,其功能包括:(1)對(duì)一本書進(jìn)行采編入庫(kù)、清除庫(kù)存、借閱、和歸還等。(2)查詢圖書信息。所以,

6、我們把這個(gè)問題分成2個(gè)部分來完成:1 數(shù)據(jù)結(jié)構(gòu)算法系統(tǒng),2 界面顯示控制臺(tái)。3、2數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)算法系統(tǒng)是整個(gè)“圖書信息管理系統(tǒng)”的核部分,它分成數(shù)據(jù)結(jié)構(gòu)的算法以與實(shí)現(xiàn)其功能代碼。我們對(duì)于要實(shí)現(xiàn)“圖書信息管理系統(tǒng)”里頭:(1)對(duì)一本書進(jìn)行采編入庫(kù)、清除庫(kù)存、借閱、和歸還等。(2)查詢圖書信息。這2項(xiàng)重要功能。必須要解決幾個(gè)問題:首先是數(shù)據(jù)的讀入讀出方式,我門選擇了用鏈表來處理數(shù)據(jù)的讀入跟讀出原因是鏈表是動(dòng)態(tài)的,它能夠按需要為表中新的元素分配儲(chǔ)存空間,這樣子,利用鏈表比利用數(shù)組在空間消耗是來說能有效降低空間消耗。其次,由于要實(shí)現(xiàn)圖書的采編入庫(kù)、清除庫(kù)存、借閱、和歸還等以與圖書信

7、息的查詢,所以要建立一個(gè)良好的查詢的算法,經(jīng)過了我門2人的討論,最終把算法定為了利用稀疏矩陣來實(shí)現(xiàn)數(shù)據(jù)的讀入,從而使對(duì)圖書信息的搜索能達(dá)到最佳的時(shí)間消耗。稀疏矩陣的原理就是:先建立3條鏈表每條鏈表是記錄圖書的一個(gè)信息(例如鏈表1只記錄圖書的,鏈表2只記錄圖書的名字,鏈表3只記錄圖書的作者名字等),這樣,每本書的信息就完全分散記錄在3條鏈表中,然后就像是3維空間一樣,每本圖書都可以在空間上找到一個(gè)點(diǎn)來分別對(duì)應(yīng)這3條鏈表上對(duì)應(yīng)的一個(gè)結(jié)點(diǎn)。稀疏矩陣的原理圖:建立鏈表的ADT:class BookSystemstatic int j; /作為記錄數(shù)據(jù)的靜態(tài)變量static int storage;st

8、atic BookSystem* t;static BookSystem* re;/static BookSystem* h;public:BookSystem(); /構(gòu)造函數(shù)BookSystem();/析構(gòu)函數(shù)void replace(BookSystem*,BookSystem*);void Set(CString,CString,CString);/付值函數(shù)void Division(CString );/把一個(gè)一個(gè)分開的函數(shù)int ReturnStorage(); /返回庫(kù)存函數(shù) BookSystem* InsertMatrix_PandB(CString,CString ,Book

9、System*temp);/在和書名的稀疏距陣?yán)锝⒐?jié)點(diǎn) BookSystem* InsertMatrix_PandA(CString ,CString ,BookSystem*temp); /在和作者的稀疏距陣?yán)锝⒐?jié)點(diǎn) BookSystem* InsertMatrix_BandA(CString ,CString ,BookSystem*temp);/在作者和書名的稀疏距陣?yán)锝⒐?jié)點(diǎn)bool Borrowbookname(CString, CString, CString,BookSystem*);/借書bool Returnbookname(CString, CString, CStri

10、ng,BookSystem*);/還書/void InsertBookSystem(int,int,int,BookSystem*);/插入一本書void Print_Press(CString, BookSystem* temp,CListBox &);/按打印void Print_Bookname(CString, BookSystem* temp,CListBox &);/按書名打印void Print_Author(CString, BookSystem* temp,CListBox &);/按作者打印 void Print_PandB(CString, CString ,BookSy

11、stem* temp,CListBox &); /按和書名打印 void Print_PandA(CString, CString,BookSystem* temp,CListBox &);/按和作者打印 void Print_BandA(CString, CString ,BookSystem* temp,CListBox &); /按書名和作者打印 void Print_PandBandA(CString, CString, CString ,BookSystem* temp,CListBox &); /按,書名和作者打印bool Print_Type(CString, BookSyste

12、m* temp,CListBox &);/按書的類型打印BookSystem * Print_Press(CString, BookSystem* temp); /按打印BookSystem * Print_Bookname(CString, BookSystem* temp); /按書名打印BookSystem * Print_Author(CString, BookSystem* temp);/按作者打印 BookSystem * Print_PandB(CString, CString ,BookSystem* temp); /按和書名打印BookSystem * Print_PandA

13、(CString, CString,BookSystem* temp);/按和作者打印 BookSystem * Print_BandA(CString, CString ,BookSystem* temp); /按書名和作者打印 BookSystem * Print_PandBandA(CString, CString, CString ,BookSystem* temp); /按,書名和作者打印bool Print_Type(CString, BookSystem* temp); /按書的類型打印 bool InsertBookSystem(CString,CString,CString,

14、CString,BookSystem*);/插入一本書 BookSystem* BookSystem:ResearchInsert_Type(BookSystem*,BookSystem*);/ 按類型查找和插入,方法基于跳躍鏈表的BookSystem* Search_Press(CString,BookSystem*); /查找BookSystem* Search_Bookname(CString,BookSystem*); /查找書名BookSystem* Search_Author(CString,BookSystem*); /查找類名BookSystem* Search_PandB(C

15、String,CString,BookSystem*); /按和書名查找BookSystem* Search_BandA(CString,CString,BookSystem*); /按和作者查找BookSystem* Search_PandA(CString,CString,BookSystem*); /按書名和作者查找 BookSystem* Search_PandBandA(CString,CString,CString,BookSystem*); /按,書名和作者查找 CString press,bookname,author,type;int note3,ID,booknameID;

16、 /note用來記錄數(shù)據(jù)相應(yīng)坐標(biāo)的位置BookSystem *press_next; /記錄下一條同一標(biāo)記的節(jié)點(diǎn)的位置BookSystem *bookname_next; /記錄下一條同一書名的節(jié)點(diǎn)的位置BookSystem *author_next; /記錄下一條同一人名的節(jié)點(diǎn)的位置BookSystem *same;BookSystem *other;使用稀疏矩陣比標(biāo)準(zhǔn)方法的空間和時(shí)間上的效率都要高,因?yàn)樵谙∈杈仃囍兴阉鳎瓤梢员闅v行,也可以遍歷列,如果在行中達(dá)到正確的位置,那么便可以轉(zhuǎn)為縱向查找達(dá)到結(jié)果。插入,跟刪除都可以按照類似的方式來完成。而且稀疏矩陣的空間是隨著插入信息的大小而定的,

17、具有很高的靈活性。總的來說,我們的數(shù)據(jù)結(jié)構(gòu)算法模塊是在BookSystem.h和BookSystem.cpp里頭3、3界面現(xiàn)實(shí)控制臺(tái)界面部分我們是利用MFC來實(shí)現(xiàn)圖書信息管理系統(tǒng)的顯示以與操作界面:首先利用MFC來制作成用戶登陸的界面里面包括調(diào)用了圖書館管理系統(tǒng).cpp的函數(shù)來實(shí)現(xiàn)界面容,用戶可以點(diǎn)擊“用戶登陸”按紐來進(jìn)入系統(tǒng)。點(diǎn)擊完“用戶登陸”后變是進(jìn)入用戶ID驗(yàn)證,以與功能選擇界面(Id是1 KEY是1111),按鈕 Borrow是進(jìn)入借書界面,其部連接著borrow.cpp函數(shù);按鈕Rrturn是進(jìn)入還書界面,其部連接著returnbook.cpp函數(shù)用戶選擇Borrow后,便可以按照提

18、示來進(jìn)行圖書的查詢(可以按圖書類型查找,按圖書名查找,按圖書作者查找,按圖書查找;也可以圖書名,圖書作者,圖書出板社3個(gè)元素混合查找。)Borrow.cpp函數(shù)里頭每種的查找方式都跟核心算法函數(shù)BookSystem.cpp里頭的查找函數(shù)(BookSystem* Search_Press(CString,BookSystem*);BookSystem Search_Bookname(CString,BookSystem*); BookSystem* Search_Author(CString,BookSystem*); BookSystem* Search_PandB(CString,CStri

19、ng,BookSystem*); BookSystem* Search_BandA(CString,CString,BookSystem*); BookSystem* Search_PandA(CString,CString,BookSystem*); BookSystem* Search_PandBandA(CString,CString,CString,BookSystem*);)相連接調(diào)用當(dāng)搜索到相關(guān)的圖書信息后,將會(huì)顯示出來在搜索結(jié)果的筐架里頭。選定后按下Borrow按鈕,如果借書成功,系統(tǒng)便會(huì)提示成功,沒有便會(huì)提示失敗;時(shí)候當(dāng)一本書借書成功后,在Return函數(shù)里頭便會(huì)以文本的形式記錄起來,等待以后還書的時(shí)候調(diào)用文本所記錄的數(shù)據(jù)來還書。還書的時(shí)候只要進(jìn)入還書的界面里頭選定要還的書目,按Return,如果還書成功,系統(tǒng)便會(huì)有提示3、4角色劃分圖書管理系統(tǒng)將用戶劃分為兩類:普通用戶和管理員。普通用戶的主要功能有:借書、還書、查詢這三項(xiàng)基本功能。管理員的主要功能有:圖書錄入和清除庫(kù)存在該圖書信息管理系統(tǒng)中,不同的角色對(duì)應(yīng)不同的功能,在登陸界面需要輸入用戶名和密碼才能進(jìn)入普通用戶功能界面。而需要輸入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論