學(xué)生學(xué)籍信息管理系統(tǒng)_第1頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)_第2頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)_第3頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)_第4頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、河北科技大學(xué)課程設(shè)計(jì)報(bào)告學(xué)生姓名: 楊超 學(xué) 號(hào): Z專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)073班 課程名稱: 數(shù)據(jù)庫(kù)原理及應(yīng)用 學(xué)年學(xué)期: 2 0 1 0 2 0 1 1 學(xué)年第 1 學(xué)期 指導(dǎo)教師: 高 凱 2 0 1 0 年 12 月課程設(shè)計(jì)成績(jī)?cè)u(píng)定表學(xué)生姓名楊超學(xué) 號(hào)Z成績(jī)專業(yè)班級(jí)計(jì)算機(jī)073起止時(shí)間 2010.12.6-2010.12.10設(shè)計(jì)題目學(xué)生信息管理系統(tǒng)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師: 年 月 日 目 錄一、設(shè)計(jì)目的1二、系統(tǒng)的功能分析21.用戶身份級(jí)別功能分析22 學(xué)生模塊功能進(jìn)行分析23 教師模塊功能分析34 管理員模塊功能分析3四、系統(tǒng)實(shí)現(xiàn)7五、小結(jié)11一、設(shè)計(jì)目的 基于jsp+s

2、ervlet+JavaBean課程管理系統(tǒng)的總體目標(biāo)是為學(xué)生和老師提供一個(gè)課程管理的平臺(tái)。學(xué)生可以通過該系統(tǒng)選擇自己喜歡的課程;老師可以通過該系統(tǒng)查看自己所教授的選課情況;系統(tǒng)管理員可以根據(jù)需要對(duì)學(xué)生、老師、班級(jí)、等信息進(jìn)行維護(hù)。l 學(xué)生登錄系統(tǒng)后可以進(jìn)行課程選擇,并且可也查看老師已經(jīng)給出的某門課程的成績(jī),此外學(xué)生還可以更改自己的個(gè)人信息。l 老師登錄系統(tǒng)后擁有是否接受學(xué)生選擇自己的課程,以及給選擇自己教授的課程的學(xué)生打分的權(quán)限。l 系統(tǒng)管理員登錄系統(tǒng)后可以修改系統(tǒng)中的全部信息,包括學(xué)生、老師、課程以及班級(jí)等信息。加深對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)理論和基本知識(shí)的理解,掌握基于數(shù)據(jù)庫(kù)的應(yīng)用軟件設(shè)計(jì)基本方法,提高

3、解決數(shù)據(jù)庫(kù)應(yīng)用實(shí)際問題的能力二、系統(tǒng)的功能分析1. 用戶身份級(jí)別功能分析系統(tǒng)管理員用戶身份級(jí)別教師學(xué)生 不同身份的用戶對(duì)系統(tǒng)的使用權(quán)限有所不同。系統(tǒng)管理員登錄后可以對(duì)老師、班級(jí)和學(xué)生等系統(tǒng)進(jìn)行修改,老師登錄后可以查看選課情況并給出學(xué)生課程的成績(jī),學(xué)生登陸成功后可以進(jìn)行選課并查看自己某門課程的成績(jī)。 2 學(xué)生模塊功能進(jìn)行分析 學(xué)生登錄以后,可以選報(bào)課程。系統(tǒng)會(huì)根據(jù)學(xué)生所在系及課程的預(yù)修課(課程有預(yù)課等屬性)判斷學(xué)生是否具備條件。首先系統(tǒng)會(huì)根據(jù)學(xué)生所在系及該生還未選報(bào)的課程,和其預(yù)修課程為“public”的公共課程。如果該生選報(bào)了為滿足預(yù)修課要求的課程,系統(tǒng)會(huì)有相關(guān)的提示。其次學(xué)生可以查看自己的成

4、績(jī),包括該生已選課程的名稱,學(xué)分及該生的總分。如果教師還未給出成績(jī),則系統(tǒng)會(huì)有相關(guān)提示,此外該生可以更改自己的個(gè)人信息,包括密碼,電話號(hào)碼,其中密碼不能為空。其功能定義如下:選擇課程學(xué)生登錄修改個(gè)人信息查看個(gè)人成績(jī) 3 教師模塊功能分析 教師在本系統(tǒng)中擁有是否接受學(xué)生選課申請(qǐng),以及給學(xué)生打分的權(quán)限,只有先接受學(xué)生的選課請(qǐng)求,才能給該生打分。首先,教師登錄后可以查看有哪些學(xué)生選擇了自己所教授的課程,然后系統(tǒng)會(huì)列出該教師所帶課程的班級(jí),系統(tǒng)還會(huì)列出選報(bào)該課程的所有學(xué)生(其中包括了該生的一些詳細(xì)情況),在教師選擇好學(xué)生以后,在這門課程結(jié)束時(shí)可以給出所有選擇這門課程的成績(jī),在這之后系統(tǒng)會(huì)分析教師的輸入

5、是否正確(即是否為阿拉伯?dāng)?shù)字),否則提示輸入錯(cuò)誤。其次,在教師給出了學(xué)生某門課程的成績(jī)之后,系統(tǒng)會(huì)根據(jù)成績(jī)來(lái)判斷該生是否通過了該課程,如果成績(jī)大于或等于60分,則在該生的學(xué)分上加上課程的學(xué)分。選擇課程學(xué)生登錄修改個(gè)人信息查看個(gè)人成績(jī) 4 管理員模塊功能分析 管理員在本系統(tǒng)中擁有最高權(quán)限,包括修改學(xué)生、教師、課程以及班級(jí)信息。其中“班級(jí)”是本系統(tǒng)中關(guān)鍵的環(huán)節(jié),同樣也是數(shù)據(jù)庫(kù)中的關(guān)鍵。它直接與課程、老師、上課時(shí)間和地點(diǎn)聯(lián)系,學(xué)生所選的課程也要具體到一個(gè)班級(jí),所以首選班級(jí)號(hào)不能為空,其次要保證同一教師在同一地點(diǎn)不能上兩門課程。在新增“課程”時(shí),要決定課程所在系以及其預(yù)修課(系統(tǒng)會(huì)動(dòng)態(tài)列出所有的課程)

6、,其中課程所在系必須與預(yù)修課程所在系一致(或者選擇預(yù)修課,或者與修課程屬性為public),否則系統(tǒng)會(huì)有錯(cuò)誤提示。除此之外,在更改或新增時(shí),名稱,ID或者密碼不可為空,否則系統(tǒng)會(huì)有相關(guān)提示。添加、刪除和修改班級(jí)信息學(xué)生登錄添加、刪除、和修改課程信息添加、刪除、修改教師和學(xué)生信息三、數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)采用mysql服務(wù)器,在其中新建名稱為classDB的數(shù)據(jù)庫(kù),根據(jù)系統(tǒng)要求,經(jīng)過詳細(xì)的分析設(shè)計(jì),本系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)數(shù)據(jù)表的字段定義說明。Class(班級(jí)信息)存放所有班級(jí)的基本信息字段名稱類型大小非空描述idvarchar50Yes字段id號(hào)tea_idVarchar10Yes教師idCour_idV

7、archar10Yes課程idRoom_idVarchar50Yes教室idCour_timechar10yes課程時(shí)間Course(課程信息表),存放所有課程的基本表字段名稱類型大小非空描述idvarchar10Yes字段id號(hào)NameVarchar20Yes課程名稱Markint4Yes課程學(xué)分PrepareVarchar10Yes課程先導(dǎo)課depchar10yes課程所屬專業(yè)Teacher(教師信息表),存放教師的基本信息字段名稱類型大小非空描述idvarchar10Yes字段id號(hào)NameVarchar20Yes教師姓名TitleVarchar50Yes職稱passwordVarcha

8、r50Yes登錄密碼 Student(學(xué)生信息表),存放學(xué)生的基本信息 字段名稱類型大小非空描述idvarchar50Yes字段id號(hào)NameVarchar10Yes學(xué)生姓名PasswordVarchar50Yes登錄密碼jiguanVarchar10Yes籍貫DepartmentVarchar10yes學(xué)生所屬專業(yè)SexVarchar10Yes性別MarkInt4Yes已獲學(xué)分TelVarchar50Yes電話E_mailvarchar50yes郵箱 Admin(管理員信息表),存放管理員的基本信息Enrol(選課信息表),存放選課的基本信息字段名稱類型大小非空描述idvarchar50Ye

9、s字段id號(hào)NameVarchar10Yes管理員登陸名稱passwordVarchar10Yes管理員登錄密碼字段名稱類型大小非空描述Stu_idVarchar50Yes選課的學(xué)生的Id號(hào)Class_idVarchar50Yes選課學(xué)生所屬班級(jí)acceptbit1Yes選課成功標(biāo)示位scorechar50yes課程成績(jī)ER 圖姓名密碼管理員登陸號(hào)管理員課程課程號(hào)名稱學(xué)分課程所屬專業(yè)先導(dǎo)課電話學(xué)生密碼郵箱姓名專業(yè)籍貫學(xué)號(hào)性別已獲學(xué)分所學(xué)mnm 班號(hào)班級(jí)教師號(hào)課程號(hào)上課時(shí)間教室號(hào)所在1老師老師id號(hào)職稱密碼姓名講授mn關(guān)聯(lián)關(guān)系: Clsass( id, tea_id,cour_id,room_i

10、d,cour_time ) Course(id,name,mark,prepare) Teacher(id,name,title,password) Student(id,name,password,jiguan,department,sex,mark,tel,e_mail)Enroll(stu_id,class_id,accept,score) Admin(id,name,password)四、系統(tǒng)實(shí)現(xiàn) 用戶登錄頁(yè)面如下:Login.jsp 系統(tǒng)首頁(yè),提供用戶登錄信息輸入入口SqlBean.java 負(fù)責(zé)整個(gè)系統(tǒng)與數(shù)據(jù)庫(kù)的連接和關(guān)閉操作public class SqlBean/ String

11、 DatabaseDriver=org.gjt.mm.mysql.Driver; String url=jdbc:mysql:/localhost:3306/classdb;String root=root;String passwordofDB=;Connection conn=null; ResultSet rs;public SqlBean()/構(gòu)造函數(shù) try Class.forName(DatabaseDriver); catch(java.lang.ClassNotFoundException e) System.err.println(加載驅(qū)動(dòng)器有錯(cuò)誤:+e.getMessage

12、( ); System.out.print(執(zhí)行插入有錯(cuò)誤:+e.getMessage();/輸出到客戶端 /執(zhí)行插入操作的方法 public int executeInsert(String sql) int num=0;try conn = DriverManager.getConnection(url,root,passwordofDB);Statement stmt=conn.createStatement( ); num=stmt.executeUpdate(sql); catch(SQLException ex) System.err.println(執(zhí)行插入有錯(cuò)誤:+ex.get

13、Message() ); System.out.print(執(zhí)行插入有錯(cuò)誤:+ex.getMessage();/輸出到客戶端 CloseDataBase();return num; /執(zhí)行查詢操作的方法 public ResultSet executeQuery(String sql) rs=null; try conn = DriverManager.getConnection(url,root,passwordofDB);Statement stmt=conn.createStatement( ); rs=stmt.executeQuery(sql); catch(SQLException

14、 ex) System.err.println(執(zhí)行查詢有錯(cuò)誤:+ex.getMessage() ); System.out.print(執(zhí)行查詢有錯(cuò)誤:+ex.getMessage(); /輸出到客戶端 return rs; /執(zhí)行刪除操作的方法public int executeDelete(String sql) int num=0;try conn = DriverManager.getConnection(url,root,passwordofDB);Statement stmt=conn.createStatement( ); num=stmt.executeUpdate(sql)

15、; catch(SQLException ex) System.err.println(執(zhí)行刪除有錯(cuò)誤:+ex.getMessage() ); System.out.print(執(zhí)行刪除有錯(cuò)誤:+ex.getMessage(); /輸出到客戶端 CloseDataBase();return num; /關(guān)閉數(shù)據(jù)庫(kù)連接public void CloseDataBase() try conn.close(); catch(Exception end) System.err.println(執(zhí)行關(guān)閉Connection對(duì)象有錯(cuò)誤:+end.getMessage( ) ); System.out.pr

16、int(執(zhí)行執(zhí)行關(guān)閉Connection對(duì)象有錯(cuò)誤:有錯(cuò)誤:+end.getMessage(); /輸出到客戶端 Login_comfirm.java 驗(yàn)證用戶的登錄信息,若正確則根據(jù)用戶級(jí)別轉(zhuǎn)向不同的頁(yè)面。public class Login_confirm extends HttpServlet / 響應(yīng)Post請(qǐng)求public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException String message = null;String/ 接收用戶的

17、登錄名id = req.getParameter(id);/ 創(chuàng)建session對(duì)象HttpSession session = req.getSession(true);/ 將用戶登錄名存入session中session.setAttribute(id, String.valueOf(id);String password = null;/ 接收用戶登錄的密碼password = req.getParameter(password);String kind = null;/ 接收用戶級(jí)別kind = req.getParameter(kind);/ 調(diào)用getPassword方法,獲取數(shù)據(jù)庫(kù)中

18、查詢出來(lái)的密碼String temp = getPassword(req, res, id, kind);/ 對(duì)比查詢出的密碼和用戶輸入的密碼是否匹配if (password.equals(temp)/ 密碼輸入正確,調(diào)用goo方法goo(req, res, kind);else / 密碼輸入錯(cuò)誤message = 用戶名或密碼有誤!;doError(req, res, message);public void goo(HttpServletRequest req, HttpServletResponse res, String kind)throws ServletException, IO

19、Exception / 轉(zhuǎn)向?qū)W生功能頁(yè)面if (kind.equals(student) RequestDispatcher rd = getServletContext().getRequestDispatcher(/student.jsp);rd.forward(req, res);if (kind.equals(teacher) RequestDispatcher rd = getServletContext().getRequestDispatcher(/teacher.jsp);rd.forward(req, res);/ 轉(zhuǎn)向管理員功能頁(yè)面if (kind.equals(admin

20、) RequestDispatcher rd = getServletContext().getRequestDispatcher(/admin.jsp);rd.forward(req, res);public String getPassword(HttpServletRequest req, HttpServletResponse res,String id, String kind) throws ServletException, IOException / 聲明數(shù)據(jù)庫(kù)連接類sqlBean的實(shí)例SqlBean db = new SqlBean();String pw = ;String

21、 sql = select password from + kind + where id= + id+ ;try / 進(jìn)行數(shù)據(jù)庫(kù)查詢操作ResultSet rs = db.executeQuery(sql);if (rs.next() pw = rs.getString(password); catch (Exception e) System.out.print(e.toString();return pw;/ 處理錯(cuò)誤頁(yè)面public void doError(HttpServletRequest req, HttpServletResponse res,String str) throws ServletException, IOException req.setAttribute(problem, str);RequestDispatcher rd = getServletContext().getRequestDispatcher(/errorpage.jsp);rd.forward(req, res);/ 響應(yīng)get請(qǐng)求public void doGet(HttpServletReques

溫馨提示

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

評(píng)論

0/150

提交評(píng)論