java課設(shè)--個人備忘錄管理系統(tǒng).doc_第1頁
java課設(shè)--個人備忘錄管理系統(tǒng).doc_第2頁
java課設(shè)--個人備忘錄管理系統(tǒng).doc_第3頁
java課設(shè)--個人備忘錄管理系統(tǒng).doc_第4頁
java課設(shè)--個人備忘錄管理系統(tǒng).doc_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟮某绦蛟O(shè)計(Java)課程設(shè)計報告題目: 個人備忘錄管理系統(tǒng) 專 業(yè) 班 級 姓 名 學(xué) 號 指導(dǎo)教師 完成日期 2010 年 春季 學(xué)期面向?qū)ο蟪绦蛟O(shè)計(Java)課程設(shè)計成績評定 經(jīng)考核,給出如下評語: 并綜合評定該生課程設(shè)計成績?yōu)?。指導(dǎo)教師: 年 月 日一、 系統(tǒng)需求分析 在現(xiàn)代信息社會里,人們越來越重視信息的交流和溝通,更加注重時間的有效利用,其中個人信息量也在告訴增長,因此個人信息的管理在日常工作和生活中成為一項必不可少的內(nèi)容,方便實用的個人備忘錄管理系統(tǒng)對于提高信息利用效率具有重要意義。隨著個人電腦的普及,簡單實用的個人備忘錄管理系統(tǒng)成為人們?nèi)粘€人信息管理的不錯選擇。二、 系統(tǒng)實現(xiàn)目標個人備忘錄管理系統(tǒng)是能夠運行在普通個人電腦上,為使用者提供日常信息管理功能的工具軟件,使用者可以通過個人備忘錄管理系統(tǒng)對日常工作/生活瑣事和電話本等方面進行更有效的管理,主要是為使用者提供對個人信息更方便的記錄和查詢功能,為使用者在個人信息管理上帶來更多的便利。個人備忘錄管理系統(tǒng)的總體目標是為使用者管理日益繁雜的個人日常信息提供一個方便有效的管理平臺,提高日常生活和工作效率。具體實現(xiàn)以下基本功能:(1) 權(quán)限驗證:檢驗用戶合法身份,保障個人信息安全。(2) 口令維護:用戶可以定期或不定期的更改登錄口令,提供系統(tǒng)的安全性。(3) 日常記事:記錄日常生活或者工作事件,以免遺忘,并提供記錄的查詢,添加和刪除等管理功能。(4) 電話本:記錄朋友,親戚,同事和陌生人等聯(lián)系人的通信功能,以免遺忘。并提供記錄的查詢,添加和刪除等管理功能。三、 相關(guān)技術(shù)本次系統(tǒng)采用結(jié)構(gòu)化的設(shè)計方法進行設(shè)計,是設(shè)計成一個相對封閉的單機運行系統(tǒng),作為大眾化的應(yīng)用軟件,其用戶界面是決定軟件質(zhì)量的首要條件。所以,界面設(shè)計是開發(fā)與設(shè)計的重點。充分貫徹簡單易用、美觀大方的基本原則,采用快速開發(fā)平臺netbeans進行開發(fā),并結(jié)合access數(shù)據(jù)庫完成數(shù)據(jù)的導(dǎo)入。NetBeans 平臺是一種可重復(fù)使用的框架用于簡化其他桌面應(yīng)用程式的開發(fā)。當基于NetBeans 平臺的應(yīng)用被執(zhí)行,平臺主要類別的main方法便會被執(zhí)行??捎玫哪=M會被放置在存儲器中,并且開始執(zhí)行任務(wù)。通常模組會只在被需要時,其代碼才會被裝進記憶。應(yīng)用程式能動態(tài)安裝模組。任何應(yīng)用程式能包括更新模組,允許用戶申請下載的應(yīng)用程式升級和加入新功能。這樣安裝,升級以及新發(fā)并行不必迫使用戶每次再下載整個應(yīng)用程式。整個 Netbeans 平臺提供對桌面應(yīng)用程式常用的服務(wù),允許開發(fā)者集中于僅限于他的應(yīng)用程式的邏輯設(shè)計。 Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。Access是一個面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種功能對象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對象中。Access是一個可視化工具,是風格與Windows完全一樣,用戶想要生成對象并應(yīng)用,只要使用鼠標進行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設(shè)計器以及數(shù)據(jù)庫向?qū)А⒈硐驅(qū)?、查詢向?qū)?、窗體向?qū)А蟊硐驅(qū)У裙ぞ?,使得操作簡便,容易使用和掌握?Access基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,極大地提高了開發(fā)人員的工作效率,使得建立數(shù)據(jù)庫、創(chuàng)建表、設(shè)計用戶界面、設(shè)計數(shù)據(jù)查詢、報表打印等可以方便有序地進行。Access支持ODBC(開發(fā)數(shù)據(jù)庫互連,Open Data Base Connectivity),利用Access強大的DDE(動態(tài)數(shù)據(jù)交換)和OLE(對象的聯(lián)接和嵌入)特性,可以在一個數(shù)據(jù)表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動態(tài)的數(shù)據(jù)庫報表和窗體等。四、 系統(tǒng)設(shè)計 依據(jù)需求分析,個人備忘錄管理系統(tǒng)可以分為三個模塊:日常記事模塊、電話本模塊和系統(tǒng)維護模塊。系統(tǒng)模塊結(jié)構(gòu)如圖(1)所示。圖(1):系統(tǒng)模塊結(jié)構(gòu)圖系統(tǒng)主控平臺登錄界面設(shè)計:系統(tǒng)主界面使用簡單和直觀的布局設(shè)計,通過用戶名和密碼登錄功能模塊界面。具體設(shè)計效果如圖(2)所示:圖(2)系統(tǒng)主控平臺登錄界面設(shè)計效果圖日常記事模塊:該模塊提供對個人日常生活、工作等事件的備忘功能,主要是提供對日常事件信息的錄入、刪除和查詢功能。其中,記錄的信息主要包括事件的日期、事件類別、事件標題和事件內(nèi)容等。日常記事管理模塊的模塊功能樹如圖(2)所示。圖(3):日常記事管理模塊功能樹圖具體設(shè)計效果如圖所示:圖(4)日常記事管理模塊界面設(shè)計效果圖電話本模塊:該模塊提供對聯(lián)系人 通信信息的管理功能,主要是提供對各類通信信息的錄入、查詢、刪除功能。電話本管理模塊的模塊功能樹如圖(3)所示。圖(5):電話本模塊功能樹圖具體設(shè)計效果如圖所示:圖(6)電話本管理模塊界面設(shè)計效果圖系統(tǒng)維護模塊:該模塊提供用戶幫助、用戶權(quán)限驗證和口令維護功能。其中用戶幫助主要是對于初次使用次系統(tǒng)的用戶提供幫助;權(quán)限驗證主要是通過檢查用戶輸入口令來判斷用戶是否擁有登錄系統(tǒng)的權(quán)限;口令維護提供修改用戶登錄口令功能。系統(tǒng)維護模塊功能樹如圖(4)所示。圖(7)系統(tǒng)維護模塊功能樹用戶如果初次使用這個管理系統(tǒng)可以通過點擊幫助按鈕,就會得到相應(yīng)的提示,如下圖(8):圖(8)用戶私用幫助界面設(shè)計效果圖 口令維護界面具體設(shè)計效果如圖(9)所示:圖(9)口令維護界面具體設(shè)計效果 五、 系統(tǒng)實現(xiàn)數(shù)據(jù)庫設(shè)計:根據(jù)系統(tǒng)功能設(shè)計的要求以及功能模塊的劃分,對于本系統(tǒng)的數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)。(1)名稱:用戶表(見表(10) 表名稱標識:user 數(shù)據(jù)來源:口令維護功能錄入。表(10)(2)名稱:日常記事記錄表(見表(11)表名稱標識:jishi數(shù)據(jù)來源:日常記事模塊錄入。表(11)(3)電話本記錄表(見表(12) 表名稱標識:dianhuaben數(shù)據(jù)來源:電話本模塊錄入。表(12) 主要功能的實現(xiàn):(1)登錄界面用戶幫助按鈕的實現(xiàn): private void jButton18ActionPerformed(java.awt.event.ActionEvent evt) this.jDialog1.setVisible(true); (2)登錄界面用戶登錄按鈕的實現(xiàn): private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) int i = 0; if (!jTextField14.getText().equals() i+; String a = jTextField14.getText(); if (i = 0) JOptionPane.showMessageDialog(null, 用戶名不能為空!); if (i = 1) try String url = jdbc:odbc:Driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb; Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn = DriverManager.getConnection(url, , ); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(select username from user); while (rs.next() if (rs.getString(1).equals(a) i+; break; rs = stmt.executeQuery(select password from user where username= + a + ); while (rs.next() if (rs.getString(1).equals(jPasswordField2.getText() i+; break; rs.close(); stmt.close(); conn.close(); catch (Exception e) e.printStackTrace(); if (i = 1) JOptionPane.showMessageDialog(null, 用戶名不存在!); jTextField14.setText(); jPasswordField2.setText(); if (i = 2) JOptionPane.showMessageDialog(null, 密碼錯誤!); jPasswordField2.setText(); if (i = 3) this.jPanel10.setVisible(true); this.jDialog1.setVisible(false); this.jPanel11.setVisible(false); (3)日常記事模塊查詢按鈕的功能實現(xiàn):private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb;characterEncoding=GBK;/ Float sum2 = 0.0f; Connection conn = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(url, , ); Statement statement = conn.createStatement(); ResultSet bs = statement.executeQuery(select * from jishi where datetime= + this.jTextField1.getText() + ); DefaultTableModel dtm = (DefaultTableModel) this.jTable1.getModel(); for (int i = dtm.getRowCount() - 1; i = 0; i-) dtm.removeRow(i); while (bs.next() String data = new String5; data0 = String.valueOf(bs.getLong(id); data1 = bs.getString(datetime); data2 = bs.getString(sort); data3 = bs.getString(title); data4 = bs.getString(content); dtm.addRow(data); conn.close(); catch (Exception e) e.printStackTrace(); (4)日常記事模塊新增按鈕的功能實現(xiàn):private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb;characterEncoding=GBK; Connection conn = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(url, , ); Statement statement = conn.createStatement(); String datetime = this.jTextField2.getText(); String sort = this.jTextField4.getText(); String title = this.jTextField3.getText(); String content = this.jTextArea1.getText(); if ( datetime.equals() | sort.equals() | title.equals() | content.equals() JOptionPane.showMessageDialog(this, 日記信息輸入不完整!); else String sqlStr = insert into jishi( datetime, sort, title, content) values( +datetime+ , +sort+ , +title+ , +content+ ); if (statement.executeUpdate(sqlStr) 0) JOptionPane.showMessageDialog(null, 日記添加成功!); this.jTextField2.setText(); this.jTextField4.setText(); this.jTextField3.setText(); this.jTextArea1.setText(); conn.close(); catch (Exception e) JOptionPane.showMessageDialog(null, 日記添加失?。?; e.printStackTrace(); (5)日常記事模塊刪除按鈕的功能實現(xiàn): private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) String url=jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb;characterEncoding=GBK; Connection conn = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(url,); String datetime=this.jTextField2.getText(); Statement statement=conn.createStatement(); ResultSet rs=statement.executeQuery(select * from jishi where datetime=+datetime+); System.out.println(datetime); if(datetime.equals()|!rs.next() JOptionPane.showMessageDialog(null, 沒有輸入日期或日期有誤!); else String sort=this.jTextField4.getText(); String title=this.jTextField3.getText(); String content=this.jTextArea1.getText(); String sqlStr=delete from jishi where datetime=+datetime+; statement.executeUpdate(sqlStr); JOptionPane.showMessageDialog(null, 日記已刪除!); conn.close(); catch(Exception e) e.printStackTrace(); (6)電話本模塊查詢按鈕的功能實現(xiàn): private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb;characterEncoding=GBK; int sum1 = 0; Float sum2 = 0.0f; Connection conn = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(url, , ); PreparedStatement ps = conn.prepareStatement(select * from dianhuaben where xingming = ?); System.out.println(this.jTextField5.getText(); ps.setString(1, this.jTextField5.getText(); ResultSet rs = ps.executeQuery(); DefaultTableModel dtm = (DefaultTableModel) this.jTable3.getModel(); for (int i = dtm.getRowCount() - 1; i = 0; i-) dtm.removeRow(i); while (rs.next() String data = new String7; data0 = String.valueOf(rs.getLong(id); data1 = rs.getString(xingming); data2 = rs.getString(xingbie); data3 = rs.getString(guanxi); data4 = rs.getString(zhuzhaidianhua); System.out.println(data4); data5 = rs.getString(yidongdianhua); data6 = rs.getString(beizhu); dtm.addRow(data); conn.close(); catch (Exception e) e.printStackTrace(); (7)電話本模塊新增按鈕的功能實現(xiàn): private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb;characterEncoding=GBK; Connection conn = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(url, , ); Statement statement = conn.createStatement(); String xingming = this.jTextField6.getText(); String xingbie = this.jComboBox3.getSelectedItem().toString(); String guanxi = this.jTextField7.getText(); String zhuzhaidianhua = this.jTextField8.getText(); String yidongdianhua = this.jTextField9.getText(); String beizhu = this.jTextArea2.getText(); if ( xingming.equals() | xingbie.equals() | guanxi.equals() | zhuzhaidianhua.equals() | yidongdianhua.equals() | beizhu.equals() JOptionPane.showMessageDialog(this, 電話本信息輸入不完整!); else String sqlStr = insert into dianhuaben( xingming, xingbie,guanxi, zhuzhaidianhua,yidongdianhua,beizhu) values( + xingming + , + xingbie + , + guanxi + , + zhuzhaidianhua + , + yidongdianhua + , + beizhu + ); if (statement.executeUpdate(sqlStr) 0) JOptionPane.showMessageDialog(null, 電話本添加成功!); this.jTextField6.setText(); this.jComboBox3.setSelectedItem(); this.jTextField7.setText(); this.jTextField8.setText(); this.jTextField9.setText(); this.jTextArea2.setText(); conn.close(); catch (Exception e) JOptionPane.showMessageDialog(null, 電話本添加失敗!); e.printStackTrace(); (8)電話本模塊新增按鈕的功能實現(xiàn):private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) String url=jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb;characterEncoding=GBK; Connection conn = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(url,); String xingming=this.jTextField6.getText(); Statement statement=conn.createStatement(); ResultSet rs=statement.executeQuery(select * from dianhuaben where xingming=+xingming+); System.out.println(xingming); if(xingming.equals()|!rs.next() JOptionPane.showMessageDialog(null, 沒有輸入姓名或姓名有誤!); else String xingbie=this.jComboBox3.getSelectedItem().toString(); String guanxi=this.jTextField7.getText(); String zhuzhaidianhua=this.jTextField9.getText(); String yidongdianhua=this.jTextField8.getText(); String beizhu=this.jTextArea2.getText(); String sqlStr=delete from dianhuaben where xingming=+xingming+; statement.executeUpdate(sqlStr); JOptionPane.showMessageDialog(null, 個人信息已刪除!); conn.close(); catch(Exception e) e.printStackTrace(); (9口令維護模塊修改確認按鈕的功能實現(xiàn): private void jButton15ActionPerformed(java.awt.event.ActionEvent evt) String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=beiwang.mdb;characterEncoding=GBK; Connection conn = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(url, , ); Statement statement= conn.createStatement(); statement.executeUpdate(update user set username=+this.jTextField10.getText()+);statement.executeUpdate(update user set password=+this.jPasswordField1.getText()+); JOptionPane.showMessageDialog(null, 修改成功!); conn.close(); catch (Exception e) JOptionPane.showMessageDialog(null, 修改失敗!); e.printStackTrace(); (10)所有模塊上的退出按鈕功能實現(xiàn): private void jButton19ActionPerformed(java.awt.event.ActionEvent evt) System.exit(0); 系統(tǒng)流程描述系統(tǒng)的主題處理流程圖如圖(13)所示。 六、 系統(tǒng)配置系統(tǒng)運行演示右鍵點擊備忘錄系統(tǒng)的主要功能.java,運行主程序。如果不輸入用戶名和密碼,直接點擊登錄系統(tǒng),會出現(xiàn)一下情況如果輸入了錯誤的用戶名:如果用戶名正確而密碼錯誤:點擊右上角幫助按鈕會彈出以下窗口:查看數(shù)據(jù)庫中的用戶名和密碼與提示框中的數(shù)據(jù)一致輸入正確的用戶名和密碼,進入功能界面:

溫馨提示

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

評論

0/150

提交評論