圖書管理系統java課程設計報告_第1頁
圖書管理系統java課程設計報告_第2頁
圖書管理系統java課程設計報告_第3頁
圖書管理系統java課程設計報告_第4頁
圖書管理系統java課程設計報告_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、焦作大學信息工程學院Java 實訓報告題目:圖書管理系統班級:網絡( 1)班姓名:張輝學號: 1003023352011 年12月22日沈陽工程學院課程設計報告目錄摘 要隨著信息技術的發展,計算機已被廣泛的應用于社會的各個領域,成為推動社會發展的技術動力。而在計算機應用中,軟件的作用十分突出,軟件已經發展成為信息技術的核心,主導著信息產品的開發和信息技術市場的進一步的開拓。軟件產業已成為社會信息化進程中的一個戰略性產業。在軟件技術的應用中軟件的開發技術尤其是應用型軟件產品的開發技術成了重中之重。不斷開發適應用戶需求、市場需要的新型軟件產品。尤其是在校園里,各種軟件的應用無處不在,為我們的學習和

2、生活提供了方便。學校的圖書館不僅給我們提供看書學習的地方,還給我們提供了一套功能齊全的圖書館系統,方便我們搜索書籍、借閱圖書。我們本次的 Java 課程設計的最終目標是實現一個圖書館管理系統,使其具有一般圖書管理系統所具有的功能,可以實現管理員日志、管理員添加、管理員退出、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、書籍借閱與歸還等功能。因為Java是一門很優秀的編程語言,具有面向對象、與平臺無關、安全、穩定和多線程等特點,所以用Java編程為我們本次程序的編寫提供了方便。在設計中我們主要進行了數據庫及類的設計,把整系統分成了 15 個類和 5 個表。通過應用awt、swing

3、、sql、util 等包,合理的添加了按鈕、菜單、文本框、文本區、表格等組件類,還包含窗口、面板等容器類,經過設計者合理的布局,完成了窗體的設計,并通過建立JDBC-ODBC 橋接器連接到 Access 數據庫后,向數據庫發送SQL 語句實現程序與數據庫中表間的消息通信,從而實現了相應的圖書館管理系統的功能。本文主要分為緒論、系統功能介紹、數據庫需求分析、系統功能實現、結論、致謝、參考文獻 7 大塊。在緒論中介紹了本次課設選題的緣由及思想。系統功能介紹中詳細介紹了本圖書管理系統的整體思想及其具體功能。 在數據庫需求分析中詳細說明了數據庫的需求分析、概念設計及表的設計。在系統功能實現中主要通過抓

4、圖來體現設計的結果。總之,我們的整體設計思想均在報告中體現。關鍵詞: 圖書館管理系統, Java程序設計語言, Access數據庫目錄摘 要 .I第 1 章緒論 .1第 2 章系統功能介紹 .22.1 系統功能總框圖 .22.2模塊功能介紹 .22.2.1管理員模塊功能介紹 .22.2.2讀者管理 .32.2.3 書籍管理模塊功能介紹 .32.2.4書籍借閱與歸還功能介紹 .42.2.5借閱超時功能介紹 .4沈陽工程學院課程設計報告目錄2.3組內任務分工 .4第 3 章數據庫設計 .53.1數據庫需求分析 .53.2數據庫概念結構設計 .53.3數據庫表的設計 .6第 4 章系統功能實現 .8

5、4.1管理員模塊功能實現 .84.1.1管理員登陸 .84.1.2管理日志 .104.1.3管理員添加功能實現 .114.1.4管理員切換 .134.2讀者管理模塊功能實現 .144.2.1讀者添加 .144.2.2讀者修改 .154.2.3讀者查詢 .174.2.4讀者刪除 .184.3書籍管理模塊功能實現 .194.3.1新書入庫實現 .194.3.2 查詢功能實現 .214.4書籍借閱與歸還功能實現 .234.4.1借閱書籍功能實現 .234.4.2歸還書籍功能實現 .254.5借閱超時功能實現 .28結論 .30致謝 .31參考文獻 .32沈陽工程學院課程設計報告第1章緒論第1章緒論隨

6、著社會經濟的迅速發展和科學技術的全面進步,計算機事業的飛速發展,以計算機與通信技術為基礎的信息系統正處于蓬勃發展的時期。隨著經濟文化水平的顯著提高,人們對生活質量及工作環境的要求也越來越高。書籍做為人類的精神食糧,在現代社會中越來越受到重視,大量的書籍出現在市場上,人們有了各種各樣不同的選擇。與此同時,為了管理大量的圖書,圖書管理系統也大量的出現,隨著圖書的大量增加,其管理難度也越來越大,如何優化管理也就成為了一個大眾化的問題。現已有的圖書管理系統,其功能已十分強大,為了便于管理員對圖書管理系統進行妥善的管理和讀者的查詢,圖書管理系統為管理員提供了管理日志、管理員添加、管理員切換、讀者添加、讀

7、者修改、讀者查詢、讀者刪除、新書入庫等功能,為讀者提供了書籍查詢、讀者借閱信息查詢、圖書網上續借等很多功能。大學為我們提供了自由的學習環境,使我們有更多的時間到圖書館借閱書籍,讓我們可以隨時掌握各方面的知識,不斷提高自我、充實自我,但由于圖書館藏書成千上萬,我們很難一本一本的去查找自己感興趣的書籍,因此我們會經常用到學校為我們提供的圖書管理系統,用時間長了便對此產生了興趣,正好本次課程設計為我們提供了良好的機會,讓我們親自設計并實現了圖書管理系統的部分功能。設計一個圖書管理系統必不可少的必須對全管書籍進行分類匯總。而這就是我們所說的數據庫設計的第一階段:需求分析。在這一階段除了對具體情況諸如實

8、行對管理員的管理、對讀者的管理、書籍管理、書籍的借閱與歸還、借閱超時等功能的實現,還需要對用戶的需求進行調查和分析,否則就失去了設計這個系統的意義了。對于界面的設計我們應該追求的是:美觀、易讀性強、清晰度高;原則是:不能因為刻意追求美觀而以整個界面的清晰度的犧牲作為代價, 不能為了清晰度而拋棄對易讀性的追求。再設計的過程中我們應該根據實際的情況進行設計,做到具體問題具體分析,不刻意追求原則。在對應的界面與 Access 數據庫建立連接,并實現對應的 SQL 語句進行實現將產生的結果顯示出來。并運用捕捉異常的方法,將異常信息顯示出來。實現 SQL 語句的時候借助前臺開發工具中關于數據處理的控件來

9、完成。 對于讀者而言他們的需求是了解圖書的基本情況, 自己的借閱情況。 總而言之就是實現對各個信息表的查詢。對于圖書管理員而言要實現的功能相對而言比較多,例如實現新書入庫、 Access 數據庫表的創建、系統的維護等等,這些都需要設計和實現的。1沈陽工程學院課程設計報告第 2 章 系統功能介紹第 2 章 系統功能介紹2.1 系統功能總框圖圖書館管理系統功能總框圖,如圖2-1 所示。圖書館管理系統讀書書管籍籍者借理管管閱員理歸理還管管讀讀管理理讀者者讀新書借歸理者信信者書籍閱還員員日添息息刪入查書書志添切加修查除庫詢籍籍加換改詢圖 2-1 系統功能框架圖管理員借閱超時2.2 模塊功能介紹2.2.

10、1 管理員模塊功能介紹1. 管理員登陸此模塊主要是利用MenuBar 添加菜單條,利用Menu 和 MenuItem 添加菜單和菜單的各2沈陽工程學院課程設計報告第 2 章 系統功能介紹個參數,通過事件ActionEvent 可以實現進入各個模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時及退出的功能。2. 管理日志此模塊可以清楚的顯示出書籍借閱與歸還的信息,包括書號、書名、圖書證號、借 /還、操作日期、已付款額。讀者可以通過此模塊實現的功能清楚的了解圖書被借閱和歸還的詳細信息,從而給讀者帶來了很多方便。3. 管理

11、員添加功能介紹此模塊功能是增加新管理員的登陸帳戶。在圖書館管理系統中必須有每一個管理者的帳戶讓其可以正常進行新圖書證的辦理、借閱書籍和歸還書籍等系統管理。所以在管理員功能模塊中增加了管理員添加這個功能。4. 管理員切換此模塊的主要功能是進行管理員之間的切換,即單擊管理員菜單下的管理員切換,就會退出當前管理員界面,從而出現管理員切換窗口,而另一管理員就可以在管理員切換窗口中的用戶名和密碼兩欄中通過輸入自己的用戶名和密碼直接進入該系統。2.2.2 讀者管理1. 讀者添加此模塊主要的實現功能是添加新的讀者信息,即當有新的讀者要看查看本圖書館中的書藉,可以通過此功能實現,當數據庫中存在其新信息,即成為

12、本圖書館的新一位讀者。其中信息分別包括圖書證號、學生姓名、性別、系別、班級,同時可有三項功能在此處實現,即添加、重置以及返回。2.讀者修改此模塊主要的實現功能對有信息更新的讀者進行即時修改,以隨時更新讀者在數據庫中的信息。本模塊通過圖書證號確定讀者,可對讀者信息的新圖書證號、學短姓名、性別、系別、班級。此處可分別實現對該功能的修改、重置、返回。3. 讀者查詢此模塊主要可對所要了解的讀者信息。即把讀者的信息從數據庫調出來,顯示在該窗口中的文字區域。查詢方式分別有按圖書證查詢、按姓名查詢、按班級查詢、按年級查詢,并可通過辦理入相應的關鍵字,更加縮小查詢范圍。此處可實現查詢和返回功能。4. 讀者刪除

13、此模塊可以刪除一些不再使用本系統的讀者資料,從而達到對數據庫中的清理,即清除一些不必要資料,此處有四種刪除途徑,分別為按圖書證號刪除、按姓名刪除、按班級刪除、安年級刪除,并可通過所輸入的關鍵字盡快找到所要刪除的資料。此處可分別實現對該功能的修改、重置、返回。2.2.3 書籍管理模塊功能介紹1. 新書入庫功能介紹此模塊主要的實現功能是將新來的圖書輸入到圖書館管理系統的書庫當中, 其中主要按3沈陽工程學院課程設計報告第 2 章 系統功能介紹如下信息往書庫中輸入, 這部分的操作主要是便于書庫合理的管理,有利于讀者能夠對新書有一個更詳細的了解。其中包括如下信息:新書書號、新書名稱、新書出版日期、新書出

14、版社、入庫數量、編寫作者、新書單價。2. 書籍查詢功能介紹在圖書館管理系統中書籍查詢是最基本的功能,讀者可以根據自己的需求來查詢想要借閱的書籍。本系統是用 Java 應用程序和 Access 數據庫一起開發的其中利用 Java 來編程實現功能的代碼和布置運行界面。界面是由檢索項、檢索詞和顯示文本區三個部分組成的用戶根據自己的需要在檢索項中選擇自己所要按什么字段進行查詢,其中書籍查詢功能的檢索項中可以按書號查詢、按書名查詢、按作者名查詢、按出版社查詢、按入庫時間查詢等基礎查詢。選擇檢索項后用戶只要在檢索詞中添寫自己所要查詢的內容并確定鍵確認后用戶要查詢的內容就可以在顯示文本區中顯示出來。用戶可以

15、根據顯示的信息得知自己所要借閱書籍的情況。2.2.4 書籍借閱與歸還功能介紹1. 借閱書籍功能介紹此模塊主要實現讀者可憑有效的圖書證號,借閱圖書館內未借出的圖書。輸入圖書證號后,可顯示了該圖書證持有者的全部信息(包括借書證號、姓名、性別、所在班級、所屬系部、當前可借閱圖書個數) ,供讀者確認信息。通過輸入有效的圖書編號,查詢該圖書的全部信息(包括書號、書名、作者、出版社、是否借出、價格) 。借閱成功后,將該圖書證號、書號、借閱日期、應還日期信息插入到數據庫的表中進行記錄。2. 歸還書籍功能介紹此模塊主要實現讀者憑所要歸還圖書的圖書證號歸還圖書。輸入所要歸還的圖書編號后,可顯示了該圖書證持有者的

16、全部信息(包括借書證號、姓名、性別、所在班級、所屬系部、當前可借閱圖書個數) ,供讀者確認信息。還書成功后,從數據庫中刪除該書的借出記錄,并修改數據庫中的相應信息。2.2.5 借閱超時功能介紹此模塊主要實現顯示過期圖書的信息(包括圖書證號、書號、借閱日期、應還日期)提醒讀者還書。2.3 組內任務分工組內分工情況如下表2-1 所示。表 2-1 組內分工情況表組長鄒剛讀者添加、查詢、修改、刪除。羅姍姍書籍借閱與歸還模塊、借書超期限子系統。組員李呈呈管理員添加、新書入庫、按指定條件進行圖書查詢。劉蘭蘭數據庫創建、登陸界面設計、管理員模塊。4沈陽工程學院課程設計報告第 3 章 數據庫設計第 3 章 數

17、據庫設計在此圖書館管理系統中,使用到了一個重要的連接,即與數據庫 Accesss 相連。數據庫中存有圖書館中所信息,包括讀者信息、管理員資料、借閱與退還記錄。所有與管理有關的數據皆在其中,是保證系統能夠正常實現各種功能的一架橋。3.1 數據庫需求分析 Admi 表,即管理員表,記錄了用戶名和密碼。 Admirz 表,即管理日志表,記錄了書號、書名、圖書證號、借 /還、操作日期、已付款額。 book 表,即圖書表,記錄了書號、書名、作者、出版社、入庫時間、是否借出、價格。 borrowbook 表,即借閱表,記錄了圖書證號、書號、借閱日期、應還日期。 person表,即讀者表,記錄了圖書證號、姓

18、名、性別、系別、班級。3.2 數據庫概念結構設計圖書館管理系統E-R 圖,如圖 3-1。班級系別性別姓名圖書證號n讀者m用戶名1管理借閱m管理員m管理密碼圖書書號n價格書名作者出版社入庫時間是否借出圖 3-1 圖書館管理系統E-R 圖5沈陽工程學院課程設計報告第 3 章 數據庫設計3.3 數據庫表的設計 Admi 表表中記錄了可以使管理員進入該系統的用戶名及密碼,如表3-1 所示。表 3-1 管理員信息表字段名稱數據類型長度備注用戶名文本10密碼文本15 Admirz 表表中記錄借還書日志,用于存下所有對圖書操作的記錄,以便以后可以翻閱和查找,如表 3-2 所示。表 3-2管理日志表字段名稱數

19、據類型長度備注書號文本10書名文本15作者文本15出版社文本15入庫時間DATE15已付款額文本10 book 表表中記錄了庫內所有圖書的所有資料,如表 3-3。表 3-3 圖書表字段名稱數據類型長度備注書號文本10書名文本15作者文本15出版社文本15入庫時間DATE15是否借出文本10價格文本10 person 表表中記錄庫中所有讀者的相關信息,如表3-4 所示。6沈陽工程學院課程設計報告第 3 章 數據庫設計表 3-4 讀者表字段名稱數據類型長度備注圖書證號文本10姓名文本15性別文本15系別文本15班級文本15 borrowbook 表表內記錄了此時圖書的借閱情況,如表3-5 所示。表

20、 3-5 借閱表字段名稱數據類型長度備注圖書證號文本10書號文本15借閱日期DATE15應還日期DATE157沈陽工程學院課程設計報告第 4 章 系統功能實現第 4 章 系統功能實現4.1 管理員模塊功能實現4.1.1 管理員登陸此模塊是整個系統最主要的部分,管理員可以通過此模塊實現進入其余各個模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時及退出的功能。圖書管理系統管理員界面如圖 4-1 所示。圖 4-1 圖書管理系統管理員主要程序代碼如下:public void actionPerformed(ActionEv

21、ent e)if(e.getSource()=itemAdmiqh)this.dispose();In winin=new In(" 系統登陸 ");if(e.getSource()=itemtc)System.exit(0);8沈陽工程學院課程設計報告第 4 章 系統功能實現if(e.getSource()=itemAdmixj)CreatAdmi creatAdmi=new CreatAdmi(" 管理員添加 ");if(e.getSource()=itemAdmirz)WinTable wintable=new WinTable("管理日

22、志 ");if(e.getSource()=itemBookrk)AddInfy addInfy=new AddInfy();if(e.getSource()=itemPersonlr)Winpersonadd winperson=new Winpersonadd("讀者添加 ");if(e.getSource()=itemPersoncx)Winpersonsearch winperson=new Winpersonsearch("讀者信息查詢 ");if(e.getSource()=itemPersonxg)Winpersonmodify

23、winperson=new Winpersonmodify("讀者信息修改 ");if(e.getSource()=itemPersonsc)Winpersondelete winperson=new Winpersondelete("讀者刪除 ");if(e.getSource()=itemBookcx)Windowjj ok=new Windowjj();if(e.getSource()=itemchaoshi)day win=new day();if(e.getSource()=itemBorrowjs)Borrowbook win=new Bor

24、rowbook();9沈陽工程學院課程設計報告第 4 章 系統功能實現if(e.getSource()=itemBorrowhs)Returnbook win=new Returnbook();4.1.2 管理日志此模塊通過定義類 WinTable 繼承頂層容器 JFrame,再添加普通容器 JScrollPane、Jpanel,然后通過 BorderLayout 布局創建界面,最后主要通過數組利用 while 循環在連接好的數據庫中查找表 Admirz 中的內容,從而實現了可以清楚的顯示出書籍借閱與歸還信息的功能。 管理日志界面如圖 4-2 所示。圖 4-2 管理日志主要程序代碼如下:Win

25、Table(String s)super(s);try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e) System.out.println(""+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SE

26、LECT * FROM Admirz");while(rs.next()k+;10沈陽工程學院課程設計報告第 4 章 系統功能實現catch(SQLException e) System.out.println(""+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admirz"

27、);a=new Objectk6;while(rs.next()for(int j=0;j<6;j+)if(j<5)aij=rs.getString(j+1);elseaij=rs.getDouble(j+1);i+;con.close();catch(SQLException e) System.out.println(""+e);table=new JTable(a,name);Container con=getContentPane();getContentPane().add(new JScrollPane(table),BorderLayout.CEN

28、TER);setBounds(120,125,700,500);setVisible(true);validate();addWindowListener(new DisposeListener();4.1.3 管理員添加功能實現功能介紹:該程序主要實現管理員的添加,以便于讓實行對圖書管理員的管理。按照標11沈陽工程學院課程設計報告第 4 章 系統功能實現簽提示輸入信息,然后點擊確定按鈕。首先判斷管理員名文本框中輸入的文本信息是否符合大于 3 個字符并小于 10 個字符的規則,如果不符合規則,則提示錯誤,如果符合規則,再到Admi 表中進行查詢,如果相同則用提示框提示錯誤。若無相同則可注冊。但

29、還需要保證前后兩次的密碼相同,才能成功注冊,管理員登陸窗口如圖4-3 所示。圖 4-3 管理員添加成功界面主要程序代碼如下:public void actionPerformed(ActionEvent c)String b=textUser.getText();String d=textPassword1.getText();String g=textPassword2.getText();if(c.getSource()=buttonqk) textUser.setText(null); textPassword1.setText(null);textPassword2.setText(n

30、ull);if(c.getSource()=buttonEnter|c.getSource()=textPassword2)if(b.length()<3|b.length()>10)JOptionPane.showMessageDialog(null,"用戶名應在 310 個字符之間 "); textUser.setText(null);elsetry Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e) System.out.printl

31、n(""+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123"); sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admi WHERE 用戶名 ="+"'"+b+"'");12沈陽工程學院課程設計報告第 4 章 系統功能實現if(rs.next()String user=rs.getSt

32、ring(1);if(b.equals(user)JOptionPane.showMessageDialog(null,"此管理 員已被注 冊 "," 警告",JOptionPane.WARNING_MESSAGE);elseif(d.equals(g)sql.executeUpdate("INSERTINTOAdmiVALUES"+"("+"'"+b+"'"+","+"'"+d+"'"

33、;+")");this.dispose();JOptionPane.showMessageDialog(null,"管理員注冊成功 ");else JOptionPane.showMessageDialog(null,"兩次輸入密碼不一致"," 警告",JOptionPane.ERROR_MESSAGE);con.close();catch(SQLException e) System.out.println(""+e);4.1.4 管理員切換此模塊功能是退出當前管理員界面,進入管理員切換窗口,

34、另一用戶可以通過輸入自己的用戶名和密碼直接進入該系統。 但此用戶名和密碼都必須與已經連接好的數據庫中表Admi中的用戶名和密碼相吻合。管理員切換界面如圖4-4 所示。圖 4-4 管理員切換13沈陽工程學院課程設計報告第 4 章 系統功能實現主要程序代碼如下:public void windowClosing(WindowEvent e)e.getWindow().dispose();4.2 讀者管理模塊功能實現4.2.1 讀者添加功能介紹:添加新的讀者,使其能夠進入圖書系統閱覽圖書,讀者添加如圖4-5 所示。圖 4-5 讀者添加主要程序代碼如下 :public void actionPerfo

35、rmed(ActionEvent e)if(e.getSource()=button1)/ 添加String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,"請輸入 5 位圖書證號! ");text1.setText(null);else /連接數據庫String number,name,sex,dept,classes,record,insertStr;number=text1.getText();name=text2.getText();if(box1.getState()

36、=true)14沈陽工程學院課程設計報告第 4 章 系統功能實現sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();rs=sql.executeQuery("SELECT *FROMperson WHERE圖書證 號="+"'"+number+"'");if(rs.next()JOptionPane.showMessageDialog(null,"此圖書證號已存在 ",&qu

37、ot; 警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);record="("+"'"+number+"'"+","+"'"+name+"'"+","+"'"+sex+"'"+","+"'"+dept+"'"+",&qu

38、ot;+"'"+classes+"'"+")"insertStr="INSERT INTO person VALUES"+record;sql.executeUpdate(insertStr);JOptionPane.showMessageDialog(null,"添加成功! "); con.close();4.2.2 讀者修改功能介紹:對讀者需要修改的資料進行重定義,讀者信息修改如圖4-6 所示。圖 4-6 讀者信息修改主要程序代碼如下 :public void actionPerf

溫馨提示

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

評論

0/150

提交評論