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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 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. 人人文庫網(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)論