




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件學院課程設計報告書課程名稱java課程設計設計題目學生信息管理系統專業班級軟件工程09-10班學號0920011023 姓名趙壬冰指導教師2023年6月目錄TOC\o"1-4"\h\u255401設計時間 3254412設計目的 3108113設計任務 3269523.1任務說明 38313.2系統目標 4149003.2使用范圍 4102963.3功能要求 43074設計內容 4148784.1界面構建 4319924.2詳細設計 594.2.1模塊設計 557964.2.2數據庫設計(Access) 5110994.2.3運行調試 6316934.2.4主要源代碼 10220515總結與展望 1015826參考文獻 111設計時間2設計目的本程序用于用戶對少量學生信息進行簡單的管理,本程序針對于對平安系數要求不高,操作不是很復雜的小型客戶開發。本程序可以實現對學生信息的錄入、查詢、修改、刪除等操作,同時支持查看所有學生信息,功能完善,界面簡潔美觀,布局合理,操作簡便,簡單易用,任何人可輕松操作。同時,本程序對系統要求配置較低,運行速度快,而卻對數據庫管理要求較低。本程序數據庫采用office2007版本的access數據庫〔.accdb〕進行數據存儲,該數據庫可實現關系較為簡單的數據管理。3設計任務3.1任務說明設計一個簡單學生個人信息管理系統,該系統具有錄入,查詢,修改三項根本功能。要求如下:〔1〕具有簡單的錄入,查詢和修改功能。〔2〕修改學生信息必須輸入學號,然后對姓名、性別和專業等修改;〔3〕使用文件存儲數據。〔也可用數據庫〕〔4〕學生個人信息必須包括:學號、姓名、性別、出生日期、身份證號、專業、班級自我簡介,其余可自行豐富。〔5〕具有對姓名,出生日期和身份證號進行簡單校驗的功能。3.2系統目標軟件開發的意圖便于用戶對學生的管理,方便查看學生的情況。如用戶對學生根本信息進行錄入、查詢、修改、刪除等。3.2使用范圍本系統僅針對用戶對少量學生進行信息管理。3.3功能要求1錄入學生根本信息的功能2查詢學生根本信息的功能3修改學生根本信息的功能4刪除學生根本信息的功能5顯示所有學生信息的功能4設計內容4.1界面構建1、為了便于各種操作,軟件采用多窗口的模式。用戶可在不同窗口進行相應操作〔錄入、查詢、修改、刪除、顯示所有學生省信息〕。2、主窗口是用戶進行各種操作的平臺,具體操作在各個獨立功能窗口中完成。3、主窗口的主要功能位于菜單中,菜單為進入各個功能窗口的唯一通道。4、當用戶在進行個別錄入、刪除或錯誤輸入操作時,會彈出相應對話框提示用戶。如當錄入成功或刪除成功,彈出成功以及相應的簡明信息提示當,當錄入、刪除失敗以及輸入不當是,彈出錯誤以及簡單的錯誤原因提示用戶重新操作。5、界面布局盡量合理,各組件位置分布均勻美觀。4.2詳細設計登錄4.2.1模塊設計登錄nono密碼正確密碼正確yesyes進入操作界面進入操作界面查改刪增 查改刪增 4.2.2數據庫設計(Access)圖a.學生信息表圖b.管理員表4.2.3運行調試圖1.登錄界面圖2.操作界面圖3.添加學生信息圖4.刪除學生信息圖5.修改學生信息圖6.查找學生信息圖7.注冊新用戶圖8.刪除用戶4.2.4主要源代碼importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjavax.swing.border.*;importjavax.swing.JOptionPane;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.table.DefaultTableModel;importjavax.swing.table.TableColumn;importjava.sql.*;importjava.awt.GridLayout;classmyStudent{publicmyStudent(){}publicstaticvoidmain(String[]args){loginFramelf=newloginFrame();lf.setVisible(true);lf.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){ System.exit(0); }});}}classmainFrameextendsJFrameimplementsActionListener{ MenuBarmyMenuBar=newMenuBar(); MenumyMenuFile,myMenuEdit,myMenuUser,myMenuAbout;MenuItemmiNew,miOpen,miSave,miSaveAs,miExit;MenuItemmiAdd,miEdit,miDel,miFind,miShow,miUser,miAbout;publicJTabletable=newJTable(); Iconbackground_icon=newImageIcon("pct.jpg"); JLabelbackground_Label=newJLabel(background_icon);publicDefaultTableModelmm;publicmainFrame(){myMenuFile=newMenu("文件");miNew=newMenuItem("新建");miOpen=newMenuItem("翻開");miSave=newMenuItem("保存");miExit=newMenuItem("退出");//miNew.enable(false);//miOpen.enable(false);//miSave.enable(false);//myMenuFile.add(miNew);//myMenuFile.add(miOpen);//myMenuFile.add(miSave);myMenuFile.add(miExit);myMenuEdit=newMenu("數據編輯");miFind=newMenuItem("查找數據");miAdd=newMenuItem("添加數據");miEdit=newMenuItem("修改數據");miDel=newMenuItem("刪除數據");miShow=newMenuItem("全部顯示");myMenuEdit.add(miFind);myMenuEdit.add(miAdd);myMenuEdit.add(miEdit);myMenuEdit.add(miDel);myMenuEdit.add(miShow);myMenuUser=newMenu("用戶");miUser=newMenuItem("編輯用戶");myMenuUser.add(miUser);myMenuAbout=newMenu("我的課程設計");miAbout=newMenuItem("課程設計說明");myMenuAbout.add(miAbout);myMenuBar.add(myMenuFile);myMenuBar.add(myMenuEdit);myMenuBar.add(myMenuUser);myMenuBar.add(myMenuAbout); String[]col={"學號","姓名","性別","民族","年齡","年級","班級","專業"};//創立屬性列名mm=newDefaultTableModel(col,0);table.setModel(mm); JScrollPanetableScrollPane=newJScrollPane(table);this.setMenuBar(myMenuBar);this.add(tableScrollPane);miExit.addActionListener(this);miFind.addActionListener(this);miAdd.addActionListener(this);miEdit.addActionListener(this);miDel.addActionListener(this);miShow.addActionListener(this);miUser.addActionListener(this);miAbout.addActionListener(this); }classmyConnection{ ResultSetre; Stringstrurl="jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ=學生管理數據庫.mdb"; publicmyConnection(){}publicResultSetgetResult(Stringsql){try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionconn=DriverManager.getConnection(strurl); Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSetre=stmt.executeQuery(sql);returnre; }catch(Exceptione){ System.out.println("getResult"+e.toString());returnnull; } }classaddFrameextendsJDialogimplementsActionListener{publicstaticfinalintWIDTH=400;publicstaticfinalintHEIGHT=400; JLabel學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1; JTextField學號,姓名,性別,民族,年齡,年級,班級,專業; JButtonb; JPanelp; mainFramemf;classeditFrameextendsJDialogimplementsActionListener{publicstaticfinalintWIDTH=400;publicstaticfinalintHEIGHT=400; JLabel學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1; JTextField學號,姓名,性別,民族,年齡,年級,班級,專業; JButtonb; JPanelp; mainFramemf;classfindFrameextendsJDialogimplementsActionListener{ mainFramemf; JPanelp; JComboBoxc; JTextFieldt; JButtonb; JButtonfAll; Stringsql="select*fromstudent"; String[]colStr={"學號","姓名","性別","民族","年齡","年級","班級","專業"};publicfindFrame(mainFramemmf){mf=mmf;p=newJPanel();c=newJComboBox(colStr);t=newJTextField(10);b=newJButton("查找");fAll=newJButton("全部顯示");b.addActionListener(this);fAll.addActionListener(this);p.add(newJLabel("選擇"));p.add(c);p.add(newJLabel("查找內容"));p.add(t);p.add(b);p.add(fAll);this.add(p);this.setTitle("查找");this.setSize(450,80); }classaboutFrameextendsJDialog{ aboutFrame(){ JPanelp1=newJPanel(); p1.add(newJLabel("學生信息管理系統")); p1.add(newJLabel("趙壬冰0920011023")); p1.add(newJLabel("遼寧工程技術大學")); p1.add(newJLabel("軟件工程09-10")); p1.setLayout(newGridLayout(4,1,5,5));this.add(p1);this.setTitle("關于我");this.setSize(300,200); }}classuserFrameextendsJFrameimplementsActionListener{ JTextFielduser,pass; JButtonadd,del; JTablet; JPanelp1,p2,p3,p4,p5; DefaultTableModelm;publicuserFrame(){p1=newJPanel();p2=newJPanel();p3=newJPanel();p4=newJPanel();p5=newJPanel();user=newJTextField(8);pass=newJTextField(8);add=newJButton("添加");del=newJButton("刪除"); String[]col={"用戶名","密碼"};m=newDefaultTableModel(col,0);t=newJTable();t.setModel(m); JScrollPanesp=newJScrollPane(t);p1.add(newJLabel("用戶名"));p1.add(user);p1.add(newJLabel("密碼"));p1.add(pass);p1.add(add);p2.add(sp);p3.add(del); add.addActionListener(this);del.addActionListener(this); myConnectionconn=newmyConnection(); ResultSetrs; rs=conn.getResult("select*from管理員");if(rs!=null){try{//m.setRowCount(0);//table.setModel(mm);while(rs.next()){ String用戶名=rs.getString("用戶名"); String密碼=rs.getString("密碼"); String[]cloumns={用戶名,密碼}; m.addRow(cloumns); }t.setModel(m); }catch(Exceptione){ System.out.println(e.toString()); } }this.add(p1,BorderLayout.NORTH);this.add(p2,BorderLayout.CENTER);this.add(p3,BorderLayout.SOUTH);this.add(p4,BorderLayout.WEST);this.add(p5,BorderLayout.EAST);this.setTitle("用戶管理");this.setSize(600,400); }classloginFrameextendsJDialogimplementsActionListener{ JPanelp; JTextFielduser,pass; JButtonlogin,cancel;publicloginFrame(){p=newJPanel();user=newJTextField(10);pass=newJTextField(10);login=newJButton("登錄");cancel=newJButton("退出"); login.addActionListener(this);cancel.addActionListener(this); Iconbackground_icon=newImageIcon("pct.jpg"); JLabelbackground_Label=newJLabel(background_icon);p.add(background_Label);p.add(newJLabel("賬號"));p.add(user);p.add(newJLabel("密碼"));p.add(pass);p.add(login);p.add(cancel);this.add(p);this.setTitle("系統登錄"); this.setSize(360,260); }5總結與展望做課設讓我對java有了新的認識,首先我接觸了很多上課見過見過但沒有實際用過的類和方法,讓我對編程有了許多新的思想。大一學了C語言,雖然當時學的還不錯,由于學的都是入門知識,所以自己做的都是DOS下執行的程序,雖然可以實現一定的功能,但和自己平時用的軟件相差很大。這學期剛開課學java感覺沒什么新鮮感,它的跨平臺特性也只是聽聽,根本沒有認識,知道學到第七章圖形界面用戶編程的時候,我發
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長瀏高速公路第三合同段某隧道施工組織設計
- 《2025汽車轉讓合同書》
- 2025項目管理合同條款及補充合同
- 四月促銷活動方案(19篇)
- 一堂難忘的課堂寫人記事類作文15篇
- 假期安排及旅游工作證明函(6篇)
- 《蔬菜栽培學》詳細筆記
- 鍍鉻板(卷)項目投資風險評估報告
- 人機交互設計專業考試題及答案2025年
- 2025年新聞傳播學基礎知識模擬試題及答案
- GB/T 2013-2010液體石油化工產品密度測定法
- GB/T 19879-2005建筑結構用鋼板
- FZ/T 72001-2009滌綸針織面料
- FZ/T 62033-2016超細纖維毛巾
- 在漫畫中識別身邊的違章施工作業
- 室內燃氣規范試題
- 家用電器行業全球空調市場系列(東南亞篇):空調市場蘊藏發展潛力中國品牌持續發力
- 長城騰翼C30汽車全車配件價格表
- 《大數據安全技術》課程教學大綱
- 我們的互聯網時代課件PPT模板
- 河北工程大學食堂CI手冊
評論
0/150
提交評論