




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)一、概述每年都有新生的入學(xué),畢業(yè)生的離開(kāi)。教師隊(duì)伍的壯大,新課程的開(kāi)設(shè)和舊課程的刪除, 以及學(xué)生每學(xué)期的成績(jī)記錄。對(duì)它們的管理問(wèn)題也是日益突顯,所以需要一個(gè)專(zhuān)業(yè)的應(yīng)用程序,利用數(shù)據(jù)庫(kù)對(duì)這些數(shù)據(jù)進(jìn)行組織和管理。本系統(tǒng)一一教學(xué)管理系統(tǒng)就是為了實(shí)現(xiàn)高效的管理這些數(shù)據(jù)而專(zhuān)門(mén)設(shè)計(jì)的。該教學(xué)管理系統(tǒng)是用PowerBuilder數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具 SQL嵌入式語(yǔ)言開(kāi)發(fā)而來(lái)的。它主要包括學(xué)生管理、成績(jī)管理、班級(jí)管理、課程管理以及教師管理,對(duì)學(xué)校的日常教學(xué)系統(tǒng)進(jìn)行有效地組織。二、需求分析1、該教學(xué)管理系統(tǒng)是開(kāi)發(fā)目標(biāo)是有效管理學(xué)生,教師,課程等信息,實(shí)現(xiàn)這些信息的 數(shù)據(jù)錄入、瀏覽、修改、查
2、詢(xún)等,從而實(shí)現(xiàn)對(duì)信息的規(guī)范化、系統(tǒng)化、自動(dòng)化管理。根據(jù)對(duì) 終端用戶(hù)的調(diào)研,了解了用戶(hù)端的需求,進(jìn)行分析得出下面的幾項(xiàng)需求:(1)由于信息具有一定的保密性,為了使擁有權(quán)限的管理員對(duì)數(shù)據(jù)進(jìn)行管理,應(yīng)該為用戶(hù) 設(shè)置密碼保護(hù),在用戶(hù)訪問(wèn)是該系統(tǒng)時(shí)進(jìn)行身份的鑒別,以提高系統(tǒng)的數(shù)據(jù)安全性。(2 )使用該教學(xué)系統(tǒng),能夠?qū)崟r(shí)對(duì)學(xué)生,教師信息時(shí)行記錄,并能夠非常方便地瀏覽、添 加、編輯和查詢(xún)。(2 )成績(jī)管理,能夠?qū)W(xué)生每學(xué)期的成績(jī)進(jìn)行錄入,修改,并提供計(jì)算學(xué)生的平均成績(jī)的 功能,以及每個(gè)班級(jí)某些課程的平均分進(jìn)行計(jì)算。(4 )學(xué)校的班級(jí)數(shù)可能增加,有些班級(jí)也可能被撤編,所以應(yīng)用程序應(yīng)該能夠方便地對(duì)學(xué) 生班級(jí)進(jìn)行
3、添加、編輯、刪除。同時(shí)班級(jí)系統(tǒng)還要記錄算數(shù)學(xué)院和專(zhuān)業(yè)以及該班級(jí)的學(xué)生數(shù) 量。(5 )課程管理描述了課程號(hào)、課程名稱(chēng)、授課教師等重要教學(xué)方面的信息,課程號(hào)用于方 便學(xué)生的學(xué)課系統(tǒng)管理。2、根據(jù)以上需求抽象出的實(shí)體有學(xué)生實(shí)體,班級(jí)實(shí)體,課程實(shí)體,教師實(shí)體,各實(shí)體的E-R圖如下:圖1學(xué)生實(shí)體E-R圖圖2 班級(jí)實(shí)體E-R圖圖3 課程實(shí)體E-R圖圖4 教師實(shí)體E-R圖圖5各實(shí)體聯(lián)系E-R圖三、數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)根據(jù)圖5得出各個(gè)關(guān)系模式:(帶下劃線的為主碼) 學(xué)生信息表(學(xué)號(hào),姓名,性別,出生日期,班級(jí)號(hào),總學(xué)分)班級(jí)信息表(班級(jí)號(hào),班級(jí)名,學(xué)院,專(zhuān)業(yè),人數(shù))課程信息表(課程號(hào),課程名,學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期,
4、教師號(hào))教師信息表(教師號(hào),教師名,性別,職稱(chēng))成績(jī)信息表(學(xué)號(hào),課程號(hào),分?jǐn)?shù),學(xué)期,班級(jí)號(hào))用戶(hù)表(用戶(hù)名,密碼)其中用戶(hù)表是教學(xué)管理系統(tǒng)注冊(cè)用戶(hù)使用的。由關(guān)系模式得出關(guān)系表,如下:表1 stu學(xué)生信息表字段名數(shù)據(jù)類(lèi)型含義說(shuō)明空值情況學(xué)號(hào)Char(6)學(xué)生編號(hào)主關(guān)鍵字姓名varchar(20)學(xué)生姓名不為空性別Char(2)學(xué)生性別不為空出生日期Date出生日期可為空班級(jí)號(hào)Char(10)所在班級(jí)可為空總學(xué)分Dec(4,1)總學(xué)分可為空表2 class班級(jí)信息表字段名數(shù)據(jù)類(lèi)型含義說(shuō)明空值情況班級(jí)號(hào)Char(6)班級(jí)編號(hào)主關(guān)鍵字班級(jí)名Char(12)班級(jí)名稱(chēng)可為空學(xué)院Char(12)所在學(xué)院可
5、為空專(zhuān)業(yè)Char(12)所在專(zhuān)業(yè)可為空人數(shù)Dec(2)班級(jí)人數(shù)可為空表3 course課程信息表字段名數(shù)據(jù)類(lèi)型含義說(shuō)明空值情況】田千口 i=r. 課程號(hào)Char(6)課程編號(hào)主關(guān)鍵字課程名Char(12)課程編號(hào)不為空學(xué)時(shí)Dec(2)課程學(xué)時(shí)可為空學(xué)分Dec(2)課程學(xué)分可為空開(kāi)課學(xué)期Dec(2)開(kāi)課學(xué)期可為空教師號(hào)Char(6)授課教師外鍵表4 teacher教師信息表字段名數(shù)據(jù)類(lèi)型含義說(shuō)明空值情況教師號(hào)Char(6)教師編號(hào)主關(guān)鍵字教師名Char(8)教師姓名不為空性別Char(2)教師性別可為空職稱(chēng)Char(8)教師職稱(chēng)可為空表 5 score成績(jī)信息表字段名數(shù)據(jù)類(lèi)型含義說(shuō)明空值情況學(xué)號(hào)
6、Char(6)學(xué)生編號(hào)主關(guān)鍵字】田千口 i=r. 課程號(hào)Char(6)課程編號(hào)主關(guān)鍵字分?jǐn)?shù)Dec(2)考試分?jǐn)?shù)可為空學(xué)期Dec(2)考試學(xué)期可為空班級(jí)號(hào)Char(6)班級(jí)編號(hào)可為空表6 user用戶(hù)信息表字段名數(shù)據(jù)類(lèi)型含義說(shuō)明空值情況用戶(hù)名Varchar(12)用戶(hù)名稱(chēng)主關(guān)鍵字密碼Varchar(12)用戶(hù)密碼不為空四、軟件功能設(shè)計(jì)1、登錄到教學(xué)管理系統(tǒng)可以完成系統(tǒng)管理功能,學(xué)生管理功能,成績(jī)管理功能,班級(jí) 管理功能,班級(jí)管理功能,課程管理功能和教師管理功能(如圖6)。系統(tǒng)管理:可以實(shí)現(xiàn)用戶(hù)的添加和修改密碼。學(xué)生管理:可以對(duì)學(xué)生的記錄進(jìn)行添加,刪除,修改和查詢(xún)。還可以統(tǒng)計(jì)某學(xué)生,某學(xué) 期的所有
7、課程的平均成績(jī)。成績(jī)管理:可以對(duì)成績(jī)記錄進(jìn)行添加,刪除,修改和查詢(xún)。還可以統(tǒng)計(jì)某學(xué)生、某學(xué)期 的所有課程的平均成績(jī)及按班級(jí),按課程計(jì)算平均成績(jī)、最高成績(jī)、最低成績(jī)、及格率。班級(jí)管理:可以對(duì)成績(jī)記錄進(jìn)行添加,刪除,修改和查詢(xún)。課程管理:可以對(duì)課程記錄進(jìn)行添加,刪除,修改和查詢(xún)。教師管理:可以對(duì)課程記錄進(jìn)行添加,刪除,修改和查詢(xún)及教師授課情況的查詢(xún)。圖6軟件功能圖2、軟件功能介紹(1 )首先進(jìn)入用戶(hù)登錄界面,在該界面輸入有效的用戶(hù)名與密碼,單擊“確認(rèn)”登錄。如 果沒(méi)有用戶(hù)名和密碼的話(huà)也可以自己注冊(cè)。圖7用戶(hù)登錄界面圖8用戶(hù)注冊(cè)密碼(2) 進(jìn)入教學(xué)管理系統(tǒng)主應(yīng)用界面后,單擊對(duì)應(yīng)的菜單欄選項(xiàng),選擇所需
8、的操作。圖8 主頁(yè)面(3) 打開(kāi)學(xué)生管理菜單可以對(duì)學(xué)生的記錄進(jìn)行添加、刪除、修改和查詢(xún)。學(xué)號(hào)051 1OE襪一収3示里廠京岀蚩13期19C8-C<5520m出a 字萬(wàn)出生u用鉀分£M11A1主林黒1194 * 2-10"上女ib 6眇卸"I展存|帀一札卜彌1強(qiáng)三林19S9-1-2A4H.IF圖9學(xué)生管理頁(yè)面 可以對(duì)學(xué)生的姓名和班級(jí)分別進(jìn)行查詢(xún)。圖10學(xué)生查詢(xún)頁(yè)面(4) 打開(kāi)成績(jī)管理菜單可以對(duì)成績(jī)的記錄進(jìn)行添加、刪除、修改和查詢(xún)。圖11成績(jī)管理頁(yè)面可以對(duì)學(xué)號(hào),課程號(hào)分別查詢(xún),也可以學(xué)號(hào)、課程號(hào)一起查詢(xún)。圖12成績(jī)查詢(xún)頁(yè)面1輸入班級(jí)號(hào)、輸入課程號(hào)計(jì)算平均成績(jī)、最
9、高成績(jī)、最低成績(jī)、及格率成績(jī)信息管理平均成績(jī)懸高成績(jī)最低成績(jī)及格率輸入班級(jí)號(hào):95031計(jì)算輸入諜程號(hào)計(jì)算圖12成績(jī)查詢(xún)頁(yè)面2統(tǒng)計(jì)某學(xué)生,某學(xué)期的所有課程的平均成績(jī)圖13學(xué)期平均成績(jī)查詢(xún)頁(yè)面(5) 打開(kāi)班級(jí)管理菜單可以對(duì)班級(jí)的記錄進(jìn)行添加、刪除、修改和查詢(xún)。圖14班級(jí)管理頁(yè)面輸入班級(jí)號(hào),對(duì)班級(jí)所有信息進(jìn)行查詢(xún)-ID, KI芋冼專(zhuān)業(yè)OS 631班計(jì)普平it市機(jī)£圖15班級(jí)查詢(xún)頁(yè)面打開(kāi)課程管理菜單可以對(duì)課程的記錄進(jìn)行添加、刪除、修改和查詢(xún)。圖16課程管理頁(yè)面輸入課程號(hào),對(duì)課程所有信息進(jìn)行查詢(xún)圖17課程查詢(xún)頁(yè)面打開(kāi)教師管理菜單可以對(duì)教師的記錄進(jìn)行添加、刪除、修改和查詢(xún)。圖18教師管理頁(yè)面輸
10、入教師號(hào),可對(duì)教師所授課程時(shí)行查詢(xún)圖 19 教師查詢(xún)頁(yè)面五、程序源代碼下面給出系統(tǒng)的部分設(shè)計(jì)圖及部分源代碼(1) 在進(jìn)行系統(tǒng)界面編程前,先建立數(shù)據(jù)庫(kù),并建立外鍵。(2) 數(shù)據(jù)庫(kù)建立后,進(jìn)行窗口編程。首先建立一個(gè)新的工作空間和應(yīng)用。連接數(shù)據(jù)庫(kù), 在應(yīng)用的 open 事件下輸入如下代碼:/ ProSQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "Connectstring='DSN=student'"connect;if sqlca.sqlcode<>0 then
11、messageboxC連接失敗","不能連接數(shù)據(jù)源”)returnend ifopen(w_login)(3) 學(xué)生管理頁(yè)面、成績(jī)管理頁(yè)面、班級(jí)管理頁(yè)面、課程管理頁(yè)面、教師管理頁(yè)面功能似, 類(lèi)所以以學(xué)生管理頁(yè)面為例,學(xué)生管理頁(yè)面(圖9)的代碼如下:顯示按鈕 cb_3 的代碼:dw_1.retrieve('%','%')添加按鈕 cb_tianjia 的代碼:string ls_ssexdec ls_szongif rb_1.checked thenls_ssex='男'elseif rb_2.checked thenls_ss
12、ex='女'end ifend ifls_szong=dec(sle_5.text)insert into stu values(:sle_1.text,:sle_2.text,:ls_ssex,:em_1.text,:sle_4.text,:ls_szong);commit;dw_1.retrieve('%','%')dw_1.scrolltorow(dw_1.rowcount()刪除按鈕 cb_1 的代碼:dw_1.deleterow(dw_1.getrow()修改按鈕 cb_4 的代碼:dw_1.selectrow(dw_1.getrow(
13、),false)if cb_4.text=" 修改 " thendw_1.selectrow(dw_1.getrow(),true)cb_4.text=" 確認(rèn) "sle_1.text=dw_1.getitemstring(dw_1.getrow()," 學(xué)號(hào) ") sle_2.text=dw_1.getitemstring(dw_1.getrow()," 姓名 ") em_1.text=string(dw_1.getitemdate(dw_1.getrow()," 出生日期 ") sle_4.
14、text=dw_1.getitemstring(dw_1.getrow()," 班級(jí)號(hào) ") sle_5.text=string(dw_1.getitemdecimal(dw_1.getrow()," 總學(xué)分 ") if dw_1.getitemstring(dw_1.getrow()," 性別 ")='男 'then rb_1.checked=true rb_2.checked=falseelserb_2.checked=true rb_1.checked=false end if else cb_4.text=&q
15、uot; 修改 " string ls_ssex dec ls_szong if rb_1.checked thenIs_ssex='男'elseif rb_2.checked thenls_ssex='女'end ifend ifls_szong=dec(sle_5.text)dw_1.setitem(dw_1.getrow()," 學(xué)號(hào) ",sle_1.text) dw_1.setitem(dw_1.getrow()," 姓名 ",sle_2.text) dw_1.setitem(dw_1.getrow(),
16、" 班級(jí)號(hào) ",sle_4.text) dw_1.setitem(dw_1.getrow()," 總學(xué)分 ",dec(sle_5.text) dw_1.setitem(dw_1.getrow()," 出生日期 ",date(em_1.text) dw_1.setitem(dw_1.getrow()," 性別 ",ls_ssex) commit;sle_1.text=""sle_2.text=""sle_4.text=""sle_5.text="&
17、quot;em_1.text=""rb_1.checked=false rb_2.checked=false end if 修改按鈕 cb_2 的代碼: dw_1.update() 其中 dw_1 的 DataObject 屬性為 d_stu.(4) 學(xué)生查詢(xún)頁(yè)面、 成績(jī)查詢(xún)頁(yè)面、 班級(jí)查詢(xún)頁(yè)面、 課程查詢(xún)頁(yè)面、 教師查詢(xún)頁(yè)面功能類(lèi)似, 所以以學(xué)生查詢(xún)頁(yè)面為例,學(xué)生查詢(xún)頁(yè)面(圖10)的代碼如下:學(xué)生查詢(xún)按鈕 cb_1 的代碼: dw_1.retrieve('%'+sle_1.text+'%','') 班級(jí)查詢(xún)按鈕 cb_2 的
18、代碼: dw_1.retrieve('','%'+sle_2.text+'%')其中 dw_1 的 DataObject 屬性為 d_stu.(5) 按班級(jí)號(hào)、按課程號(hào)計(jì)算平均成績(jī)、最高成績(jī)、最低成績(jī)、及格率功能類(lèi)似,所以以查 詢(xún)班級(jí)號(hào)的及格率為例,查詢(xún)班級(jí)號(hào)的及格率頁(yè)面(圖12)的代碼如下:Tab_1.tabpage_4.cb_7 的 clicked 事件下的代碼為: integer count1,result,count2 declare jisuan cursor for select 分?jǐn)?shù) from scorewhere 班級(jí)號(hào) =:sl
19、e_7.text;open jisuan;fetch jisuan into :result;do while sqlca.sqlcode=0 count2=count2+1 if result>=60 then count1=count1+1 end if fetch jisuan into :result;loop close jisuan;messagebox("提示",”該班級(jí)的及格率是:"+string(countl/count2)*100)+'%')(6) 查詢(xún)教師授課成績(jī)頁(yè)面(圖19)的代碼如下:Teacher 表與 course 表以教師號(hào)為外鍵建立關(guān)聯(lián)。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能建筑系統(tǒng)集成與智能監(jiān)控系統(tǒng)在商業(yè)綜合體中的應(yīng)用案例報(bào)告
- 文化產(chǎn)業(yè)園產(chǎn)業(yè)集聚與文化產(chǎn)業(yè)發(fā)展路徑選擇報(bào)告001
- 2025年醫(yī)藥行業(yè)未來(lái)趨勢(shì):仿制藥一致性評(píng)價(jià)下的醫(yī)藥電商發(fā)展報(bào)告001
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)與數(shù)據(jù)管理與分析報(bào)告
- 咨詢(xún)工程師2020課件
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的臨床試驗(yàn)外包服務(wù)合同管理與風(fēng)險(xiǎn)控制報(bào)告
- 折扣零售業(yè)態(tài)行業(yè)競(jìng)爭(zhēng)態(tài)勢(shì)與品牌戰(zhàn)略研究報(bào)告
- 2025年醫(yī)藥流通企業(yè)供應(yīng)鏈成本控制與績(jī)效評(píng)估報(bào)告
- 醫(yī)療健康數(shù)據(jù)隱私保護(hù)2025年合規(guī)技術(shù)應(yīng)用案例集報(bào)告
- 保潔安全知識(shí)試題及答案
- 安全生產(chǎn)月“一把手”講安全課件
- 產(chǎn)業(yè)命題賽道命題解決對(duì)策參考模板
- 985、211和雙一流大學(xué)名單
- 云南省昆明市官渡區(qū)2022-2023學(xué)年七年級(jí)下學(xué)期期末語(yǔ)文試題(含答案)
- 三人合伙經(jīng)營(yíng)協(xié)議書(shū)電子版(2篇)
- 汽車(chē)產(chǎn)品認(rèn)證
- 管道護(hù)理業(yè)務(wù)學(xué)習(xí)課件
- 蛇類(lèi)解剖生理特征(特種寵物疾病防治)
- 高中日語(yǔ)學(xué)習(xí)宣講+課件
- 年產(chǎn)10噸功能益生菌凍干粉的工廠設(shè)計(jì)改
- 國(guó)家開(kāi)放大學(xué)《高等數(shù)學(xué)基礎(chǔ)》形考任務(wù)1-4參考答案
評(píng)論
0/150
提交評(píng)論