高校教學(xué)與課表制作管理系統(tǒng)畢業(yè)論文_第1頁
高校教學(xué)與課表制作管理系統(tǒng)畢業(yè)論文_第2頁
高校教學(xué)與課表制作管理系統(tǒng)畢業(yè)論文_第3頁
高校教學(xué)與課表制作管理系統(tǒng)畢業(yè)論文_第4頁
高校教學(xué)與課表制作管理系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)(論文)題 目高校教學(xué)與課表制作管理系統(tǒng) 學(xué) 院計(jì)算機(jī)與信息工程學(xué)院 專 業(yè)信息管理與信息系統(tǒng) 班級(jí) 信息管理021 姓 名 學(xué)號(hào) 024631159 指導(dǎo)教師 職稱講師 目 錄摘要1前言21 系統(tǒng)設(shè)計(jì)21.1 系統(tǒng)總體設(shè)計(jì)方案21.2 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)21.3 系統(tǒng)模塊結(jié)構(gòu)圖31.4 部分模塊功能詳細(xì)設(shè)計(jì)41.4.1 系統(tǒng)管理41.4.2 數(shù)據(jù)管理41.4.3 課程管理41.4.4 排課課程52 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)53 系統(tǒng)功能的實(shí)現(xiàn)73.1 用戶管理73.2 學(xué)院管理73.3 專業(yè)管理83.4 班級(jí)管理93.5 教師管理103.6 教室管理113.7 全校課程管理123.8 學(xué)院課程管理

2、133.9 班級(jí)課程管理143.10 教師課程管理153.11 排課課程瀏覽153.12 數(shù)據(jù)庫的連接174 系統(tǒng)測(cè)試與性能分析214.1 系統(tǒng)測(cè)試214.2 性能分析215 結(jié)論22謝辭23參考文獻(xiàn)24高校教學(xué)與課表制作管理系統(tǒng) 摘要:課程表是學(xué)校教學(xué)工作的運(yùn)行圖,課程調(diào)度是高校教務(wù)管理的重要工作,排出科學(xué),合理,運(yùn)行高效的課程表,是教學(xué)管理工作追求的目標(biāo)。本系統(tǒng)改進(jìn)了需求資源矩陣的算法,并以此為核心,設(shè)計(jì)并實(shí)現(xiàn)了課程調(diào)度系統(tǒng),較好地解決了高校的課程調(diào)度問題。關(guān)鍵詞:教學(xué)管理;排課;課表管理系統(tǒng)前言在學(xué)校教務(wù)管理中,課表管理是一項(xiàng)重要而艱苦的工作,它包括課表的編排,修改,查詢和打印等多項(xiàng)工作

3、,其中課表編排尤為復(fù)雜,它需要綜合協(xié)調(diào)學(xué)校中的人力,物力和時(shí)間,安排好學(xué)校的主要教學(xué)活動(dòng);同時(shí),課表編排又是一個(gè)比較復(fù)雜的時(shí)間調(diào)度問題。課表調(diào)度要涉及學(xué)生,教師和設(shè)備等多種因素,在課表編制中,隨著各種因素的增多,數(shù)據(jù)量與計(jì)算量急劇增加。因此,計(jì)算機(jī)用于課表管理是非常必要也是可行的。隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,計(jì)算機(jī)在各項(xiàng)管理中的應(yīng)用已經(jīng)非常普及,利用計(jì)算機(jī)進(jìn)行教育教學(xué)管理勢(shì)在必行。特別是對(duì)于規(guī)模較大的學(xué)校來說,利用計(jì)算機(jī)可以高效率地完成教學(xué)管理的日常事務(wù),使教學(xué)管理工作更加適應(yīng)現(xiàn)代教育機(jī)制的要求,并推動(dòng)教育教學(xué)管理走向科學(xué)化,規(guī)范化。“排課管理”是一項(xiàng)瑣碎,復(fù)雜而又十分細(xì)致的工作,關(guān)系到學(xué)校日常

4、工作能否順利進(jìn)行,以及整個(gè)學(xué)期教學(xué)計(jì)劃能否按時(shí)完成。一旦出現(xiàn)課程排列沖突,比如,一個(gè)教師同一時(shí)間上兩門課,或者有兩個(gè)教師同時(shí)去一個(gè)教室上不同的課程,必將產(chǎn)生教學(xué)混亂等現(xiàn)象,使日常教學(xué)工作不能正常運(yùn)行,或者使得人力物力資源不能合理有效地利用,如果用手工操作,會(huì)耗費(fèi)教務(wù)人員大量的時(shí)間和精力,用計(jì)算機(jī)進(jìn)行排課管理工作,不僅能夠保證課程表準(zhǔn)確無誤,快速輸出,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)教師信息和課程設(shè)置情況進(jìn)行統(tǒng)籌安排,并與教師管理,學(xué)生學(xué)籍管理等其它教學(xué)管理工作有機(jī)地結(jié)合起來。同時(shí)計(jì)算機(jī)有著手工管理所無法比擬的優(yōu)點(diǎn),例如:“修改”,“添加”,“刪除”容易;檢索迅速,查找方便;可靠性高,存儲(chǔ)量大等。這些

5、優(yōu)點(diǎn)能夠極大地提高教育教學(xué)管理工作的效率,也是實(shí)現(xiàn)教育現(xiàn)代化的重要組成部分。1 系統(tǒng)設(shè)計(jì)1.1 系統(tǒng)總體設(shè)計(jì)方案(1)初始設(shè)置:此功能在開始排下一學(xué)期課時(shí),要?jiǎng)h除上學(xué)期在排課過程中產(chǎn)生的數(shù)據(jù)庫;輸入系統(tǒng)初始化信息(上次的信息可以載入);輸入本次排課所能占用的時(shí)間;對(duì)基本數(shù)據(jù)庫中某些字段的值進(jìn)行修正。(2)數(shù)據(jù)管理。管理基本數(shù)據(jù)庫中的數(shù)據(jù),生成排課過程中需要用到的中間數(shù)據(jù)庫,可以對(duì)教師,教室,課程,專業(yè),班級(jí)等信息,進(jìn)行模糊查詢,對(duì)數(shù)據(jù)進(jìn)行添加,刪除,修改和打印。(3)排課管理:此功能對(duì)有特殊要求的課程,教室,教師,時(shí)間,班級(jí)進(jìn)行管理;對(duì)因教師資源緊缺或因其它原因,需要合班的班級(jí)進(jìn)行處理;自動(dòng)課

6、表管理;對(duì)排課結(jié)果可以進(jìn)行手工修改。(4)課表管理:可以對(duì)校總課表,學(xué)院總課表,教師課表,教室課表進(jìn)行打印、查詢。(5)系統(tǒng)服務(wù):對(duì)數(shù)據(jù)進(jìn)行備份/恢復(fù),對(duì)數(shù)據(jù)庫進(jìn)行索引維護(hù),進(jìn)行用戶設(shè)置(設(shè)置用戶對(duì)軟件的使用權(quán)限,如查詢權(quán),排課權(quán)等)。1.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)在系統(tǒng)分析之后,我們發(fā)現(xiàn)數(shù)據(jù)及查詢之間存在一對(duì)一,一對(duì)多,多對(duì)一及多對(duì)多各種數(shù)據(jù)聯(lián)系,在保證數(shù)據(jù)全面而冗余度小的情況下,設(shè)計(jì)了如下數(shù)據(jù)庫及其結(jié)構(gòu)。(1)學(xué)院信息庫:學(xué)院編號(hào),學(xué)院名稱。(2)全校專業(yè)設(shè)置庫:專業(yè)號(hào),學(xué)院編號(hào),專業(yè)名稱,學(xué)制。(3)班級(jí)信息庫:班級(jí)號(hào)(年級(jí)號(hào)+專業(yè)號(hào)+順序號(hào)),班級(jí)名稱,學(xué)院編號(hào),專業(yè)編號(hào),學(xué)生人數(shù),班主任,入校

7、時(shí)間,畢業(yè)時(shí)間。(4)教師信息庫:所在學(xué)院,所學(xué)專業(yè),教師編號(hào),教師名稱,性別,聯(lián)系電話,辦公室電話,家庭電話,mail等字段。(5)教室信息庫:教室號(hào),教室名稱,教室位置,教室容量,教室特性,備注,占用狀態(tài)(全占,部分占用,沒占)。(6)全校課程庫:課程號(hào),課程名,簡(jiǎn)稱,總學(xué)時(shí)數(shù),周學(xué)時(shí),學(xué)分,考試形式。(7)學(xué)院課程庫:學(xué)院編號(hào),課程編號(hào),考試類型,課程類型。(8)班級(jí)課程庫:班級(jí)編號(hào),課程編號(hào),課程名稱,類別,類別(校必修、學(xué)院必修,選修,專業(yè)任選,任選)。(9)班級(jí)-教師-課程庫:班級(jí)名,教師名,課程名,周學(xué)時(shí),周次數(shù),類別,人數(shù)在班級(jí)-課程庫中,按記錄對(duì)課程1課程m(判斷不為空時(shí)nu

8、ll)依次取出字段值,截取出課程名,課型和類別;在課程庫中查出周學(xué)時(shí);在班級(jí)庫中對(duì)應(yīng)班級(jí)號(hào)查出班級(jí)名,人數(shù);在教師庫中由課程類別,判斷出被選中次數(shù)少且職稱符合該類別的并且?guī)г撻T課的教師名,當(dāng)該教師被選中后,被選中次數(shù)自動(dòng)+1。再對(duì)課程2(判斷不為空時(shí)null)取出字段值,如此循環(huán)。排課前將該表發(fā)到系里,由教師修改后收回,修改庫中內(nèi)容。(10)時(shí)間模型庫(time):時(shí)間編號(hào),時(shí)間名稱,時(shí)間代碼。為了便于排課,建立時(shí)間安排模型如表所示。表1-1 建立的時(shí)間安排模型表星期一星期二星期三星期四星期五(1,2節(jié))1121314151(3,4節(jié))1222324252(5,6節(jié))1323334353(7,

9、8節(jié))1424344454(9,10節(jié))1525354555(11)排課總表:教師編號(hào),班級(jí)編號(hào),教室編號(hào),課程編號(hào),時(shí)間代碼。在排課過程中,需要生成中間庫,這些庫是在以上庫的基礎(chǔ)上產(chǎn)生的。1.3系統(tǒng)模塊結(jié)構(gòu)圖系統(tǒng)模塊結(jié)構(gòu)圖如圖1-1所示。高校教學(xué)與課表制作管理系統(tǒng)排課課程課程管理數(shù)據(jù)管理系統(tǒng)管理注冊(cè)用戶信息瀏覽系統(tǒng)用戶更改用戶口令學(xué)院信息管理專業(yè)信息管理班級(jí)信息管理教師信息管理教室信息管理全校課程設(shè)計(jì)學(xué)院課程設(shè)計(jì)班級(jí)課程設(shè)計(jì)教師課程設(shè)計(jì)班級(jí)課表瀏覽教師課表瀏覽班級(jí)課表打印教師課表打印圖1-1 系統(tǒng)模塊結(jié)構(gòu)圖1.4 部分模塊功能詳細(xì)設(shè)計(jì)1.4.1 系統(tǒng)管理(1)注冊(cè)用戶信息:用戶權(quán)限類型的不同

10、,系統(tǒng)中添加管理員和普通用戶兩種類型的用戶信息,用戶信息包括用戶名,密碼,權(quán)限等。(2)瀏覽系統(tǒng)用戶:系統(tǒng)的所有用戶信息包括用戶名和用戶類型等信息進(jìn)行瀏覽。(3)更改用戶口令:為了達(dá)到系統(tǒng)的安全的目的, 在系統(tǒng)設(shè)計(jì)時(shí), 使用了用戶口令信息的更改。1.4.2數(shù)據(jù)管理(1)學(xué)院信息管理:對(duì)學(xué)院的基本情況,學(xué)院名稱,學(xué)院編號(hào)等信息進(jìn)行管理,可以進(jìn)行查詢,打印,增加,刪除,修改。(2)專業(yè)信息管理:對(duì)專業(yè)的基本情況進(jìn)行管理,可以進(jìn)行查詢,打印,增加,刪除,修改。(3)班級(jí)信息管理:對(duì)班級(jí)的基本情況進(jìn)行管理,可以進(jìn)行查詢,打印,增加,刪除,修改。班級(jí)編號(hào)是學(xué)院和專業(yè)的編號(hào)自動(dòng)計(jì)算出來,班級(jí)編號(hào)(年級(jí)號(hào)+

11、專業(yè)編號(hào))字段的值。修改班級(jí)號(hào)是編輯編號(hào)作觸發(fā)器,當(dāng)班級(jí)庫中的“班級(jí)編號(hào)”字段有值時(shí),顯示出來提示。(4)教師信息管理:對(duì)教師的基本情況,所帶課程,是否參加本次排課等信息進(jìn)行管理,可以進(jìn)行查詢,打印,增加,刪除,修改。(5)教室信息管理:對(duì)教室的基本情況,教室編號(hào),教室名稱,教室位置,教室容量,教室特點(diǎn)等信息進(jìn)行管理,可以進(jìn)行查詢,打印,增加,刪除,修改。1.4.3課程管理(1)全校課程設(shè)計(jì):系統(tǒng)排課中所需的所有課程的基本信息進(jìn)行管理,可以進(jìn)行添加,修改,刪除,瀏覽。(2)學(xué)院課程設(shè)計(jì):在全校課程庫中選擇學(xué)院課程,對(duì)學(xué)院課程的基本情況進(jìn)行管理,可以進(jìn)行添加,修改,刪除,瀏覽。(3)班級(jí)課程設(shè)計(jì)

12、:在學(xué)院課程庫中選擇班級(jí)課程,對(duì)班級(jí)課程的基本情況進(jìn)行管理,可以進(jìn)行添加,修改,刪除,瀏覽。(4)教師課程設(shè)計(jì):在全校課程庫中選擇教師課程,對(duì)教師課程的基本情況進(jìn)行管理,可以進(jìn)行添加,修改,刪除,瀏覽。1.4.4排課課程首先在窗口中的“安排課程”按鈕來進(jìn)行班級(jí)課程信息表中的所有班級(jí)課程進(jìn)行自動(dòng)安排后,瀏覽窗口中選擇班級(jí)所在的學(xué)院,指定的班級(jí)課程信息顯示在指定的表格中,在表格中的課程信息瀏覽,通過打印功能可以打印每個(gè)班級(jí)和每個(gè)教師的課程表。(1)班級(jí)課表瀏覽:瀏覽班級(jí)的課表信息,包括課程名稱,教室位置,教師等。(2)教師課表瀏覽:瀏覽教師的課表信息,包括課程名稱,教室位置,班級(jí)等。(3)班級(jí)課表

13、打印:打印班級(jí)課程表,包括課程名稱,教室位置,教師名稱等。(4)教師課表打?。捍蛴〗處熣n程表,包括課程名稱,教室位置,班級(jí)名稱等。2 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)在數(shù)據(jù)庫的選擇上,我們選擇了microsoft 公司的sql server 2005數(shù)據(jù)庫。數(shù)據(jù)庫名稱jskbook.db數(shù)據(jù)庫是有18張表構(gòu)成。最主要的是:用戶管理,學(xué)院管理,專業(yè)管理,班級(jí)管理,教師信息,教室信息,全校課程信息,學(xué)院課程信息,班級(jí)課程信息,教師課程信息,班級(jí)課程教師信息,時(shí)間信息,排課信息等。分別如表2-1,表2-2,表2-3,表2-4,表2-5,表2-6,表2-7,表2-8,表2-9,表2-10 ,表2-11,表2-12所示。

14、表2-1 用戶管理表名稱數(shù)據(jù)類型主鍵用戶名稱varchar(10)false用戶密碼varchar(10)false用戶權(quán)限smallintfalse表2-2 學(xué)院管理表名稱數(shù)據(jù)類型主鍵學(xué)院編號(hào)inttrue學(xué)院名稱varchar(50)false表2-3 專業(yè)管理表名稱數(shù)據(jù)類型主鍵專業(yè)名稱varchar(50)false專業(yè)編號(hào)inttrue學(xué)院編號(hào)intfalse學(xué)制intfalse表2-4 班級(jí)管理表名稱數(shù)據(jù)類型主鍵班級(jí)編號(hào)inttrue班級(jí)名稱varchar(50)false學(xué)院編號(hào)intfalse專業(yè)編號(hào)intfalse班級(jí)人數(shù)intfalse班主任intfalse入校時(shí)間intfa

15、lse畢業(yè)時(shí)間intfalse表2-5 教師信息表名稱數(shù)據(jù)類型主鍵教師編號(hào)inttrue教師名稱varchar(50)false所在學(xué)院intfalse所學(xué)專業(yè)varchar(50)false性別varchar(50)false學(xué)歷varchar(50)false聯(lián)系電話varchar(50)false辦公室電話varchar(50)false家庭電話varchar(50)falsemailvarchar(50)false表2-6 教室信息表名稱數(shù)據(jù)類型主鍵教室編號(hào)inttrue教室名稱varchar(50)false教室位置varchar(50)false教室容量intfalse教室特點(diǎn)va

16、rchar(50)false表2-7 全校課程信息表名稱數(shù)據(jù)類型主鍵課程編號(hào)inttrue課程名稱varchar(50)false簡(jiǎn)稱varchar(50)false總學(xué)時(shí)數(shù)intfalse周學(xué)時(shí)數(shù)intfalse學(xué)分intfalse考試形式varchar(50)false表2-8 學(xué)院課程信息表名稱數(shù)據(jù)類型主鍵學(xué)院編號(hào)inttrue課程編號(hào)inttrue考試類型varchar(50)false課程類型varchar(50)false表2-9 班級(jí)課程信息表名稱數(shù)據(jù)類型主鍵班級(jí)編號(hào)inttrue課程編號(hào)inttrue課程名稱varchar(50)false周學(xué)時(shí)數(shù)intfalse表2-10 教

17、師課程信息表名稱數(shù)據(jù)類型主鍵課程編號(hào)inttrue課程名稱intfalse教師編號(hào)varchar(50)true周學(xué)時(shí)數(shù)intfalse表2-11 排課總表名稱數(shù)據(jù)類型主鍵教室編號(hào)inttrue時(shí)間編號(hào)inttrue課程編號(hào)intfalse教師編號(hào)intfalse班級(jí)編號(hào)intfalse表2-12 打印課程名稱表名稱數(shù)據(jù)類型主鍵時(shí)間編號(hào)varchar(50)true星期一varchar(50)true星期二varchar(50)false星期三varchar(50)false星期四varchar(50)false星期五varchar(50)false班級(jí)名稱varchar(50)false3

18、系統(tǒng)功能的實(shí)現(xiàn)本系統(tǒng)采用多文檔窗體 mdi程序結(jié)構(gòu),程序中的登錄窗口,學(xué)院管理,專業(yè)管理,班級(jí)管理,教師管理,教室管理,全校課程管理,學(xué)院課程管理,班級(jí)課程管理,教師課程管理,功能與子窗體一一對(duì)應(yīng),所有自窗體位于主窗體中。3.1 用戶管理通過該模塊給系統(tǒng)的不同用戶不同的權(quán)限來限制他們的可操作范圍,從而達(dá)到數(shù)據(jù)的安全性和完整性。根據(jù)本系統(tǒng)特點(diǎn)及各領(lǐng)域的工作人員能進(jìn)行的操作范圍的不同我們把用戶權(quán)限劃分為兩個(gè)類型;管理員用戶,一般用戶。系統(tǒng)的所有功能每個(gè)管理員用戶開放的,一般用戶只使用系統(tǒng)的一些基本功能。(1)新用戶注冊(cè):通過該窗體來實(shí)現(xiàn)不同類型用戶的新建操作。(2)瀏覽用戶信息:通過該窗體來實(shí)現(xiàn)所

19、有用戶的為瀏覽操作。(3)修改口令:通過該窗體來實(shí)現(xiàn)各個(gè)用戶可以修改自己的密碼。3.2 學(xué)院管理通過該模塊來管理系統(tǒng)所需的所有學(xué)院信息的操作?!皩W(xué)院管理”用戶維護(hù)整個(gè)系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù),以保證排課系統(tǒng)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù),便于數(shù)據(jù)的共享使用,內(nèi)容包括學(xué)院名稱,學(xué)院編號(hào)等,學(xué)院編號(hào)為三位的整數(shù)組成。該模塊包括兩個(gè)子窗體;(1)學(xué)院信息添加:通過該窗體來實(shí)現(xiàn)學(xué)院信息的添加操作。在添加過程中學(xué)院編號(hào)是惟一的,輸入編號(hào)時(shí)系統(tǒng)自動(dòng)檢索數(shù)據(jù)庫,如果輸入的編號(hào)數(shù)據(jù)庫中已經(jīng)存在系統(tǒng)自動(dòng)提示重新輸入。(2)學(xué)院信息瀏覽:通過該窗體來實(shí)現(xiàn)學(xué)院信息的瀏覽操作。在瀏覽時(shí)也可以學(xué)院信息添加,修改,刪除等操

20、作。圖3-1 學(xué)院信息瀏覽界面3.3 專業(yè)管理通過該模塊來管理系統(tǒng)所需的所有專業(yè)信息的操作?!皩I(yè)管理”也是用戶維護(hù)整個(gè)系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù),以保證排課系統(tǒng)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù),便于數(shù)據(jù)的共享使用,內(nèi)容包括專業(yè)名稱,專業(yè)編號(hào),學(xué)院名稱,學(xué)制等專業(yè)編號(hào)為五位的整數(shù)組成。該模塊只組成一個(gè)子窗體;專業(yè)信息管理:通過該窗體來實(shí)現(xiàn)專業(yè)信息的添加,修改,刪除和查找等操作。查找按學(xué)院的名稱查找出來該學(xué)院的所有專業(yè)信息。圖3-2 專業(yè)信息管理界面查詢功能:主要選擇學(xué)院名稱時(shí)顯示該學(xué)院的相關(guān)專業(yè),不選擇學(xué)院名稱時(shí)顯示所有專業(yè)的信息。主要代碼如下:if (cmbcxm.text = ) this.sq

21、ldataadapter1.selectcommand.commandtext = strmorensql; this.sqldataadapter1.fill(this.dataset31, 專業(yè)管理); else string wherestr = null;/該變量定義在上面; string xueyuanmingcheng = cmbcxm.text.trim(); wherestr = where 學(xué)院管理表.學(xué)院名稱= + xueyuanmingcheng + ; this.dataset31.clear(); this.sqldataadapter1.selectcommand.

22、commandtext = strmorensql + wherestr; this.sqldataadapter1.fill(dataset31, 專業(yè)管理);3.4 班級(jí)管理通過該模塊來管理系統(tǒng)排課中所需的班級(jí)信息?!鞍嗉?jí)管理”也是用戶維護(hù)整個(gè)系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù),以保證排課系統(tǒng)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù),便于數(shù)據(jù)的共享使用,內(nèi)容包括班級(jí)名稱,班級(jí)編號(hào),學(xué)院編號(hào),專業(yè)編號(hào),班級(jí)人數(shù),班主任,所在年級(jí),入校時(shí)間,畢業(yè)時(shí)間等。(1)班級(jí)信息添加:通過該窗體來實(shí)現(xiàn)專業(yè)信息的添加操作。添加班級(jí)信息時(shí)只選擇班級(jí)的所在年級(jí),學(xué)院,專業(yè)等信息,班級(jí)編號(hào),班級(jí)名稱,入校時(shí)間,畢業(yè)時(shí)間等信息系統(tǒng)自動(dòng)形

23、成的。班級(jí)編號(hào)=(年級(jí)號(hào)+專業(yè)號(hào)),畢業(yè)時(shí)間=(年級(jí)+學(xué)制)。(2)班級(jí)信息瀏覽:通過該窗體來實(shí)現(xiàn)班級(jí)信息的瀏覽,添加,修改,刪除,查找等操作。查找時(shí)可以按學(xué)院,專業(yè),年級(jí)等分類查找,查出來的信息也可以直接修改。圖3-3 班級(jí)信息瀏覽界面添加班級(jí)信息:首先檢查該班級(jí)是否存在,如果該班級(jí)已經(jīng)存在數(shù)據(jù)庫中顯示相關(guān)的提示信息,如果不存在就添加該班級(jí)的相關(guān)信息。int biyeshijian = ruxiaoshijian + xuezhi; /畢業(yè)時(shí)間=入校時(shí)間+學(xué)制;string sqlstr = insert into 班級(jí)管理(班級(jí)編號(hào),班級(jí)名稱,學(xué)院編號(hào),專業(yè)編號(hào),班級(jí)人數(shù),班主任,入校時(shí)間

24、,畢業(yè)時(shí)間) values(;sqlstr += ibanjibanhao + , + txtbanjimc.text.trim() + , + xueyuanbianhao + , + zhuanyebianhao + , + banjirenshu;sqlstr += ,+txtbanzhur.text.trim()+,+ruxiaoshijian+,+biyeshijian+);: int iret = caozuodb.executesql(sqlstr);if (iret 0) messagebox.show(班級(jí)添加成功!, 提示信息, messageboxbuttons.ok,

25、messageboxicon.information); 3.5 教師管理通過該模塊來管理系統(tǒng)排課中所需的所有教師信息?!敖處煿芾怼币彩怯脩艟S護(hù)整個(gè)系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù),以保證排課系統(tǒng)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù),便于數(shù)據(jù)的共享使用。(1)教師信息添加:通過該窗體來實(shí)現(xiàn)教師信息的添加操作。在添加過程中只選擇教師所在的學(xué)員就教師編號(hào)的前兩位系統(tǒng)自動(dòng)添加這是便衣查找某學(xué)院的教師或教師所在學(xué)院。教師編號(hào)也是惟一的,輸入編號(hào)時(shí)系統(tǒng)自動(dòng)檢索數(shù)據(jù)庫,如果輸入的編號(hào)數(shù)據(jù)庫中已經(jīng)存在系統(tǒng)自動(dòng)提示重新輸入。(2)教師信息瀏覽:通過該窗體來實(shí)現(xiàn)教師信息的瀏覽,添加,修改,刪除,查找等操作。查找時(shí)可以按學(xué)院,名

26、稱,學(xué)歷等分類查找查出來的信息也可以直接修改。圖3-4 教師信息瀏覽界面刪除教師信息:刪除在顯示表格中制定行內(nèi)容;jsbh = (datagridview1.currentrow.cells0.value.tostring();string sqlstr = delete 教師信息 where 教師編號(hào)= + jsbh;int iretval = caozuodb.executesql(sqlstr);if (iretval 0) messagebox.show(教師信息刪除成功, 提示, messageboxbuttons.ok, messageboxicon.information);th

27、is.dataset41.tables學(xué)院管理表.clear();this.sqldataadapter1.fill(this.dataset41, 學(xué)院管理表);/在dataset41中添加學(xué)院管理表3.6 教室管理通過該模塊來管理系統(tǒng)排課中所需的所有教室信息。“教室管理”也是用戶維護(hù)整個(gè)系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù),以保證排課系統(tǒng)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù),便于數(shù)據(jù)的共享使用,內(nèi)容包括教室名稱,教室編號(hào),教室位置,教室容量,教室特點(diǎn)等教師特點(diǎn)表示教室的類型(普通,合班,多媒體,多媒體合班等內(nèi)容)教室編號(hào)表示教室所在那號(hào)樓,那一層等信息。(1)教室信息添加:通過該窗體來實(shí)現(xiàn)教室信息的添加操作。

28、在添加過程中只輸入教室編號(hào),教室的名稱,位置,那號(hào)樓,那一層等信息系統(tǒng)自動(dòng)顯示出來。(2)教室信息瀏覽:通過該窗體來實(shí)現(xiàn)教室信息的瀏覽,添加,修改,刪除,查找等操作。查找可以按編號(hào),類型,樓號(hào)等分類查找,查出來的信息也可以直接修改。圖3-5 教室信息界面添加教室信息:首先檢測(cè)要添加教室的教室編號(hào)是否存在數(shù)據(jù)庫里,如果存在顯示相關(guān)的提示信息,不存在就添加相關(guān)教室信息。主要代碼為如下:string sqlstr = insert into 教室信息(教室編號(hào),教室名稱,教室位置,教室容量,教室特點(diǎn)) values( sqlstr += jsbh + , + txtjsm.text.trim() +

29、 , +txtjswz.text.trim() + , + jsrl + , + cmbjstd.text.trim()+ );int iret = caozuodb.executesql(sqlstr);if (iret 0)messagebox.show(教室信息添加成功!, 提示信息, messageboxbuttons.ok, messageboxicon.information);3.7 全校課程管理通過該模塊來管理系統(tǒng)排課中所需的所有課程信息?!叭Un程管理”也是用戶維護(hù)整個(gè)系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù),以保證排課系統(tǒng)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù),便于數(shù)據(jù)的共享使用,內(nèi)容包括課程名稱,

30、課程編號(hào),簡(jiǎn)稱,總學(xué)時(shí)數(shù),周學(xué)時(shí)數(shù),學(xué)分,考試類型(考試課,考查課)等。(1)全校課程添加:通過該窗體來實(shí)現(xiàn)課程信息的添加操作。在添加過程中系統(tǒng)自動(dòng)檢索該課程,如果數(shù)據(jù)庫中已經(jīng)存在改課程,自動(dòng)顯示相關(guān)信息。(2)全校課程瀏覽:通過該窗體來實(shí)現(xiàn)課程信息的瀏覽,添加,修改,刪除,查找等操作。查找可以按名稱,類型等分類查找,查出來的信息也可以直接修改。圖3-6 課程信息管理界面修改課程信息的主要代碼為如下:string sqlstr = update 全校課程信息 set 課程編號(hào)= + kcbh + ,課程名稱= + txtkcmc.text.trim() + ,簡(jiǎn)稱= +txtjc.text.t

31、rim() + ,總學(xué)時(shí)數(shù)= +zxs + ,周學(xué)時(shí)數(shù)= + zxss+ ,學(xué)分= +xf+ ,考試形式= +cmbksxs.text.trim()+ where 課程編號(hào)= +kcbh;int iretval = caozuodb.executesql(sqlstr); / kcbh = (datagridview1.currentrow.cells0.value.tostring();string sqlstr = delete 全校課程信息 where 課程編號(hào)= + kcbh;int iretval = caozuodb.executesql(sqlstr);this.dataset4

32、1.tables全校課程信息.clear();this.sqldataadapter1.fill(this.dataset41, 全校課程信息);3.8 學(xué)院課程管理通過該模塊來管理系統(tǒng)班級(jí)課表排課中所需的所有課程信息。學(xué)院課程主要是在學(xué)校課程庫中選擇出來而形成的不能直接輸入,選擇課程的信息(如:總學(xué)時(shí)數(shù),周學(xué)時(shí)數(shù)等)學(xué)校來制定,學(xué)院不能改正。內(nèi)容包括課程名稱,課程編號(hào),簡(jiǎn)稱,課程類型(必須課,選修課,專業(yè)必須課,專業(yè)任選課)等。該模塊只包括一個(gè)窗體;圖3-7 學(xué)院課程信息界面如圖所示左邊的列表框中顯示學(xué)校的所有課程,右邊顯示該學(xué)院已經(jīng)選擇的課程。運(yùn)行該窗體時(shí),首先選擇學(xué)院名稱,按用戶選擇的學(xué)

33、院名稱系統(tǒng)在右邊的表格中自動(dòng)顯示該學(xué)院已經(jīng)選擇的課程信息。選擇的課程可以重新,選擇,刪除,等操作。添加課程信息的主要代碼為:string item in checkedlistbox1.checkeditemsdatagridview1.rows.add();datagridview1.rowsdatagridview1.rows.count - 1.cells0.value = item.tostring()已經(jīng)選擇的課程名稱刪除在列表框中的主要代碼為:checkedlistbox1.items.remove(checkedlistbox1.checkeditemsi);int icount

34、 = datagridview1.selectedrows.count;for (int i = icount - 1; i = 0; i-)checkedlistbox1.items.add(datagridview1.selectedrowsi.cells0.value.tostring();datagridview1.rows.remove(datagridview1.selectedrowsi);3.9 班級(jí)課程管理通過該模塊來管理系統(tǒng)班級(jí)課表排課中所需的所有課程信息。班級(jí)課程主要是在學(xué)院課程庫中選擇出來而形成的不能直接輸入,選擇課程的信息(課程類型)學(xué)院來制定,班級(jí)不能改正。內(nèi)容包括

35、課程名稱,課程編號(hào),課程類型(必須課,選修課,專業(yè)必須課,專業(yè)任選課)等。該模塊只包括一個(gè)窗體;圖3-8 班級(jí)課程信息界面選擇學(xué)院名稱時(shí),系統(tǒng)自動(dòng)顯示該學(xué)院的所有課程和班級(jí)信息,該操作由以下兩個(gè)函數(shù)來完成;inpurtxykecheng和inpurtclass。private void inpurtclass()string xybh = convert.tostring(xueyuanbianhao);string bjmc = select 班級(jí)名稱 from 班級(jí)管理 where (專業(yè)編號(hào) like + xybh + %); /(教師編號(hào) like 46%)cmbbanji.items

36、.clear();cmbbanji.text = ;object retval = null;int bjmc = caozuodb.executeselect(bjmc, out retval);private void inpurtxykecheng() this.checkedlistbox1.items.clear();object retval = null;lianjie = select 課程編號(hào) from 學(xué)院課程信息 where 學(xué)院編號(hào)= xybh;int iret = caozuodb.executeselect(strlianjie, out retval);if (i

37、ret 0)foreach (object strtxt in retval)string hkcmc = select 課程名稱 from 全校課程信息 where 課程編號(hào)= + convert.toint32(strtxt);string kcmc = convert.tostring(caozuodb.executescalar(hkcmc);this.checkedlistbox1.items.add(kcmc);3.10 教師課程管理通過該模塊來管理系統(tǒng)課表排課中所需的所有教師信息。教師所代替的課程主要是在學(xué)校課程庫中選擇出來而形成的不能直接輸入。內(nèi)容包括課程名稱,課程編號(hào),教師編

38、號(hào)等。教師所講的課程一個(gè)學(xué)期最大有兩門課。該模塊只包括一個(gè)窗體;教師課程信息設(shè)計(jì):通過該窗體來實(shí)現(xiàn)教師課程信息的添加操作。在添加過程中用戶選擇學(xué)院名稱時(shí)該學(xué)院的所有教師顯示出來,然后只制定教師名稱時(shí)系統(tǒng)自動(dòng)顯示該教師所在學(xué)院的所有課程,選擇教師該學(xué)期所講的課程名稱。教師不能直接輸入自己所代替的課程和更改課程信息。教師選擇課程時(shí),可以重新選擇,增加,刪除,查找等操作。圖3-9 教師課程設(shè)計(jì)界面選擇課程后,首先刪除以前存在的課程信息,然后新選擇的內(nèi)容存放在數(shù)據(jù)庫中主要代碼為如下。string delete = delete 教師課程信息 where 教師編號(hào)= + jiaoshibianhao;i

39、nt iretval = caozuodb.executesql(delete);string sqlstr = insert into 教師課程信息(課程編號(hào),課程名稱,教師編號(hào)) values(kcbh + , + kcmc + , + jiaoshibianhao + );int iret = caozuodb.executesql(sqlstr); /調(diào)用數(shù)據(jù)庫修改的函數(shù)。3.11 排課課程瀏覽通過該模塊來瀏覽和打印系統(tǒng)的班級(jí)課表信息和教師課表信息。班級(jí)課程表主要是班級(jí)所有課程的課程名稱,教室位置,教師名稱等。教師課程表主要是教師所有課程的課程名稱,教室位置,班級(jí)名稱等。該模塊只包括一

40、個(gè)窗體;圖3-10 課程表瀏覽界面主要代碼為如下。linkdatabase link = new linkdatabase();string sendtable = 排課總表;this.ds = link.selectdatabase(sendstrsql, sendtable);this.mytable = ds.tables排課總表;for (int i = 0; i mytable.rows.count; i+)string shijianid = this.mytable.rowsi.itemarray1.tostring(); int kcid = this.mytable.rows

41、i.itemarray2.tostring();/獲得課程編號(hào)hkcmc = select 課程名稱 from 全校課程信息 where 課程編號(hào)= + kcid;kcmc = convert.tostring(caozuodb.executescalar(hkcmc); /獲得課程名稱int hs = convert.toint32(shijianid.substring(1, 1); /在表格中顯示行上的位置;int ls = convert.toint32(shijianid.substring(0, 1); /在表格中顯示列上的位置;datagridview2.rowshs - 1.c

42、ellsls.value = kcmc; /填充課程名稱信息;jiaoshiid = this.mytable.rowsi.itemarray0.tostring();/獲教室編號(hào)datagridview1.rowshs - 1.cellsls.value = jiaoshiid; /填充教室編號(hào)teacherid = mytable.rowsi.itemarray3.tostring();/獲得教師編號(hào)hjsmc = select 教師名稱 from 教師信息 where 教師編號(hào)= + teacherid;jsmc = convert.tostring(caozuodb.executesc

43、alar(hjsmc);/獲得教師名稱this.datagridview3.rowshs - 1.cellsls.value = jsmc;/填充教師名稱string kcxx = kcmc + + jiaoshiid+ +jsmc;/課程信息;3.12 數(shù)據(jù)庫的連接在建立數(shù)據(jù)庫應(yīng)用程序過程中,需要經(jīng)常與sql server 數(shù)據(jù)源進(jìn)行交互。本系統(tǒng)的所有數(shù)據(jù)源的連接,查詢和讀取數(shù)據(jù)都是創(chuàng)建一個(gè)類(linkdatabase.cs),命令方式來實(shí)現(xiàn)的。該類的代碼為如下:using system;using system.collections.generic;using system.text;u

44、sing system.data;using system.data.sqlclient;namespace kbgl / 高校教學(xué)與課表管理系統(tǒng);class linkdatabaseprivate string strsql;/連接字符串設(shè)置;public static string username;private string connectionstring = workstation id=localhost;integrated security=sspi;database=jxkbook;/與數(shù)據(jù)庫的連接private sqlconnection myconnection;pri

45、vate sqlcommandbuilder sqlcmdbld;private dataset ds = new dataset();private sqldataadapter da;public linkdatabase()connectionstring = caozuodb.constr;/根據(jù)輸入的sql語句檢索數(shù)據(jù)庫數(shù)據(jù)public dataset selectdatabase(string tempstrsql,string temptablename) this.strsql = tempstrsql;this.myconnection = new sqlconnection

46、(connectionstring);this.da = new sqldataadapter(this.strsql,this.myconnection);this.ds.clear();this.da.fill(ds,temptablename);return ds;/返回填充了數(shù)據(jù)的dataset,其中數(shù)據(jù)表以temptablename 給出的字符串命名/數(shù)據(jù)庫數(shù)據(jù)更新(傳dataset和datatable的對(duì)象)public dataset updatedatabase(dataset changeddataset,string tablename)this.myconnection

47、= new sqlconnection(connectionstring);this.da = new sqldataadapter(this.strsql,this.myconnection);this.sqlcmdbld = new sqlcommandbuilder(da);this.da.update(changeddataset,tablename);return changeddataset;/返回更新了的數(shù)據(jù)庫表/檢索數(shù)據(jù)庫數(shù)據(jù)(傳字符串,直接操作數(shù)據(jù)庫)public datatable selectdatabase(string tempstrsql)this.myconnec

48、tion = new sqlconnection(connectionstring);dataset tempdataset = new dataset();this.da = new sqldataadapter(tempstrsql,this.myconnection);this.da.fill(tempdataset);return tempdataset.tables0;/數(shù)據(jù)庫數(shù)據(jù)更新(傳字符串,直接操作數(shù)據(jù)庫)public int updatedatabase(string tempstrsql)this.myconnection = new sqlconnection(conne

49、ctionstring);/使用command之前一定要先打開連接,后關(guān)閉連接,而dataadapter則會(huì)自動(dòng)打開關(guān)閉連接myconnection.open();sqlcommand tempsqlcommand = new sqlcommand(tempstrsql,this.myconnection);int intnumber = tempsqlcommand.executenonquery();/返回?cái)?shù)據(jù)庫中影響的行數(shù)myconnection.close();return intnumber;在程序中只要?jiǎng)?chuàng)建一個(gè)link database的實(shí)例,然后調(diào)用其中相應(yīng)的函數(shù)既可。在建立系統(tǒng)

50、的各子窗體程序過程中,經(jīng)常需要相應(yīng)的數(shù)據(jù)表中添加,修改,刪除,查找等數(shù)據(jù)的操作和返回一些數(shù)據(jù)都是一個(gè)類(caozuo)中調(diào)用相應(yīng)的函數(shù)來完成。該類的代碼為如下:using system;using system.collections.generic;using system.windows.forms;using system.text;using system.data;using system.data.sqlclient;namespace kbgl class caozuodb public static string tjsc = 添加; public static string constr = data

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論