PB制作學(xué)生成績(jī)管理系統(tǒng)分析書_第1頁(yè)
PB制作學(xué)生成績(jī)管理系統(tǒng)分析書_第2頁(yè)
PB制作學(xué)生成績(jī)管理系統(tǒng)分析書_第3頁(yè)
PB制作學(xué)生成績(jī)管理系統(tǒng)分析書_第4頁(yè)
PB制作學(xué)生成績(jī)管理系統(tǒng)分析書_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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é)生成績(jī)管理系統(tǒng)總結(jié)報(bào)告學(xué)號(hào): 091006129 姓名:邢明輝- - 目錄一、系統(tǒng)分析與設(shè)計(jì) .31、系統(tǒng)來(lái)源 3 2、功能分析 3 3、系統(tǒng)功能模塊設(shè)計(jì) . .4 二、系統(tǒng)制作 .5 1、數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn) 5 1)數(shù)據(jù)庫(kù)設(shè)計(jì) .5 2)創(chuàng)建數(shù)據(jù)庫(kù) .6 2、創(chuàng)建應(yīng)用對(duì)象 .9 3、設(shè)計(jì)登錄窗口 .9 4、設(shè)計(jì)“學(xué)生成績(jī)查詢系統(tǒng)”模塊.12 5、設(shè)計(jì)教師管理窗口模塊 .17 6、設(shè)計(jì)管理員窗口模塊 .21 三、使用說明 .23 四、優(yōu)缺點(diǎn)分析 .24 五、參考文獻(xiàn) .24 - - 系統(tǒng)分析與設(shè)計(jì)1、系統(tǒng)來(lái)源如今計(jì)算機(jī)科學(xué)已應(yīng)用到社會(huì)的各個(gè)方面,它使事物的處理快捷化、簡(jiǎn)單化。高校的教務(wù)

2、管理系統(tǒng)就是一例, 隨著在校學(xué)生人數(shù)的不斷增加學(xué)校成績(jī)管理的任務(wù)日益繁重, 必須借助現(xiàn)代化的高效管理工具。因此作為教務(wù)管理系統(tǒng)重要組成部分的學(xué)生成績(jī)管理系統(tǒng)就起到了很大的作用,有必要進(jìn)行研發(fā)制作。2、系統(tǒng)功能分析本階段就是分析該系統(tǒng)的主要功能以及它所解決的用戶面臨的問題,最后由用戶確認(rèn)該系統(tǒng)的功能和用處。(1)、學(xué)生信息的輸入和存儲(chǔ),包括學(xué)號(hào)、姓名、專業(yè)名、性別、出生日期、總學(xué)分和備注等。(2)、課程信息的輸入和存儲(chǔ),包括課程號(hào)、課程名、開課時(shí)間、學(xué)時(shí)和學(xué)分等。(3)、對(duì)學(xué)生信息的修改、增加、刪除、修改以及定向的查詢等。(4)、對(duì)課程信息的修改、增加、刪除、修改以及定向的查詢等。(5)、可以進(jìn)

3、行用戶的添加和存儲(chǔ),包括用戶名、密碼、用戶權(quán)限。(6)、 用戶輸入用戶名和密碼后系統(tǒng)根據(jù)其在用戶表注冊(cè)的權(quán)限進(jìn)入不同的應(yīng)用系統(tǒng)。(7)、 學(xué)生登錄時(shí)系統(tǒng)根據(jù)其用戶名 (即學(xué)號(hào))進(jìn)入對(duì)應(yīng)的學(xué)生成績(jī)查詢系統(tǒng),可以進(jìn)行本人的所選課程成績(jī)的查詢、打印以及所選課程的信息,不同的學(xué)生用戶進(jìn)入各自的成績(jī)查詢系統(tǒng)避免了能查詢其他學(xué)生成績(jī)的問題。(8)、教師登錄時(shí)系統(tǒng)根據(jù)用戶名 (這里用戶名與課程號(hào)對(duì)應(yīng)即一名教師任教一門課)進(jìn)入對(duì)應(yīng)的教師管理系統(tǒng),可以進(jìn)行該課程學(xué)生成績(jī)的錄入、修改及置零。(9)、學(xué)生、教師和管理員的登錄密碼都可以進(jìn)行修改(10)、本系統(tǒng)界面色彩跳動(dòng)不大布局簡(jiǎn)單整潔。- - 3、系統(tǒng)功能模塊設(shè)計(jì)

4、根據(jù)上述的分析以及模塊化程序設(shè)計(jì)要求得如圖所示的功能模塊圖。學(xué)生成績(jī)管理系統(tǒng)教師管理窗口管理員窗口學(xué)生成績(jī)查詢系統(tǒng)密碼修改所選課程查詢密碼修改所選課程成績(jī)查詢選該課學(xué)生信息查詢選該課的學(xué)生成績(jī)錄入密碼修改學(xué)生信息輸入、修改等操作課程信息輸入、修改等操作用戶添加- - 圖 1.1 系統(tǒng)功能模塊系統(tǒng)制作一、數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)結(jié)構(gòu)的好壞直接影響到系統(tǒng)的實(shí)現(xiàn)效果和數(shù)據(jù)操作效率以及能否保證數(shù)據(jù)的一致性、 完整性和安全。 所以數(shù)據(jù)庫(kù)在一個(gè)信息系統(tǒng)中占有非常重要的地位。1、數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)學(xué)生成績(jī)管理系統(tǒng)的功能要求,通過分析系統(tǒng)要涉及的相關(guān)實(shí)體以及要收集、存儲(chǔ)和操縱的數(shù)據(jù)信息,得到如圖2.1 所示的系統(tǒng)

5、e-r 圖。根據(jù)系統(tǒng) e-r 圖得到以下關(guān)系模式。學(xué)生基本信息 (學(xué)號(hào),姓名,專業(yè)名,性別,出生日期,總學(xué)分,備注)。課程(課程號(hào),課程名,開課學(xué)期,學(xué)時(shí),學(xué)分)。成績(jī)(學(xué)號(hào),課程號(hào),成績(jī),學(xué)分)。教師(教師號(hào),課程號(hào),課程名,姓名,性別,出生日期) 為了系統(tǒng)的使用安全, 要建立用戶管理, 而用戶使用權(quán)限分為學(xué)生、 教師和管理員三類,因此需要建立一個(gè)存儲(chǔ)用戶信息的關(guān)系。用戶(姓名,密碼,權(quán)限 ) - - 圖 2.1 系統(tǒng) e-r 圖2、創(chuàng)建數(shù)據(jù)庫(kù)在 powerbuilder 開發(fā)環(huán)境中打開數(shù)據(jù)庫(kù)畫板,使用【odb odbc】接口建立 adaptive server anywhere 9.0(a

6、sa 9.0)的數(shù)據(jù)庫(kù) g:workspacexing.db, 然后依次建立以下各表。學(xué)生基本信學(xué)號(hào)姓名性別專業(yè)名課程名課程號(hào)備注出生時(shí)間總學(xué)分成績(jī)課程教師開課學(xué)期學(xué)時(shí)學(xué)分學(xué)號(hào)課程號(hào)成績(jī)學(xué)分教師號(hào)課程號(hào)課程名性別出生日期查詢選課錄入教授- - 1) “學(xué)生”表表名: xs 主鍵: xh 各列表屬性見表 2-1。表 2-1 “學(xué)生”表的屬性列名數(shù)據(jù)類型寬度空值標(biāo)識(shí)xh char 6 no 學(xué)號(hào)xm char 8 no 姓名zym char 10 yes 專業(yè)名xb bit no 性別date date no 出生日期total tinyint yes 總學(xué)分bz char 20 yes 備注2)

7、 “課程”表表名: kc 主鍵: kch 各列表屬性見表 2-2 表 2-2 “課程”表的屬性列名數(shù)據(jù)類型寬度空值標(biāo)識(shí)kch char 3 no 課程號(hào)kcm char 16 no 課程名kkdate tinyint no 開課學(xué)期xsdate tinyint no 學(xué)時(shí)xf tinyint yes 學(xué)分3) “成績(jī)”表表名: xs_cj 主鍵: xh 和 kch 各列表屬性見表 2-3 表 2-3 “成績(jī)”表的屬性列名數(shù)據(jù)類型寬度空值標(biāo)識(shí)xh char 6 no 學(xué)號(hào)kch char 3 no 課程號(hào)kcm char 10 yes 課程名cj tinyint yes 成績(jī)xf tinyint

8、 yes 學(xué)分4) “教師”表表名: jiaoshi 主鍵: jsh 各列表屬性見表 2-4 表 2-4 “教師”表的屬性列名數(shù)據(jù)類型寬度空值標(biāo)識(shí)jsh char 3 no 教師號(hào)- - kch char 3 no 課程號(hào)kcm char 16 no 課程名xm char 8 no 姓名xb bit no 性別rq date no 出生日期5) “用戶”表表名: dl 主鍵: yhm 各列表屬性見表 2-5 表 2-5 “用戶”表的屬性列名數(shù)據(jù)類型寬度空值標(biāo)識(shí)yhm char 6 no 用戶名mm char 6 no 密碼qx char 10 no 權(quán)限6) “選課”表表名: xskc 主鍵:

9、 xh 和 kch 各列表屬性見表 2-6 表 2-6 “選課”表的屬性列名數(shù)據(jù)類型寬度空值標(biāo)識(shí)xh char 6 no 學(xué)號(hào)kch char 3 n0 課程號(hào)kcm char 10 yes 課程名各個(gè)表之間通過外鍵形成如圖2.3 所示的關(guān)聯(lián)關(guān)系。圖 2.3 表的關(guān)聯(lián)關(guān)系- - 二、創(chuàng)建應(yīng)用對(duì)象完成數(shù)據(jù)庫(kù)的設(shè)計(jì)和系統(tǒng)功能設(shè)計(jì)之后,可以開始各個(gè)功能模塊的實(shí)現(xiàn)。在powerbuilder 中開發(fā)應(yīng)用程序時(shí),就是創(chuàng)建各種對(duì)象、為對(duì)象設(shè)置屬性以及編寫事件腳本的過程。 但不是簡(jiǎn)單的順序過程, 有時(shí)需要返回為前面創(chuàng)建的對(duì)象補(bǔ)充腳本。下面開始本實(shí)例在powerbuilder 中的實(shí)現(xiàn)。(1) 創(chuàng)建新的工作空

10、間(2) 創(chuàng)建應(yīng)用對(duì)象(3) 打開應(yīng)用對(duì)象畫板(4) 為應(yīng)用對(duì)象的 open事件編寫如下代碼/ pro sqlca.dbms = odbc sqlca.autocommit = false sqlca.dbparm = connectstring=dsn=xing;uid=dba;pwd=sql connect; if sqlca.sqlcode0 then messagebox( 提示,數(shù)據(jù)庫(kù)連接失敗! ) else open(w_dl) end if 注意:這里登錄窗口已經(jīng)設(shè)置,如果沒有設(shè)好應(yīng)將open(w_dl)屏蔽掉。三、設(shè)計(jì)登錄窗口登錄窗口如圖 3.1 所示1、創(chuàng)建窗口并設(shè)置屬性創(chuàng)建

11、登錄窗口 w_dl,調(diào)節(jié)大小,在窗口上放置1 個(gè)圖片控件( p_1)、3 個(gè)靜態(tài)文本控件( st_1、st_2、st_3) 、2 個(gè)單行編輯器控件( sle_1、sle_2) 、3 個(gè)單選鈕( rb_1、rb_2、rb_3) 、2 個(gè)命令按鈕( cb_1、cb_2) 。各個(gè)控件大小位置按照?qǐng)D4.1 調(diào)整- - 2、編寫腳本(1)在 global 里定義全應(yīng)用程序變量(后來(lái)的窗口還要用到這些變量)string yh string nn (2)在 instance里定義局部全局變量integer n1 (3)【確定】按鈕 cb_1 的 clicked 事件腳本如下圖 3-1 string q yh

12、=sle_1.text select mm,qx into :nn,:q from dl where yhm=:yh using sqlca; - - if nn=sle_2.text then if q= 學(xué)生 and rb_1.checked then open(w_x1) close(parent) else if q=學(xué)生 and (rb_3.checked or rb_2.checked) then messagebox( 錯(cuò)誤, 權(quán)限選擇錯(cuò)誤 ) end if if q=教師 and rb_2.checked then open(w_x2) close(parent) else i

13、f q= 教師 and (rb_1.checked or rb_3.checked) then messagebox( 錯(cuò)誤,權(quán)限選擇錯(cuò)誤 ) end if if q= 管理員 and rb_3.checked then open(w_x3) close(parent) else if q=管理員 and (rb_1.checked or rb_2.checked) then messagebox( 錯(cuò)誤,權(quán)限選擇錯(cuò)誤 ) end if end if end if end if else if n1=2 then messagebox( 錯(cuò)誤,關(guān)閉窗口 ) close(parent) - -

14、else messagebox( 錯(cuò)誤,帳號(hào)或密碼錯(cuò)誤 ) sle_2.setfocus() sle_1.setfocus() n1=n1+1 end if end if (4)【放棄】按鈕 cb_2 的 clicked 事件腳本如下int ret ret=messagebox( 提示,確定退出 ?,exclamation!,yesno!,2) if ret=1 then close(parent) else return end if 四、設(shè)計(jì)“學(xué)生成績(jī)查詢系統(tǒng)”模塊1、系統(tǒng)主窗口如圖4-1 - - 圖4-1 2、其對(duì)應(yīng)的選單為圖4-11 圖 4-11 (1)“密碼修改”對(duì)應(yīng)的代碼為open

15、(w_mmxiugai) “注銷”對(duì)應(yīng)的代碼為open(w_dl) close(parentwindow) “關(guān)閉”對(duì)應(yīng)的代碼為int ret ret=messagebox( 提示,確定退出 ?,exclamation!,yesno!,2) if ret=1 then close(parentwindow) else return - - end if (2)“所修課程”對(duì)應(yīng)的代碼為open(w_kc) close(parentwindow) w_kc.dw_1.settransobject(sqlca) w_kc.dw_1.retrieve(yh) (3)“課程成績(jī)”對(duì)應(yīng)的代碼為open(w

16、_xscj) close(parentwindow) w_xscj.dw_1.settransobject(sqlca) w_xscj.dw_1.retrieve(yh)(4)“關(guān)于”對(duì)應(yīng)的代碼為open(w_zz) 注意:這里的 w_mmxiugai、w_kc、cw_xscj、w_zz 窗口是后面待建的3、密碼修改窗口如圖4-2 該窗口被命名為w_mmxiugai (1) 【確定】按鈕的 clicked 事件腳本為string n3 string n2 string n1 n2=yh n3=nn if sle_1.textn3 then messagebox( 提示,舊密碼錯(cuò)誤 ) else

17、 if sle_2.text=sle_3.text then n1=sle_2.text update dl set mm=: n1 where yhm=:n2 and mm=:n3 using sqlca ; messagebox( 提示,密碼修改完成 ) - - else messagebox( 提示,兩次密碼不同 ) sle_1.setfocus() end if end if (2) 【關(guān)閉】按鈕的 clicked 事件腳本為close(parent) 圖 4-24、學(xué)生所選課程查詢窗口如圖4-3 該窗口被命名為 w_kc 【返回】按鈕的 clicked 事件腳本為open(w_x1)

18、 close(parent) - - 圖 4-3 該窗口里的數(shù)據(jù)窗口控件的對(duì)象如圖4-31 圖 4-31 5、學(xué)生所選課程成績(jī)查詢窗口為圖4-4 - - 圖 4-4 該窗口被命名為 w_xscj 【返回】按鈕的 clicked 事件腳本為open(w_x1) close(parent) 【打印】按鈕的 clicked 事件腳本為dw_1.print(true) 其中的數(shù)據(jù)窗口對(duì)象如圖4-41 圖 4-41 五、設(shè)計(jì)教師管理窗口模塊- - 1、該模塊的主窗口為如圖5-1 圖 5-1 2、該主窗口對(duì)應(yīng)的選單如圖5-2 圖 5-2 (1)“密碼修改”對(duì)應(yīng)的代碼為open(w_mmxiugai) “注

19、銷”對(duì)應(yīng)的代碼為open(w_dl) close(parentwindow) “關(guān)閉”對(duì)應(yīng)的代碼為int ret - - ret=messagebox( 提示,確定退出 ?,exclamation!,yesno!,2) if ret=1 then close(parentwindow) else return end if (2)“成績(jī)管理”對(duì)應(yīng)的代碼為open(w_xscj2) close(parentwindow) w_xscj2.dw_1.settransobject(sqlca) w_xscj2.dw_1.retrieve(yh) (3)“查看學(xué)生”對(duì)應(yīng)的代碼為open(w_xsxi2

20、) close(parentwindow) w_xsxi2.dw_1.settransobject(sqlca) w_xsxi2.dw_1.retrieve(yh)(4)“關(guān)于”對(duì)應(yīng)的代碼為open(w_zz) 注意:這里的 w_xscj2、cw_xsxi2、w_zz 窗口是后面待建的3、選此課的學(xué)生成績(jī)的錄入與修改窗口如圖5-3 圖5-3 該窗口被命名為w_xscj2 【全部置零】按鈕的clicked 事件代碼為- - int m=0,n=0 update xs_cj set cj=: m,xf=: n ;messagebox( “ 提示” ,” 置零成功重新進(jìn)入 ” ) 【錄入并保存】按鈕

21、的clicked 事件代碼為 dw_1.update() messagebox( “ 提示” ,” 已存入數(shù)據(jù)庫(kù) ” ) 數(shù)據(jù)窗口對(duì)象如圖5-31 圖 5-31 4、選此課的學(xué)生信息窗口如圖5-4 圖 5-4 數(shù)據(jù)窗口對(duì)象如圖6-11 - - 圖 5-41 該窗口被命名為 w_xsxi2 “關(guān)于”窗口如圖5-6 圖 5-6 命名為 w_zz密碼修改窗口與上一模塊類似這里不再說明六、管理員窗口模塊的制作該模塊采用選項(xiàng)卡的模式進(jìn)行制作1、選項(xiàng)卡默認(rèn)界面為密碼修改(前面已介紹過)2、課程管理窗口如圖6-1 數(shù)據(jù)窗口對(duì)象如圖6-11 圖 6-11 - - 圖 6-1 【瀏覽】按鈕的 clicked 事

22、件代碼為dw_1.settransobject(sqlca) dw_1.retrieve() 【增加】按鈕的 clicked 事件代碼為long row row=dw_1.insertrow(0) dw_1.setrow(row) dw_1.scrolltorow(row) dw_1.setfocus() 【刪除】按鈕的 clicked 事件代碼為 dw_1.deleterow(dw_1.getrow() 【插入】按鈕的 clicked 事件代碼為long row row=dw_1.insertrow(dw_1.getrow() dw_1.setrow(row) dw_1.scrolltoro

23、w(row) dw_1.setfocus() 【保存】按鈕的 clicked 事件代碼為dw_1.update() messagebox( “ 提示” ,” 已存入數(shù)據(jù)庫(kù) ” ) 【返回】 【關(guān)閉】按鈕上文已講過- - 3、 “學(xué)生管理”與“教師管理”的創(chuàng)建過程與此類似4、用戶管理窗口如圖6-2 數(shù)據(jù)窗口對(duì)象如圖6-21 用戶管理中的按鈕在上文都有所涉及這里就不再多說。圖 6-21 圖 6-2 使用說明1、在 pb 中打開文件點(diǎn)擊運(yùn)行按鈕進(jìn)入登錄界面2、管理員的初始用戶名為201 密碼為 2,進(jìn)入管理員界面可以添加用戶注意添加的學(xué)生用戶在系統(tǒng)中必須有其對(duì)應(yīng)的選課、成績(jī)表中有其課程成績(jī)他查到這- - 些信息(學(xué)生用戶名與學(xué)號(hào)一樣) 。添加教師用戶也一樣,系統(tǒng)中必須有該課程(教師所任教的)的相關(guān)信息教師才能進(jìn)行相關(guān)操作(教師用戶名與課程號(hào)一樣)3、學(xué)生用戶定義了三個(gè)分別為用戶名001、密碼 2,用戶名 002 密碼 2,用戶名 003 密碼 2,用戶名或密碼錯(cuò)誤是會(huì)有相應(yīng)的提示,登錄三此不成功是系統(tǒng)自動(dòng)關(guān)閉。學(xué)生用戶登錄成功后進(jìn)入學(xué)生成績(jī)查詢系統(tǒng),在系統(tǒng)中可以進(jìn)行密碼的修改、自己選修的所有課程信息的查看、自己所選課程成績(jī)的

溫馨提示

  • 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)論