版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 數(shù)學與計算機學院</b></p><p><b> 課程設計說明書</b></p><p> 課 程 名 稱:數(shù)據(jù)結構與算法B綜合課程設計</p><p> 課 程 代 碼: </p><p> 題
2、目: 圖書管理系統(tǒng) </p><p> 年級/專業(yè)/班: </p><p> 學 生 姓 名: </p><p> 學 號:
3、</p><p> 開 始 時 間: 2011 年 12 月 08 日</p><p> 完 成 時 間: 2011 年 12 月 24 日</p><p><b> 課程設計成績:</b></p><p> 指導教師簽名: 年 月 日</p>
4、;<p><b> 目 錄 </b></p><p><b> 摘要</b></p><p><b> 1 前言1</b></p><p> 1.1 問題的提出1</p><p> 1.2 任務與分析1</p><p>
5、 2.軟件總體設計3</p><p> 2.1 開發(fā)工具3</p><p> 2.2 系統(tǒng)框圖3</p><p> 2.3 模塊功能5</p><p> 2.3.1 圖書入庫..5</p><p> 2.3.2 清楚圖書5</p><p> 2.3.3 顯示庫存…5&
6、lt;/p><p> 2.3.4 讀者借閱.....................................................................................................................5</p><p> 2.3.5 讀者歸還.....................................
7、................................................................................5</p><p> 2.3.6 借閱查詢….........................................................................................................
8、........5</p><p> 3 軟件界面設計6</p><p> 3.1 控件介紹6</p><p><b> 3.2 窗體6</b></p><p> 3.3 文本編輯框6</p><p> 3.4 下拉列表框6</p><p><b&
9、gt; 3.5 密碼框6</b></p><p><b> 3.6 表格6</b></p><p> 3.7 菜單欄組件7</p><p> 4 功能詳細設計8</p><p> 4.1 界面登陸8</p><p> 4.2 新書錄入9</p>&
10、lt;p> 4.3 清楚圖書庫存10</p><p> 4.4 圖書借閱11</p><p> 4.5 圖書歸還13</p><p> 4.6 借閱顯示15</p><p> 4.7 軟件使用說明15</p><p><b> 5 軟件測試17</b></p&g
11、t;<p><b> 結 論28</b></p><p><b> 致 謝29</b></p><p><b> 參考文獻30</b></p><p><b> 摘 要</b></p><p> 隨著計算機及網(wǎng)絡技術的飛速
12、發(fā)展,Internet/Intranet應用在全球范圍內(nèi)日益普及,當今社會正快速向信息化社會前進,信息自動化的作用也越來越大。從而使我們從繁雜的事務中解放出來,提高了我們的工作效率。</p><p> 目前學校圖書館的借閱工作部分還是手工管理,工作效率很低,并且不能及時了解圖書的種類和學生們比較需求的圖書等,不能更好的適應當前學生的借閱要求。手工管理還存在這許多弊端,由于不可避免的人為因素,造成數(shù)據(jù)的遺漏、誤報
13、。計算機信息化管理有著儲存量大,速度快等許多優(yōu)點,提供給我們的處理信息及時快捷,因此我們利用計算機提供給我們的信息對學生們的借閱過程形成一整套動態(tài)的管理。</p><p> 本系統(tǒng)將會涉及到圖書館日常管理工作的基本常見細節(jié),諸如新圖書的入庫登記,圖書館所有書籍的分類管理,圖書的查詢,圖書的借閱、退還手續(xù)的登記,費舊圖書的清理撤除等,本系統(tǒng)所要實現(xiàn)的這些功能基本上涵蓋了圖書館的日常管理工作,基本能夠滿足校園圖書館
14、的工作人員的管理需要。</p><p> 在對本系統(tǒng)的具體開發(fā)過程當中,將采用Java語言進行開發(fā),以文本文件實現(xiàn)后臺數(shù)據(jù)庫,本系統(tǒng)是完全基于圖形化用戶界面(GUI)的單機版本。</p><p> 關鍵詞:信息化 軟件工程 軟件生命周期 圖形化用戶界面</p><p><b> Abstract</b></p><p&
15、gt; The full name of our System is: The Management Information System of Campus’s Library. At present, the computer technology is developing ever-growing, and the campus’s information construction also have pushing on,
16、by contrast, the method of management in many university library is still by man, the library’workers must face to the large number of books, and also face to fall into the trouble. Actually, the work can be done by the
17、computer which have a management information system. Then the hea</p><p> This is the goal which our system want to achieve finally.</p><p> The principle of development to our system will be
18、following with Software Engineering, we use the traditional model which be called Waterfall, and the course of development will be divided into six stage. We will develop the system in sequence.</p><p> Our
19、 system contains many operations about library’s everyday work, such as Register New Books, Classify Books according to their subjects, Find Books, Dispose old books, and so on, our system can finish all of the work, and
20、 can meet the requirements of the library’sworkers.</p><p> During the development of our system, we use the tool of JAVA to develop it, our system is on the basis of the Access Database.</p><p&g
21、t;<b> 1 前言 </b></p><p><b> 1.1 問題的提出</b></p><p> 首先,圖書館的管理直接關系到我們大學生如何更好的使用圖書,更充分的利用現(xiàn)有資源學習,提高自身素質(zhì)。針對當今的大學圖書館藏書越來越多,學生借書越來越頻繁,圖書管理較為繁瑣,圖書館管理工作人員付出的工作時間越來越多,得到的效率卻很低這個現(xiàn)狀
22、。為提高工作效率,減輕圖書館工作人員的工作負擔,決定開發(fā)學校圖書館管理系統(tǒng)軟件,以幫助更好的實現(xiàn)圖書館的管理,讓我們能更便捷的借閱圖書,讓老師能花最少的時間辦理好借閱圖書手續(xù)。</p><p> 開發(fā)此圖書館管理系統(tǒng)軟件,也是對實現(xiàn)數(shù)字化圖書館管理的支持,現(xiàn)今各大學普遍存在著一個現(xiàn)象,圖書的借閱手續(xù)都是由專門的老師來實現(xiàn)辦理的,每當借閱高峰期時,排隊借書的場面屢見不鮮,這樣即耗費時間又使原本不太大的借書大廳擁擠
23、不堪。圖書館管理系統(tǒng)的實現(xiàn),可以著眼于數(shù)字化借閱,簡化學生圖書查詢流程,簡化圖書外借登記手續(xù),即提高借閱效率又可實現(xiàn)圖書借閱的完整進出記錄,保證圖書的合理使用,讓廣大師生受益。</p><p><b> 1.2 任務與分析</b></p><p> 本課題主要的任務是設計一個圖書管理系統(tǒng),實現(xiàn)對圖書的采編入庫,清除,查找,借閱,歸還以及顯示功能</p>
24、<p> 1.基于圖形用戶界面(GUI)的標準“Windows” 應用程序。</p><p> 2.初始輸入數(shù)據(jù):自由輸入。</p><p><b> 3.基本要求:</b></p><p> ?。?)每種書的登記內(nèi)容至少包括書號、書名、著者、現(xiàn)存量和總庫存量等五項。</p><p> ?。?)由于圖
25、書管理的基本業(yè)務活動都是通過書號(即關鍵字)進行的,所以要用對書號 索引,以獲得高效率。</p><p> 系統(tǒng)應實現(xiàn)的基本功能有:</p><p> ?。?)采編入庫:新購入一種書,經(jīng)分類和確定書號之后登記到圖書帳目中去。如果這兩種書在帳中已有,則只將總庫存量增加。</p><p> ?。?)清除庫存:某種書已無保留價值,將它從圖書帳目中注銷。</p>
26、;<p> ?。?)借閱:如果一種書的現(xiàn)存量大于零,則借出一本,登記借閱者的圖書證號和歸還期限。</p><p> (4)歸還:注銷對借閱者的登記,改變該書的現(xiàn)存量。</p><p> ?。?)顯示:以凹入表的形式顯示B樹。這個操作是為了調(diào)試和維護的目的而設置的。</p><p><b> 4.界面設計總要求</b></
27、p><p> (1)操作流程簡便合理,操作界面美觀自然,符合用戶一般操作習慣。</p><p> ?。?)界面簡潔美觀,配色和諧,比例合適,符合大多數(shù)人的審美趣向。</p><p> 5.菜單設置“使用說明”,介紹本軟件開發(fā)者、特色、各項功能以及如何使用。</p><p><b> 2.系統(tǒng)總體設計</b></p
28、><p><b> 2.1 開發(fā)工具</b></p><p><b> eclipse</b></p><p><b> 優(yōu)點:</b></p><p> 1,從編寫、查錯、編譯、幫助等等各方面為Java語言貼身定做。 2,可無限擴展的強大插件功能。
29、 3,眾多公司、廠商、組織的鼎立支持。 4,開放,自由,免費。 </p><p><b> 開發(fā)環(huán)境:Win7</b></p><p> 運行環(huán)境:Win7。</p><p><b> 2.2 系統(tǒng)框圖</b></p><p> (1)系統(tǒng)組成框圖:如圖2-1所示<
30、/p><p> 圖2-1 系統(tǒng)組成框圖</p><p> (2) 系統(tǒng)流程圖: 如圖2-2-1,圖2-2-2所示</p><p> 圖2-2-1 系統(tǒng)流程圖</p><p> 圖2-2-1 系統(tǒng)流程圖</p><p><b> 2.3 模塊功能</b></p><p>
31、; 2.3.1 圖書入庫</p><p> 輸入編采入庫圖書的書號,書名,著作,現(xiàn)存量,以及總入庫量,入庫成功后,將其圖書信息保存在文本文檔中</p><p> 2.3.2 清除圖書</p><p> 輸入圖書的編號對其進行刪除,刪除成功后,將其文本文檔中的現(xiàn)存量和中庫存量置為0</p><p> 2.3.3 顯示庫存</p&
32、gt;<p> 羅列出所有庫存圖書的書號,書名,著作,現(xiàn)存量,以及總庫存量</p><p> 2.3.4 讀者借閱</p><p> 輸入所需借閱圖書的編號,書名和借書日期,借閱成功后,將其借閱信息保存值文本文檔中</p><p> 2.3.5 讀者歸還</p><p> 輸入所歸還圖書的書號,歸還成功后,將其以前借閱
33、信息中的借閱日期置為0-0-0</p><p> 2.3.5 借閱查詢</p><p> 羅列出讀者所借閱圖書的記錄</p><p><b> 3 人機界面設計</b></p><p><b> 3.1 控件介紹</b></p><p> 控件是對數(shù)據(jù)和方法的封裝。
34、控件可以有自己的屬性和方法。屬性是控件數(shù)據(jù)的簡單訪問者。事件則是控件的一些簡單而可見的功能。 所有的控件都有很多屬性,用于處理控件的操作 </p><p> 3.2 窗體(以下逐個闡述:你選用的控件的截圖、特點、選用理由)</p><p> 窗口JFrame一個底層容器,其他組件必須添加到底層容器中,以便借助這個底層容器和操作系統(tǒng)進行信息交互.</p><p
35、> 使用了菜單條,菜單與菜單項,實現(xiàn)窗口間的切換.</p><p><b> 3.3 文本編輯框</b></p><p> 文本框特點是允許用戶在文本框中輸入單行文本</p><p><b> 3.4 密碼框</b></p><p> 文本密碼框允許用戶在密碼框內(nèi)輸入單行密碼,密碼框
36、的回顯字符是’*’.</p><p><b> 3.5 按鈕與標簽</b></p><p> 在按鈕上設置點擊事件.</p><p><b> 3.6 表格</b></p><p> 表格以行和列的形勢顯示數(shù)據(jù),允許對表格的數(shù)據(jù)進行編輯,表格的模型功能強大,靈活并易于執(zhí)行</p>
37、<p> 3.7 菜單組件(必須有菜單,在此講述菜單組件及其設計)</p><p> 窗口中的菜單條,菜單,菜單項是非常熟悉的組件,菜單放在菜單條里面,菜單項放在菜單里面</p><p><b> 4 功能詳細設計</b></p><p><b> 4.1 登錄界面</b></p>&l
38、t;p> 用戶從登錄界面輸入用戶名與密碼,輸入管理員的用戶與密碼,并驗證密碼正確后,進入管理員管理板塊.輸入學生的用戶名與密碼,并驗證正確后,進入學生板塊.</p><p><b> 核心代碼:</b></p><p> jbn2.addActionListener(new ActionListener() {</p><p>
39、public void actionPerformed(ActionEvent arg0) {</p><p> System.exit(0);</p><p><b> }</b></p><p><b> });</b></p><p> jbn1.addActionListener(n
40、ew ActionListener(){</p><p> public void actionPerformed(ActionEvent e) {</p><p> String usernameinput = jtf1.getText();</p><p> String pwdstrinput = String.valueOf(jpf.getPasswo
41、rd());</p><p> if ((usernameinput.equals(username))</p><p> && (pwdstrinput.equals(pwdstr)) && true==r1.isSelected()) {</p><p> JOptionPane.showMessageDialog(null
42、, "登陸成功!");</p><p> new ListenGUI2();</p><p> setVisible(false);</p><p> jtf1.grabFocus();</p><p> jpf.grabFocus();</p><p><b> return;
43、</b></p><p><b> } </b></p><p> else if ((usernameinput.equals(username2))</p><p> && (pwdstrinput.equals(pwdstr2)) && true==r2.isSelected()) {&
44、lt;/p><p> JOptionPane.showMessageDialog(null, "登陸成功!");</p><p> new ListenGUI1();</p><p> setVisible(false);</p><p> jtf1.grabFocus();</p><p>
45、 jpf.grabFocus();</p><p><b> return;</b></p><p><b> }</b></p><p> else if (pwdstrinput == null || "".equals(pwdstrinput)) {</p><p>
46、 JOptionPane.showMessageDialog(null, "密碼不能為空");</p><p> jpf.grabFocus();</p><p><b> return;</b></p><p> } else if (pwdstrinput.length() < 6) {</p>
47、<p> JOptionPane.showMessageDialog(null, "密碼不能小于6位");</p><p> jpf.grabFocus();</p><p><b> return;</b></p><p><b> } else {</b></p>
48、<p> JOptionPane.showMessageDialog(null, "登陸失?。?quot;);</p><p><b> }</b></p><p><b> }</b></p><p><b> });</b></p><p>&
49、lt;b> 4.2 新書的錄入</b></p><p> 管理員輸入所需錄入新書的編號,書名,著作,現(xiàn)存量和中庫存量后,點擊錄入,則系統(tǒng)自動將錄入的新書信息保存在文本文檔中.</p><p> 用文本文檔操作不方面管理員的后臺管理,查看書的信息不能直接打開文本文檔進行查看,而是必須進入管理界面才能進行查看.</p><p><b>
50、 核心代碼:</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> // TODO Auto-generated method stub</p><p> if(f.exists()){</p><p> FileInputStream fi
51、;</p><p><b> try {</b></p><p> fi = new FileInputStream(f);</p><p> ObjectInputStream oi=new ObjectInputStream(fi);</p><p> bookslist=(LinkedList<Boo
52、ks>)oi.readObject();</p><p> fi.close();</p><p> oi.close();</p><p> Books books=new Books();</p><p> String s1=no.getText();</p><p> String s2=nam
53、e.getText();</p><p> String s3=actor.getText();</p><p> String s4=save.getText();</p><p> String s5=allsave.getText();</p><p> while(i<bookslist.size())</p>
54、;<p><b> {</b></p><p> Books bo=(Books)bookslist.get(i);</p><p> if(s1.equals(bo.getNo())&&s2.equals(bo.getName())&&s3.equals(bo.getActor()))</p><
55、;p><b> {</b></p><p><b> int a,b;</b></p><p> a=Integer.parseInt(bo.getAllsave())+Integer.parseInt(s5);</p><p> b=Integer.parseInt(bo.getSave())+Intege
56、r.parseInt(s5);</p><p> bo.setAllsave(String.valueOf(a));</p><p> bo.setSave(String.valueOf(b));</p><p><b> break;</b></p><p><b> }</b></
57、p><p><b> i++;</b></p><p><b> }</b></p><p> if(i==bookslist.size())</p><p><b> {</b></p><p> books.setNo(s1); <
58、;/p><p> books.setName(s2);</p><p> books.setActor(s3);</p><p> books.setSave(s4);</p><p> books.setAllsave(s5);</p><p> bookslist.add(books);</p>
59、<p><b> }</b></p><p> FileOutputStream fo=new FileOutputStream(f);</p><p> ObjectOutputStream out=new ObjectOutputStream(fo);</p><p> out.writeObject(bookslist
60、);</p><p> out.close(); </p><p> } catch (Exception ee) {}</p><p><b> }</b></p><p><b> else{</b></p><p><b> try{</b&g
61、t;</p><p> f.createNewFile();</p><p> Books books=new Books();</p><p> books.setNo(no.getText());</p><p> books.setName(name.getText());</p><p> books
62、.setActor(actor.getText());</p><p> books.setSave(save.getText());</p><p> books.setAllsave(allsave.getText());</p><p> bookslist.add(books);</p><p> FileOutputStre
63、am fo=new FileOutputStream(f);</p><p> ObjectOutputStream out=new ObjectOutputStream(fo);</p><p> out.writeObject(bookslist);</p><p> out.close();</p><p><b>
64、}</b></p><p> catch(Exception e1) {}</p><p><b> }</b></p><p> 4.3 清除圖書庫存</p><p> 管理員輸入所需刪除圖書的編號,如庫存中有此編號的書,則將此書的現(xiàn)存量與總庫存量賦值為零.</p><p>
65、 主要用到的數(shù)據(jù)結構是鏈表,方便對其的刪除操作.其確實是從鏈表的頭依次遍歷,直到找到所需的圖書編號或者到鏈表尾部.這樣遍歷的時間效率比較低,對于大量的圖書需要遍歷的話,此算法的時間效率低</p><p><b> 核心代碼:</b></p><p> public void actionPerformed(ActionEvent e) {</p>
66、<p> if(file.exists()){</p><p><b> try {</b></p><p> fi = new FileInputStream(file);</p><p> ObjectInputStream oi=new ObjectInputStream(fi);</p><p>
67、; bookslist1=(LinkedList<Books>)oi.readObject();</p><p> fi.close();</p><p> oi.close();</p><p> Books books=new Books();</p><p> String s=no.getText();</
68、p><p> while(i<bookslist1.size())</p><p><b> {</b></p><p> Books bo=(Books)bookslist1.get(i);</p><p> if(s.equals(bo.getNo()))</p><p><b
69、> {</b></p><p><b> int a,b;</b></p><p><b> a=0;</b></p><p><b> b=0;</b></p><p> bo.setAllsave(String.valueOf(a));</
70、p><p> bo.setSave(String.valueOf(b));</p><p> JOptionPane.showMessageDialog(null, "刪除成功!");</p><p><b> break;</b></p><p><b> }</b><
71、;/p><p><b> i++;</b></p><p><b> }</b></p><p> FileOutputStream fo=new FileOutputStream(file);</p><p> ObjectOutputStream out=new ObjectOutputSt
72、ream(fo);</p><p> out.writeObject(bookslist1);</p><p> fo.close();</p><p> out.close();</p><p> } catch (Exception ee) {}</p><p><b> }</b>
73、</p><p><b> 4.4 圖書的借閱</b></p><p> 學生輸入所需借閱圖書的編號,書名和借閱日期,如果此書的現(xiàn)存量大于零,則將其現(xiàn)存量減一,讀者借書成功.并且在讀者信息中記錄讀者借閱了此圖書,將借閱信息寫入文本文件.</p><p> 主要的數(shù)據(jù)結構是鏈表,從鏈表的頭依次遍歷,直到找到所需的圖書編號或者到鏈表尾部.這樣
74、遍歷的時間效率比較低,對于大量的圖書需要遍歷的話,此算法的時間效率低</p><p><b> 核心代碼:</b></p><p> public void actionPerformed(ActionEvent e) {</p><p><b> try{ </b></p><p> Fi
75、leInputStream fi=new FileInputStream(file);</p><p> ObjectInputStream oi=new ObjectInputStream(fi);</p><p> bookslist1=(LinkedList<Books>)oi.readObject();</p><p> fi.close
76、();</p><p> oi.close(); </p><p> Books books=new Books();</p><p> books.setNo(rno.getText());</p><p> while(i<bookslist1.size())</p><p><b> {
77、</b></p><p> Books bo=(Books)bookslist1.get(i);</p><p> if(books.getNo().equals(bo.getNo())&&Integer.parseInt(bo.getSave())>0)</p><p><b> {</b></p
78、><p><b> int a;</b></p><p> a=Integer.parseInt(bo.getSave())-1;</p><p> bo.setSave(String.valueOf(a));</p><p> JOptionPane.showMessageDialog(null, "借閱
79、成功!");</p><p><b> break;</b></p><p><b> }</b></p><p> if(Integer.parseInt(bo.getSave())==m&&books.getNo().equals(bo.getNo()))</p><
80、p><b> {</b></p><p> JOptionPane.showMessageDialog(null, "此書全部借出!");</p><p> System.exit(0);</p><p><b> }</b></p><p><b>
81、i++;</b></p><p><b> }</b></p><p> if(i==bookslist1.size())</p><p><b> {</b></p><p> JOptionPane.showMessageDialog(null, "此書圖書館無庫存
82、!");</p><p> System.exit(0);</p><p><b> }</b></p><p> FileOutputStream fo=new FileOutputStream(file);</p><p> ObjectOutputStream out=new ObjectOutp
83、utStream(fo);</p><p> out.writeObject(bookslist1);</p><p> out.close();</p><p> if(file1.exists())</p><p><b> {</b></p><p><b> try{&
84、lt;/b></p><p> FileInputStream fi1 = new FileInputStream(file1);</p><p> ObjectInputStream oi1=new ObjectInputStream(fi1);</p><p> readerlist1=(LinkedList<Reader>)oi1.re
85、adObject();</p><p> fi1.close();</p><p> oi1.close();</p><p> Reader readers=new Reader();</p><p> String s1=rno.getText();</p><p> String s2=rname.ge
86、tText();</p><p> String s3=borrowdate.getText();</p><p> readers.setRno(s1); </p><p> readers.setRname(s2);</p><p> readers.setBorrowdate(s3);</p><p&
87、gt; readerlist1.add(readers);</p><p> FileOutputStream fo1=new FileOutputStream(file1);</p><p> ObjectOutputStream out1=new ObjectOutputStream(fo1);</p><p> out1.writeObject(rea
88、derlist1);</p><p> out1.close();</p><p> } catch(Exception ee){}</p><p><b> }</b></p><p><b> else{</b></p><p><b> try{&l
89、t;/b></p><p> file1.createNewFile();</p><p> Reader readers=new Reader();</p><p> String s1=rno.getText();</p><p> String s2=rname.getText();</p><p>
90、; String s3=borrowdate.getText();</p><p> readers.setRno(s1); </p><p> readers.setRname(s2);</p><p> readers.setBorrowdate(s3);</p><p> readerlist1.add(readers
91、);</p><p> FileOutputStream fo1=new FileOutputStream(file1);</p><p> ObjectOutputStream out1=new ObjectOutputStream(fo1);</p><p> out1.writeObject(readerlist1);</p><p&
92、gt; out1.close();</p><p><b> }</b></p><p> catch(Exception e1) {}</p><p><b> }</b></p><p> }catch(Exception ee){}</p><p><b
93、> }</b></p><p><b> 4.5 圖書的歸還</b></p><p> 學生輸入需要歸還圖書的編號,如果歸還成功則將讀者的借書日期置為0-0-0.</p><p> 主要的數(shù)據(jù)結構是鏈表,從鏈表的頭依次遍歷,直到找到所需的歸還圖書的編號或者到鏈表尾部.這樣遍歷的時間效率比較低,對于大量的圖書需要遍歷的話
94、,此算法的時間效率低</p><p><b> 核心代碼:</b></p><p> public void actionPerformed(ActionEvent e) {</p><p><b> try{ </b></p><p> FileInputStream fi=new F
95、ileInputStream(file);</p><p> ObjectInputStream oi=new ObjectInputStream(fi);</p><p> bookslist1=(LinkedList<Books>)oi.readObject();</p><p> fi.close();</p><p&g
96、t; oi.close(); </p><p> Books books=new Books();</p><p> books.setNo(rno.getText());</p><p> while(i<bookslist1.size())</p><p><b> {</b></p>
97、<p> Books bo=(Books)bookslist1.get(i);</p><p> if(books.getNo().equals(bo.getNo()))</p><p><b> {</b></p><p><b> int a;</b></p><p> a=
98、Integer.parseInt(bo.getSave())+1;</p><p> bo.setSave(String.valueOf(a));</p><p> JOptionPane.showMessageDialog(null, "歸還成功!"); </p><p><b> }</b></p>
99、<p><b> i++;</b></p><p><b> }</b></p><p> FileOutputStream fo=new FileOutputStream(file);</p><p> ObjectOutputStream out=new ObjectOutputStream(fo)
100、;</p><p> out.writeObject(bookslist1);</p><p> out.close();</p><p> FileInputStream fi1 = new FileInputStream(file1);</p><p> ObjectInputStream oi1=new ObjectInputS
101、tream(fi1);</p><p> readerlist1=(LinkedList<Reader>)oi1.readObject();</p><p> fi1.close();</p><p> oi1.close();</p><p> Reader readers=new Reader();</p>
102、<p> readers.setRno(rno.getText());</p><p> while(j<readerlist1.size())</p><p><b> {</b></p><p> Reader bo1=(Reader)readerlist1.get(j);</p><p>
103、; if(readers.getRno().equals(bo1.getRno()))</p><p><b> {</b></p><p> bo1.setBorrowdate("0-0-0");</p><p><b> }</b></p><p><b>
104、 j++;</b></p><p><b> }</b></p><p> FileOutputStream fo1=new FileOutputStream(file1);</p><p> ObjectOutputStream out1=new ObjectOutputStream(fo1);</p>&l
105、t;p> out1.writeObject(readerlist1);</p><p> out1.close();</p><p><b> }</b></p><p> catch(Exception ee){}</p><p><b> }</b></p><
106、;p><b> 4.6 借閱顯示</b></p><p> 顯示出所有學生借閱的書籍,并能得知這些書籍時候歸還. </p><p><b> 核心代碼:</b></p><p> public void actionPerformed(ActionEvent e) {</p><p>
107、 if(e.getSource()==顯示) {</p><p><b> try{ </b></p><p> FileInputStream fi=new FileInputStream(file);</p><p> ObjectInputStream oi=new ObjectInputStream(fi);</p>
108、;<p> LinkedList<Reader> readerList=(LinkedList<Reader>)oi.readObject();</p><p> fi.close();</p><p> oi.close(); </p><p> int length=readerList.size();</p
109、><p> 表格單元=new Object[length][3];</p><p> table=new JTable(表格單元,列名); </p><p> pCenter.removeAll(); </p><p> pCenter.add("顯示",new JScrollPane(table)); </p&
110、gt;<p> pCenter.validate(); </p><p> Iterator<Reader> iter=readerList.iterator();</p><p><b> int i=0;</b></p><p> while(iter.hasNext()) {</p>
111、<p> Reader read =iter.next();</p><p> 表格單元[i][0]= read.getRno();</p><p> 表格單元[i][1]=read.getRname();</p><p> 表格單元[i][2]=read.getBorrowdate();</p><p><b&
112、gt; i++;</b></p><p><b> }</b></p><p> table.repaint();</p><p><b> }</b></p><p> catch(Exception ee){}</p><p> }
113、 </p><p> 4.7 軟件使用說明</p><p> 結合運行過程截圖說明本軟件的使用步驟等 </p><p> (1).系統(tǒng)登錄界面,用戶名輸入黃朋,密碼輸入111265,代表教室管理員登錄,進行圖書管理. 用戶名輸入黃,密碼輸入111111,代表學生登錄,進行圖書的借閱. </
114、p><p> 管理員界面,點擊入庫</p><p> 管理員界面,輸入相應的信息點擊錄入.</p><p> .管理員界面,點擊顯示,則顯示所有庫存圖書的信息.</p><p><b> (5)點擊清除</b></p><p> .輸入書號,點擊刪除.</p><p&g
115、t; .顯示出刪除后的圖書庫存信息.</p><p> 學生管理界面,點擊借閱</p><p> .學生借閱,輸入圖書的書號,書名,結束日期,點擊確定</p><p> .點擊歸還,則進入此界面,輸入書號,點擊確定.</p><p> .點擊顯示,則進入此界面,顯示讀者的借閱信息</p><p><b&
116、gt; 5 系統(tǒng)功能測試</b></p><p> 結合程序運行過程的截圖,闡述本軟件各個模塊功能的實現(xiàn)以及協(xié)作工作情況</p><p><b> 5.1 登錄界面</b></p><p> 一點擊程序運行就會出現(xiàn)如下的登陸界面:</p><p> 輸入用戶名為“黃朋”、密碼為“111265”、選
117、擇教師然后點擊登錄就可以登錄到老師登陸界面進行相關操作,如果這三者不匹配,則會出現(xiàn)登錄失敗的提示。</p><p> 輸入用戶名為“黃”、密碼為“111111”、選擇學然后點擊登錄就可以登錄到學生登陸界面進行相關操作,如果這三者不匹配,則會出現(xiàn)登錄失敗的提示。</p><p><b> 5.2入庫和顯示</b></p><p> 當你登錄
118、教師賬號成功后就能跳入下面的界面進行下一步操作</p><p> 點擊入庫就會顯示下一個窗口,在該窗口的文本框里面輸入你想要編輯的書的信息再點擊錄入就可以實現(xiàn)錄入的功能:</p><p> 點擊菜單選項就會顯示出錄入和顯示兩個選項,再點擊顯示就會出現(xiàn)以下圖片,這就完成了顯示的功能:</p><p><b> 5.3清除功能</b><
119、/p><p> 在登錄到老師界面過后,不點擊入庫,點擊清除,再在書號后面的文本框里面輸入想要刪除的書號,就可以清除不要的書籍</p><p><b> 5.4歸還</b></p><p> 從最開始的界面登錄到學生登陸界面后就會跳出該窗口:</p><p> 點擊歸還按鈕并輸入你想要歸還的書的書號,點擊確定,就可以實
120、現(xiàn)歸還的功能:</p><p><b> 5.5借閱</b></p><p> 點擊借閱按鈕,在新出現(xiàn)的窗口上輸入你要借閱的書名書號以及你的歸還日期,點擊確定就可以實現(xiàn)圖書的借閱:</p><p><b> 5.6顯示</b></p><p> 在登錄學生界面后點擊顯示,就會完成對學生的圖書
121、顯示功能</p><p><b> 結 論</b></p><p> 本次我們組做的是圖書管理系統(tǒng),總的來說,完成的還算可以,基本的功能都完成了,如對圖書的采編入庫,登記圖書的一般信息,還有老師對于已無使用價值的書籍的刪除,以及學生對圖書的借閱、歸還和顯示,都在一定程度上實現(xiàn)了。通過對圖書管理系統(tǒng),我們對Java面向?qū)ο蟪绦蛟O計有了更深入的了解,也從實踐中體會到了
122、Java語言的優(yōu)點,更簡單易懂,我們使用的是eclipse開發(fā)環(huán)境,該環(huán)境可以進行錯誤提示,讓我們改錯的時間減少不少,提高了工作的效率。我們將系統(tǒng)的各個模塊功能做了大致的分析,成員變量函數(shù)等做了一定的規(guī)定后,就把各個模塊具體的分配到各個組員手里,大家分工進行源代碼的編寫,到最后將各個模塊合在一起,再對不和諧的地方進行修改。</p><p><b> 致 謝</b></p>&
123、lt;p> 這次的課程設計可以順利完成,首先要感謝指導老師**老師的悉心指導,然后是感謝**數(shù)學與計算機學院提供機房給我們實際操作,最后要感謝各個組員,因為有大家的共同配合,才可以高效率地完成這次課程設計。</p><p><b> 參考文獻</b></p><p> [1][1] 耿祥義,張樂平等,JAVA面向?qū)ο蟪绦蛟O計,清華大學出版,2010,1,1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結構課程設計--圖書館管理系統(tǒng)
- 數(shù)據(jù)結構課程設計圖書館管理系統(tǒng)
- 數(shù)據(jù)結構課程設計--圖書管理系統(tǒng)
- 數(shù)據(jù)結構課程設計--圖書借閱管理系統(tǒng)
- 《數(shù)據(jù)結構》課程設計---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計----圖書館管理系統(tǒng)
- 數(shù)據(jù)結構課程設計--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計---圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設計(圖書館管理系統(tǒng))
- 圖書館管理系統(tǒng)課程設計
- 數(shù)據(jù)結構課程設計---圖書管理系統(tǒng)
- 數(shù)據(jù)結構課程設計-圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計-圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)數(shù)據(jù)庫課程設計
- 圖書館管理系統(tǒng)數(shù)據(jù)庫課程設計
- 課程設計--圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)課程設計
- c語言圖書館管理系統(tǒng)課程設計---高校圖書館管理系統(tǒng)
- 算法與數(shù)據(jù)結構課程設計——員工管理系統(tǒng)
評論
0/150
提交評論