c-圖書信息管理系統(tǒng)課程設計論文_第1頁
c-圖書信息管理系統(tǒng)課程設計論文_第2頁
c-圖書信息管理系統(tǒng)課程設計論文_第3頁
c-圖書信息管理系統(tǒng)課程設計論文_第4頁
c-圖書信息管理系統(tǒng)課程設計論文_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEword文檔可自由復制編輯面向對象程序設計課程設計報告題目:圖書信息管理系統(tǒng)專業(yè)班級:通信3班學生組長:小組成員:指導教師:分數(shù):2014年4月課程設計任務書設計題目圖書館信息管理系統(tǒng)學生姓名所在院系電子信息工程系專業(yè)、年級、班11級通信3班設計要求:圖書信息包括:登錄號、書名、作者名、分類號、出版單位、出版時間、價格等,設計圖書管理系統(tǒng),使之能提供以下功能:1、系統(tǒng)以菜單方式工作;2、圖書信息瀏覽功能——輸出;3、查詢和排序功能:(至少一種方式)(1)按書名查詢;(2)按作者名查詢;(3)圖書信息的刪除與修改(管理員)4、圖書信息錄入功能(圖書信息用文件保存)——輸入;(管理員)參考文獻閱讀:[1]譚浩強.《C++面向對象程序設計》.清華大學出版社,2006.1[2]張春林,馬成勇,劉鈞.《數(shù)據(jù)庫系統(tǒng)設計與開發(fā)》.清華大學出版社,2005[3]梁普選.《VisualC++程序設計與實踐》.清華大學出版社.2006[4]張瑞豐.《C++語言程序設計》.清華大學出版社,2006工作計劃:由組長將程序細致的分為3個軟件模塊,分別由3位組員各自完成自己的軟件模塊設計。最后再將3部分合并。之后再對總的程序進行運行調試及改進。任務下達日期:2014年3月22日任務完成日期:2013年4月20日指導教師(簽名):學生(簽名):目錄第TOC\o"1-2"\h\z\u一章、總體設計 41.1設計目的 41.2設計要求 41.3設計方案選取與論證 41.4模塊劃分與任務安排 5第二章、軟件設計 52.1Book類模塊的軟件設計 52.2BDatabase類模塊的軟件設計 72.3主界面程序模塊設計 10第三章、系統(tǒng)實現(xiàn)及調試過程 14第四章、結論 15致謝 16參考文獻 16一、總體設計1.1設計目的圖書館提供的物質資源越來越豐富,如何高效準確地對館藏資料進行整理、借還、盤點成為困擾圖書館管理人員的問題。以前,都是用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段?;谶@些問題,有必要建立一個圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。利用圖書管理系統(tǒng)對圖書記錄進行統(tǒng)一管理,包括新增圖書記錄,更改圖書記錄,刪除圖書記錄等功能,實現(xiàn)圖書管理工作的系統(tǒng)化,規(guī)范化和自動化,為圖書管理提供便利。同時,圖書館是目前生活中除了網(wǎng)絡外的另一個獲取知識的重要場所,利用圖書管理系統(tǒng)可以更加高效查詢、尋找到自己所需求的書籍。設計一個圖書信息管理系統(tǒng)是學習完《面向對象程序設計》課程后進行的一次全面綜合聯(lián)系。有助于加深對面向對象程序設計中基礎理論和基礎知識的理解,培養(yǎng)了實踐能力,促進理論與實踐的結合。1.2設計要求圖書信息包括:登錄號、書名、作者名、分類號、出版單位、出版時間、價格等,設計圖書管理系統(tǒng),使之能提供以下功能:1、系統(tǒng)以菜單方式工作;2、圖書信息瀏覽功能——輸出;3、查詢和排序功能:(至少一種方式)(1)按書名查詢;(2)按作者名查詢;(3)圖書信息的刪除與修改(管理員);4、圖書信息錄入功能(圖書信息用文件保存)——輸入;(管理員)1.3設計方案選取與論證本次課程設計我們組的題目為:圖書信息管理系統(tǒng)的開發(fā),總的設計目標是實現(xiàn)圖書管理的系統(tǒng)化、規(guī)范化和自動化,實現(xiàn)對圖書資料的集中統(tǒng)一的管理。是利用數(shù)據(jù)庫軟件編制一個管理軟件,用以實現(xiàn)圖書、讀者以及日常工作等多項管理。同時對整個系統(tǒng)的分析、設計過程給出一個完整論證。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。在對圖書信息的管理,其實是對圖書信息的管理。本系統(tǒng)的建成無疑會為管理者對圖書管理系統(tǒng)提供極大的幫助。本系統(tǒng)的設計主要從以下幾方面做起:系統(tǒng)業(yè)務流程分析、系統(tǒng)的功能設計、系統(tǒng)的數(shù)據(jù)庫結構設計等。作這些工作需對數(shù)據(jù)庫知識有足夠認識,并深入的了解C++的運用知識。新系統(tǒng)的使用能否可以很好的解決這些問題要看系統(tǒng)的可行性,可行性研究的目的是用最小的代價在盡可能短的時間內確定問題是否能夠解決。系統(tǒng)的可行性分析有以下幾個方面:(1)技術可行性:處理速度快、準確通過權限的設置,數(shù)據(jù)的安全性好、方便查詢、借閱管理等。(2)經(jīng)濟可行性:系統(tǒng)建設不需要很大的投入、可縮減人力投入。(3)運行上可行性:本系統(tǒng)作為一個小型的圖書館信息管理系統(tǒng),所耗費的資源非常的小。(4)從各種社會因素可行性分析:可降低工作人員工作強度,提高效率,會得到學校工作人員的一致同意的。綜上所述通過可行性分析認為新系統(tǒng)的開發(fā)方案切實可行,可進行開發(fā)。本系統(tǒng)主要實現(xiàn)對圖書館信息的管理,主要功能為管理有關書籍的信息。本系統(tǒng)結構主要為書籍信息管理模塊。書籍信息管理可以瀏覽書籍的信息,可以對書籍信息進行維護??梢?,本系統(tǒng)并不復雜,主要解決的問題是利用關鍵字對數(shù)據(jù)庫進行查詢。1.4模塊劃分與任務安排由于本系統(tǒng)具有很強的模塊性,為了使每一個組員都能過在本次課設上學習到東西,同時也是為了能過合理的分配各個成員的課程設計任務,所以我們組對本系統(tǒng)進行了模塊拆分,并由本組的每一個組員負責拆分中凡人一個模塊的設計及軟件的編寫。在每一個模塊程序編寫完成后,在進行總體的合成、調試。我們設計的系統(tǒng)分為:Book類的設計、BDatabase類的設計。以下是我們組的分配任務:由組員設計模塊:Book類的設計。由組員設計模塊:BDatabase類的設計。由組員進行主界面程序模塊設計。二、軟件設計2.1Book類模塊的軟件設計(負責同學:)本模塊主要的作用是錄入圖書的信息,在程序中先定義一個book類,類中主要分為獲取圖書類型、獲取書名、獲取圖書編碼、獲取刪除標志、設置書名、設置圖書類型、刪除圖書、增加圖書和輸出圖書9個小的模塊其流程圖如下:根據(jù)設計的流程模塊設計程序代碼,程序設計了六個私有成員,即刪除標記:lab;圖書編號:num;增加標記:add;編號:number[StrNum];書名:bookname[StrNum];圖書類型:bookkind[Type];同時還設計了同樣多的共有成員,使程序能夠在運行的時候提取書名、刪除書名、添加編號等等。這樣的book庫實現(xiàn)了圖書信息的錄入及提取。以下是本系統(tǒng)book類的基本設計程序:classBook{private:intlab;//刪除標記intnum;//圖書編號intadd;//增加標記charnumber[StrNum];//編號charbookname[StrNum];//書名charbookkind[Type];//圖書類型public:Book(){}chargetkind()//獲取圖書類型{returnbookkind[Type];}chargetname()//獲取書名{returnbookname[StrNum];}intgetnum()//獲取圖書編號{returnnum;}intgetlab()//獲取刪除標記{returnlab;}voidsetname(charna[])//設置書名{strcpy(bookname,na);}voidsetkind(charkin[])//設置類型{strcpy(bookkind,kin);}voiddelbook()//刪除圖書{lab=1;}voidaddbook(intn,char*na,char*kin)//增加圖書{lab=0;num=n;strcpy(bookname,na);strcpy(bookkind,kin);}voiddisp()//輸出圖書{cout.flags(ios::left);//設置對齊的標志位為左cout<<setw(15)<<num<<setw(20)<<bookname<<setw(15)<<bookkind<<endl;}};2.2BDatabase類模塊的軟件設計(負責同學:)本模塊的設計主要是滿足圖書信息的保存及文本的寫入,與book類相互依存。本模塊是實現(xiàn)本系統(tǒng)的重要一部分。設計的框圖如下:由于存入的圖書信息并不是保存在程序中,而是使它存在book.txt中,所以在本模塊設計中,使用了構造函數(shù)BDatabase將book.txt讀到book[]中和析構函數(shù)~BDatabase()將book[]寫到book.txt文件中,實現(xiàn)文本的寫入。所以,本部分的作用至關重要。其主要的的程序如下:classBDatabase{private:inttop;Bookbook[Maxb];//圖書記錄public:BDatabase()//構造函數(shù),將book.txt讀到book[]中{Bookb;top=-1;fstreamfile("book.txt",ios::in);while(1){file.read((char*)&b,sizeof(b));if(!file)break;top++;book[top]=b;}file.close();}voidclear()//全刪{top=-1;}intaddbook(intn,char*na,char*kin)//增加圖書{Book*p=query(n);if(NULL==p){top++;book[top].addbook(n,na,kin);return1;}return0;}Book*query(intbookid)//查找圖書{for(inti=0;i<=top;i++)if(book[i].getnum()==bookid&&book[i].getlab()==0){return&book[i];}returnNULL;}voiddisp()//圖書庫{for(inti=0;i<=top;i++)if(book[i].getlab()==0)book[i].disp();}~BDatabase()//析構函數(shù),將book[]寫到book.txt文件中,實現(xiàn)文本的寫入{fstreamfile("book.txt",ios::out);for(inti=0;i<=top;i++)if(book[i].getlab()==0)file.write((char*)&book[i],sizeof(book[i]));file.close();}};2.3主界面程序模塊設計(負責同學:)一個完整的圖書信息管理系統(tǒng)需要一個界面來讓我們明白無誤的功能及使用的流程。主界面模塊的設計是更具設計的程序集我們在實際使用中和課設的要求,輸出一個界面,是我們能過通過界面的引導,實現(xiàn)對本系統(tǒng)的使用。主界面板設計上,設置了:添加圖書、刪除圖書、查找圖書等等7個提示目錄。其設計框圖如下:一個合理的主菜單界面,才能夠完成我們所需求的各個功能。主要的程序如下:voidmain(){BDatabaseBookDB;charchoice;charbname[40];charbkind[40];charnewType[20];intbookid;Book*b;while(choice!='0'){cout<<"\t*********************************************************\n";cout<<"\n\n";cout<<"\t\t\t圖書管理系統(tǒng)\n\n";cout<<"\t\t\t1新增圖書記錄\n";cout<<"\t\t\t2更改圖書記錄\n";cout<<"\t\t\t3刪除圖書記錄\n";cout<<"\t\t\t4查找圖書記錄\n";cout<<"\t\t\t5顯示圖書記錄\n";cout<<"\t\t\t6清空全部記錄(慎用)\n";cout<<"\t\t\t0退出系統(tǒng)\n";cout<<"\n\n";cout<<"\t********************************************************\n";cout<<"請選擇(1,2,3,4,5,6,0):";cin>>choice;switch(choice){case'1':cout<<"輸入圖書編號:"<<endl;cin>>bookid;cout<<"輸入圖書類型:"<<endl;cin>>newType;cout<<"輸入圖書書名:"<<endl;cin>>bname;BookDB.addbook(bookid,bname,newType);break;case'2':cout<<"輸入圖書編號:"<<endl;cin>>bookid;b=BookDB.query(bookid);if(b==NULL){cout<<"該圖書不存在"<<endl;break;}cout<<"輸入新的書名:"<<endl;cin>>bname;b->setname(bname);cout<<"輸入新的類型:"<<endl;cin>>bkind;b->setkind(bkind);break;case'3':cout<<"讀入圖書編號:"<<endl;cin>>bookid;b=BookDB.query(bookid);if(b==NULL){cout<<"該圖書不存在"<<endl;break;}chartg1;cout<<"確定要刪除此記錄嗎?(Y/N)"<<endl;cin>>tg1;if(tg1!='n'&&tg1!='N'){b->delbook();cout<<"已成功刪除該書記錄!"<<endl;break;}case'4':cout<<"讀入圖書編號:"<<endl;cin>>bookid;b=BookDB.query(bookid);if(b==NULL){cout<<"該圖書不存在"<<endl;break;}cout<<"圖書編號圖書名稱圖書類型\n";b->disp();break;case'5':cout<<"圖書編號圖書名稱圖書類型\n";b->disp();break;case'6':chartg2;cout<<"確定要清空所有記錄嗎?(Y/N)"<<endl;cin>>tg2;if(tg2!='n'&&tg2!='N'){BookDB.clear();cout<<"已成功清空記錄!"<<endl;break;}case'0':break;default:cout<<"輸入錯誤,請從新輸入(數(shù)字為0~6):";三、系統(tǒng)實現(xiàn)及調試過程運行程序,系統(tǒng)輸出主界面,界面如下:按照輸出界面的提示項目,調試各個功能:測試新增圖書記錄功能 :測試更改圖書記錄功能:測試刪除圖書記錄功能:測試查找圖書記錄功能:測試顯示圖書記錄功能:測試清空全部圖書記錄功能:調試中,我們可以看到本系統(tǒng)以菜單方式工作,具備了圖書信息瀏覽功能,同時還具有查詢和排序功能,并能過按按照書名和編號查詢錄入的圖書信息,在圖書信息的刪除與修改方面也能夠實現(xiàn)設計的要求。以下是對本系統(tǒng)完成功能測試的解說。測試單元: 圖書信息單元 測試類型:功能測試編號測試說明期望結果實際結果成功/失敗1測試新書信息添加是否成功新書信息成功寫入數(shù)據(jù)庫數(shù)據(jù)庫中可以找到新添加記錄。成功2測試圖書刪除將輸入新書信息刪除數(shù)據(jù)庫中新書紀錄刪除成功3測試圖書信息修改將重新輸入數(shù)據(jù)錄入到數(shù)據(jù)庫中修改圖書信息信息成功成功表3.1圖書信息管理測試用例表測試單元: 查詢讀者信息單元 測試類型:功能測試編號測試說明期望結果實際結果成功/失敗1測試按讀者的各項信息是否可以進行查詢根據(jù)不同的查詢信息對讀者進行查詢顯示查詢項成功2測試多項的查詢條件是否能進行查詢根據(jù)不同的查詢條件對讀者信息進行查詢顯示查詢結果成功表3.2查詢管理測試用例表根據(jù)上面的測試,該系統(tǒng)各功能模塊均能正常使用。同時,這些功能也是本次課程設計的任務要求,所以本次課程設計完成。四、結論總結:本系統(tǒng)實現(xiàn)了圖書管理系統(tǒng)的典型功能,包括查詢所有記錄的信息,添加查找等功能,基本符合設計要求,利用類的封裝實現(xiàn)了一定的安全性,函數(shù)的實現(xiàn)與調用主要在

溫馨提示

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

評論

0/150

提交評論