




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 課 程 設 計 報 告課程設計名稱:學生成績管理系統系 : 三系 學生姓名: * 班 級: 計算機3班 學 號: * 成 績: 指導教師: * 開課時間:2021-2021學年 2 學期一設計題目學生成績管理系統二主要內容學生成績管理系統從功能上劃分可分為以下幾大模塊:學生信息管理模塊:設置學生根本信息,并可以對學生信息進展添加、修改、刪除。課程信息管理:設置課程號,課程名,任課教師等課程信息,并可以對課程信息進展添加、修改、刪除。成績信息管理模塊:設置成績信息,并可以對成績信息進展添加、修改、刪除。還可以用關鍵字查詢并調出數據庫里的學生根本成績信息的修改、刪除等。輸出查詢的學生成績信息,并
2、對學生成績總分,平均分等進展統計。三具體要求1.具有良好的系統性能,友好的用戶界面2.較高的處理效率,便于使用和維護3.采用成熟的技術開發,是系統具有較高的技術水平和較長的生命周期4.系統盡可能簡化重復工作,提高工作效率簡化數據查詢、降低統計難度四進度安排序號內 容時間天1調試工具使用2概要設計13詳細設計24調試分析5測試結果16總結和完成設計報告2合 計7五成績評定正文系統的需求分析和功能設計需求分析:該學生成績管理系統的開發是為了能夠讓用戶方便、快速的查找有關于一些學生的根本信息。同時該學生成績管理系統的建立也要要求能夠節約用戶時間和節約系統資源等。該系統是由以下幾局部組成:系統管理、學
3、生管理、課程管理、成績管理和信息管理。在系統管理功能中有退出功能;學生成績管理功能中有增加學生、修改學生和刪除學生;課程管理功能中有增加課程、修改課程和刪除課程;成績管理功能中成績增加和成績修改;信息管理功能中學生信息查詢、課程信息查詢和成績查詢。在查詢功能中還有一些子功能。功能設計:學生成績管理系統分為3大功能模塊,分別為:學生信息管理、課程管理、成績管理。系統各個局部及其包括的具體功能模塊如圖1所示。學生成績管理系統學生信息管理課程信息管理成績信息管理信息查詢學生信息修改學生信息刪除課程信息添加課程信息修改課程信息刪除成績信息添加成績信息修改成績信息刪除學生信息查詢課程信息查詢成績信息查詢
4、按學號查詢按姓名查詢按性別查詢按專業查詢按班級查詢按課程名查詢按任課教師查詢按科目查詢圖1 系統功能構造圖(1) 數據庫概念構造設計局部E-R圖學生實體圖:共有6中屬性,包括學號、姓名、性別、出生日期、專業、籍貫等6種屬性,如圖2所示。學生學號姓名籍貫專業性別出生日期圖2學生實體圖課程實體圖,課程信息實體共有3種屬性,包括課程號,課程名,任課教師等3種屬性,如圖3所示。課程課程號任課教師課程名圖3課程實體圖成績信息學號考試成績課程名成績實體圖,成績信息實體共有3種屬性,包括學生學號,課程名稱,平考試成績,成績信息實體圖如圖4所示。 圖4成績信息實體圖系統E-R圖如圖5所示11nn學生學號姓名籍
5、貫專業出生日期性別課程信息選課課程名課程號任課教師成績信息課程名學號成績考試(2) 數據庫邏輯構造設計本系統采用ACCESS數據庫,各數據表構造如下:學生信息表: 如表1所示表1 學生信息表課程信息表: 如表2所示表2 課程信息表成績信息表: 如表3所示表3 成績信息表2、源程序及注釋1增加學生代碼中主要代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=clearInfo) /設置清空按鈕功能 sNum.setText(); sBirth.setText(); sMajor.setText(); sHome.set
6、Text(); sName.setText(); else if(e.getSource()=addInfo) /設置增加按鈕功能 String xh=sNum.getText(); String xm=sName.getText(); String xb; if(xb1.isSelected() /判斷所選人的性別 xb=男; else xb=女; String csrq=sBirth.getText(); String zy=sMajor.getText(); String jg=sHome.getText(); if(xh.equals() JOptionPane.showMessage
7、Dialog(this,學號不能為空!,操作提,JOptionPane.ERROR_MESSAGE); /創立學號不能為空提示信息框 else if(xm.equals() JOptionPane.showMessageDialog(this,姓名不能為空!,操作提示,JOptionPane.ERROR_MESSAGE); /創立姓名不能為空提示信息框 try /用來捕獲異常 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url=jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=s
8、tudent.mdb; /連接student數據庫Connection con=DriverManager.getConnection(url); /建立連接Statement stm=con.createStatement(); /創立Statement對象 /創立添加學生sql語句String str=insert into xs(xh,xm,xb,csrq,zy,jg) values(+xh+,+xm+,+xb+,+csrq+,+zy+,+jg+);int rs=stm.executeUpdate(sqlstr); /更新數據庫記錄if(rs0) /判斷記錄是否添加JOptionPane
9、.showMessageDialog(this,恭喜你,學生信息添加成功!,提示,JOptionPane.INFORMATION_MESSAGE); /創立信息添加成功提示框con.close(); / 關閉結果集stm.close(); /關閉語句catch(Exception E) /用來處理異常 public static void main(String arg) /創立主函數new StuInfo(); /調用StuInfo()方法2.修改學生代碼中主要局部代碼如下:public void actionPerformed(ActionEvent ae) if(ae.getSource
10、()=btnClear) /設置取消按鈕功能 sNum.setText(); sNum.requestFocus(); else if(ae.getSource()=btnOk) /設置確定按鈕功能 String xh=sNum.getText(); if(xh.equals() JOptionPane.showMessageDialog(this,學號不能為空!,警告,JOptionPane.ERROR_MESSAGE); 創立提示信息框 else StuInfo newst=new StuInfo(); newst.sNum.setText(xh); newst.sNum.setEnabl
11、ed(false); /把學號文本框禁用 newst.addInfo.setEnabled(false); /把增加按鈕設置為禁用 newst.modifyInfo.setEnabled(true); /把修改按鈕設置為可用 newst.deleteInfo.setEnabled(false); /把刪除按鈕設置為禁用 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb;/連接student數據庫
12、Connection con=DriverManager.getConnection(url);/建立連接Statement stm=con.createStatement();/創立Statement對象String sql =select * from xs where xh=+xh+; /按學號查詢學生表中所有數據 ResultSet rs= stm.executeQuery(sql); /執行sql操作 while(rs.next() /循環執行數據庫中每條記錄newst.sNum.setText(rs.getString(xh); / 獲取xh字段 newst.sName.setTe
13、xt(rs.getString(xm); / 獲取xm字段if(rs.getString(xb).equals(男) /獲取xb字段,判斷所選性別 newst.xb1.setSelected(true); else newst.xb2.setSelected(true); newst.sMajor.setText(rs.getString(zy); newst.sHome.setText(rs.getString(jg);int n=stm.executeUpdate(sql); / 執行sql更新命令if(n0) /判斷是否修改數據庫JOptionPane.showMessageDialog
14、(null,成功修改一條新的紀錄!);elseJOptionPane.showMessageDialog(null, 更新失敗, 錯誤, JOptionPane.ERROR_MESSAGE); con.close(); /關閉結果集stm.close(); /關閉語句catch(Exception e)System.out.println(e); /輸出信息 public static void main(String args) /創造主函數 new xiugai(); /調用xiugai()方法 3.學生刪除代碼中主要局部代碼:public void actionPerformed(Act
15、ionEvent e) if(e.getSource()=button) /設置刪除按鈕 tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; /連接student數據庫Connection conn=DriverManager.getConnection(url);/建立連接Statement stmt=conn.createStatement(); /創立Statement對象 String s
16、qlstr =delete from xs where xh=+sHome.getText()+;/創立刪除從xs表中刪除語句 int result= stmt.executeUpdate(sqlstr); /執行更新命令 if (result0) /判斷是否刪除 JOptionPane.showMessageDialog(this,學生刪除成功!,提示,JOptionPane.INFORMATION_MESSAGE); conn.close(); / 關閉結果集 stmt.close(); /關閉語句 catch(Exception E) public static void main(St
17、ring arg) /創立主函數new scstudent(); /調用scstudent()方法3、運行例如及結果分析1.主界面結果分析:該界面是學生成績管理系統的主界面,從這界面可以看出有幾個功能系統。2.添加界面結果分析:在學生信息中輸入相應的信息后按增加按鈕就會出現恭喜你,學生信息添加成功。 如果在輸入信息時,沒有輸入相應的學號和姓名,那么會出現相應的提示框提示學號和姓名不能為空。3.修改界面結果分析:在信息框中輸入課程號,按確定按鈕那么會跳出相應的課程信息框,如果數據庫中有這一課程號,那么會把相應的信息顯示出來,否那么只會顯示課程號。4.刪除界面結果分析:在信息框中輸入要刪除的學生學
18、號按確定按鈕,如果所輸入的學號在數據庫中存在,那么會跳出學生刪除成功提示框,否那么按確定按鈕無效。5.查詢界面結果分析:此結果會從所有的顯示數據中被提取出來,并不是只顯示查詢結果。4、調試和運行程序過程中產生的問題及采取的措施1.在調試程序時在定義公共類是出現問題,導致錯誤的原因是類名和java文件名不同,只要public去掉或把java文件名修改成與類名一致。2.在調試課程增加程序時,調試結果沒有顯示錯誤,但在運行時增加功能沒有實現,導致錯誤的原因可能是數據庫問題,查找數據庫代碼和數據庫中相應的表發現課程表中沒有xm這一字段,代碼中出現了,刪除這一字段即可。3.在調試主函數代碼時會出現一些找
19、不到符號的問題,有可能時你調用的子函數不在同一個文件下,也有可能是你調用的子函數不存在,還有可能是子函數沒有調試和運行。要想解決問題只要把相應的java文件放在同一個文件下或創立相應的子函數還可以把那些子函數調試和運行一邊,再調試主函數即可。4.在調試和運行后界面中出現的文字不全和文本框大小與窗體大小不搭調,導致的原因是標簽和文本框大小沒有設置好。只要重新設置一下大小即可。5、對系統相關功能的討論、分析,改良設想該學生成績管理系統的建立主要分為系統管理、學生管理、課程管理、成績管理和信息管理。在這幾個系統功能中有些功能的實現是運用繼承JFrame類和實現監聽器ActionListener來實現
20、的。為了更好的實現功能可以創立構造函數來實現初始化。同時也可以創造方法通過方法調用來實現相應的功能。為了進一步完善學生成績管理系統可以有以下改良設想:1.在信息查詢系統功能中增加補考信息查詢菜單項,再補考信息查詢菜單中設置補考學生信息查詢和成績及格學生信息查詢子菜單項。在補考學生信息查詢中添加補考是否通過信息查詢。2.在信息查詢系統功能中添加按學期查詢,在這個查詢中把學生這一學期的所有信息都顯示在界面上。3.在主界面中增加獲獎信息系統功能項,在這中添加獲獎信息,修改獲獎信息,刪除獲獎信息和獲獎信息查詢。在獲獎信息查詢中添加按等級查詢和按競賽查詢。在按等級查詢中只要等級名后按查詢按鈕就會顯示此等
21、級是否通過等這樣的信息;在按競賽查詢中輸入競賽名,那么會彈出你有沒有參加此競賽框,如有那么按確定按鈕,那么會顯示出此同學獲講情況。4.在主界面中添加評價信息系統功能項,此功能主要是為了實現一些人對學生的評價。在這項中分別添加輔導員評價、任課教師評價和同學評價。在輔導員評價中只要輸入學生的學號按確定按鈕就會跳出相應的評價信息;在任課教師評價中輸入學生學號后按確定按鈕,那么會跳出要你輸入課程名信息框,輸入課程名后,在按確定按鈕那么會跳出課程名和任課教師名點擊查詢那么會顯示出相應的信息;在同學評價中只要輸入學生學號即可。6、總結這次的課程設計任務是開發學生成績管理系統,在開發的過程中可以看出自己對j
22、ava知識學到的很少,這次的課程設計能夠讓我學到很多java知識,同時也有利于期末考試。因為該系統的建立幾乎用到了java這學期所學的所有知識。這等于讓我復習了一邊java知識。在創立學生成績管理系統時,要想把界面布局好看些首先要會設置標簽和文本框大小位置,在設置這時用setBounds( ),在這括號中有四個數字分別表示垂直、水平、長度和高度。同時為了防止誤操作一些按鈕和文本框可以利用setEnabled(false)來把按鈕和文本框禁用。要想使該學生成績管理系統實現添加、修改、刪除和查詢功能時就必須與數據庫連接起來。用以下代碼實現數據庫的連接:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url=jdbc:odbc:drive=Micro
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- AI技術助力遠程醫療的新紀元
- 云計算在醫療信息管理中的角色
- 辦公桌椅的北歐色彩搭配藝術
- AI在醫療診斷中的技術難題與解決策略
- 以患者為中心構建道德健康的智慧醫療體系之研究
- 從數據到決策論電子健康記錄系統的價值與影響
- 傳統草藥圖案在健康宣傳材料中的創新應用
- 石棉繩企業數字化轉型與智慧升級戰略研究報告
- 利用人工智能與區塊鏈構建智能IP管理系統的探討與實踐案例分享
- 軟床及床墊企業縣域市場拓展與下沉戰略研究報告
- 院校建設可行性研究報告
- 《電力設備典型消防規程》知識培訓
- 2025年天津市河東區中考一模英語試題(原卷版+解析版)
- 2025屆浙江省君兮協作聯盟高三下學期4月教學質量檢測英語試題(含解析)
- 注冊會計師(綜合階段)題庫完美版帶答案分析2025
- 四川省成都東部新區龍云學校2024-2025學年五年級下冊半期測試題(含答案)
- 【MOOC】中醫與辨證-暨南大學 中國大學慕課MOOC答案
- 混流式水輪機水力設計及其性能分析
- 繼電保護國際標準代碼
- 中考化學適應性考試質量分析暨化學復習方案
- 污水處理廠防臺風應急預案
評論
0/150
提交評論