2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  XXX職業技術學院</b></p><p><b>  課程設計論文</b></p><p>  設計題目:圖書管理系統</p><p>  學生姓名:XXX </p><p>  指導教師:XXX </p><p>  專業

2、名稱:網絡系統管理</p><p>  所在院系:信息工程系 </p><p>  2007年 7月 5 日</p><p><b>  摘 要</b></p><p>  圖書管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完

3、整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。</p><p>  因此本人結合開入式圖書館的要求,對MS Access數據庫管理系統、JAVA程序設計進行了較深入的學習和應用,主要完成對圖書管理系統的需求分析、功能模塊劃分,并由此設計了數據庫結構和應用程序。設計充分利用JAVA、MS Access數據庫技術的強大力量,提高了編程效率和可靠性。</p><p>

4、  關鍵字:數據庫 JAVA語言 Access 圖書管理 GUI</p><p><b>  目 錄</b></p><p>  第1章 選題及本次課程設計的任務1</p><p><b>  1.1查找資料1</b></p><p><b>  1.2選題1</b>&

5、lt;/p><p>  1.3總結數據、明確任務1</p><p>  1.4本次設計的重大意義1</p><p><b>  1.5本章小結1</b></p><p>  第2章 設計實現的詳細步驟2</p><p>  2.1系統的基本結構2</p><p>  

6、2.2用戶登錄窗體2</p><p>  2.3管理系統主窗體3</p><p>  2.4瀏覽圖書信息4</p><p>  2.5添加圖書信息5</p><p>  2.6修改圖書信息7</p><p>  2.7查詢圖書信息8</p><p>  2.8刪除圖書信息9<

7、/p><p>  2.9讀者信息管理10</p><p>  2.10 Access數據庫10</p><p>  2.11本章小結11</p><p>  第3章 設計中遇到的重點及難點12</p><p>  3.1重點及難點12</p><p>  3.2本章小結12</p&

8、gt;<p>  第4章 本次設計中存在不足與改良方案13</p><p>  4.1不足與改良方案13</p><p>  4.2本章小結13</p><p><b>  結 論14</b></p><p><b>  參考文獻15</b></p>&l

9、t;p><b>  致 謝16</b></p><p><b>  指導教師評語17</b></p><p>  答辯委員會評語18</p><p>  第1章 選題及本次課程設計的任務</p><p><b>  1.1查找資料</b></p>

10、<p>  《Java應用教程》</p><p>  《Java2程序設計基礎》</p><p>  《Java程序設計教程與實訓》</p><p><b>  《管理信息系統》</b></p><p><b>  1.2選題</b></p><p><b&

11、gt;  圖書管理系統</b></p><p>  1.3總結數據、明確任務</p><p>  該系統必須具備的數據庫:</p><p>  圖書信息數據庫、讀者信息數據庫、管理員數據庫</p><p>  該系統必須具備以下功能:1、能對各類圖書實行分類管理;2、提供必要的讀者信息;3、對圖書的查詢;4、具有圖書檢索功能;5、

12、能對讀者信息進行管理等。這樣不僅能較好地幫助讀者在最短的時間內找到自己所需要的圖書書目、編號,而且能讓圖書管理員對讀者信息進行管理</p><p>  1.4本次設計的重大意義</p><p>  在此次課程設計中,主要設計的是圖書館管理員管理圖書部分。圖書館管理員有修改圖書借閱者信息的權限,圖書館管理員功能的信息量大,數據安全性和保密性要求最高。本次課程設計實現對圖書信息、借閱者信息。圖

13、書館管理員可以瀏覽、查詢、添加、刪除、修改的基本信息;瀏覽、查詢、添加、刪除和修改圖書借閱者的基本信息。</p><p><b>  1.5本章小節</b></p><p>  本章主要通過查找資料明確了此次課程設計的題目,并確定了此次課程設計的主要任務和此次課程設計的重要意義。</p><p>  第2章 設計實現的詳細步驟</p>

14、;<p>  2.1系統的基本結構</p><p>  2.2用戶登錄窗體的的實現</p><p>  本窗體是為了讓圖書館管理員按照賬號和密碼進行登錄,如賬號和密碼輸入正確,即可進入管理系統主窗體,而把用戶登錄窗體關閉。如果輸入錯誤,則彈出錯誤提示。</p><p>  圖2-1 用戶登錄窗體</p><p>  在輸入管理員

15、的登錄信息時,通過連接數據庫來判斷信息是否正確。String strurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";</p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>

16、  Connection conn = DriverManager.getConnection(strurl);</p><p>  2.3管理系統主窗體的的實現</p><p>  管理系統主窗體是當管理員輸入賬號和密碼正確后進入的窗體,該窗體主要包括管理員可以對圖書進行管理的一些操作,瀏覽圖書,添加圖書,查詢圖書等和對讀者的一些瀏覽、查詢、修改信息等操作。</p><

17、;p>  圖2-2 管理系統主窗體</p><p>  在此窗體上,主要添加了標簽和按鈕,該5個按鈕可以鏈接到對圖書進行詳細操作的5個窗體上,分別是Allinfo ,AddInfo, ModifyInfo, SearchInfo, DeleteInfo?!白x者信息管理”按鈕可以鏈接到對讀者信息管理的窗體上。在讀者信息管理的窗體上可以對讀者的基本信息進行管理。為了美化窗體,在中間加了4個標簽。</p&g

18、t;<p><b>  2.4瀏覽圖書信息</b></p><p>  瀏覽圖書信息是對數據庫中的圖書信息進行全部瀏覽顯示,顯示書號,書名,是否借出,出版日期,作者,圖書分類,系別,出版社,備注。</p><p><b>  圖2-3 圖書信息</b></p><p>  rs=stmt.executeQue

19、ry("Select * From StuInfo");</p><p>  通過和Access數據庫的連接之后,通過Selecet語句從數據庫中顯示全部信息。</p><p>  while(rs.next())</p><p><b>  { 處理查詢過程</b></p><p>  String

20、 書號 = rs.getString("書號");</p><p>  String 系別 = rs.getString("系別");</p><p>  String 出版社 = rs.getString("出版社");</p><p>  String 書名 = rs.getString("書

21、名");</p><p>  String 借出 = rs.getString("借出");</p><p>  String 出版日期 = rs.getString("出版日期");</p><p>  String 作者 = rs.getString("作者");</p><

22、;p>  String 圖書分類 = rs.getString("圖書分類");</p><p>  String 備注 = rs.getString("備注");</p><p><b>  }</b></p><p><b>  2.5添加圖書信息</b></p>

23、;<p>  添加圖書信息窗體主要是對入庫新書的信息添加,在此窗體中,需要把圖書的詳細信息添加完整,格式添加正確,否則會彈出信息不全而不能添加如數據庫的提示。</p><p>  圖2-4 添加圖書信息</p><p>  在實現添加圖書窗體的過程中,首先得定義標簽、按鈕以及文本框等,然后給各個控件添加文本,位置,顏色等屬性的設置,設置完之后將所有控件添加到窗體上,并設置為可

24、視,把基本的界面設計完之后,開始連接數據庫(JDBC),通過SQL語句連接Access數據庫,在向數據庫中寫入信息之前,還得先通過學號判斷輸入入的信息在數據庫中是否存在,如果存在則提示記錄已經存在,請輸入其他學號。判斷語句如下:</p><p>  從數據庫的圖書信息表中取得第一條記錄,并判斷</p><p>  ResultSet rs = stmt.executeQuery("

25、;select * from StuInfo where 書號='"+ jtextfield1.getText() +"' ");</p><p>  設置循環,直到最后一條記錄,如果存在和輸入的記錄學號相同的信息,則提示警告。并返回重新輸入</p><p>  if(rs.next())</p><p><b&g

26、t;  {</b></p><p>  JOptionPane.showMessageDialog(null, "此書號已經存在.", "警告",</p><p>  JOptionPane.WARNING_MESSAGE);</p><p><b>  return;</b></p&g

27、t;<p><b>  }</b></p><p>  如判斷學號在數據庫中無重復記錄,則將新輸入的信息添加到數據庫中。</p><p>  stmt.executeUpdate("insert into StuInfo</p><p>  (書號,系別,出版社,書名,借出,出版日期,作者,圖書分類,備注values(&

28、#39;"+jtextfield1.getText()+"','"+jcombobox3.getSelectedItem()+"','"+jtextfield5.getText()+"','"+jtextfield2.getText()+"','"+jcombobox1.getSele

29、ctedItem()+"','"+jtextfield3.getText()+"','"+jtextfield4.getText()+"','"+jcombobox2.getSelectedItem()+"','"+jtextarea.getText()+"')");

30、</p><p>  在添加完一條記錄后,會彈出添加信息成功提示,并且會調用顯示圖書信息窗體,可以在此窗體中查看剛剛添加的圖書信息,并且添加圖書信息窗體不會自動關閉,如果想繼續添加下一本圖書信息可以不用再去調用添加圖書信息窗體,直接可以進行添加了。當把所有的圖書信息添加完之后,可以點關閉,將添加圖書信息窗體關閉。</p><p><b>  2.6修改圖書信息</b>

31、</p><p>  在實現修改圖書信息的模塊中,第一步先得通過學號查詢,找到要修改的圖書記錄,再進入修改窗體進行對記錄的修改。如找不到,則提示“找不到對應信息”。</p><p>  圖2-5修改圖書信息</p><p>  通過對圖書的查詢,如果找到要修改的圖書信息,進入修改窗體,對記錄進行修改,書號字段默認為不可修改項,因為書號是第一次輸入圖書信息時,已經確定

32、的字段,在Access數據庫中為主關鍵字,所以不可以修改。其他項都為可修改字段。在修改記錄的設計中,其實是將原先的記錄刪除掉,然后在將修改完的記錄添加進數據庫,在添加之前把記錄刪除:</p><p>  stmt.executeUpdate("delete * from StuInfo where 書號 = '"+jtextfieldNum.getText()+"'&

33、quot;);</p><p>  這樣在添加的時候就不會出現重復記錄了。在輸入修改圖書信息和添加新書信息時一樣,每項都得輸入,并且格式輸入正確(特指出版日期為日期格式MM-DD-YY),將信息都輸入完后,就可以將輸入的修改信息添加到數據庫中了,具體添加的方法和上面的添加新書信息模塊中的添加語句一樣,在此略過。在把修改后的信息添加到數據庫中之后,彈出 “修改信息成功”對話框。具體實現如下:</p>

34、<p>  JOptionPane.showMessageDialog(null, "修改信息成功!");</p><p><b>  2.7查詢圖書信息</b></p><p>  在實現查詢圖書信息的模塊中,第一步先得通過學號或者書名條件查詢,兩者的關系是或的關系,但是當兩者都輸入的時候就是且的關系了。其中可以有一個為空,但是不可以都

35、為空。兩個都為空或找不到,則提示相關錯誤信息。找到要修改的圖書記錄,再進入修改窗體進行對記錄的修改。如果找到則顯示找到的信息。</p><p>  圖2-6 查詢圖書條件</p><p>  通過輸入的條件在數據庫中查找相關的記錄。具體步驟如下:</p><p>  if(jtextfieldNum.getText().trim().equals("&qu

36、ot;)||jtextfieldName.getText().trim().equals("")) rs = stmt.executeQuery("select * from StuInfo where 書號='"+jtextfieldNum.getText()+"' or 書名='"+jtextfieldName.getText()+"&#

37、39;");</p><p>  else if(jtextfieldNum.getText().trim().equals("")&&jtextfieldName.getText().trim().equals(""))</p><p>  JOptionPane.showMessageDialog(null, "

38、;請至少輸入一個條件", "警告",JOptionPane.WARNING_MESSAGE);</p><p><b>  else</b></p><p>  rs = stmt.executeQuery("select * from StuInfo where 書號='"+jtextfieldNum.get

39、Text()+"' and 書名='"+jtextfieldName.getText()+"'")</p><p>  如果輸入的條件中(書號或書名)有一項為空則可以繼續進行下面的操作,和數據庫連接,從數據庫中查找符合條件的記錄。并通過顯示窗體顯示。顯示窗體和修改圖書信息的窗體一樣,只不過沒有修改功能。把查詢到的符合條件的一條記錄通過顯示圖書信息窗體

40、顯示出來。</p><p><b>  2.8刪除圖書信息</b></p><p>  在圖書信息的刪除模塊中,首先通過學號查詢,查詢條件不可以為空,如果為空,則提示錯誤信息。輸入學號后,系統連接數據庫,從數據庫中查找符合條件的記錄。如果沒找到,則提示沒有找到符合條件的信息。如果找到,則首先調用顯示記錄窗體,讓用戶驗證是否為準被刪除的記錄。如果是,則確定刪除,在確定刪

41、除之后,還會彈出刪除確定提示對話框: </p><p>  圖2-7刪除確定提示</p><p>  if(JOptionPane.showConfirmDialog(null, </p><p>  "確實要刪除該生信息嗎?\n刪除的信息將不能恢復,繼續?","刪除確定", JOptionPane.OK_CANCEL_OPT

42、ION, JOptionPane.QUESTION_MESSAGE) ==0)</p><p>  stmt.executeUpdate("delete * from StuInfo where 書號 = '"+jtextfieldNum.getText()+"'");</p><p>  JOptionPane.showMessag

43、eDialog(null, "刪除信息成功!");</p><p>  Allinfo allinfo = new Allinfo();</p><p>  當刪除成功后,會彈出“記錄已刪除”信息提示。</p><p><b>  2.9讀者信息管理</b></p><p>  讀者信息管理模塊是在設

44、計完圖書信息管理模塊后加上去的,其包括的幾個模塊和圖書管理的基本相同,在Access數據庫中又加入了一個讀者信息表,將讀者的基本信息存在此表中,在讀者信息管理下的幾個模塊中用到的信息記錄也都是從此表中調用。</p><p>  圖2-8 讀者信息管理</p><p>  讀者信息管理模塊也包括五個窗體。瀏覽讀者信息、添加讀者信息、修改讀者信息、查詢讀者信息、刪除讀者信息設計此模塊時,基本是

45、復制上面的圖書管理模塊的代碼,將其中連數據庫的地方改了改,其詳細步驟和實現過程略過。此窗體是通過圖書管理窗體界面上的一個按鈕連接過來的。在調出此窗體時,原先的圖書管理窗體并不關閉,使此窗體在圖書管理窗體之上??雌饋硪脖容^美觀。</p><p>  2.10 Access數據庫</p><p>  基本的界面和JAVA程序都設計好了,數據庫的設計也是必不可少的。在此次課程設計中,根據老師的要

46、求還有自己所學的知識,本人采用的是Access數據庫管理。Access使用標準的SQL(Structured Query Language,結構化查詢語言)作為它的數據庫語言,從而提供了強大的數據處理能力和通用性,使其成為一個功能強大而且易于使用的桌面關系型數據庫管理系統和應用程序生成器。</p><p>  一個Access數據庫中可以包含表、查詢、窗體、模塊以及數據訪問頁。Access數據庫使用單一的*.md

47、b文件管理所有的信息,這種針對數據庫集成的最優化文件結構不僅包括數據本身,也包括了它的支持對象。</p><p>  關于Access數據庫的具體操作過程,在此就不具體一一列出了。在此次的圖書管理系統中,需要建立三個表,分別是圖書信息表、讀者信息表和管理員信息表。其中管理員信息表中只列了賬號和密碼兩個字段,而圖書信息和讀者信息表中,分別列出了關于圖書和讀者的詳細信息。</p><p>  

48、圖2-9 Access數據庫</p><p><b>  2.11本章小節</b></p><p>  本章為最主要的一章,介紹了此次課程設計實現的詳細步驟,通過對圖書管理系統的分析以及設計前的模塊設計,從而更具體的逐步完善各個模塊,基本完成了圖書管理系統的管理員管理圖書和讀者信息部分。</p><p>  第3章 設計中遇到的重點及難點<

49、;/p><p><b>  3.1重點及難點</b></p><p>  本次課程設計中遇到的重點是各個窗體中的控件的定義以及控件位置、大小、顏色等屬性的設置,在定義和修改控件屬性以及美化窗體方面花的時間比較多,在每添加一個控件,如標簽,都得在程序開始定義控件,以及在后面的設置屬性和將控件添加和顯示到窗體上。例如定義一個按鈕,那此按鈕在整個程序中必須有以下幾步:</

50、p><p><b>  按鈕控件的定義</b></p><p>  private JButton AddInfo = new JButton();</p><p><b>  按鈕控件的屬性設置</b></p><p>  AddInfo.setText("添加圖書信息"); &l

51、t;/p><p>  AddInfo.setVisible(true);—設置為可見狀態</p><p>  AddInfo.setBounds(new Rectangle(250, 526, 127, 33));—設置控件位置</p><p>  AddInfo.setForeground(Color.white);—設置字體顏色</p><p&g

52、t;  AddInfo.setBackground(Color.black);—設置背景顏色</p><p>  為按鈕控件添加事件監聽</p><p>  AddInfo.addActionListener(new MainJFrame_actionPerformed(this));</p><p>  將按鈕控件添加到主窗體上</p><p&

53、gt;  ContentPane.add(AddInfo);</p><p>  本次課程設計中遇到的難點是為每個按鈕控件添加時間監聽和異常處理部分,在此就不詳細舉例了。</p><p><b>  3.2本章小節</b></p><p>  本章總結了在此次課程設計中的重點和遇到的難點,總的來說基本上都解決了。</p><

54、p>  第4章 本次設計中存在不足與改良方案</p><p>  4.1不足與改良方案</p><p>  由于時間關系,本次所設計的圖書管理系統只實現了管理員管理圖書、讀者信息的功能,而未能實現借閱者的借閱和圖書查找等功能。</p><p><b>  改良方案:</b></p><p>  在讀者信息和圖書信息

55、之間建立起連接,在讀者信息中加入讀者借過的圖書,以及借閱的時間和歸還期限。相應的在圖書管理模塊中也可以添加入借閱此書的讀者的信息。還有就是在查詢圖書信息模塊,按照書號查找可以找到相應的圖書信息,但是忽略了如果按照書名去查找,會出現多本圖書書名的情況,而在查詢部分只是顯示了一本圖書的信息,應該在查詢圖書部分加入符合相同條件的圖書信息。</p><p><b>  4.2本章小節</b><

56、/p><p>  本章為此次課程設計最后一章,簡短的說明此次課程設計中存在的不足以及改良方案。相信在以后的學習和實踐中會得到更好的完善。</p><p><b>  結 論</b></p><p>  本課程設計完成的是一個圖書管理系統,包括管理員管理圖書信息和讀者信息,分別有添加、刪除、查閱等功能。</p><p>  

57、在本次課程設計的過程中,詳細闡述了整個應用系統的設計思路,并對各部分設計周期進行了詳盡的分析,最終達成了一個完整的設計方案;在文章的最后,還根據數據庫系統的調試結果,提出了可以進一步改進的部分,以便在以后的學習工作中得到更好的完善。以及在投入實際應用后系統可以更加穩定可靠的工作。</p><p>  通過一個月的課程設計,完成了“圖書管理系統”的設計,更重要的是又復習了一遍Java知識,看了許多關于Java的書,

58、不僅豐富了知識,而且從中學到了編程思想,相信通過這次課程設計,對以后的學習和程序設計會有很大的幫助。</p><p><b>  參考文獻 </b></p><p>  [1] 陳國軍,《Java2程序設計基礎》,清華大學出版社.2006.1</p><p>  [2] 薛為民,《Java應用教程》,清華大學出版社. 2005.9</p&

59、gt;<p>  [3] 黃梯云,《管理信息系統》,高等教育出版社. 2005.6</p><p>  [4] 許文憲,《Java程序設計教程與實訓》,北京大學出版社.2005.9</p><p>  [5] 李發致,《Java面向對象程序設計教程》,清華大學出版社.2004.5 </p><p>  [6] Bruce Eckel,《Java編程思想

60、》,機械工業出版社.2002.1</p><p><b>  致 謝</b></p><p>  在本次課程設計中,xx老師對此提出了指導與幫助。在此特別表示感謝!</p><p><b>  指導教師評語</b></p><p><b>  指導教師:</b></p&

溫馨提示

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

評論

0/150

提交評論