




已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1 設計內(nèi)容與要求11 設計題目 學籍管理系統(tǒng)12 設計目的與要求 隨著社會的發(fā)展,基本上所有的具有一定數(shù)量數(shù)據(jù)的企事業(yè)單位或機關部門都開始使用計算機數(shù)據(jù)庫來做管理。當然幾乎所有學校也都已經(jīng)在使用計算機管理數(shù)據(jù)的機制,大大減少了學校學籍管理的工作量。該課程設計要求設計一個學籍管理的數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫中要求包含學生的基本信息,學校所有專業(yè)信息,學校教師信息以及課程設置的信息。同時還要設計它們之間的關系,如學生與課程關系和學生的成績等,最后還要對一些數(shù)據(jù)進行查詢,如查詢學生成績的各種集合等。我們通過該課程設計,應該達到的目的是把數(shù)據(jù)庫理論知識更加的鞏固加深,加強動手能力與實踐能力,學以致用,與現(xiàn)實生活中的應用充分的結(jié)合起來。13 設計環(huán)境 在Windows 環(huán)境下利用My Eclipse和Tomcat作為概念模型設計與物理模型設計的工具,使用SqlServer2000作為數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)進行管理與維護。2 需求分析21 系統(tǒng)功能要求設計能對學生的學籍及成績進行基本管理,包括:學生基本信息和學科成績的存儲、輸入、刪除、修改、查詢,以及升留級管理。學生基本信息應包括:學號、姓名、出生年份、籍貫、性別、專業(yè)、班級、家庭住址、本校住址、個人聯(lián)系電話、家庭聯(lián)系電話;成績信息應包括:學號、課號、課名、成績、上課時間、教師號。查詢能夠按照:學號、課號、班級、時間等進行查詢。22 系統(tǒng)模塊設計 學籍管理系統(tǒng)大體可以分成四大模塊如下圖所示, 首先是學生的基本信息模塊,里面應該包含學生的各方面的基本信息;再者便是學生成績管理模塊, 在該模塊中應該包含有對學生成績信息的查詢和處理,如平均成績、最好成績、最差成績以及不及格學生的統(tǒng)計等功能模塊;再其次還有院系、教師、課程等相關信息的模塊;最后是系統(tǒng)模塊。圖 2-1 系統(tǒng)模塊圖23 數(shù)據(jù)字典2.3.1 數(shù)據(jù)項 數(shù)據(jù)項是數(shù)據(jù)庫的關系中不可再分的數(shù)據(jù)單位,下表分別列出了數(shù)據(jù)的名稱(即碼)、注釋、數(shù)據(jù)類型、長度、取值范圍和是否是主碼。表 2.1 數(shù)據(jù)項列表名稱注釋數(shù)據(jù)類型長度最小值最大值主要的班級varchar(16)16FALSE學號唯一標識學生的信息integerTRUE院系代號varchar(5)5FALSE專業(yè)號varchar(5)5FALSE姓名varchar(6)6FALSE性別varchar(2)2FALSE出生年月datetimeFALSE籍貫varchar(8)8FALSE民族varchar(2)2FALSE家庭住址varchar(20)20FALSE入學時間datetimeFALSE政治面貌varchar(6)6FALSE身份證號char(18)18FALSE聯(lián)系電話varchar(12)12FALSE備注varchar(14)14FALSE課程號varchar(5)5TRUE先行課smallintFALSE學分integerFALSE備注varchar(16)16FALSE院系代號varchar(5)5TRUE院系名varchar(10)10FALSE系主任varchar(8)8FALSE備注varchar(16)16FALSE教師號varchar(5)5TRUE院系代號varchar(5)5FALSE姓名varchar(6)6FALSE性別char(2)2FALSE年齡integerFALSE工齡integerFALSE備注varchar(16)16FALSE專業(yè)號varchar(5)5TRUE院系代號varchar(5)5FALSE專業(yè)名稱varchar(16)16FALSE備注varchar(16)16FALSE學號integerTRUE課程號varchar(5)5TRUE分數(shù)floatFALSE課程號varchar(5)5TRUE教師號varchar(5)5TRUE2.3.2 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是為反映數(shù)據(jù)之間的組合關系,即 一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)組成。本學籍管理系統(tǒng)的數(shù)據(jù)組成可根據(jù)系統(tǒng)模塊(圖 1-1)的劃分來設計,即分為四個數(shù)據(jù)結(jié)構(gòu),分別如下表所示。表 2.2 數(shù)據(jù)結(jié)構(gòu)清單數(shù)據(jù)結(jié)構(gòu)名含義說明組成學生基本信息學生基本信息的描述班級+學號+院系代號+專業(yè)號+姓名+性別+出生年月+籍貫+民族+家庭住址+入學時間+政治面貌+身份證號+聯(lián)系電話+備注;成績管理學生成績的管理與查詢管理描述學號+課程號+分數(shù);平均分數(shù)+最高分+最低分;學生相關信息學校的院系、教師信息以及課程信息的描述課程號+課程名+先行課+學分+備注;院系代號+院系名+系主任+備注;教師號+院系代號+姓名+性別+年齡+工齡+備注;系統(tǒng)管理對系統(tǒng)中的所有表的更新、刪除、修改描述2.3.3數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。?-3是描述數(shù)據(jù)流的數(shù)據(jù)流定義表,其中包含了數(shù)據(jù)流名、說明、數(shù)據(jù)流組成、流量與備注等,表1-4是系統(tǒng)中的數(shù)據(jù)流描述,其中包括輸入數(shù)據(jù)流、輸出數(shù)據(jù)流等的描述。表 2.3 數(shù)據(jù)流定義表編號數(shù)據(jù)流名說明數(shù)據(jù)流組成流量備注L01學生基本信息學生的所有基本信息學生基本信息結(jié)構(gòu)L02學生成績所有學生的成績成績管理結(jié)構(gòu) L03分類信息同班級學生名單部分學生基本信息結(jié)構(gòu)L04各門成績學生的平均成績(包括所有學生和同班級學生的成績情況)成績管理結(jié)構(gòu)L05科目成績學生的單科成績成績管理結(jié)構(gòu)L06教師、專業(yè)、院系信息學生相關信息L07查詢結(jié)果L04 | L05L08統(tǒng)計分析L04+L05表 2.4 數(shù)據(jù)流表使用者名稱輸入數(shù)據(jù)流數(shù)輸出數(shù)據(jù)流數(shù)備注管理員L01+L02+L06L07+L08系統(tǒng)管理員擁有所有權(quán)限教務處人員L01+L02+L06L07+L08擁有對學生和教師的管理權(quán)限任課教師L02L07可對成績進行查詢與更新學生L01L07查詢成績與學生基本信息2.3.4 數(shù)據(jù)存儲數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。其主要包括數(shù)據(jù)存儲名、說明、編號、輸入的數(shù)據(jù)流與輸出的數(shù)據(jù)流、組成、數(shù)據(jù)量,存取頻度、存取方式。下表表示了該學籍管理系統(tǒng)中的數(shù)據(jù)存儲描述。表 2.5 數(shù)據(jù)存儲描述數(shù)據(jù)存儲名組成輸入數(shù)據(jù)流輸出數(shù)據(jù)流存取頻度存取方式學生基本信息表學生基本信息結(jié)構(gòu)L01L01, L07大順序檢索、更新院系教師及專業(yè)表學生相關信息數(shù)據(jù)結(jié)構(gòu)L06L06.L07小順序檢索、更新學生成績表成績管理結(jié)構(gòu)L02L07一般順序檢索、更新2.3.5 處理過程 該學籍管理系統(tǒng)的處理過程比較少,主要包含了數(shù)據(jù)的追加,更新, 修改以及刪除,還有便是一些查詢處理,包括對學生成績的平均分、最高分最低分的查詢,以及一些分類處理。下圖顯示了這些最基本的處理以及其對應的數(shù)據(jù)流與說明。表2.6 處理過程列表處理名簡要說明輸入數(shù)據(jù)輸出數(shù)據(jù)備注添加數(shù)據(jù)L01, L06刪除數(shù)據(jù)L01,L06更改數(shù)據(jù)L01, L06,L02L01,L06,L02查詢數(shù)據(jù)L07統(tǒng)計分析L083 概念結(jié)構(gòu)設計31 數(shù)據(jù)抽象與局部視圖設計3.1.1 學生基本信息與課程信息視圖 圖3-1 學生基本信息視圖 圖3-2 課程信息視圖根據(jù)學生與課程的關系可設計如下關系圖:圖3-3 學生與課程關系視圖3.1.2 專業(yè)、教師及院系信息視圖 圖3-4 專業(yè)、教師及院系信息視圖院系、教師以及專業(yè)的關系圖如下:圖3-5 院系教師以及專業(yè)關系圖32 系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)的管理模塊里面包含教務部門(系統(tǒng)管理員和教務處管理人員)、教師以及學生,下圖為該學籍管理系統(tǒng)的系統(tǒng)流圖,教務部門擁有對所有表的查詢更新與刪除權(quán)利(分類信息屬于查詢結(jié)果除外);教師可對教師、專業(yè)以及院系信息,分類信息,學生情況進行查詢,對成績單進行查詢、更新以及刪除等所有操作;學生只可對所有模塊信息進行查詢,同時可對自己的部分學生情況進行一定的修改與更新。圖3-6系統(tǒng)數(shù)據(jù)流圖33 合并部分視圖生成E-R 圖 合并數(shù)據(jù)抽象與局部視圖設計中的各個局部視圖以及各個實體之間的關系生成E-R圖如下:圖3-7 系統(tǒng)E-R圖34 概念模型設計在生成了系統(tǒng)E-R圖后,可根據(jù)E-R圖中實體的各個屬性組成以及實體與實體之間的關系用PowerDesigner設計概念模型。最后生成概念模型如下圖所示:圖3-8 系統(tǒng)概念模型設計4 邏輯結(jié)構(gòu)設計41 概念模型向物理模型的轉(zhuǎn)換 在概念模型設計好了之后,可直接在powerdesigner 中將設計好了的概念模型轉(zhuǎn)換成物理模型。其具體操作過程為 點擊主菜單的 ToolsGenerate Physical Data Model 便可以將當前的概念模型轉(zhuǎn)換為物理模型,轉(zhuǎn)換后的物理模型如下圖所示:圖4-1 物理模型圖 因為一個實體模型轉(zhuǎn)換為一個關系模型時遵循以下規(guī)則1.一個1:1聯(lián)系可轉(zhuǎn)換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并;2.一個1:n聯(lián)系可以轉(zhuǎn)換為獨立的關系模式,也可以與n端對應的關系模式合并;3.一個m:n聯(lián)系轉(zhuǎn)換為一個關系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分;所以在轉(zhuǎn)換中院系與專業(yè)合并到學生基本信息關系中,院系與專業(yè)的主碼成為學生信息的外碼,同樣院系的主碼成為教師的外碼。學生與課程、教師與課程均是多對多的關系所以,單獨的生成了必修與教授兩個關系。42 數(shù)據(jù)庫物理模型設計在PowerDesigner中將概念模型轉(zhuǎn)換成物理模型之后,我們可以對物理模型進行設計,雙擊物理模型的關系,便彈出對其設置的對話框,在General選項卡中可以對該關系的名稱、注釋以及碼等信息進行設置。在Columns選項卡中可對該關系的屬性列進行設計,可分別設置其名稱、碼、數(shù)據(jù)類型以及主碼、是否為空等。下圖顯示了課程與院系兩個關系的物理設計其中課程號與院系代號分別為兩個關系的住碼: 圖4-2 課程與院系的物理設計 下圖是教師與專業(yè)兩個關系的物理設計,起中教師號與專業(yè)號分別為主碼,因為教師與專業(yè)均從屬于院系,所以院系代號分別是兩個關系的外碼: 圖4-3 教師與專業(yè)的物理設計SC與TC關系分別是學生基本信息與課程,教師與課程兩個多對多聯(lián)系合并生成的關系。SC關系描述了學生選擇什么課程以及該課程的分數(shù),其中來自兩個關系的主碼組成該關系的主碼同時也是外碼;TC關系是教師與課程的聯(lián)系,其描述了每個教師所教授的課程關系。 圖 4-4 SC與TC物理設計下面是學生基本信息的物理模型設計,學號作為主碼,因為學生基本信息與專業(yè)、院系的對應關系均是n:1的聯(lián)系,所以院系代號與專業(yè)號作為學生基本信息關系的外碼。圖4-5 學生基本信息物理設計5系統(tǒng)實現(xiàn)5.1 系統(tǒng)實現(xiàn)工具與支持平臺(1) 用戶界面本系統(tǒng)采用Eclipse設計,用戶交互界面采用的是基于Windows的窗口界面。(2) 硬件接口運行本系統(tǒng)的硬件基本要求如下:CPU:Intel P4及以上;內(nèi)存:256MB及以上;硬盤:40GB及以上。(3) 軟件接口數(shù)據(jù)庫服務器:MySQL。5.2系統(tǒng)界面及其實現(xiàn)方法1.系統(tǒng)登錄界面圖: 登錄采用密碼驗證,用戶輸入帳號,密碼后,查詢數(shù)據(jù)庫看是不是由該用戶,如果有,看輸入信息是否正確,正確后才允許登陸,否則給出提示并取消登陸。查詢功能的實現(xiàn)采用多種查詢方法,但每次只能采用一種查詢,并且采用模糊查詢方法,用table將查詢內(nèi)容顯示在視圖中。package severlet;import java.io.*;import java.util.Hashtable;import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;public class Login extends Common HttpSession mySession=null; public void doGet ( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException /設置提交表單的中文編碼 request.setCharacterEncoding(gb2312); mySession = request.getSession(true); /清空錯誤消息 mySession.setAttribute(errMsg,); /是否進入默認頁面 if ( !request.getParameterNames().hasMoreElements() ) response.sendRedirect(./AllLogin.jsp); return; /得到用戶輸入信息 String sUserid = request.getParameter(userid); String sPassword = request.getParameter(password); String sRole = request.getParameter(role); /如果用戶是提交表單 if ( sUserid != null & sUserid.length()=8 ) /校驗用戶輸入信息 String sRealname = getUserRealname( sUserid, sPassword, sRole ); if ( sRealname = null ) /出錯了設置變量并重新顯示 mySession.setAttribute( errMsg, 登錄失敗!請重新輸入相關信息! ); mySession.setAttribute( userid, sUserid ); mySession.setAttribute( role, sRole ); response.sendRedirect(./AllLogin.jsp); return; else mySession.setAttribute( userid, sUserid ); mySession.setAttribute( realname, sRealname ); /根據(jù)用戶角色的不同決定遷移到哪個頁面 if ( sRole.equals( 0 ) ) /學生角色則遷移到選課一覽頁面 response.sendRedirect( ./StLogin.jsp ); else if(sRole.equals(1) /教師角色則遷移到選課結(jié)果一覽頁面 response.sendRedirect( ./TcLogin.jsp ); else if(sRole.equals(2) response.sendRedirect( ./AdLogin.jsp ); return; /如果用戶非法進入這個頁面 else response.sendRedirect(./AllLogin.jsp); return; public void doPost ( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException doGet( request, response ); private String getUserRealname(String sUserid, String sPassword, String sRole) /獲得數(shù)據(jù)庫連接 Connection con = this.getDBConnection(); if ( con = null ) return null; Statement stm = null; ResultSet rs = null; String sql = null; String name=null; if(sRole.equals(0) sql = select * from Student where st_id= + sUserid + + and st_pwd= + sPassword + ; name=st_name; else if(sRole.equals(1) sql =new String( select * from Teacher where tc_id= + sUserid + and tc_pwd= + sPassword+ ); name=tc_name; else if(sRole.equals(2) sql = select * from Administrator where ad_id= + sUserid + and ad_pwd= + sPassword+ ; name=ad_name; try stm = con.createStatement(); /執(zhí)行SQL語句 rs=stm.executeQuery(sql); String sRealname = null; if (rs.next() sRealname=rs.getString(name); mySession.setAttribute(resultset,rs); return sRealname; catch(Exception e) e.printStackTrace(); return null; finally try rs.close(); stm.close(); con.close(); catch(Exception ex) 2學生個人成績查詢界面通過本界面,學生可以查詢本人一學期內(nèi)的課程成績。此模塊實現(xiàn)功能如下:package severlet;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Vector;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class SetMark extends CommonConnection con=null;Statement stm = null; ResultSet rs = null; String sql = null; public SetMark()try con=this.getDBConnection();stm=con.createStatement(); catch (SQLException e) e.printStackTrace();/public void doGet ( HttpServletRequest request, HttpServletResponse response )throws ServletException, IOExceptionHttpSession mySession=null;request.setCharacterEncoding(gb2312);mySession = request.getSession(true);if ( !request.getParameterNames().hasMoreElements() )response.sendRedirect(./login.jsp);return;String username=(String) mySession.getAttribute(realname);String ccid=null; String page=(String) mySession.getAttribute(page); if(page.equals(TcCourseMark.jsp) ccid=request.getParameter(ccid); mySession.setAttribute(ccid, ccid); try sql=select * from ChooseCourse where cc_id=+ccid+ and cc_teacher=+username+;rs=stm.executeQuery(sql);if(rs.next()Vector students=this.getStudent(ccid); mySession.setAttribute(students,students);response.sendRedirect(./TcSetCourseMark.jsp); return;elseresponse.sendRedirect(./Error.jsp); return; catch (SQLException e) e.printStackTrace(); else if(page.equals(TcSetCourseMark.jsp) Vector students=(Vector) mySession.getAttribute(students); String ccid1=(String)mySession.getAttribute(ccid); for(int i=0;istudents.size();i+) Student st=(Student)students.get(i); String stid=st.getStid(); String mark=request.getParameter(stid); System.out.println(ccid1+stid+mark); this.InsertMark(ccid1, stid, mark); Vector students2=this.getStudent(ccid1); mySession.setAttribute(students,students2);response.sendRedirect(./TcSetCourseMark.jsp); return; /public void InsertMark(String ccid,String stid,String mark)try sql=update tc+ccid+ set st_mark=+mark+ where st_id=+stid+;stm.executeUpdate(sql);sql=update st+stid+ set cc_mark=+mark+ where cc_id=+ccid+;stm.executeUpdate(sql); catch (SQLException e)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025店鋪轉(zhuǎn)讓合同協(xié)議書范本下載
- 上海中學高三數(shù)學試卷及答案大全
- 肇慶市實驗中學高中歷史二教案:第課改變世界的工業(yè)革命教案
- 2025科技咨詢合同示范文本
- 機械產(chǎn)品標準化與模塊化考核試卷
- 科技創(chuàng)新趨勢的智能家居和智能穿戴設備市場考核試卷
- 編織品在建筑工程中的加固應用考核試卷
- 無線數(shù)據(jù)傳輸考核試卷
- 煤炭轉(zhuǎn)化與化工產(chǎn)品高端化發(fā)展考核試卷
- 今日會計考試試題及答案
- 裝配作業(yè)指導書
- 建設工程成本計劃與控制課件(原)
- IPC-A-610國際標準中英文對照(doc 17)
- 《陜文投應聘表格》word版
- 建設工程圍擋標準化管理圖集(2022年版)
- (完整word版)中小學教育質(zhì)量綜合評價指標框架(試行)
- 《新概念英語》第一冊單詞表
- 半澤直樹日語字幕臺詞(一)
- 最新中建CI報價單-2013.
- 拌和站地基承載力及抗傾覆計算書
- 最新公司客戶訂單流程管理制度
評論
0/150
提交評論