某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第1頁(yè)
某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第2頁(yè)
某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第3頁(yè)
某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第4頁(yè)
某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

無(wú)憂無(wú)慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 本文配套程序下載地址 : 無(wú)憂無(wú)慮畢設(shè)網(wǎng) ()-大學(xué)生畢業(yè)設(shè)計(jì)站 ,免費(fèi)畢業(yè)設(shè)計(jì)論文 ,無(wú)憂無(wú)慮畢設(shè)網(wǎng) 大學(xué)生畢業(yè)設(shè)計(jì) ,出售各類畢業(yè)設(shè)計(jì)源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費(fèi)視頻教程 ,我們將竭誠(chéng)為您服務(wù)! 分類號(hào) : TP311 U D C: D10621-408-(2007) 5796-0 密 級(jí):公 開(kāi) 編 號(hào): 2003211064 成 都 信 息 工 程 學(xué) 院 學(xué) 位 論 文 某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與 實(shí)現(xiàn) 論文作者姓名: 胡 彥 妮 申請(qǐng)學(xué)位專業(yè): 網(wǎng) 絡(luò) 工 程 申請(qǐng)學(xué)位類別: 工 學(xué) 學(xué) 士 指導(dǎo)教師姓名(職稱): 王 翔 論文提交日期: 2007 年 06月 10 日 無(wú)憂無(wú)慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 當(dāng)?shù)谝慌_(tái)計(jì)算機(jī)出現(xiàn)時(shí),不僅意味著新型革命的到來(lái),也預(yù)示著科技時(shí)代的來(lái)臨。尤其是踏入 21 世紀(jì)后,計(jì)算機(jī)技術(shù)得到了空前的發(fā)展,而網(wǎng)絡(luò)的普及使得各行各業(yè)逐漸離不開(kāi)電腦。對(duì)于高校而言,在教務(wù)辦公中已經(jīng)越來(lái)越多的實(shí)現(xiàn)了自動(dòng)化,既提高了工作的效率,也規(guī)范了教學(xué)的操作,增加了科 學(xué)性。 在分析以往一些排課系統(tǒng)的基礎(chǔ)上,本設(shè)計(jì)提出一個(gè)基于動(dòng)態(tài)加權(quán)算法(即貪婪法)的排課系統(tǒng)設(shè)計(jì)方法,采用手動(dòng)預(yù)排、自動(dòng)排課、手動(dòng)調(diào)節(jié)的三級(jí)排課模式,并對(duì)一些具體的技術(shù)問(wèn)題做出相應(yīng)安排。在功能方面,它能實(shí)現(xiàn)查閱、修改、添加等比較基本的功能,也能夠?qū)崿F(xiàn)自動(dòng)排課、權(quán)限管理等較復(fù)雜的功能。本設(shè)計(jì)采用 C/S 模式,主要用 Delphi7.0 作為前臺(tái)開(kāi)發(fā)工具,用 SQL Server 2003作為后臺(tái)數(shù)據(jù)庫(kù)。 經(jīng)過(guò)測(cè)試后,本設(shè)計(jì)已可達(dá)到預(yù)想中的效果,能夠?qū)崿F(xiàn)簡(jiǎn)易的功能。 關(guān)鍵字 : 動(dòng)態(tài)加權(quán)算法;自動(dòng)化; C/S 模式;三級(jí)排課模 式 Design and Implementation of a University Academic Course Scheduling System Abstract The appearance of the first computer means not only the arrival of a new type of revolution, also herald the advent of the technological era. Particularly in the advent of the 21st century, computer technology has been unprecedented development, and the popularity of the network made businesses do nothing without the assistance of computer. For colleges and universities, the automation of the teaching office has been more and more achieved, which could improve the efficiency of the work, standardize the operation of the teaching, and increase scientific. Based on the analysis of the former Course Scheduling System, the design put forward to a method which is based on a dynamic weighted algorithm (greedy methods), it uses the manual pre-arrangement, automatic timetable and manual adjustment of the three models, and gets the necessary arrangements to some specific technical problems. Concerning the function of system, it achieves basic functions which include access, modify, add, and complex functions like automatically schedule and competence of management. The design uses C/S mode, with Delphi as front development tool, and SQL Server 2003 as backstage database. Though testing, the design can reach the desired effect and achieve the simple function. Key words: Dynamic weighted algorithm; Automation; C/S mode; Three Levels Course Scheduling Model 目 錄 論文總頁(yè)數(shù): 25 頁(yè) 1 引 言 . 1 2 基本理論知識(shí)介紹 . 1 2.1 SQL Server 2003 數(shù)據(jù)庫(kù)簡(jiǎn)介 . 1 2.2 Delphi7.0 簡(jiǎn)介 . 2 2.3 C/S 模式介紹 . 4 3 教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) . 4 3.1 教務(wù)排課系統(tǒng)簡(jiǎn)介 . 4 3.2 教務(wù)排課系統(tǒng)分析 . 5 3.2.1 算法分析 . 5 3.2.2 算法流程圖 . 6 3.2.3 功能分析 . 7 3.2.4 需求分析 . 7 3.3 排課系統(tǒng)的功能模塊 . 8 3.4 數(shù)據(jù)庫(kù)設(shè)計(jì) . 9 3.5 系統(tǒng)流程及代碼分析 . 11 3.5.1 系統(tǒng)流程圖 . 11 3.5.2 代碼分析 . 11 4 系統(tǒng)測(cè)試 . 18 4.1 測(cè)試環(huán)境 . 18 4.2 主要模塊測(cè)試 . 18 4.3 測(cè)試結(jié)果 . 22 結(jié) 論 . 22 參考文獻(xiàn) . 23 致 謝 . 24 聲 明 . 25 第 1 頁(yè) 共 25 頁(yè) 1 引 言 隨著計(jì)算機(jī)的發(fā)展和教育改革的不斷深入,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷成熟,綜合教學(xué)網(wǎng)絡(luò)已廣泛應(yīng)用于學(xué)校教學(xué)、管理的各個(gè)領(lǐng)域,特別是 教務(wù) 排課系統(tǒng)的應(yīng)用。它代表著學(xué)校教學(xué)管理的水平,是現(xiàn)代化管理的手段。目前大多數(shù) 教務(wù) 排課系統(tǒng)是采用各教學(xué)單位進(jìn)行教學(xué)任務(wù)的指派,然后將教學(xué)任務(wù)單提交教務(wù)科,教務(wù)人員將數(shù)據(jù)輸入 計(jì)算 機(jī),進(jìn)行排課、打印課程表等工作。這種 教務(wù) 排課系統(tǒng)只是在一定程度上減輕了教務(wù)人員排 課的負(fù)擔(dān)。 近幾年來(lái),我國(guó)高等教育事業(yè)的快速發(fā)展,高校新生的擴(kuò)招力度加大,各個(gè)高校中的多個(gè)校區(qū)、多個(gè)學(xué)院的教學(xué)管理模式已經(jīng)隨處可見(jiàn),各高校都面臨著教室資源緊張的問(wèn)題 。 原來(lái)每個(gè)班有一個(gè)固定教室的模式已不存在,甚至原來(lái)一個(gè)系專用的教學(xué)樓也要考慮參加全校的教室資源統(tǒng)一調(diào)整。現(xiàn)在的本科院校包括研究生在內(nèi),一般都有上萬(wàn)人或幾萬(wàn)人的規(guī)模 。 要在每個(gè)學(xué)期末的一個(gè)短時(shí)間內(nèi)拿出一份涉及到有關(guān)全校教室統(tǒng)調(diào)的課表來(lái),對(duì)高校的教務(wù)處來(lái)說(shuō)確實(shí)是一個(gè)很艱巨的任務(wù)。 排課系統(tǒng)的主要任務(wù)是根據(jù)現(xiàn)有的教學(xué)資源對(duì)課程進(jìn)行合理的安排。由于高校班 級(jí)數(shù)、課程門數(shù)較多,每門課有涉及很多信息,如果用手工進(jìn)行排課,不可避免地出現(xiàn)教室資源沖突或教師資源沖突的情況。 如何更有效地利用人力、物力資源,充分發(fā)揮計(jì)算機(jī)的輔助作用,減輕教務(wù)人員的工作強(qiáng)度,在對(duì)需求進(jìn)行詳細(xì)的分析后,本文提出了基于教學(xué)大綱的教務(wù)排課設(shè)計(jì)思想,并對(duì)其算法進(jìn)行了描述。 本論文就該教務(wù)排課系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)進(jìn)行了分析探討:首先對(duì)系統(tǒng)的需求分析做了敘述,然后介紹了系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),最后進(jìn)行了系統(tǒng)測(cè)試。本系統(tǒng)采用 Delphi7.0作為前臺(tái)開(kāi)發(fā)工具,采用 SQL Server 2003 作為后臺(tái)數(shù)據(jù)庫(kù)。 2 基本理論知識(shí)介紹 2.1 SQL Server 2003 數(shù)據(jù)庫(kù)簡(jiǎn)介 Microsoft SQL Server 2003 是 Microsoft 公司繼 SQL Server 6.5 和 SQL Server 7.0 以后,推出的又一改進(jìn)的新版關(guān)系型數(shù)據(jù)管理系統(tǒng)。它能使用戶快捷地管理數(shù)據(jù)庫(kù)和開(kāi)發(fā)應(yīng)用程序。 SQL Server 2003 使用了先進(jìn)的數(shù)據(jù)庫(kù)結(jié)構(gòu),與 Windows DNA 緊密集成,具有強(qiáng)大的 Web 功能,它可以利用高端硬件平臺(tái)以及最新網(wǎng)絡(luò)和存儲(chǔ)技術(shù),可以為最大的 Web 站點(diǎn)和企業(yè)應(yīng)用提供優(yōu)良的擴(kuò)展性和可靠性,使用戶 能夠在 Internet 領(lǐng)域快速建立服務(wù)系統(tǒng),為占領(lǐng)市場(chǎng)贏得寶貴的時(shí)間。 同時(shí) , SQL Server 2003 還為用戶提供了重要的安全性功能的增強(qiáng),為用戶的數(shù)據(jù)安全提供了可靠的保證。另外 ,SQL Server 2003 在數(shù)據(jù)庫(kù)服務(wù)器自動(dòng)管理技術(shù)方面處于數(shù)據(jù)庫(kù)領(lǐng)域的領(lǐng)先地位,它可以使用戶免去繁瑣復(fù)雜的工作第 2 頁(yè) 共 25 頁(yè) 量,從而有精力處理更重要的問(wèn)題,使用系統(tǒng)在商業(yè)戰(zhàn)略上占得先機(jī)。 關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)是當(dāng)前最流行的數(shù)據(jù)庫(kù) 管理 系統(tǒng)。它是一個(gè)非常復(fù)雜的系統(tǒng)軟件,對(duì)數(shù)據(jù)庫(kù)的所有操作,包括定義、查詢、更新和各種運(yùn)行控制最終都通過(guò)它來(lái)實(shí)現(xiàn)的 ,因 此 它是使數(shù)據(jù)庫(kù)系統(tǒng)具有 數(shù)據(jù) 共享、并發(fā)訪問(wèn)、 數(shù)據(jù) 獨(dú)立等特性的根本保證。 目前, Microsoft SQL Server 2003 是在成熟和強(qiáng)大的關(guān)系型數(shù)據(jù)庫(kù)中最受歡迎、應(yīng)用最廣泛的一個(gè)。 就關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) (RDBMS)而言,它是位于用 戶 與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它主要負(fù)責(zé)強(qiáng)化數(shù)據(jù)庫(kù)的結(jié)構(gòu),簡(jiǎn)單來(lái)說(shuō)包括如下功能: (1) 維持?jǐn)?shù)據(jù)庫(kù)中 數(shù)據(jù) 的關(guān)系。 (2) 保障 數(shù)據(jù) 的正確存儲(chǔ),即保障定義 數(shù)據(jù) 之間的關(guān)系的種種規(guī)則不會(huì)被違背。 (3) 在系統(tǒng)出錯(cuò)時(shí),把 數(shù)據(jù) 恢復(fù)到一個(gè)能保證一致性的狀態(tài)。 SQL Server 2003 系統(tǒng)之所以成為目前流行的大型商用數(shù)據(jù)庫(kù)系統(tǒng),有著其深刻的內(nèi)在因素,這與它鮮明的特點(diǎn)是分不開(kāi)的: (1) 與 Internet 的高度集成 。 (2) 高伸縮性和適應(yīng)性 。 (3) 企業(yè)級(jí)數(shù)據(jù)庫(kù)功能強(qiáng) 。 (4) 易于安裝和使用 。 (5) 具有決策支持的資料倉(cāng)庫(kù) 。 2.2 Delphi7.0 簡(jiǎn)介 Delphi 是 Borland 公司發(fā)布的用于開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的工具,它是目前開(kāi)發(fā)客戶 /服務(wù)器數(shù)據(jù)庫(kù)應(yīng)用程序的強(qiáng)有力的工具。 Delphi 是具有可視化界面的面向?qū)ο缶幊陶Z(yǔ)言 .而最新的 Delphi 7.0 具有以下新特 點(diǎn): 和以往 Delphi 的每一個(gè)新版本一樣, Delphi 7 繼續(xù)改善了開(kāi)發(fā)環(huán)境,幫助程序員提高效率。 Delphi 7 在集成開(kāi)發(fā)環(huán)境中加入了很多讓程序員愛(ài)不釋手的新功能,下面是對(duì)它們的一個(gè)簡(jiǎn)單介紹。 ( 1) Code Complete(代碼完成) Code Complete 功能在 Delphi 5 中就已經(jīng)加入了,這項(xiàng)功能非常受程序員的歡迎,因?yàn)?Code Complete 可以大幅度地減少程序員需要鍵入的程序代碼,并且減少鍵入錯(cuò)誤。 Delphi 7 的 Code Complete 功能在原有的基礎(chǔ)上繼續(xù)改善,新的 Code Complete 窗口不但可以由程序員自行調(diào)整大小,而且可以使用不同的顏色代表不同的對(duì)象,例如變量、方法和特性等。 ( 2) Object TreeView(對(duì)象樹(shù)視圖) 另外一個(gè)新功能就是 Delphi 7 的 Object TreeView 窗口。這個(gè)新的窗口除第 3 頁(yè) 共 25 頁(yè) 了可以顯示窗體中所有的對(duì)象之外,也可以以分層方式表達(dá)組件之間的關(guān)系。當(dāng)程序員在 Object TreeView 窗口中單擊了一個(gè)組件之后,這個(gè)組件會(huì)立刻出現(xiàn)在對(duì)象查看器之中,這時(shí)程序員可以改變這個(gè)對(duì)象的特性值和事件處理程序。 當(dāng)窗體復(fù)雜,擁有大量的組件時(shí) , Object TreeView 窗口可以讓用戶迅速找到這個(gè)組件,并且知道與當(dāng)前組件相關(guān)的組件,非常方便。 ( 3)可定制的 View 窗口 Delphi 7最強(qiáng)勁的集成開(kāi)發(fā)環(huán)境功能應(yīng)該要算是新的可定制的 View窗口了。在 Delphi 7 中,編輯器不但可以讓程序員觀看和編輯 Object Pascal 的程序代碼,而且如果程序員編輯的是 Web 應(yīng)用程序,那么還可以直接在編輯器中查看HTML 程序代碼、腳本語(yǔ)言程序代碼,預(yù)覽 Web 應(yīng)用程序執(zhí)行結(jié)果的畫(huà)面以及 Web應(yīng)用程序產(chǎn)生的 HTML 程序代碼。 ( 4)新添加 Indy Intercepts 和 Indy I/O Handler 構(gòu)件組 企業(yè)版的 Delphi 7 中,這兩個(gè)構(gòu)件組基本上提供了針對(duì)現(xiàn)今流行的Internet 協(xié)議編程的構(gòu)件??梢赃M(jìn)行更為底層的操作。 ( 5)新添加 IW Standard、 IW Data、 IW Client Side 和 IW Control 構(gòu)件組 這些構(gòu)件也是 Delphi 7 的顯著改革之一,將 Intraweb 集成到了標(biāo)準(zhǔn)的構(gòu)件板中,我們就可以很方便地開(kāi)發(fā)基于 Web 的應(yīng)用程序。 ( 6)新添加的 Rave 報(bào)表構(gòu)件組 Delphi 7 的標(biāo)準(zhǔn)構(gòu)件板中已經(jīng)沒(méi)有 了原來(lái)的 QuickReport 構(gòu)件組,取而代之的是 RAVE 報(bào)表制作組件,并且提供專門的報(bào)表制作工具 Rave Designer。 Rave 報(bào)表構(gòu)件是一個(gè)可視化的報(bào)表設(shè)計(jì)工具,大大簡(jiǎn)化了在應(yīng)用程序中加入報(bào)表的工作。用 Rave 報(bào)表構(gòu)件可以做出各種不同的報(bào)表,從最簡(jiǎn)單的到非常復(fù)雜、個(gè)性化的報(bào)表都可以完成。它的功能包括:圖片支持、對(duì)齊、精確頁(yè)面定位、打印機(jī)設(shè)置、字體控制、打印預(yù)覽、報(bào)表內(nèi)容重用,并支持 PDF、 HTML、 RTF等文本格式。隨著 Active X 數(shù)據(jù)對(duì)象( ADO)的推出,它能讓?xiě)?yīng)用程序通過(guò)任意的 OLE DB 提供者訪問(wèn)和操作數(shù)據(jù)庫(kù),其強(qiáng)大功能使得任何數(shù)據(jù)訪問(wèn)技術(shù)都黯然失色。 而在數(shù)據(jù)集方面,與 BDE不同 ADO是 Microsoft推出的新一代數(shù)據(jù)訪問(wèn)規(guī)范,在 Delphi7 中它的地位等同于一個(gè)和 BDE 并列的數(shù)據(jù)引擎。本系統(tǒng)采用的就是ADO 數(shù)據(jù)集。 雖然 ADO的功能比 BDE比起來(lái)弱一些 ,但和 BDE相比 ADO有一些重要的優(yōu)勢(shì),比如: ADO 將會(huì)內(nèi)制在從 Windows2000 開(kāi)始 Microsoft 新出的所有操作系統(tǒng)中,單第 4 頁(yè) 共 25 頁(yè) 就這一點(diǎn)就足以給其他的數(shù)據(jù)訪問(wèn)方式畫(huà)上問(wèn)號(hào)。 在 Delphi7 中提供了對(duì) ADO 的全力支持,提供了很多 ADO 組件,還增加了一些新的字段類型如: WideString, GUID, Variant, interface, IDispatch 等。 ADO 是面向各種數(shù)據(jù)的層次很高的接口,它提供了強(qiáng)大的數(shù)據(jù)訪問(wèn)功能,可以訪問(wèn)的數(shù)據(jù)對(duì)象有: a.關(guān)系數(shù)據(jù)庫(kù)中的各種數(shù)據(jù); b.非關(guān)系型數(shù)據(jù)庫(kù),如層次型數(shù)據(jù)庫(kù),網(wǎng)狀數(shù)據(jù)庫(kù)等; c.電子郵件與文件系統(tǒng); d.文本與圖象,聲音; e.客戶事務(wù)對(duì)象。 Delphi5.0版本成功地引入了這項(xiàng)技術(shù),極大程度地?cái)U(kuò)展了數(shù)據(jù)庫(kù)處理能力,為 Delphi 程序員帶來(lái)前所未有的廣闊空間。 Delphi 以其功 能強(qiáng)大、簡(jiǎn)單易用等諸多特性,深受編程人員的歡迎。所以我選擇了 Delphi7.0 作為開(kāi)發(fā)工具。 2.3 C/S 模式介紹 C/S ( Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client 端和 Server 端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是 Client/Server 形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的 Web 應(yīng)用發(fā)展, Web 和 Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處 理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。 3 教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 3.1 教務(wù)排課系統(tǒng)簡(jiǎn)介 課程編排作為高等院校教務(wù)管理中的一項(xiàng)重要而且繁重的工作,從一般意義上講,其實(shí)質(zhì)就是對(duì)學(xué)校學(xué)期開(kāi)設(shè)的每門課程合理地分配時(shí)間資源和教室資源的過(guò)程。其中涉及教師、教室、時(shí)間和學(xué)生等多種因素,人為要求也比較多,另外由于這幾年的高校擴(kuò)招導(dǎo)致教室資源比較緊張,諸多因素就加重了課程編排工作的難度和復(fù) 雜度。如果完全由人工來(lái)編排課表,費(fèi)時(shí)費(fèi)力,其科學(xué)性、方便性更是難以保證,所以利用計(jì)算機(jī)進(jìn)行自動(dòng)排課的想法自然而生。目前,經(jīng)研究用來(lái)解決排課問(wèn)題的方法有 :模擬手工排課法、圖論方法、模擬退火法等。國(guó)內(nèi)針對(duì)課表問(wèn)題也相繼研制出了一些排課軟件,但是軟件的通用性差,因各學(xué)校教學(xué)資源不盡相同,管理課表的方法也不乏個(gè)性,很難完全規(guī)范化、程序化。本文根據(jù)某高校的實(shí)際情況,結(jié)合以往的排課經(jīng)驗(yàn),通過(guò)靜態(tài)設(shè)置教學(xué)任務(wù)的優(yōu)先級(jí)、分第 5 頁(yè) 共 25 頁(yè) 配時(shí)間片資源和教室資源時(shí)根據(jù)相關(guān)參數(shù)動(dòng)態(tài)設(shè)置其優(yōu)先級(jí)的算法設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)高校智能排課系統(tǒng)。如何充分利 用有限的教室和時(shí)間資源合理地編排課表,是本文致力研究的主要問(wèn)題。 3.2 教務(wù)排課系統(tǒng)分析 3.2.1 算法分析 在排課系統(tǒng)中,關(guān)鍵的部分在于算法的選擇。好的算法不僅可以節(jié)省時(shí)間,更可以提高效率。 幾種排課算法比較: ( 1)自動(dòng)排課算法:此算法以課程為中心,進(jìn)行搜索匹配,取最先匹配的值;具有占有空間少,運(yùn)算速度快的特點(diǎn)。但其未對(duì)數(shù)據(jù)進(jìn)行擇優(yōu)選取,所以不能對(duì)教學(xué)資源(教師、教室)合理分配,也不能滿足一些特殊要求(比如有些老師喜歡上午上課,有些老師偏向于集中式上課;有些課程安排在上午更合適些,有些課程不能安排到 上午等)。 ( 2)基于優(yōu)先級(jí)的排課算法:從數(shù)學(xué)上講 , 排課問(wèn)題是一個(gè)在時(shí)間、教師、學(xué)生和教室四維空間 , 以教學(xué)計(jì)劃和各種特殊要求為約束條件的組合規(guī)劃問(wèn)題。其實(shí)質(zhì)就是解決各因素之間的沖突。在設(shè)計(jì)算法時(shí) , 為了降低課程調(diào)度的算法復(fù)雜性 , 可采用化整為零的思想 此算法對(duì)班級(jí)及教室劃分等價(jià)類,對(duì)學(xué)校資源進(jìn)行了合理的利用。但對(duì)一些特殊要求還是無(wú)法具體體現(xiàn)出來(lái)。 ( 3)基于時(shí)間片優(yōu)先級(jí)排課算法:此算法屬于貪婪算法。每次對(duì)教師、教室資源的選取都是取當(dāng)前最優(yōu)的數(shù)據(jù)。按照教師、教室、班級(jí)的優(yōu)先級(jí)取最優(yōu)值,所以對(duì)各對(duì)象的一些特 殊要求會(huì)很明顯的體現(xiàn)出來(lái),在教師、教室資源不緊缺的情況下,此算法能排出相對(duì)合理的課程。相對(duì)于之前介紹的兩個(gè)算法,在處理各種特殊要求的能力上有明顯的優(yōu)勢(shì)。 本系統(tǒng)采用的是動(dòng)態(tài)加權(quán)算法即貪婪算法。貪婪法是一種不追求最優(yōu)解,只希望得到較為滿意解的方法。貪婪法一般可以快速得到滿意的解,因?yàn)樗∪チ藶檎易顑?yōu)解要窮盡所有可能而必須耗費(fèi)的大量時(shí)間。貪婪法常以當(dāng)前情況為基礎(chǔ)作最優(yōu)選擇,而不考慮各種可能的整體情況。在解決排課沖突時(shí),為減少貪婪法的缺點(diǎn),特在自動(dòng)排課功能后加入手動(dòng)調(diào)節(jié)功能,使用者可對(duì)不滿意的課程再次調(diào)節(jié)。以下為 算法過(guò)程: ( 1) 初始化排課數(shù)組、課程申請(qǐng)數(shù)組。 ( 2) 賦初始權(quán)值并對(duì)課程申請(qǐng)數(shù)組排序。 ( 3) 將課程申請(qǐng)碼按序進(jìn)行排課,結(jié)果存儲(chǔ)在排課數(shù)組中。 ( 4) 排課思想是將一星期分為幾個(gè)層:星期一至五的上午和下午一二節(jié)、第 6 頁(yè) 共 25 頁(yè) 星期一至五的上午及下午三四節(jié)、星期六全天、星期一至五的晚間。對(duì)不同的層進(jìn)行排課,可避免同一天同一老師授同一門課的問(wèn)題。 ( 5) 若全部排完,則轉(zhuǎn)( 7);否則,計(jì)算并重新賦相應(yīng)權(quán)值。 ( 6) 對(duì)申請(qǐng)數(shù)組重新排序,轉(zhuǎn)到( 3)。 ( 7) 結(jié)束。 3.2.2 算法流程圖 系統(tǒng)的算法流程圖,如圖 1 所示。 清 空 排 課 記 錄各 種 信 息 初 始 化計(jì) 算 權(quán) 值計(jì) 算 總 周 課 數(shù)將 排 課 記 錄 寫(xiě) 入 數(shù) 據(jù) 庫(kù)檢 測(cè) 沖 突異 常 函 數(shù) 處 理打 印 課 表結(jié) 束開(kāi) 始 圖 1 算法流程圖 說(shuō)明:不管是否首次排課,首先進(jìn)行清空排課記錄,對(duì)各種信息的初始化后,計(jì)算權(quán)值和總周課數(shù),就可以將排課記錄寫(xiě)入數(shù)據(jù)庫(kù),這實(shí)際也是自動(dòng)排課的過(guò)程。排完后系統(tǒng)會(huì)進(jìn)行檢測(cè)沖突,若有沖突則彈出提示框,進(jìn)行異常函數(shù)的處理。第 7 頁(yè) 共 25 頁(yè) 有需要的,可打印課表。 3.2.3 功能分析 由于排課算法以及沖突檢測(cè)在細(xì)節(jié)上有很多限制,在設(shè)計(jì)之前我們做了詳細(xì)的討論和分析,得出了排課系統(tǒng)功能的細(xì)節(jié)問(wèn)題: ( 1) “公共基礎(chǔ)課和公選課優(yōu)先固定”,由于這兩種課一 般由教務(wù)處制訂課程計(jì)劃,因此應(yīng)該在自動(dòng)排課之前將它們優(yōu)先固定。 ( 2) “一師多課”沖突情況,即一位教師在同一時(shí)間內(nèi)排了一門以上的課。 ( 3) “一室多課”沖突情況,即一個(gè)教室在同一時(shí)間內(nèi)排了一門以上的課。 ( 4) “一班多課”沖突情況,即一個(gè)班級(jí)在同一時(shí)間內(nèi)排了一門以上的課。 ( 5) “教室容量匹配”情況,即上課班級(jí)人數(shù)應(yīng)該與所在教室的人數(shù)匹配。 ( 6) “合班和分班課程”情況,即在排課時(shí)考慮像英語(yǔ)這樣的分班課和政治這樣的合班課如何排課。 ( 7) “課程單雙周”情況,即某些總課時(shí)較少的課程,可以考慮在單周 或雙周排課。 ( 8) “同一課程間隔”盡量讓同一課程在一周內(nèi)課時(shí)內(nèi)的排課分布均勻。 ( 9) “課程優(yōu)先級(jí)”盡量讓學(xué)分值高的,重要的課程排在黃金時(shí)間,課程優(yōu)先級(jí)低的排在其他時(shí)間。 ( 10) “課程擴(kuò)充”如果正常情況下無(wú)法滿足課程的需要,就要在晚上或者周六日進(jìn)行課時(shí)的擴(kuò)充。 ( 11) “ 課程與教室匹配”情況,課程要求的條件必須與教室設(shè)備條件相匹配,如是否需要多媒體授課等。 3.2.4 需求分析 針對(duì)功能分析中的各種問(wèn)題,我們?cè)诓殚喠艘恍╆P(guān)于排課設(shè)計(jì)的資料以及試用了幾種排課軟件之后,認(rèn)為在排課設(shè)計(jì)中需要實(shí)現(xiàn)以下幾 個(gè)需求: ( 1) 手動(dòng)預(yù)排課。由于存在公共基礎(chǔ)課以及公選課,而這些課程的設(shè)置完全有教務(wù)處制定,因此這些課程應(yīng)該預(yù)先設(shè)置。 ( 2) 自動(dòng)排課。根據(jù)輸入的基本信息,進(jìn)行自動(dòng)排課,生成課表。在自動(dòng)排課完成后,將排課異常信息給予反饋。 ( 3) 手動(dòng)調(diào)節(jié)。完全依賴自動(dòng)排課排出的課表不能完全符合客觀需求,同時(shí)我們?cè)谒惴皟?yōu)先級(jí)確定的精確度方面的水平也有限,因此,應(yīng)該增加手動(dòng)調(diào)節(jié)功能,以進(jìn)一步確保合理性。 ( 4) 設(shè)置沖突檢測(cè)方法。主要是針對(duì)手動(dòng)預(yù)排課和手動(dòng)調(diào)節(jié)功能可能出現(xiàn)的沖突情況,完善手動(dòng)排課。 第 8 頁(yè) 共 25 頁(yè) ( 5) 系統(tǒng)友好性。 排課系統(tǒng)與使用者應(yīng)具有交互性,可以增加排課向?qū)崾居脩舻氖褂谩?( 6) 權(quán)限管理。主要針對(duì)管理員權(quán)限的用戶可以進(jìn)行擁護(hù)的添加、修改和刪除。 3.3 排課系統(tǒng)的功能模塊 在系統(tǒng)分析的基礎(chǔ)上,我們提出了系統(tǒng)的功能模塊,如圖 2 所示。 教 務(wù) 排 課 系 統(tǒng)系 統(tǒng) 管 理 基 本 信 息 管 理 排 課 管 理系統(tǒng)幫助權(quán)限管理教師信息管理教室信息管理班級(jí)信息管理課程信息管理課程申請(qǐng)管理手動(dòng)預(yù)排管理自動(dòng)排課管理手動(dòng)調(diào)節(jié)管理基本信息設(shè)置 圖 2 功能模塊圖 前面描述了教務(wù)排課系統(tǒng)的功能模塊劃分,但沒(méi)給出各模塊之間的關(guān)系。在本系統(tǒng)中,可以把模塊分為三個(gè)功能集合: (1) 系統(tǒng)管理功能集合。該集合包括權(quán)限管理和系統(tǒng)幫助兩個(gè)模塊。當(dāng)使用者為管理員時(shí)可進(jìn)行權(quán)限管理功能, 它能夠添加新的使用者,也可對(duì)已有的用戶進(jìn)行名稱、密碼的修改和刪除。系統(tǒng)幫助功能介紹了開(kāi)發(fā)系統(tǒng)的相干信息。 (2) 基本信息管理功能集合。該集合包括教師信息管理、教室信息管理、班級(jí)信息管理、課程信息管理、課程申請(qǐng)管理五個(gè)模塊。在該集合內(nèi)可查看相應(yīng)的數(shù)據(jù)表,對(duì)于管理員級(jí)別的用戶可對(duì)以上表的內(nèi)容進(jìn)行添加、修改、刪除的功能。對(duì)于一般用戶,只能實(shí)現(xiàn)查看信息的基本功能。 (3) 排課管理功能集合。在基本信息設(shè)置模塊中,可查看當(dāng)前日期,又可設(shè)置限制排課的條件,如不加限制排課、不在晚上和星期六排課等。而一般用戶只能查看管理 員設(shè)置的條件。在排課時(shí),管理員先在課程信息管理中設(shè)置好要預(yù)先排課的課程,然后調(diào)節(jié)限制排課的條件,就可以使用自動(dòng)排課功能。用戶可在排好后的課表中查看課表,對(duì)于不滿意的課程安排可用手動(dòng)進(jìn)行相應(yīng)的調(diào)節(jié),而手動(dòng)排課也可針對(duì)實(shí)驗(yàn)課等靈活性的課程。 第 9 頁(yè) 共 25 頁(yè) 3.4 數(shù)據(jù)庫(kù)設(shè)計(jì) ( 1)課程信息數(shù)據(jù)表 其中課程代碼唯一標(biāo)識(shí)一門課程,課程類型用來(lái)確定課程優(yōu)先級(jí),而課程性質(zhì)是課程所需教室條件的信息。如表 1 所示。 表 1 課程信息表 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 課程名稱 varchar 課程類別 varchar 考核方式 varchar 有考試、考查等 課程性質(zhì) varchar 有公共課、必修課等 說(shuō)明 varchar ( 2)班級(jí)信息數(shù)據(jù)表 其中申請(qǐng)代碼唯一標(biāo)識(shí)一個(gè)申請(qǐng)記錄,是否合班,合班班級(jí),是否分班分別針對(duì)合班課與分班課設(shè)置。如表 2 所示。 表 2 班級(jí)信息表 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 班級(jí)名稱 varchar 班級(jí)人數(shù) int 專業(yè) varchar 包括系別 年級(jí) varchar 班級(jí)碼 int 班級(jí)的編號(hào) ( 3)教室信息數(shù)據(jù)表 其中教室代碼唯一標(biāo)識(shí)一個(gè)教室,教室容量和性質(zhì)分別判斷是否與班級(jí)和課程性質(zhì)的相 匹配。如表 3 所示。 表 3 教室信息表 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 教室名稱 varchar 教室容量 int 即最大限度的上課人數(shù) 教室性質(zhì) varchar 一般教室、多媒體教室等 教室碼 int 教室的編號(hào) 第 10 頁(yè) 共 25 頁(yè) ( 4)老師信息數(shù)據(jù)表 其中教師代碼唯一標(biāo)識(shí)一位教師,教師職稱和學(xué)位確定教師優(yōu)先級(jí),住所判斷老師是否在校外居住,排課時(shí)給予一定的優(yōu)先級(jí)。如表 4 所示。 表 4 老師信息表 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 老師姓名 varchar 無(wú) 職稱 varchar 無(wú) 學(xué)位 varchar 本科、碩士、博 士 住所 varchar 校內(nèi)、校外 ( 5)課表信息數(shù)據(jù)表 表 5 是在用戶使用系統(tǒng)的“保存課表”功能鍵時(shí)自動(dòng)生成。它實(shí)現(xiàn)自動(dòng)清除、自動(dòng)添加,具有流動(dòng)性和可操作性。如表 5 所示。 表 5 課程安排信息表 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 申請(qǐng)碼 int 課程的編號(hào) 課程名 varchar 無(wú) 星期一 varchar 無(wú) 星期二 varchar 無(wú) 星期三 varchar 無(wú) 星期四 varchar 無(wú) 星期五 varchar 無(wú) 星期六 varchar 無(wú) 教室名 varchar 無(wú) 老師名 varchar 無(wú) 班級(jí)名 varchar 無(wú) 周課數(shù) int 一周上課的次數(shù) 學(xué)分 int 無(wú) 開(kāi)始周 int 從第幾周開(kāi)始上課 周數(shù) int 共上幾周的課時(shí) 是否預(yù)排課 bit 無(wú) 第 11 頁(yè) 共 25 頁(yè) 3.5 系統(tǒng)流程及代碼分析 3.5.1 系統(tǒng)流程圖 系統(tǒng)流程圖,如圖 3 所示。 計(jì) 算 總 課 時(shí)總 課 時(shí) 合 適 ?置 標(biāo) 志讀 數(shù) 據(jù) 庫(kù)當(dāng) 前 位 置 排 課 ?有 無(wú) 沖 突 ?寫(xiě) 入 課 表排 課 結(jié) 束 ?保 存YNY沖 突 解 決YNYN結(jié) 束開(kāi) 始N 圖 3 系統(tǒng)流程圖 系統(tǒng)流程圖主要針對(duì)排課過(guò)程 ,即當(dāng)用戶設(shè)置好相應(yīng)的排課條件、點(diǎn)擊“自動(dòng)排課”項(xiàng),系統(tǒng)所進(jìn)行的流程。其中的“沖突解決”項(xiàng)有兩種解決方法:一是在系統(tǒng)運(yùn)行時(shí)進(jìn)行的自我調(diào)節(jié),另 一種是運(yùn)用手動(dòng)排課功能解決。“寫(xiě)入課表”項(xiàng),是在運(yùn)行時(shí)已完成寫(xiě)入課表的功能,若用戶需要,可單擊“保存課表”項(xiàng)生成 Excel 格式的文本。 3.5.2 代碼分析 本系統(tǒng)主要由三部分構(gòu)成:權(quán)限管理,各類信息管理,排課管理。 ( 1)權(quán)限管理模塊 第 12 頁(yè) 共 25 頁(yè) 該模塊可實(shí)現(xiàn)管理員級(jí)別用戶可以對(duì)所有用戶進(jìn)行添加、刪除、修改的功能。以下摘錄保存功能的代碼: procedure Tfrm_yh.save_ButtonClick(Sender: TObject); begin if ( bSign = 0 ) then MessageDlg(請(qǐng)先添加或修改記錄! , mtInformation, mbOk,0) else begin if ( bSign = 1 )/添加 then with Table1 do begin Table1.First; while (not Eof) and (FieldValues用戶名稱 Name_Edit.Text) do Next; if FieldValues用戶名稱 =Name_Edit.Text then ShowMessageFmt(已有一個(gè)名為 %s 的用戶 +#13+請(qǐng)選另一個(gè)用戶名,Name_Edit.Text) else if( Name_Edit.Text = )or (PW_Edit.Text = )or ( QX_ComboBox.Text = ) then ShowMessage(你輸入的信息不全 !) else InsertRecord(Name_Edit.Text, PW_Edit.Text, QX_ComboBox.Text); ShowMessage(添加用戶成功 !); end else begin Table1.Delete; Table1.InsertRecord(Name_Edit.Text, PW_Edit.Text, QX_ComboBox.Text); 第 13 頁(yè) 共 25 頁(yè) MessageDlg(修改成功! , mtInformation, mbOk, 0); end; Name_Edit.Text:= ; PW_Edit.Text:= ; QX_ComboBox.Text :=; Name_Edit.SetFocus; Delete_Button.Enabled := true; Modify_Button.Enabled := true; end ( 2)各類信息管理模塊 該模塊包括課程申請(qǐng)管理、教室管理、老師管理、班級(jí)管理、課程信息管理。以下摘錄課程申請(qǐng)管理中的保存功能代碼: procedure Tfrm_Apply.Save_ButtonClick(Sender: TObject); begin if ( iSign = 0 ) then ShowMessage(請(qǐng)先添加或修改記錄 !) else if ( iSign = 1 ) /添加 then begin if ( kcname_ComboBox.Text = ) or ( lsname_ComboBox.Text = ) or ( bjname_ComboBox.Text = ) or ( zks_Edit.Text =0) or ( xf_Edit.Text =0) or ( bweek_edit.Text=0) or ( weeknum_edit.Text=0) then ShowMessage(你輸入的信息不全 !) else begin Apply_ADOTable.InsertRecord(NULL, 第 14 頁(yè) 共 25 頁(yè) kcname_ComboBox.Text,lsname_ComboBox.Text,bjname_ComboBox.Text,(StrToInt(zks_edit.Text),(StrToInt(xf_edit.Text),(StrToInt(bweek_edit.Text),(StrToInt(weeknum_edit.Text),YP_RadioButton.Checked); ShowMessage(添加成功 !); ClearCaption; EditUnEnable; ButtonEnable; end end else begin with Apply_ADOTable do begin Edit; FieldValues課程名稱 :=kcname_ComboBox.Text; FieldValues教師姓名 :=lsname_ComboBox.Text; FieldValues班級(jí)名稱 :=bjname_ComboBox.Text; FieldValues周課數(shù) :=StrToInt(zks_edit.Text); FieldValues學(xué)分 :=StrToInt(xf_edit.Text); FieldValues開(kāi)始周 :=StrToInt(bweek_edit.Text); FieldValues周數(shù) :=StrToInt(weeknum_edit.Text); FieldValues是否預(yù)排課 := YP_RadioButton.Checked; Post; end; ShowMessage(修改成功 !); ClearCaption; bSign := false; EditUnEnable; ButtonEnable; end; iSign := 0; Save_Button.Enabled := false; end; ( 3)排課管理模塊 第 15 頁(yè) 共 25 頁(yè) 該模塊可進(jìn)行預(yù)排課的設(shè)置、自動(dòng)排課、手動(dòng)調(diào)節(jié)功能。在自動(dòng)排課中分為三步:首先賦權(quán)值,其次再檢測(cè)各種沖突,最后實(shí)現(xiàn)排課過(guò)程。 a.權(quán)值計(jì)算: 設(shè)置的權(quán)值有:課程信息的權(quán)值(包括課程類別、課程性質(zhì)),班級(jí)信息的權(quán)值(包括年級(jí)),教師信息的權(quán)值(包括職稱、學(xué)位)。 以班級(jí)信息權(quán)值設(shè) 置為例: with bjADOTable do for i := 0 to appNum - 1 do begin First; while FieldValues班級(jí)名稱 appi.className do Next; if FieldValues年級(jí) = 1 年級(jí) then appi.currentValue := appi.currentValue + 12 else if FieldValues年級(jí) = 2 年級(jí) then appi.currentValue := appi.currentValue + 9 else if FieldValues年級(jí) = 3 年級(jí) then appi.currentValue := appi.currentValue + 6 else if FieldValues年級(jí) = 4 年級(jí) then appi.currentValue := appi.currentValue + 3; b.檢測(cè)沖突: 檢測(cè)的沖突有:在同一天是否已經(jīng)排過(guò)課,(預(yù))排課的教室沖突,所安排的教室是否合適(包 括教室人數(shù)、容量、性質(zhì))。 以(預(yù))排課的教室沖突為例: function Tfrm_Main.dynamicTest( day : integer; time : integer; current : integer ):Boolean; var t1,t2,room:integer; begin dynamicTest := true; for room := 0 to roomNum - 1 do if( arrdaytimeroom0 = 0 ) then continue else 第 16 頁(yè) 共 25 頁(yè) begin t1 := 0; t2 := 0; while appt1.appKey arrdaytimeroom0 do t1 := t1 + 1; if arrdaytimeroom1 0 then while appt2.appKey arrdaytimeroom1 do t2 := t2 + 1 else t2 := t1; if( appt1.teaName = appcurrent.teaName ) or ( appt1.className = appcurrent.className ) or ( appt2.teaName = appcurrent.teaName ) or ( appt2.className = appcurrent.className ) then begin dynamicTest := false; break; end; end; end; c.排課算法: 摘錄設(shè)置為“不加限制排課”的代碼為例: procedure Tfrm_Main.FirstFind1( m : integer;var a : appRecord ); var i, j, k : Integer; succ: boolean; begin i := 0;/星期 j := 0;/節(jié)數(shù) k := 0;/教室號(hào) succ := true; while( arrijk0 0 )or (not RoomCheck(a,k)or (not dynamicTest( i, j, m ) 第 17 頁(yè) 共 25 頁(yè) ) do if( k roomNum - 1 ) then k := k + 1 else if (i5) and (j=0)or(j=2) then begin j:=j+1; k:=0; end else if (i4) and (j=1)or(j=3) then begin i:=i+1; j:=j-1; k:=0; end else if (i=4) and (j=1)or(j=3) then begin i:=i-4; j:=j+1; k:=0; end else if (i4) and (j=4) then begin i:=i+1; k:=0; end else if (i=4) and (j=4) then begin i:=i+1; j:=j-4; k:=0; end else if (i=5) and (jRun 命令,則會(huì)出現(xiàn)系統(tǒng)的登錄界面。 a. 登錄界面,如圖 5 所示: 第 19 頁(yè) 共 25 頁(yè) 圖 5 登錄界面 說(shuō)明 :輸入用戶名和密碼,單擊“確定”按鈕,當(dāng)身份驗(yàn)證成功后進(jìn)入檔案管理系統(tǒng)主界面。單擊“取消”退出登錄窗口。 b. 主界面,如圖 6 所示: 圖 6 主界面 說(shuō)明 :主界面由三部分組成:基本信息管理、基本條件設(shè)置、預(yù)排課、自動(dòng)排課及手動(dòng)調(diào)節(jié)。在菜單欄中,分為系統(tǒng)、信息管理、幫助菜單?!跋到y(tǒng)”菜單含用戶管理和退出功能?!靶畔⒐芾?”可查看基本信息?!皫椭敝锌刹榭唇虅?wù)排課系統(tǒng)的相應(yīng)信息。 c. 如身份驗(yàn)證失敗,則出現(xiàn)如圖 7 所示的提示信息框 圖 7 錯(cuò)誤提示信息 說(shuō)明 : 點(diǎn)擊 “ OK” 返回登錄界面 ,重新輸入用戶名和密碼。 d. 點(diǎn)擊 “ 基本信息管理 ” 中的 課程申請(qǐng)管理界面為例 ,如圖 8 所示: 第 20 頁(yè) 共 25 頁(yè) 圖 8 課程申請(qǐng)管理 說(shuō)明 :選中某一記錄后可進(jìn)行刪除和修改的功能 ,也可直接添加記錄 ,修改完后點(diǎn)擊保存或退出完成管理。 e. 基本條件設(shè)置管理界面 ,如圖 9 所示: 圖 9 基本條件設(shè)置 說(shuō)明:教學(xué)公歷上顯示為當(dāng)前日期 ,“ 排課條件設(shè)置 ” 中設(shè)置需要的排課條件 。 f. 排課管理界面 ,如圖 10 所示: 第 21 頁(yè) 共 25 頁(yè) 圖 10 排課管理 說(shuō)明:點(diǎn)擊“清空”可清空上次所排信息,點(diǎn)擊“自動(dòng)排課”能實(shí)現(xiàn)自動(dòng)排課功能,點(diǎn)擊“檢測(cè)沖突”可檢測(cè)當(dāng)前排課有無(wú)沖突。點(diǎn)擊“保存課表”能將排課信息保存為 excel 格式。 g. 權(quán)限管理界面 ,如圖 11 所示: 圖 11 權(quán)限管理 說(shuō)明:權(quán)限管理是當(dāng)管理員用戶在“系統(tǒng)”菜單內(nèi)的設(shè)置。在這里可進(jìn)行用戶的添加、刪除、修改等功能。 ( 2)一般用戶權(quán)限 一般用戶與管理員用戶的區(qū)別在于他只能查看相應(yīng)信息,不能進(jìn)行其他操作。以排課管理界面為例 ,如圖 12 所示: 第 22 頁(yè) 共 25 頁(yè) 圖 12 一般用戶界面 說(shuō)明:一般用戶的界面設(shè)計(jì)上與管理員用戶基本相同,只有某些按鈕被屏蔽,不能實(shí)現(xiàn)相應(yīng)功能。 其中的清空、自動(dòng)排課、保存課表鍵被屏蔽,用戶無(wú)法進(jìn)行操作。 4.3 測(cè)試結(jié)果 教務(wù)排課系統(tǒng)是一款基于動(dòng)態(tài)加權(quán)算法的人性化的教務(wù)軟件,它采用手動(dòng)預(yù)排 自動(dòng)排課 手動(dòng)調(diào)節(jié)的三步排課模式,具有以下特點(diǎn): (1) 課表合理:具有預(yù)排,合班等功能,排出的課表合理性較強(qiáng)。 (2) 排課靈活:采用了局部范圍內(nèi)的動(dòng)態(tài)隨機(jī)加權(quán),排出的課表具有靈活的特點(diǎn),使用者可以在多次排課中選擇自己認(rèn)為合適的課表。 (3) 操作便 捷:系統(tǒng)界面簡(jiǎn)單明了,用戶很容易掌握對(duì)排課軟件的使用。 (4) 人性化:系統(tǒng)界面美觀,具有很強(qiáng)的交互性。 結(jié) 論 在分析以往一些排課系統(tǒng)的基礎(chǔ)上,本設(shè)計(jì)提出一個(gè)基于動(dòng)態(tài)加權(quán)算法(即貪婪法)的排課系統(tǒng)設(shè)計(jì)方案,采用手動(dòng)預(yù)排、自動(dòng)排課、手動(dòng)調(diào)節(jié)的三級(jí)排課模式,并對(duì)一些具體的技術(shù)問(wèn)題做出相應(yīng)安排。該方案采用 C

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論