![數(shù)據(jù)庫課程設(shè)計報告學(xué)生成績管理系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/66cb6445-9257-4cdc-8383-1a51eec9d53c/66cb6445-9257-4cdc-8383-1a51eec9d53c1.gif)
![數(shù)據(jù)庫課程設(shè)計報告學(xué)生成績管理系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/66cb6445-9257-4cdc-8383-1a51eec9d53c/66cb6445-9257-4cdc-8383-1a51eec9d53c2.gif)
![數(shù)據(jù)庫課程設(shè)計報告學(xué)生成績管理系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/66cb6445-9257-4cdc-8383-1a51eec9d53c/66cb6445-9257-4cdc-8383-1a51eec9d53c3.gif)
![數(shù)據(jù)庫課程設(shè)計報告學(xué)生成績管理系統(tǒng)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/66cb6445-9257-4cdc-8383-1a51eec9d53c/66cb6445-9257-4cdc-8383-1a51eec9d53c4.gif)
![數(shù)據(jù)庫課程設(shè)計報告學(xué)生成績管理系統(tǒng)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/66cb6445-9257-4cdc-8383-1a51eec9d53c/66cb6445-9257-4cdc-8383-1a51eec9d53c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄1、開發(fā)背景22、系統(tǒng)描述23、數(shù)據(jù)分析23.1、數(shù)據(jù)流圖23.2、數(shù)據(jù)字典24、概念模型設(shè)計24.1e-r圖25. 邏輯模型設(shè)計及優(yōu)化25.1數(shù)據(jù)庫表:26、應(yīng)用程序設(shè)計27、課程設(shè)計心得體會21、開發(fā)背景90年代中期,由于internet 的迅速普及,使intranet成為internet技術(shù)在企業(yè)管理信息系統(tǒng)中的應(yīng)用和延伸,形成了集計算機,計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、分布式計算等于一體的信息技術(shù)綜合體,它打破了時間和地域的界限,使信息交流變得快捷、準(zhǔn)確,為建立現(xiàn)代企業(yè)管理信息系統(tǒng)提供了充足的條件。企業(yè)信息管理系統(tǒng)在此基礎(chǔ)上延伸、擴展,使之上下、內(nèi)外全面貫通。隨著internet技術(shù)的興起,
2、對c/s結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過www瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂3-tier結(jié)構(gòu)。b/s結(jié)構(gòu),主要是利用了不斷成熟的www瀏覽器技術(shù),結(jié)合瀏覽器的多種script語言(vbscript、javascript)和activex技術(shù),用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著windows 98/windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然b/s結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的c/s結(jié)構(gòu)應(yīng)用程序
3、將是巨大的進步。2、系統(tǒng)描述經(jīng)過調(diào)研及分析討論,學(xué)生成績管理系統(tǒng)主要完成以下功能:(1)學(xué)生個人信息維護:主要是完成學(xué)生個人信息的檢索、修改,學(xué)生用戶只能對自己的信息操作。(2)學(xué)生成績檢索:主要是完成學(xué)生個人成績的查詢,學(xué)生用戶只能對自己的成績進行檢索。(3)老師個人信息維護:主要是完成老師個人信息的檢索、修改,老師用戶只能對自己的信息操作。(4)學(xué)生成績維護: 主要是完成老師對任課課程的學(xué)生成績進行檢索、添加、修改,老師用戶只能對自己任課課程的成績進行操作。(5)學(xué)生信息維護:主要是完成管理員對所有學(xué)生信息的維護,包括條件檢索、添加、修改、刪除,該功能只能由管理員完成。(6)老師信息維護:
4、主要是完成管理員對所有老師信息的維護,包括條件檢索、添加、修改、刪除,該功能只能由管理員完成。(7)課程信息維護:主要是完成管理員對課程的管理,包括檢索課程,添加課程以及該課程任課老師和學(xué)習(xí)的學(xué)生。3、數(shù)據(jù)分析3.1、數(shù)據(jù)流圖通過需求分析,得出學(xué)生成績管理系統(tǒng)的教師業(yè)務(wù)處理數(shù)據(jù)流如圖1所示。圖1 教師業(yè)務(wù)數(shù)據(jù)流圖3.2、數(shù)據(jù)字典(1)數(shù)據(jù)流的描述數(shù)據(jù)流編號: d01數(shù)據(jù)流名稱: 用戶名和密碼 簡述:教師輸入用戶名和密碼驗證數(shù)據(jù)流來源:教師數(shù)據(jù)流去向:p01教師信息判斷數(shù)據(jù)流組成:用戶名和密碼數(shù)據(jù)流量:50/天高峰流量:50/天(2)處理邏輯的描述 處理邏輯編號:p01處理邏輯名稱:教師登錄權(quán)限
5、判斷 簡述:判斷教師登錄權(quán)限的合法性輸入的數(shù)據(jù)流:教師的用戶名和密碼處理描述: 根據(jù)教師提供的同戶名和密碼,驗證教師信息,驗證通過則進入主頁面,驗證不通過則返回給教師信息指明為非法用戶。處理頻率: 50次/天處理邏輯編號:p02處理邏輯名稱:教師個人信息查詢 簡述:查詢并顯示教師個人基本信息 處理描述:根據(jù)session傳出的教師id在數(shù)據(jù)庫中查找出該教師的個人基本信息,打印到該頁面。處理頻率: 50次/天處理邏輯編號:p03處理邏輯名稱:教師任課課程學(xué)生成績查詢 簡述:查詢并顯示教師任課課程的學(xué)生成績 處理描述:根據(jù)session傳出的教師id,然后再在數(shù)據(jù)庫中跨表查詢出該教師的任課科目的所
6、有學(xué)生成績,打印到該頁面。處理頻率: 50次/天處理邏輯編號:p04處理邏輯名稱:驗證用戶當(dāng)前密碼,提供修改密碼權(quán)限 簡述:教師可以通過該頁面修改自己的賬號的登錄密碼。處理描述:從數(shù)據(jù)庫中查詢出該教師的當(dāng)前密碼并比較輸入的當(dāng)前密碼,比較兩次輸入的新密碼。處理頻率: 10次/天處理邏輯編號:p05處理邏輯名稱:教師修改個人信息 簡述:教師修改個人的基本信息 處理描述:根據(jù)session傳出的教師id在數(shù)據(jù)庫中查找出該教師的個人基本信息,打印到該頁面,同時提供了幾項可以修改的選項,教師可以并保持,正確提交后,將修改的信息提交到數(shù)據(jù)庫中。處理頻率: 10次/天處理邏輯編號:p06處理邏輯名稱:錄入學(xué)
7、生成績 簡述:錄入該教師任課課程的學(xué)生成績 處理描述:從數(shù)據(jù)庫中查出該教師任課課程的所有學(xué)生,并錄入學(xué)生的平時成績和考試成績,根據(jù)一定的算法得出學(xué)生的最后成績,并保存到數(shù)據(jù)庫中。處理頻率: 10次/天處理邏輯編號:p07處理邏輯名稱:修改該教師任課課程的學(xué)生成績 簡述:查詢并顯示學(xué)生的成績,提供修改權(quán)限 處理描述:查詢出已經(jīng)錄入成績的學(xué)生的成績,允許教師修改學(xué)生的成績,提交后保存到數(shù)據(jù)庫。處理頻率: 10次/天處理邏輯編號:p08處理邏輯名稱:修改教師用戶登錄密碼 簡述:驗證教師用戶當(dāng)前密碼,提供修改密碼的權(quán)限處理描述:驗證當(dāng)前密碼和新密碼的合法性,合法則提交到數(shù)據(jù)庫,非法則跳到p04。處理頻
8、率: 10次/天處理邏輯編號:p09處理邏輯名稱:推出系統(tǒng) 簡述:教師用戶退出系統(tǒng) 處理描述:教師用戶安全退出系統(tǒng),跳轉(zhuǎn)到登錄頁面。處理頻率: 50次/天(3)數(shù)據(jù)存儲的描述數(shù)據(jù)存儲編號:f01數(shù)據(jù)存儲名稱:教師用戶驗證信息 簡述:教師用戶的用戶名和密碼數(shù)據(jù)存儲組成:用戶名+用戶類型+密碼+用戶id關(guān)鍵字:用戶id相關(guān)聯(lián)的處理:p01、p04數(shù)據(jù)存儲編號:f02數(shù)據(jù)存儲名稱:教師個人基本信息 簡述:查詢出教師用戶的基本個人信息數(shù)據(jù)存儲組成:教師姓名+年齡+教師id+教師密碼+教師籍貫+教師電話號碼+教師地址+教師性別+教師照片關(guān)鍵字:教師id相關(guān)聯(lián)的處理:p02、p05數(shù)據(jù)存儲編號:f03數(shù)據(jù)
9、存儲名稱:讀取學(xué)生成績 簡述:查詢該教師任課課程的學(xué)生成績數(shù)據(jù)存儲組成: 學(xué)生姓名+課程名稱+學(xué)生成績關(guān)鍵字:教師id+學(xué)生id相關(guān)聯(lián)的處理:p03數(shù)據(jù)存儲編號:f04數(shù)據(jù)存儲名稱:存儲修改的信息 簡述:存儲修改的信息數(shù)據(jù)存儲組成: 包括學(xué)生成績塊+用戶密碼塊+用戶個人信息塊關(guān)鍵字:教師id+學(xué)生id相關(guān)聯(lián)的處理:p04、p05、p06、p07、p08(4)外部實體的描述外部實體編號:s01外部實體名稱:教師用戶簡 述:登錄系統(tǒng)的教師用戶輸入的數(shù)據(jù)流:d002輸出的數(shù)據(jù)流:d0014、概念模型設(shè)計4.1e-r圖圖2 系統(tǒng)e-r圖5. 邏輯模型設(shè)計及優(yōu)化5.1數(shù)據(jù)庫表:表1 學(xué)生個人信息表(st
10、udent_info表)字段名數(shù)據(jù)類型長度備注stud_idvarchar230primary keystud_namevarchar220person_idvarchar230stud_passwordvarchar220stud_agenumber4stud_sexvarchar24stud_telvarchar230majorvarchar220gradevarchar220classesvarchar220stud_photovarchar230stud_originvarchar250表2學(xué)生成績表(student_score表)字段名數(shù)據(jù)類型長度備注stud_idvarchar23
11、0primary keycourse_idnumber4primary keyscorenumber4表3課程表(course表)字段名數(shù)據(jù)類型長度備注course_idnumber4primary keycourse_namevarchar230teacher_idvarchar220primary keycourse_levelnumber4表4教師個人信息表(teacher_info表)字段名數(shù)據(jù)類型長度備注teacher_idvarchar220primary keyteacher_namevarchar220teacher_passwordvarchar220course_idnum
12、ber4teacher_addvarchar250teacher_originvarchar220teacher_telvarchar230professionalvarchar210teacher_agenumber4teacher_sexvarchar24teacher_photovarchar2206、應(yīng)用程序設(shè)計圖3系統(tǒng)登錄界面圖4教師用戶主頁面圖5教師個人信息頁面圖6修改學(xué)生成績頁面7、課程設(shè)計心得體會本次數(shù)據(jù)庫課程設(shè)計收獲很大,當(dāng)然也花了好多的心思和時間,首先,我們?yōu)閳F隊合作,共同開發(fā)這個項目,團隊意識真的很重要,我們就在團隊合作上出了些小問題,經(jīng)過交流得到了解決,問題導(dǎo)致了我們的
13、項目完成時間的推遲,這讓我們意識到團隊的合作是很不容易的,首先是對項目的認(rèn)識必須統(tǒng)一,當(dāng)我們對項目的需求沒有統(tǒng)一理解時,這將為失敗埋下伏筆,這樣注定失敗,至少是在代碼組合時無法兼容,更嚴(yán)重可能會要全部返工。團隊合作的第二個重點是:合理分工,合理的分工能讓項目完成的更快更好,合作更加的愉快,不合理的分工會導(dǎo)致大家的心態(tài)不一,出現(xiàn)分歧,出現(xiàn)問題,出了問題就無法繼續(xù)項目的開發(fā)了。我們本次分工上也出現(xiàn)了一些問題,主要原因是團隊每個人技術(shù)特長不一,最后還是進行了合理的安排。完成了項目的基本功能。在實際開發(fā)的過程中給了我很多的實踐經(jīng)驗,課程設(shè)計跟平時的理論課程有很大的區(qū)別,就是動手能力要求高,同時也提高我
14、們的動手能力,課堂上的理論,我們通過項目得到了實際的應(yīng)用。當(dāng)然也發(fā)現(xiàn)了很多自己以前未能發(fā)現(xiàn)的知識上的不知,實踐是檢驗真理的唯一標(biāo)準(zhǔn),也是檢驗自己知識掌握程度的機會,在動手編碼的過程中,我發(fā)現(xiàn)了很多數(shù)據(jù)庫知識上的缺陷,也發(fā)現(xiàn)了自己編碼的不良之處,通過和同學(xué)老師的交流得到了改正,并收獲了很多的實踐經(jīng)驗。參考文獻1 錢雪忠.數(shù)據(jù)庫原理及應(yīng)用(第二版).北京郵電大學(xué)出版社.20042 錢雪忠.數(shù)據(jù)庫原理及應(yīng)用實驗指導(dǎo)(第二版).北京郵電大學(xué)出版社.20043 李剛.瘋狂java講義.電子工業(yè)出版社.2008附錄:jdbc數(shù)據(jù)庫連接源代碼package com.hnwl.util;import java
15、.sql.*;public class dbconn /定義驅(qū)動名public static string drivername="oracle.jdbc.oracledriver"/定義 urlpublic static string url="jdbc:oracle:thin:localhost:1521/oracle10"/定義連接數(shù)據(jù)庫的用戶名public static string user="student"/定義連接數(shù)據(jù)庫的用戶密碼public static string password="student&q
16、uot;public static connection getdbconnection()connection conn=null;try class.forname(drivername);try conn = drivermanager.getconnection(url, user, password); catch (sqlexception e) / todo auto-generated catch blocke.printstacktrace();system.out.println("數(shù)據(jù)庫連接異常!"); catch (classnotfoundexce
17、ption e) / todo auto-generated catch blocke.printstacktrace();system.out.println("驅(qū)動加載異常!");return conn;public static void closeall(resultset rs,statement stat,connection conn)if(rs!=null)try rs.close(); catch (sqlexception e) / todo auto-generated catch blocke.printstacktrace();if(stat!=n
18、ull)try stat.close(); catch (sqlexception e) / todo auto-generated catch blocke.printstacktrace();if(conn!=null)try conn.close(); catch (sqlexception e) / todo auto-generated catch blocke.printstacktrace();封裝成績類源代碼package com.hnwl.beans;public class classscore string stud_id; string stud_name; strin
19、g course_name; string score;public classscore(string studid, string studname, string coursename,string score) super();stud_id = studid;stud_name = studname;course_name = coursename;this.score = score;public string getstud_id() return stud_id;public void setstud_id(string studid) stud_id = studid;pub
20、lic string getstud_name() return stud_name;public void setstud_name(string studname) stud_name = studname;public string getcourse_name() return course_name;public void setcourse_name(string coursename) course_name = coursename;public string getscore() return score;public void setscore(string score)
21、this.score = score;servlet邏輯層判斷密碼package com.hnwl.servlet;import java.io.ioexception;import java.io.printwriter;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import javax.servlet.
22、http.httpsession;import .login;public class userlogin extends httpservlet public void dopost(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception request.getparameter("gbk");string id=request.getparameter("id");string password=
23、request.getparameter("password");string user_type=request.getparameter("user_type");string username=""response.setcontenttype("text/html;charset=gbk");printwriter out = response.getwriter();out.println("<!doctype html public "-/w3c/dtd html 4.01 t
24、ransitional/en">");out.println("<html>");out.println(" <head><title>用戶密碼錯誤</title></head>");out.println(" <body><center>");if(user_type.equals("student")login student=new login();username=student.stud_logi
25、n(id, password);if(username!=null)httpsession session=request.getsession();session.setattribute("stud_name", username);session.setattribute("stud_id", id);response.sendredirect("studentmenu.jsp");elseout.println("賬號或密碼有誤 !");response.setheader("refresh&qu
26、ot;,"2;url=login.html");out.println("<br>兩秒后自動跳轉(zhuǎn)到登陸窗口!<br>");out.println("如果沒有跳轉(zhuǎn),請按<a href="login.html">點擊這里</a>!<br>");else if(user_type.equals("teacher")login teacher=new login();username=teacher.teacher_login(id, pass
27、word);if(username!=null)httpsession session=request.getsession();session.setattribute("teacher_name", username);session.setattribute("teacher_id", id);response.sendredirect("teachermenu.jsp");elseout.println("賬號或密碼有誤 !");response.setheader("refresh",
28、"2;url=login.html");out.println("<br>兩秒后自動跳轉(zhuǎn)到登陸窗口!<br>");out.println("如果沒有跳轉(zhuǎn),請按<a href="login.html">點擊這里</a>!<br>");else if(id.equals("admin")|password.equals("admin")|user_type.equals("admin")httpses
29、sion session=request.getsession();session.setattribute("admin_name", id);response.sendredirect("adminmenu.jsp");elseout.println("賬號或密碼有誤 !");response.setheader("refresh","2;url=login.html");out.println("<br>兩秒后自動跳轉(zhuǎn)到登陸窗口!<br>");o
30、ut.println("如果沒有跳轉(zhuǎn),請按<a href="login.html">點擊這里</a>!<br>");public void doget(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception dopost(request,response);jsp前臺頁面源代碼<% page language="java" import="java.ut
31、il.*" pageencoding="utf-8"%><%page import=".research"%><%page import="com.hnwl.beans.student"%><%page import=".teacherdbcontrol"%><%page import="com.hnwl.beans.teacherinfo"%><!doctype html pu
32、blic "-/w3c/dtd html 4.01 transitional/en"><html> <head> <title>my jsp 'viewstud.jsp' starting page</title> </head> <body> <%!string teacher_id; %> <% teacher_id=(string)session.getattribute("teacher_id"); teacherdbcontrol s
33、elect = new teacherdbcontrol(); list<teacherinfo> list=select.selectbyid(teacher_id); %> <center> <table border="2" height="500" width="450" align="center"> <tr align="center"><td colspan="2" rowspan="3&qu
34、ot;><img src="<%=list.get(0).getteacher_photo()%>"></td><td>姓名:</td><td><%=list.get(0).getteacher_name() %></td><td>性別:</td><td><%=list.get(0).getteacher_sex() %></td></tr> <tr align="center"
35、;><td>年齡:</td><td><%=list.get(0).getteacher_age()%></td><td>籍貫:</td><td><%=list.get(0).getteacher_origin() %></td> </tr> <tr align="center"><td>聯(lián)系電話</td><td colspan="4"><%=list.get(0).
36、getteacher_tel()%></td> </tr> <tr align="center"> <td>任課名稱:</td><td colspan="5"><%=list.get(0).getcourse_name()%></td></tr> <tr align="center"><td>職稱:</td><td><%=list.get(0).getprofessional() %></td><td>現(xiàn)居住地:</td><td><%=list.get(0).getteacher_add() %></td><td>工
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 少先鋒隊申請書
- 全國導(dǎo)游基礎(chǔ)知識-導(dǎo)游資格全國導(dǎo)游基礎(chǔ)知識2021年真題
- 管理班級申請書
- 企業(yè)信息披露結(jié)構(gòu)與透明度提升規(guī)范
- 校資助貧困申請書
- 2024-2025學(xué)年安徽省合肥市普通高中高二上學(xué)期期末總復(fù)習(xí)測物理試卷(解析版)
- 江蘇省鹽城市2024-2025學(xué)年高二上學(xué)期學(xué)業(yè)水平合格性模擬檢測物理試題(解析版)
- 2024-2029年中國氫能承壓設(shè)備(氫能裝備)行業(yè)發(fā)展前景預(yù)測與投資戰(zhàn)略規(guī)劃分析報告
- 電梯系統(tǒng)的遠程監(jiān)控與故障診斷技術(shù)
- 現(xiàn)代傳媒在推廣生態(tài)旅游開發(fā)與保護中的作用研究
- 建設(shè)項目全過程工程咨詢服務(wù)指引(咨詢企業(yè)版)(征求意見稿)
- 2020年度安徽省中考數(shù)學(xué)科目試卷
- 員工培訓(xùn)、考試、積分記錄表
- 風(fēng)冷熱泵主機改造-模塊機匯總
- 攝影攝像技術(shù)專業(yè)申請表
- 浙江省紹興市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 牡丹區(qū)中心醫(yī)院食源性疾病監(jiān)測培訓(xùn)課件
- 職業(yè)衛(wèi)生工程控制技術(shù)課件
- 高中英語常用詞匯表(動詞、名詞、形容詞和副詞)
- 16萬噸_年液化氣綜合利用裝置廢酸環(huán)保綜合利用項目環(huán)境報告書
- 品牌簡單之道講義
評論
0/150
提交評論