freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

某高等學(xué)校教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-01-06 18:12 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 動(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)排課。 ( 5) 系統(tǒng)友好性。排課系統(tǒng)與使用者應(yīng)具有交互性,可以增加排課向?qū)崾居脩舻氖褂谩? ( 6) 權(quán)限管理。主要針對(duì)管理員權(quán)限的用戶可以進(jìn)行擁護(hù)的添加、修改和刪除。 排課系統(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)的功能模塊劃分,但沒給出各模塊之間的關(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)幫助功能介紹了開發(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)課等靈活性的課程。 數(shù)據(jù)庫(kù)設(shè)計(jì) ( 1)課程信息數(shù)據(jù)表 其中課程代碼唯一標(biāo)識(shí)一門課程,課程類型用來確定課程優(yōu)先級(jí),而課程性質(zhì)是課程所需教室條件的信息。如表 1 所示。 表 1 課程信息表 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說明 課程名稱 varchar 課程類別 varchar 考核方式 varchar 有考試、考查等 課程性質(zhì) varchar 有公共課、必修課等 說明 varchar ( 2)班級(jí)信息數(shù)據(jù)表 其中申請(qǐng)代碼唯一標(biāo)識(shí)一個(gè)申請(qǐng)記錄,是否合班,合班班級(jí),是否分班分別針對(duì)合班課與分班課設(shè)置。如表 2 所示。 表 2 班級(jí)信息表 字段名稱 數(shù)據(jù) 結(jié)構(gòu) 說明 班級(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) 說明 教室名稱 varchar 教室容量 int 即最大限度的上課人數(shù) 教室性質(zhì) varchar 一般教室、多媒體教室等 教室碼 int 教室的編號(hào) ( 4)老師信息數(shù)據(jù)表 其中教師代碼唯一 標(biāo)識(shí)一位教師,教師職稱和學(xué)位確定教師優(yōu)先級(jí),住所判斷老師是否在校外居住,排課時(shí)給予一定的優(yōu)先級(jí)。如表 4 所示。 表 4 老師信息表 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說明 老師姓名 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) 說明 申請(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ú) 開始周 int 從第幾周開始上課 周數(shù) int 共上幾周的課時(shí) 是否預(yù)排課 bit 無(wú) 系統(tǒng)流程 及代碼分析 系統(tǒng)流程圖 系統(tǒng)流程圖,如圖 3 所示。 計(jì) 算 總 課 時(shí)總 課 時(shí) 合 適 ?置 標(biāo) 志讀 數(shù) 據(jù) 庫(kù)當(dāng) 前 位 置 排 課 ?有 無(wú) 沖 突 ?寫 入 課 表排 課 結(jié) 束 ?保 存YNY沖 突 解 決YNYN結(jié) 束開 始N 圖 3 系統(tǒng)流程圖 系統(tǒng)流程圖主要針對(duì)排課過程 ,即當(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)排課功能解決?!皩懭胝n表”項(xiàng),是在運(yùn)行時(shí)已完成寫入課表的功能,若用戶需要,可單擊“保存課表” 項(xiàng) 生成 Excel 格式的文本。 代碼分析 本系統(tǒng)主要由三部分構(gòu)成:權(quán)限管理,各類信息管理,排課管理。 ( 1)權(quán)限管理模塊 該模塊可實(shí)現(xiàn)管理員級(jí)別 用戶可以對(duì)所有用戶進(jìn)行添加、刪除、修改的功能。以下摘錄保存功能的代碼: procedure (Sender: TObject)。 begin if ( bSign = 0 ) then MessageDlg(39。請(qǐng)先添加或修改記錄! 39。, mtInformation, [mbOk],0) else begin if ( bSign = 1 )//添加 then with Table1 do begin 。 while (not Eof) and (FieldValues[39。用戶名稱 39。]) do Next。 if FieldValues[39。用戶名稱 39。]= then ShowMessageFmt(39。已有一個(gè)名為 %s 的用戶 39。+13+39。請(qǐng)選另一個(gè)用戶名39。,[]) else if(( = 39。39。)or ( = 39。39。 )or ( = 39。39。)) then ShowMessage(39。你輸入的信息不全 !39。) else InsertRecord([, , ])。 ShowMessage(39。添加用戶成功 !39。)。 end else begin 。 ([, , ])。 MessageDlg(39。修改成功! 39。, mtInformation, [mbOk], 0)。 end。 := 39。39。 := 39。39。 :=39。39。 。 := true。 := true。 end ( 2)各類信息管理模塊 該模塊包括課程申請(qǐng)管理、教室管理、老師管理、班級(jí)管理、課程信息管理。以下摘錄課程申請(qǐng)管理中的保存功能代碼: procedure (Sender: TObject)。 begin if ( iSign = 0 ) then ShowMessage(39。請(qǐng)先添加或修改記錄 !39。) else if ( iSign = 1 ) //添加 then begin if (( = 39。39。 ) or ( = 39。39。 ) or ( = 39。39。 ) or ( =39。039。) or ( =39。039。) or ( =39。039。) or ( =39。039。)) then ShowMessage(39。你輸入的信息不全 !39。) else begin ([NULL, ,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,bjname_ComboBo,(StrToInt()),(StrToInt()),(StrToInt()),(StrToInt()),])。 ShowMessage(39。添加成功 !39。)。 ClearCaption。 EditUnEnable。 ButtonEnable。 end end else begin with Apply_ADOTable do begin Edit。 FieldValues[39。課程名稱 39。]:=。 FieldValues[39。教師姓名 39。]:=。 FieldValues[39。班級(jí)名稱 39。]:=。 FieldValues[39。周課數(shù) 39。]:=StrToInt()。 FieldValues[39。學(xué)分 39。]:=StrToInt()。 FieldValues[39。開始周 39。]:=StrToInt()。 FieldValues[39。周 數(shù) 39。]:=StrToInt()。 FieldValues[39。是否預(yù)排課 39。]:= 。 Post。 end。 ShowMessage(39。修改成功 !39。)。 ClearCaption。 bSign := false。 EditUnEnable。 ButtonEnable。 end。 iSign := 0。 := false。 end。 ( 3)排課管理模塊 該模塊可進(jìn)行預(yù)排課的設(shè) 置、自動(dòng)排課、手動(dòng)調(diào)節(jié)功能。在自動(dòng)排課中分為三步:首先賦權(quán)值,其次再檢測(cè)各種沖突,最后實(shí)現(xiàn)排課過程。 : 設(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[39。班級(jí)名稱 39。] app[i].className do Next。 if FieldValues[39。年級(jí) 39。] = 39。1 年級(jí) 39。 then app[i].currentValue := app[i].currentValue + 12 else if FieldValues[39。年級(jí) 39。] = 39。2 年級(jí) 39。 then app[i].currentValue := app[i].currentValue + 9 else if FieldValues[39。年級(jí) 39。] = 39。3 年級(jí) 39。 then app[i].currentValue := app[i].currentValue + 6 else if FieldValues[39。年級(jí) 39。] = 39。4 年級(jí) 39。 then app[i].currentValue := app[i].currentValue + 3。 : 檢測(cè) 的沖突有:在同一天是否已經(jīng)排過課,(預(yù))排課的教室沖突,所安排的 教室是否合適(包括教室人數(shù)、容量、性質(zhì))。 以(預(yù))排課的教室沖突為例: function ( day : integer。 time : integer。 current : integer ):Boolean。 var t1,t2,room:integer。 begin dynamicTest := true。 for room := 0 to roomNum 1 do if( arr[day][time][room][0] = 0 ) then continue else begin t1 := 0。 t2 := 0。 while app[t1].appKey arr[day][time][room][0] do t1 := t1 + 1。 if arr[day][time][room][1] 0 then while app[t2].appKey arr[day][time][room][1] do t2 := t2 + 1 else t2 := t1。 if(( app[t1].teaName = app[current].teaName ) or ( app[t1].className = app[current].className ) or ( app[t2].teaName = app[current].teaName ) or ( app[t2].className = app[current].class
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1