版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫程序設(shè)計課程設(shè)計報告課 題:學(xué)生成績管理系統(tǒng)姓名:二學(xué)號:二同組姓名:*、*專業(yè)班級:軟工09012指導(dǎo)教師:設(shè)計時間:2012年6月評閱意見:評定成績:指導(dǎo)老師簽名:1、開發(fā)背景 32、系統(tǒng)描述 33、數(shù)據(jù)分析 43.1、 數(shù)據(jù)流圖 43.2、 數(shù)據(jù)字典 44、概念模型設(shè)計 94.1E-R 圖95.邏輯模型設(shè)計及優(yōu)化 105.1 數(shù)據(jù)庫表: 106、應(yīng)用程序設(shè)計 127、課程設(shè)計心得體 1419 / 211 、開發(fā)背景90年代中期,由于Internet的迅速普及,使Intranet成為Internet技術(shù)在企業(yè)管理信息系統(tǒng)中的應(yīng)用和延伸,形成了集計算機,計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、分布式計算等
2、于一體的信息技術(shù)綜合體,它打破了時間和地域的界限,使信息交流變得快捷、準確,為建立現(xiàn)代企業(yè)管理信息系統(tǒng)提供了充足的條件。企業(yè)信息管理系統(tǒng)在此基礎(chǔ)上延伸、擴展,使之上下、內(nèi)外全面貫通。隨著Internet技術(shù)的興起,對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)的強大功
3、能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows 98/Windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S 結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S 結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮蟮倪M步。2、系統(tǒng)描述經(jīng)過調(diào)研及分析討論,學(xué)生成績管理系統(tǒng)主要完成以下功能:( 1)學(xué)生個人信息維護:主要是完成學(xué)生個人信息的檢索、修改,學(xué)生用戶只能對自己的信 息操作。( 2) 學(xué)生成績檢索:主要是完成學(xué)生個人成績的查詢,學(xué)生用戶只能對自己的成績進行檢索。( 3)老師個人信息維護:主要是完成老師個人信息的檢索、修改,老師用戶只能對自己的信息操作。( 4)學(xué)生成
4、績維護:主要是完成老師對任課課程的學(xué)生成績進行檢索、添加、修改,老師用戶只能對自己任課課程的成績進行操作。(5) 學(xué)生信息維護:主要是完成管理員對所有學(xué)生信息的維護,包括條件檢索、添加、修改、刪除,該功能只能由管理員完成。(6) 老師信息維護:主要是完成管理員對所有老師信息的維護,包括條件檢索、添加、修改、刪除,該功能只能由管理員完成。( 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ù)流編
5、號:D01數(shù)據(jù)流名稱:用戶名和密碼簡述:教師輸入用戶名和密碼驗證數(shù)據(jù)流來源:教師數(shù)據(jù)流去向:P01 教師信息判斷數(shù)據(jù)流組成:用戶名和密碼數(shù)據(jù)流量:50/天高峰流量:50/天2)處理邏輯的描述處理邏輯編號:P01處理邏輯名稱:教師登錄權(quán)限判斷簡述:判斷教師登錄權(quán)限的合法性輸入的數(shù)據(jù)流:教師的用戶名和密碼處理描述:根據(jù)教師提供的同戶名和密碼,驗證教師信息,驗證通過則進入主頁面,驗證不通過則返回給教師信息指明為非法用戶。處理頻率:50 次 /天處理邏輯編號:P02處理邏輯名稱:教師個人信息查詢簡述:查詢并顯示教師個人基本信息處理描述:根據(jù)session 傳出的教師ID 在數(shù)據(jù)庫中查找出該教師的個人基
6、本信息,打印到該頁面。處理頻率:50 次 /天處理邏輯編號:P03處理邏輯名稱:教師任課課程學(xué)生成績查詢簡述:查詢并顯示教師任課課程的學(xué)生成績處理描述:根據(jù) session 傳出的教師ID, 然后再在數(shù)據(jù)庫中跨表查詢出該教師的任課科目的所有學(xué)生成績,打印到該頁面。處理頻率:50 次 /天處理邏輯編號:P04處理邏輯名稱:驗證用戶當前密碼,提供修改密碼權(quán)限簡述:教師可以通過該頁面修改自己的賬號的登錄密碼。處理描述:從數(shù)據(jù)庫中查詢出該教師的當前密碼并比較輸入的當前密碼,比較兩次輸入的新密碼。處理頻率:10 次 /天處理邏輯編號:P05處理邏輯名稱:教師修改個人信息簡述:教師修改個人的基本信息處理描
7、述:根據(jù)session 傳出的教師ID 在數(shù)據(jù)庫中查找出該教師的個人基本信息,打印到該頁面,同時提供了幾項可以修改的選項,教師可以并保持,正確提交后,將修改的信息提交到數(shù)據(jù)庫中。處理頻率:10 次 /天處理邏輯編號:P06處理邏輯名稱:錄入學(xué)生成績簡述:錄入該教師任課課程的學(xué)生成績處理描述:從數(shù)據(jù)庫中查出該教師任課課程的所有學(xué)生,并錄入學(xué)生的平時成績和考試成績,根據(jù)一定的算法得出學(xué)生的最后成績,并保存到數(shù)據(jù)庫中。處理頻率:10 次 /天處理邏輯編號:P07處理邏輯名稱:修改該教師任課課程的學(xué)生成績簡述:查詢并顯示學(xué)生的成績,提供修改權(quán)限處理描述:查詢出已經(jīng)錄入成績的學(xué)生的成績,允許教師修改學(xué)生
8、的成績,提交后保存到數(shù)據(jù)庫。處理頻率:10 次 /天處理邏輯編號:P08處理邏輯名稱:修改教師用戶登錄密碼簡述:驗證教師用戶當前密碼,提供修改密碼的權(quán)限處理描述:驗證當前密碼和新密碼的合法性,合法則提交到數(shù)據(jù)庫,非法則跳到p04。處理頻率: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ù)存儲編號:F0
9、2數(shù)據(jù)存儲名稱:教師個人基本信息簡述:查詢出教師用戶的基本個人信息數(shù)據(jù)存儲組成:教師姓名+年齡+教師ID+教師密碼+教師籍貫+教師電話號碼+教師地址+教師性別+ 教師照片關(guān)鍵字:教師ID相關(guān)聯(lián)的處理:P02、 P05數(shù)據(jù)存儲編號:F03數(shù)據(jù)存儲名稱:讀取學(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、 P084)外
10、部實體的描述外部實體編號: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é)生個人信息表(student_info表)字段名數(shù)據(jù)類型長度備注stud_idvarchar230primary keystud_namevarchar220person_idvarchar230stud_passwordvarchar220stud_agenumber4stud_sexvarchar24stud_telvarchar230majorvarchar220gradev
11、archar220classesvarchar220stud_photovarchar230stud_originvarchar250表2學(xué)生成績表(student_score表)字段名數(shù)據(jù)類型長度備注stud_idvarchar230primary keycourse_idnumber4primary keyscorenumber4表3課程表(course表)字段名數(shù)據(jù)類型長度備注course_idnumber4primary keycourse_namevarchar230teacher_idvarchar220primary keycourse_levelnumber4表4教師個人信息表
12、(teacher_info表)字段名數(shù)據(jù)類型長度備注teacher_idvarchar220primary keyteacher_namevarchar220teacher_passwordvarchar220course_idnumber4teacher_addvarchar250teacher_originvarchar220teacher_telvarchar230professionalvarchar210teacher_agenumber4teacher_sexvarchar24teacher_photovarchar2206、應(yīng)用程序設(shè)計學(xué)生成績管理系統(tǒng)登陸系虢圖3系統(tǒng)登錄界面西加
13、任情昌昊也出工觀星居建15ABJSHll'ArtB看就4人情息曾E理錄入學(xué)生母的W才學(xué)生品B型號學(xué)生或中*»¥強峰芮國防nrpitau 爭乂 廿#百持:KM圖4教師用戶主頁面圖5教師個人信息頁面rife M盅出也岐事落馬詒息百官 宣目千人情虛廿波個人|加成青曲星錄%,學(xué)生話舔才生成Z安冷匆嚎士號舌述鼎在既陪蛙舌凰鞋餐鄱千明加丹南中干試麻耨耳承二三三不芹與什EL3的落峰二國三年巾暇什的E£T再始工金育程序總什E4,在:噓士理怦成什LW通Fprrmi 羋1圖6修改學(xué)生成績頁面7、課程設(shè)計心得體會本次數(shù)據(jù)庫課程設(shè)計收獲很大,當然也花了好多的心思和時間,首先,我們
14、為團隊合作,共同開發(fā)這個項目,團隊意識真的很重要,我們就在團隊合作上出了些小問題,經(jīng)過交流得到了解決,問題導(dǎo)致了我們的項目完成時間的推遲,這讓我們意識到團隊的合作是很不容易的,首先是對項目的認識必須統(tǒng)一,當我們對項目的需求沒有統(tǒng)一理解時,這將為失敗埋下伏筆,這樣注定失敗,至少是在代碼組合時無法兼容,更嚴重可能會要全部返工。團隊合作的第二個重點是:合理分工,合理的分工能讓項目完成的更快更好,合作更加的愉快,不合理的分工會導(dǎo)致大家的心態(tài)不一,出現(xiàn)分歧,出現(xiàn)問題,出了問題就無法繼續(xù)項目的開發(fā)了。我們本次分工上也出現(xiàn)了一些問題,主要原因是團隊每個人技術(shù)特長不一,最后還是進行了合理的安排。完成了項目的基
15、本功能。在實際開發(fā)的過程中給了我很多的實踐經(jīng)驗,課程設(shè)計跟平時的理論課程有很大的區(qū)別,就是動手能力要求高,同時也提高我們的動手能力,課堂上的理論,我們通過項目得到了實際的應(yīng)用。當然也發(fā)現(xiàn)了很多自己以前未能發(fā)現(xià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 李剛 . 瘋狂
16、 Java 講義 . 電子工業(yè)出版社.2008附錄:JDBC 數(shù)據(jù)庫連接源代碼package com.hnwl.util;import java.sql.*;public class DBconn / 定義驅(qū)動名public static String drivername="oracle.jdbc.OracleDriver"/ 定義 urlpublic static Stringurl="jdbc:oracle:thin:localhost:1521/oracle10"/ 定義連接數(shù)據(jù)庫的用戶名public static String user=&qu
17、ot;student"/ 定義連接數(shù)據(jù)庫的用戶密碼public static String password="student"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.printStac
18、kTrace();System.out.println("數(shù)據(jù)庫連接異常!"); catch (ClassNotFoundException 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 (SQL
19、Exception e) / TODO Auto-generated catch blocke.printStackTrace();if(stat!=null)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 c
20、om.hnwl.beans;public class ClassScore Stringstud_id ;Stringstud_name;Stringcourse_name;Stringscore ;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_i
21、d() return stud_id ;.public void setStud_id(String studId) stud_id = studId;.public 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 = c
22、ourseName;.public String getScore() return score ;public void setScore(String score) 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.htt
23、p.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import .login;public class UserLogin extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.getPa
24、rameter("gbk");String id=request.getParameter("id");String password=request.getParameter("password");String user_type=request.getParameter("user_type");String username=""response.setContentType("text/html;charset=gbk");PrintWriter out = res
25、ponse.getWriter();out.println("<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01Transitional/EN">");out.println("<HTML>");out.println(" <HEAD><TITLE> 用戶密碼錯誤</TITLE></HEAD>");out.println(" <BODY><center>");if(u
26、ser_type.equals("student")login student=new login();username=student.stud_login(id, password);if(username!=null)HttpSession session=request.getSession();session.setAttribute("stud_name", username);session.setAttribute("stud_id", id);17 / 21response.sendRedirect("St
27、udentMenu.jsp");elseout.println(" 賬號或密碼有誤! ");response.setHeader("refresh","2;URL=login.html");out.println("<br> 兩秒后自動跳轉(zhuǎn)到登陸窗口! ! <br>");out.println(" 如果沒有跳轉(zhuǎn),請按<a href="login.html"> 點擊這里</a>! ! !<br>");else
28、 if(user_type.equals("teacher")login teacher=new login();username=teacher.teacher_login(id, password);if(username!=null)HttpSession session=request.getSession();session.setAttribute("teacher_name", username);session.setAttribute("teacher_id", id);response.sendRedirect(&
29、quot;TeacherMenu.jsp");elseout.println(" 賬號或密碼有誤! ");response.setHeader("refresh","2;URL=login.html");out.println("<br> 兩秒后自動跳轉(zhuǎn)到登陸窗口! ! <br>");out.println(" 如果沒有跳轉(zhuǎn),請按<a href="login.html"> 點擊這里</a>! ! !<br>"
30、;);elseif(id.equals("admin")|password.equals("admin")|user_type.equals("admin")HttpSession session=request.getSession();session.setAttribute("admin_name", id);response.sendRedirect("AdminMenu.jsp");elseout.println(" 賬號或密碼有誤! ");response.set
31、Header("refresh","2;URL=login.html");out.println("<br> 兩秒后自動跳轉(zhuǎn)到登陸窗口! ! <br>");out.println(" 如果沒有跳轉(zhuǎn),請按<a href="login.html"> 點擊這里</a>! ! !<br>");public void doGet(HttpServletRequest request, HttpServletResponse response)th
32、rows ServletException, IOException doPost(request,response);Jsp前臺頁面源代碼<%page language ="java" import ="java.util.*"pageEncoding="UTF-8" %><%pageimport=".Research"%><%pageimport="com.hnwl.beans.Student"%><%pageimport=&
33、quot;.TeacherDBControl"%><%pageimport="com.hnwl.beans.TeacherInfo"%><! DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html ><head ><title >My JSP 'ViewStud.jsp' starting page</ title ></ head ><b
34、ody ><%! String teacher_ID;%><%teacher_ID=(String)session.getAttribute("teacher_id" );TeacherDBControl select =new TeacherDBControl();List<TeacherInfo> list=select.selectByID(teacher_ID);%>< center ><table border ="2" height ="500" width =&
35、quot;450" align ="center" ><tr align ="center" ><td colspan ="2" rowspan ="3" ><imgsrc =" <%=list.get(0).getTeacher_photo()%>' ></ td ><td >姓名:%x/ td ><td >性別:%></ td ></ tr >%x/ td &
36、gt;<td >籍貫:%></ td > </ tr >%></ td > </ tr >< / td ><td ><%=list.get(0).getTeacher_name()< / td ><td ><%=list.get(0).getTeacher_sex()<tr align ="center" ><td >年齡:< / td ><td ><%=list.get(0).getTea
37、cher_age()< / td ><td ><%=list.get(0).getTeacher_origin()<tr align ="center" ><td >聯(lián)系電話 </td ><td colspan ="4" ><%=list.get(0).getTeacher_tel()<tr align="center"> <td>任課名稱:</td><tdcolspan="5"><%=list.get(0).getCourse_name()%></td></tr><tr align="center"><td>職稱:現(xiàn)居住</td><td><%=list.get(0).getProfessional() %></td><td> 地:</td><td><%=list.get(0).getTeache
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司后勤工作計劃
- 團領(lǐng)導(dǎo)講話稿范文6篇
- 禮賓員2024年終總結(jié)(7篇)
- 2024年攜手發(fā)展:合伙投資合同范例
- 知識探索指南模板
- 花店企業(yè)規(guī)劃方案
- 南通電商倉庫租賃合同范例
- 串并聯(lián)電路中電壓的規(guī)律課件
- 2024年新修訂房地產(chǎn)開發(fā)商合作合同
- 出租唐裝店鋪合同范例
- 新疆烏魯木齊市第十一中學(xué)2024-2025學(xué)年八年級上學(xué)期期中道德與法治試卷
- 2024年江西省高考地理真題(原卷版)
- 部編版小學(xué)五年級上冊道法課程綱要(知識清單)
- 經(jīng)濟法學(xué)-計分作業(yè)一(第1-4章權(quán)重25%)-國開-參考資料
- 山東省臨沂市(2024年-2025年小學(xué)四年級語文)人教版期中考試(上學(xué)期)試卷及答案
- 護士2024思想?yún)R報5篇
- 2024年新版全員消防安全知識培訓(xùn)
- Unit+10+Lesson+1+How+Closely+Connected+Are+We 高中英語北師大版(2019)選擇性必修第四冊
- 2024人教版道法七年級上冊第二單元:成長的時空大單元整體教學(xué)設(shè)計
- 《一起來分類》(教學(xué)設(shè)計)-2024-2025學(xué)年一年級上冊數(shù)學(xué)北師大版
- 肺脹(慢性阻塞性肺病)中醫(yī)優(yōu)勢病種診療方案
評論
0/150
提交評論