




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、教學管理系統的設計與實現一、概述隨著學校教務的越來越繁重,學校的學生,教師,課程的日益增多,因此對它們的管理問題也是日益突顯,所以需要一個專業的應用程序對它們實施系統的管理。為方便對學校日常工作進行高效的管理,設計此數據庫以提高學校的管理效率。隨著現代科技的高速發展,設備和管理的現代化,在實際工作中如何提高工作效率成為一個很重要的問題。而建立教學管理信息系統是一個很好的解決辦法。本系統教學管理系統就是為了實現對它們的管理而專門設計的。本教學管理系統是用Sybase公司的PowerBuilder數據庫應用開發工具而開發的。它主要包括學生管理、成績管理、班級管理、課程管理和教師管理。它是通過對學校
2、日常教學管理中的課程、選課、學生、班級、教師、成績等相關內容進行分析,完成具有學生管理、成績管理、班級管理、教師管理、課程管理等相關功能的小型數據庫管理應用系統。基本要求:1、完成學生、班級、課程等表的維護2、完成成績表的瀏覽查找3、完成成績表的維護4、按班級、按課程計算平均成績、最高成績、最低成績、及格率5、統計某學生、某學期的所有課程的平均成績。6、查詢教師的授課情況7、完成注冊用戶管理功能二、需求分析1、本系統是開發目標是有效管理學生,教師,課程等信息,實現這些信息的數據錄入、瀏覽、修改、查詢等,從而實現對信息的規范化、系統化、自動化管理。根據對終端用戶的調研,得出下面的需求分析說明文本
3、:() 由于學生等信息具有一定的保密性,為了便于管理,應該為用戶設置密碼保護,以提高系統的數據安全性。() 使用該系統,能夠對學生,教師信息時行記錄,并能夠非常方便地瀏覽、添加、編輯和查詢。() 使用該系統,能夠對學生的成績信息非常方便地瀏覽、添加、編輯和查詢,實現對成績的有效管理,方便教師查看。() 學校的班級是不斷增加的,有些班級還要撤編,所以應用程序應該能夠方便地對學生班級進行添加、編輯、刪除。() 課程信息描述了課程名稱、授課教師等重要教學方面的信息,應該方便進行管理。2、根據系統設計規化出的實體有學生實體,班級實體,課程實體,教師實體,各實體的-圖如下:圖1學生實體E-R圖圖2班級實
4、體E-R圖圖3課程實體E-R圖圖4教師實體E-R圖圖5各實體聯系E-R圖3、 數據字典經過可行性分析和初步需求調查,抽象出該子系統業務流程圖,如圖6所示。下面,結合該實例具體情況,給出具體需求。圖6教學管理業務流程圖 經分析之后,本系統要用到六個基本表:學生信息表,班級信息表,課程信息表,教師信息表,成績信息表,用戶表 學生信息表:定義了學生的學號,姓名,性別,出生日期,班級號,總學分班級信息表:定義了班級的班級號,班級名,學院,專業,人數 課程信息表:定義了課程的課程號,課程名,學時,學分,開課學期,教師號 教師信息表:定義了教師的教師號,教師名,性別,職稱成績信息表:定義了學生的學號,課程
5、號,分數,學期,班級號用戶表:教學管理系統注冊用戶使用四、數據庫邏輯設計根據圖5得出各個關系模式:學生信息表(學號,姓名,性別,出生日期,班級號,總學分)班級信息表(班級號,班級名,學院,專業,人數)課程信息表(課程號,課程名,學時,學分,開課學期,教師號)教師信息表(教師號,教師名,性別,職稱)成績信息表(學號,課程號,分數,學期,班級號)用戶表(用戶名,密碼)其中用戶表是教學管理系統注冊用戶使用的。由關系模式得出關系表,如下:表stu學生信息表字段名數據類型含義說明空值情況學號Char(6)學生編號主關鍵字姓名Char(8)學生姓名不為空性別Char(2)學生性別不為空出生日期Date出生
6、日期可為空班級號Char(6)所在班級可為空總學分Dec(4,1)總學分可為空表class班級信息表字段名數據類型含義說明空值情況班級號Char(6)班級編號主關鍵字班級名Char(12)班級名稱可為空學院Char(12)所在學院可為空專業Char(12)所在專業可為空人數Dec(2)班級人數可為空表3course課程信息表字段名數據類型含義說明空值情況課程號Char(6)課程編號主關鍵字課程名Char(12)課程編號不為空學時Dec(2)課程學時可為空學分Dec(2)課程學分可為空開課學期Dec(2)開課學期可為空教師號Char(6)授課教師外鍵表teacher教師信息表字段名數據類型含義說
7、明空值情況教師號Char(6)教師編號主關鍵字教師名Char(8)教師姓名不為空性別Char(2)教師性別可為空職稱Char(8)教師職稱可為空表score成績信息表字段名數據類型含義說明空值情況學號Char(6)學生編號主關鍵字課程號Char(6)課程編號主關鍵字分數Dec(2)考試分數可為空學期Dec(2)考試學期可為空班級號Char(6)班級編號可為空表6 user用戶信息表字段名數據類型含義說明空值情況用戶名Varchar(12)用戶名稱主關鍵字密碼Varchar(12)用戶密碼不為空五、軟件功能設計、登錄到教學管理系統可以完成系統管理功能,學生管理功能,成績管理功能,班級管理功能,班
8、級管理功能,課程管理功能和教師管理功能(如圖6)。系統管理:可以實現用戶的添加和修改密碼。學生管理:可以對學生的記錄進行添加,刪除,修改和查詢。還可以統計某學生,某學期的所有課程的平均成績。成績管理:可以對成績記錄進行添加,刪除,修改和查詢。還可以統計某學生、某學期的所有課程的平均成績及按班級,按課程計算平均成績、最高成績、最低成績、及格率。班級管理:可以對成績記錄進行添加,刪除,修改和查詢。課程管理:可以對課程記錄進行添加,刪除,修改和查詢。教師管理:可以對課程記錄進行添加,刪除,修改和查詢及教師授課情況的查詢。圖7 軟件功能圖、軟件功能介紹()首先進入用戶登錄界面,在該界面輸入有效的用戶名
9、與密碼,單擊“確認”登錄。圖8 用戶登錄界面(2)進入教學管理系統主應用界面后,單擊對應的菜單欄選項,選擇所需的操作。圖9主頁面(3) 打開學生管理菜單可以對學生的記錄進行添加、刪除、修改和查詢。圖10學生管理頁面可以對學生的姓名和班級分別進行查詢。圖11 學生查詢頁面(4)打開成績管理菜單可以對成績的記錄進行添加、刪除、修改和查詢。圖12成績管理頁面可以對學號,課程號分別查詢,也可以學號、課程號一起查詢。圖13 成績查詢頁面1輸入班級號、輸入課程號計算平均成績、最高成績、最低成績、及格率圖14 成績查詢頁面2統計某學生,某學期的所有課程的平均成績圖15 學期平均成績查詢頁面(5) 打開班級管
10、理菜單可以對班級的記錄進行添加、刪除、修改和查詢。圖16 班級管理頁面輸入班級號,對班級所有信息進行查詢圖17 班級查詢頁面(6) 打開課程管理菜單可以對課程的記錄進行添加、刪除、修改和查詢。圖18 課程管理頁面輸入課程號,對課程所有信息進行查詢圖19 課程查詢頁面(7) 打開教師管理菜單可以對教師的記錄進行添加、刪除、修改和查詢。圖20 教師管理頁面輸入教師號,可對教師所授課程時行查詢圖21教師查詢頁面六、程序源代碼下面給出系統的部分設計圖及部分源代碼 (1)在進行系統界面編程前,先建立數據庫,并建立外鍵。(2)數據庫建立后,進行窗口編程。首先建立一個新的工作空間和應用。連接數據庫,在應用的
11、open事件下輸入如下代碼:/ Profile StudentSQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "Connectstring='DSN=student'"connect;if sqlca.sqlcode<>0 thenmessagebox("連接失敗","不能連接數據源")returnend ifopen(w_login) (3) 學生管理頁面、成績管理頁面、班級管理頁面、課程管理頁面、教師管理頁面功能似,
12、類所以以學生管理頁面為例,學生管理頁面(圖10)的代碼如下: 顯示按鈕cb_3的代碼:dw_1.retrieve('%','%')添加按鈕cb_tianjia的代碼:string ls_ssexdec ls_szongif rb_1.checked thenls_ssex='男'else if rb_2.checked thenls_ssex='女' end ifend ifls_szong=dec(sle_5.text)insert into stu values(:sle_1.text,:sle_2.text,:ls_ssex
13、,: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(),false)if cb_4.text="修改" thendw_1.selectrow(dw_1.getrow(),true)cb_4.text="確認"sle_1.text
14、=dw_1.getitemstring(dw_1.getrow(),"學號")sle_2.text=dw_1.getitemstring(dw_1.getrow(),"姓名")em_1.text=string(dw_1.getitemdate(dw_1.getrow(),"出生日期")sle_4.text=dw_1.getitemstring(dw_1.getrow(),"班級號")sle_5.text=string(dw_1.getitemdecimal(dw_1.getrow(),"總學分"
15、)if dw_1.getitemstring(dw_1.getrow(),"性別")='男'thenrb_1.checked=truerb_2.checked=falseelserb_2.checked=truerb_1.checked=falseend ifelse cb_4.text="修改"string ls_ssexdec ls_szongif rb_1.checked thenls_ssex='男'elseif rb_2.checked thenls_ssex='女'end ifend ifls_
16、szong=dec(sle_5.text)dw_1.setitem(dw_1.getrow(),"學號",sle_1.text)dw_1.setitem(dw_1.getrow(),"姓名",sle_2.text)dw_1.setitem(dw_1.getrow(),"班級號",sle_4.text)dw_1.setitem(dw_1.getrow(),"總學分",dec(sle_5.text)dw_1.setitem(dw_1.getrow(),"出生日期",date(em_1.text)dw
17、_1.setitem(dw_1.getrow(),"性別",ls_ssex) commit;sle_1.text=""sle_2.text=""sle_4.text=""sle_5.text=""em_1.text=""rb_1.checked=falserb_2.checked=falseend if修改按鈕cb_2的代碼:dw_1.update()其中dw_1的DataObject屬性為d_stu. (4)學生查詢頁面、成績查詢頁面、班級查詢頁面、課程查詢頁面、教師查詢頁
18、面功能類似,所以以學生查詢頁面為例,學生查詢頁面(圖11)的代碼如下:學生查詢按鈕cb_1的代碼:dw_1.retrieve('%'+sle_1.text+'%','')班級查詢按鈕cb_的代碼:dw_1.retrieve('','%'+sle_2.text+'%')其中dw_1的DataObject屬性為d_stu.(5)按班級號、按課程號計算平均成績、最高成績、最低成績、及格率功能類似,所以以查詢班級號的及格率為例,查詢班級號的及格率頁面(圖14)的代碼如下:Tab_1.tabpage_4.cb
19、_7的clicked事件下的代碼為:integer count1,result,count2declare jisuan cursor forselect 分數 from score where 班級號=:sle_7.text; open jisuan; fetch jisuan into :result; do while sqlca.sqlcode=0count2=count2+1if result>=60 then count1=count1+1end iffetch jisuan into :result;loopclose jisuan;messagebox("提示&
20、quot;,"該班級的及格率是:"+string(count1/count2)*100)+'%')(6)查詢教師授課成績頁面(圖19)的代碼如下:Teacher表與course表以教師號為外鍵建立關聯。按鈕Cb_1的clicked事件下的代碼:dw_1.retrieve('%'+sle_1.text+'%')其中dw_1的DataObject屬性為d_shouke七、 心得體會PowerBuilder開發工具是一款比較好用的開發工具,通過這次課程設計,我基本上掌握了PB開發工具的運用,能獨立完成一些小型軟件的設計了,不得不說,課程設計是一門必要的課程。在做教學管理系統的這段時間里讓
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 怎樣發表教育論文
- 2025-2030年動力煤行業市場深度調研及發展趨勢與投資戰略研究報告
- 2025-2030年中國隔熱板行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國銅卷行業市場現狀供需分析及投資評估規劃分析研究報告
- 數學趣味圖片題目及答案
- 2025-2030年中國酸梅醬行業發展趨勢與前景展望戰略研究報告
- 2025-2030年中國軟盤行業市場現狀供需分析及投資評估規劃分析研究報告
- 數學競賽整式題目及答案
- 歷史文化主題拼圖行業跨境出海項目商業計劃書
- 面食餐飲線上推廣行業深度調研及發展項目商業計劃書
- 2025年涼山昭覺縣委社會工作部選聘社區工作者題庫帶答案分析
- 2024北京高考一分一段表
- 公寓中介渠道管理制度
- 出租房合同責任免除協議書
- 中國科技課件
- 2025年希臘語A2等級考試官方試卷
- 地理-2025年中考終極押題猜想(全國卷)
- 2024年廣東省新會市事業單位公開招聘輔警考試題帶答案分析
- 廣安2025年上半年廣安市岳池縣“小平故里英才”引進急需緊缺專業人才筆試歷年參考題庫附帶答案詳解
- 派特靈用于女性下生殖道人乳頭瘤病毒感染及相關疾病專家共識(2025年版)解讀
- 數字化轉型背景下制造業產業鏈協同創新機制研究
評論
0/150
提交評論