




免費預覽已結束,剩余39頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
課 題 學生姓名 學 號 專 業 班 級 系(院) 指導教師 職 稱 二 年 月 畢業設計真實性承諾及指導教師聲明學生畢業設計真實性承諾本人鄭重聲明:所提交的畢業設計是本人在指導教師的指導下,獨立進行研究工作所取得的成果,內容真實可靠,不存在抄襲、造假等學術不端行為。除文中已經注明引用的內容外,本設計不含其他個人或集體已經發表或撰寫過的研究成果。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。如被發現設計中存在抄襲、造假等學術不端行為,本人愿承擔相應的法律責任和一切后果。學生(簽名): 日 期: 指導教師關于學生畢業設計真實性審核的聲明本人鄭重聲明:已經對學生畢業設計所涉及的內容進行嚴格審核,確定其成果均由學生在本人指導下取得,對他人論文及成果的引用已經明確注明,不存在抄襲等學術不端行為。 指導教師(簽名): 日 期: 注:此聲明由指導教師和學生本人親筆簽名。29目錄摘 要1Abstruct2第1章 項目背景3第2章 需求分析42.1系統需求簡介4 2.2系統ER圖5第3章 總體設計63.1設計概述63.2系統總體結構及功能模塊劃分63.3系統數據庫的設計6第4章 詳細設計94.1概述94.2系統程序流程圖94.3安全保密設計104.3.1用戶登錄安全性104.4主要功能模塊代碼104.4.1公共類代碼設計(數據的增刪查改)104.4.2 登錄界面代碼設計18第5章 實行215.1系統登錄215.2參數設置215.3基本信息235.4系統查詢模塊255.5系統管理26第6章 測試276.1總體測試27總結28致謝29參考30摘 要隨著教育的不斷普及,各個學校的學生人數也越來越多。傳統的管理方式并不能適應時代的發展。為了提高管理效率,減少學校開支,使用軟件管理學生信息已成為必然。本學生信息管理系統是基于Java EE與SQL server 2008數據庫技術建立的一個系統,使用了Swing、IDBC技術連接數據庫、javabean等技術,該系統提供了查詢、修改、增加記錄、刪除等功能,功能比較落齊全,基本上能滿足學校的需求。關鍵詞: 學生信息管理;SQLSERVER;JAVA EE;JavaBeanAbstruct With the popularization of education, the number of students in each school are more and more. The pain management mode and can not adapt to the development of the times. In order to improve management efficiency, reduce school spending, the use of software to manage student information has become an inevitable. The student information management system is based on Java EE and SQL Server 2008 database technology to establish a system, the use of the swing, IDBC technology connecting database, JavaBean technology, the system provides query, modify, add records, delete and other functions, function relatively complete, can basically meet the school requirements.Keywords: student information management; SQLSERVER; JAVA EE; JavaBean第1章 項目背景隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。隨著計算機網絡技術發展,Web數據庫技術已經成為應用最為廣泛的網站架構基礎技術在應用系統中,Web提供了與用戶進行通信聯絡的有效手段,利用Web技術,實現Web服務器與數據庫系統的連接,完成對數據的處理與查詢,用戶可以通過操作簡單易學的瀏覽器來查詢處理所需要的各種數據。學生信息的管理是學校日常工作中的重要組成部分。高校招生規模的逐步擴大和認識制度的改革,在校學生人數將不斷增加,而學生管理人員則相對減少。加上我國高等學校基層學生管理工作的頭緒多,內容雜,管理細,要求高,傳統管理辦法已基本不適應新形勢的要求。在校生的基本信息的管理,選課及成績的信息的管理,學生學籍的管理,稍有不慎就會出現錯誤。同時學生成績的手工登錄與查詢,是一項非常繁重而枯燥的勞動,每年課程的變化都需要重新規劃,耗費許多人力和物力,而且會因人的情緒煩燥而出現失誤。因此在計算機飛速發展的今天,應用數據庫技術實現學生信息的管理是可行而必要的工作,實現高校學生信息網上管理,既能夠提高工作效率,又可以提高工作水平。計算機具有運算速度快、精度高、能按照設計邏輯處理問題等特性,在學生信息的錄入、統計中如采用一個計算機化的信息系統進行處理,就不會發生信息遺漏或者數據輸入不正確的情形。在學校,而長期以來,學生信息管理都是依賴人工進行的,面對如此眾多的學生信息,其工作量可想而知。不僅僅浪費了大量的人力物力,而且由于人工管理存在著大量的不可控因素,造成了信息管理的某些不規范。作為計算機應用的一部分,使用計算機對學生信息進行管理,具有手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高的效率。開發這樣一套管理軟件成為很有必要的事情。第2章 需求分析2.1系統需求(1) 實現用戶登錄(2) 根據查詢條件實現學生信息的查詢(3) 根據查詢條件實現成績信息的查詢(4) 學生信息、課程信息、成績信息的增加、刪除、修改(5) 學生獎懲信息管理(6) 學生信息統計 本系統的功能需求分析如下:(1) 學生信息查詢:學生可以根據學號、姓名、專業進行查詢.(2) 學生信息管理:主要是用于學生信息更新、插入、刪除;(3) 學生成績錄入:用于學生成績管理,錄入學生成績,也可以更新;性能需求分析:(1) 登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。(2) 安全保密性需求:只有憑借用戶名和密碼登陸系統,才能進行信息的管理等。2.2系統ER圖圖2.2.1系統E-R圖結構第3章 總體設計3.2系統總體結構及功能模塊劃分經過對系統的需求分析,學生信息管理系統主要劃分為五個部分:用戶登錄,參數設置,基本信息,系統查詢,系統管理五個功能模塊。如圖3.3.1 系統的總體結構。圖3.2.1 系統的總體結構3.3系統數據庫的設計數據表設計是非常重要的環節,主要設計表如下: 圖3.3.1班級信息表(tb_classinfo)用于存儲班級信息圖3.3.2考試種類表(tb_examkind)用于保存考試種類信息圖3.3.3年級信息表 (tb_gradeinfo)圖3.3.4考試科目成績表(tb_gradeinfo_sub)圖3.3.5學生信息表(tb_studentinfo)圖3.3.6科目表(tb_subject)用于保存科目信息圖3.3.7教師信息表(tb_teacher)圖3.3.8用戶表(tb_user)第4章 詳細設計4.2系統程序流程圖程序流程圖又稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設計的方法。它可將整個程序的總體流程清楚明白的顯示出來。如圖4.2.1系統總流程圖結構。圖4.2.1系統總體流程圖4.3安全保密設計4.3.1用戶登錄安全性系統設計了登錄界面,每個合法用戶有用戶名及一個密碼,只有當用戶輸入正確的用戶名及密碼組合后才能夠對學生信息進行操作。4.4主要功能模塊代碼4.4.1公共類代碼設計(數據的增刪查改)package appstu.util;import java.sql.Connection;import java.sql.DriverManager;public class CommonaJdbc public static Connection conection = null; public CommonaJdbc() getCon(); private Connection getCon() try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); conection = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=DB_Student , sa, 196816); catch (java.lang.ClassNotFoundException classnotfound) classnotfound.printStackTrace(); catch (java.sql.SQLException sql) new appstu.view.JF_view_error(sql.getMessage(); sql.printStackTrace(); return conection; package appstu.util;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Statement;import javax.swing.JOptionPane;import appstu.model.Obj_classinfo;import appstu.model.Obj_examkinds;import appstu.model.Obj_gradeinfo;import appstu.model.Obj_gradeinfo_sub;import appstu.model.Obj_student;import appstu.model.Obj_subject;import appstu.model.Obj_teacher;import appstu.model.Obj_user;import appstu.view.JF_view_error;public class JdbcAdapter private Connection con = null; private Statement stmt = null; private PreparedStatement pstmt = null; private String infoStr = null; public boolean BuildeDeleteTempView(String sqlState) boolean flag = false; System.out.println(執行的語句為: + sqlState); try con = CommonaJdbc.conection; pstmt = con.prepareStatement(sqlState); pstmt.execute(); flag = true; catch (java.sql.SQLException sql) flag = false; sql.printStackTrace(); return flag; / 真正的執行對數據庫的各種操作 private boolean AdapterObject(String sqlState) boolean flag = false; try con = CommonaJdbc.conection; / 獲取數據庫連接 pstmt = con.prepareStatement(sqlState); / 獲取PreparedStatement實例 pstmt.execute(); / 執行該SQL語句 flag = true; / 將標識量修改為true JOptionPane.showMessageDialog(null, infoStr + 數據成功!, 系統提示, JOptionPane.INFORMATION_MESSAGE); / 彈出相應提示對話框 catch (java.sql.SQLException sql) flag = false; sql.printStackTrace(); return flag; / 將標識量返回 / 執行刪除數據表中的數據 public boolean DeleteObject(String deleteSql) infoStr = 刪除; return AdapterObject(deleteSql); / 驗證數據表中是否存在數據 private boolean validateID(String id, String tname, String idvalue) String sqlStr = null; sqlStr = select count(*) from + tname + where + id + = + idvalue + ; / 定義SQL語句 try con = CommonaJdbc.conection; / 獲取數據庫連接 pstmt = con.prepareStatement(sqlStr); / 獲取PreparedStatement實例 java.sql.ResultSet rs = null; / 獲取ResultSet實例 rs = pstmt.executeQuery(); / 執行SQL語句 if (rs.next() if (rs.getInt(1) 0) / 如果數據表中有值 return true; / 返回true值 catch (java.sql.SQLException sql) / 如果產生異常 sql.printStackTrace(); / 輸出異常 return false; / 返回false值 return false; / 返回false值 public boolean InsertOrUpdateObject(Obj_gradeinfo objgradeinfo) String sqlStatement = null; if (validateID(gradeID, tb_gradeinfo, objgradeinfo.getGradeID().trim() sqlStatement = Update tb_gradeinfo set gradeID = + objgradeinfo.getGradeID() + ,gradeName = + objgradeinfo.getGradeName() + where gradeID = + objgradeinfo.getGradeID().trim() + ; infoStr = 更新年級; else sqlStatement = Insert tb_gradeinfo(gradeID,gradeName) values ( + objgradeinfo.getGradeID() + , + objgradeinfo.getGradeName() + ); infoStr = 添加年級; System.out.println(sqlStatement); return AdapterObject(sqlStatement); public boolean InsertOrUpdateObject(Obj_classinfo objclassinfo) String sqlStatement = null; if (validateID(classID, tb_classinfo, objclassinfo.getClassID() sqlStatement = Update tb_classinfo set className = + objclassinfo.getClassName() + where classID = + objclassinfo.getClassID().trim() + ; infoStr = 更新班級; else sqlStatement = Insert tb_classinfo(classID,gradeID,className) values ( + objclassinfo.getClassID() + , + objclassinfo.getGradeID() + , + objclassinfo.getClassName() + ); infoStr = 添加班級; System.out.println(sqlStatement); return AdapterObject(sqlStatement); public boolean InsertOrUpdateObject(Obj_subject objsubject) String sqlStatement = null; if (validateID(code, tb_subject, objsubject.getCode() sqlStatement = Update tb_subject set code = + objsubject.getCode() + ,subject = + objsubject.getSubject() + where code = + objsubject.getCode().trim() + ; infoStr = 更新考試科目; else sqlStatement = Insert tb_subject(code,subject) values ( + objsubject.getCode() + , + objsubject.getSubject() + ); infoStr = 添加考試科目; return AdapterObject(sqlStatement); public boolean InsertOrUpdateObject(Obj_examkinds objexamkinds) String sqlStatement = null; if (validateID(KindID, tb_examkinds, objexamkinds.getKindID() sqlStatement = Update tb_examkinds set KindID = + objexamkinds.getKindID() + ,KindName = + objexamkinds.getKindName() + where KindID = + objexamkinds.getKindID().trim() + ; infoStr = 更新考試類別; else sqlStatement = Insert tb_examkinds(KindID,KindName) values ( + objexamkinds.getKindID() + , + objexamkinds.getKindName() + ); infoStr = 添加考試類別; return AdapterObject(sqlStatement); public boolean InsertOrUpdateObject(Obj_user objuser) String sqlStatement = null; if (validateID(userid, tb_user, objuser.getUserid() sqlStatement = Update tb_user set userid = + objuser.getUserid() + ,username = + objuser.getUsername() + ,pass = + objuser.getPass() + where userid = + objuser.getUserid().trim() + ; infoStr = 更新用戶; else sqlStatement = Insert tb_user(userid,username,pass) values ( + objuser.getUserid() + , + objuser.getUsername() + , + objuser.getPass() + ); infoStr = 添加用戶; return AdapterObject(sqlStatement); / / / 產生更新存盤學生信息語句 public boolean InsertOrUpdateObject(Obj_student objstudent) String sqlStatement = null; if (validateID(stuid, tb_studentinfo, objstudent.getStuid() sqlStatement = Update tb_studentinfo set stuid = + objstudent.getStuid() + ,classID = + objstudent.getClassID() + ,stuname = + objstudent.getStuname() + ,sex = + objstudent.getSex() + ,age = + objstudent.getAge() + ,addr = + objstudent.getAddress() + ,phone = + objstudent.getPhone() + where stuid = + objstudent.getStuid().trim() + ; infoStr = 更新學生信息; else sqlStatement = Insert tb_studentinfo(stuid,classid,stuname,sex,age,addr,phone) values ( + objstudent.getStuid() + , + objstudent.getClassID() + , + objstudent.getStuname() + , + objstudent.getSex() + , + objstudent.getAge() + , + objstudent.getAddress() + , + objstudent.getPhone() + ); infoStr = 添加學生信息; return AdapterObject(sqlStatement); / 產生更新存盤教師信息語句 public boolean InsertOrUpdateObject(Obj_teacher objteacher) String sqlStatement = null; if (validateID(teaid, tb_teacher, objteacher.getTeaid() sqlStatement = Update tb_teacher set teaid = + objteacher.getTeaid() + ,classID = + objteacher.getClassID() + ,teaname = + objteacher.getTeaname() + ,sex = + objteacher.getSex() + ,knowledge = + objteacher.getKnowledge() + ,knowlevel = + objteacher.getKnowlevel() + where teaid = + objteacher.getTeaid().trim() + ; infoStr = 更新教師信息; else sqlStatement = Insert tb_teacher(teaid,classID,teaname,sex,knowledge,knowlevel) values ( + objteacher.getTeaid() + , + objteacher.getClassID() + , + objteacher.getTeaname() + , + objteacher.getSex() + , + objteacher.getKnowledge() + , + objteacher.getKnowlevel() + ); infoStr = 添加教師信息; return AdapterObject(sqlStatement); / 驗證數據表中是否存在數據 private boolean validateobjgradeinfo(String stuid, String kindid, String code) String sqlStr = null; sqlStr = select count(*) from tb_gradeinfo_sub where stuid = + stuid + and kindID = + kindid + and code = + code + ; System.out.println(sqlStr); try con = CommonaJdbc.conection; pstmt = con.prepareStatement(sqlStr); java.sql.ResultSet rs = null; rs = pstmt.executeQuery(); if (rs.next() if (rs.getInt(1) 0) return true; catch (java.sql.SQLException sql) sql.printStackTrace(); new appstu.view.JF_view_error(執行的SQL語句為:n + sqlStr + n錯誤信息為: + sql.getMessage(); return false; return false; / 產生更新學生信息信息語句 public boolean InsertOrUpdate_Obj_gradeinfo_sub(Obj_gradeinfo_sub object) try con = CommonaJdbc.conection; stmt = con.createStatement(); for (int i = 0; i object.length; i+) String sqlStr = null; if (validateobjgradeinfo(objecti.getStuid(), objecti.getKindID(), objecti.getCode() sqlStr = update tb_gradeinfo_sub set stuid = + objecti.getStuid() + ,stuname = + objecti.getSu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全國區域代理授權合同協議
- 征收拆遷補償安置合同范本(含房屋置換)
- 怎么修改畢業論文
- 湖北三年級心理健康教育教案
- 人員培訓需求分析與方案設計
- 資源能耗優化-洞察及研究
- 磁流體混合驅動-洞察及研究
- 智能化審計系統與會計信息系統安全風險管控研究-洞察闡釋
- 洗護產品創新設計-洞察闡釋
- 野生蔬菜功能性成分開發-洞察闡釋
- 高三數學一輪復習題型與戰法精準訓練(新高考專用)7.2.2點線面的位置關系(針對練習)(原卷版+解析)
- 翻譯理論與實踐智慧樹知到期末考試答案章節答案2024年湖南中醫藥大學
- 2024年吉林省中考歷史試卷真題(含答案)
- 人教部編版三年級下冊語文【選擇題】專項復習訓練真題100題(附答案解析)
- 免檢車輛標志委托書
- 人教鄂教版科學18《制作日晷》課件-科學四年級下冊人教鄂教版
- 云南開放大學實-用寫作離線作業1-5
- 內科學(腎臟-內分泌-血液)智慧樹知到期末考試答案章節答案2024年溫州醫科大學
- 食品安全與日常飲食智慧樹知到期末考試答案章節答案2024年中國農業大學
- 信息安全、網絡安全和隱私保護-信息安全控制清單(2024A1-雷澤佳編制)
- 100以內進退位加減法口算題每天60道
評論
0/150
提交評論