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

正文內容

畢業(yè)設計-基于遺傳算法的自動排課系統(tǒng)設計-閱讀頁

2025-01-28 04:49本頁面
  

【正文】 自動排課 班級信息管理 班級課程及任課教師設置 手工排課及 課表調整 班級課表打印 教師課表打印 第四章 數據庫設計 21 第四章 數據庫設計 數據庫設計是應用程序開發(fā)的重要部分。 數據庫設計原則 進行 數據庫設計時,需要保證數據獨立性和數據完整性,還需要遵守 3NF范式標準,這些都是基本要求。在給數據庫對象起名時,為了易于識別和記憶,應該盡可能的采用有意義的單詞和縮寫字符及下劃線構成,這樣做可以使代碼可讀性更好有利于維護。 (2)適當的使用數據冗余。數據冗余過多的數據庫設計,很容易產生“臟數據”,但冗余對查詢的效率是有提升效果的,冗余減少了不同表之間的聯合操作。 (3)在數據庫的設計和程序開發(fā)過程中,盡量采用對數據庫性能有利的方式。存儲過程可以將一系列的數據庫操作組合在一起一次性完成,減少了程序與數據庫之間交互的次數,而且也減少了對數據庫連接資源的占用。當然索引也不是越多越好,索引的使用要根據實際,創(chuàng)建適合需求的索引,從而達到提升系統(tǒng)的運行效率的目的。強制性 的表間關聯能夠保證數據的完整性和一致性。在對有關聯關系的表進行操作時,數據回去檢查關聯約束,這會占用系統(tǒng)的資源。 設計一個良好的數據庫,對程序開發(fā)及實施后的運行和維護都是非常重要畢業(yè)設計論文 22 的。 數據庫 ER 圖 采用 E—R 圖 (實體 — 關系圖 )的方法進行數據結構分析 . E—R 圖設計方法是一種通過 E—R 圖來描述現實世界信息結構的 DB 設計方 法 , E—R 圖由實體、屬性、聯系三部分組成。 圖 42 主要 E— R 圖 課程 班級 教室類型 學期課程計劃 m 1 班級課程及任課教師 n m n 課程名 學期(時間) 對應關系 教師 1 1 學期(年級) 每周課時 每周課時 班級人數 課程表 關系 特殊教室 教室類型 容量 關系 1 01 (實體名) (屬性 名) (聯系名) 實體 聯系 屬性 第四章 數據庫設計 23 數據庫物理結構設計 數據庫設計原則: 在滿足需要的前提下,應盡量按照關系數據庫的理論方法去設計一個數據庫,減少數據冗余。 ,與操作設計相結合 有時為了編程及查詢效率或其它特別的需要,增加一定的數據冗余是有必要的。主鍵為CRoomId,序列生成。主鍵為 CourseId,序列生成 。主鍵為 TeacherId,序列生成。主鍵為 ClassId,序列生成。主鍵為組合主鍵(TermNum, CourseId), TermPlanId 是序列化生成的標識,可以作為委托主鍵 。主鍵為組合主鍵 (ClassId, CourseId, TermId), ClCoId 是序列化生成的標識,可以作為委托主鍵 。 其數據范圍為 20222050 年,每年分為上半年和下半年。 表 47 學期 信息表 的結構 課表 信息表 CourseInfoTb 課表 信息表 CourseInfoTb 用來保存 課表 信息的。 WeekCount int 每周 節(jié)次 列名 數據類型 說明 ClCoId int 系統(tǒng)生成 Id ClassId int 班級 系統(tǒng) Id CourseId int 課程系統(tǒng) Id TermId int 學期 Id TeacherId int 教師系統(tǒng) Id WeekCount int 每周課時 CcStatus nvarchar(10) 排課狀態(tài) CcType nvarchar(10) 計劃類型 列名 數據類型 說明 TermId int 班級系統(tǒng) Id TermName varchar(50) 課程系統(tǒng) Id 列名 數據類型 說明 CInfoId int 代理主鍵 DepartmentId int 院系系統(tǒng) Id TermId int 學期 Id ClassId int 班級系統(tǒng) Id 畢業(yè)設計論文 26 表 48 排課信息表 的結構 CourseId int 課程系統(tǒng) Id TeacherId int 教師系統(tǒng) Id ClassRoomId int 教室系統(tǒng) Id Weeks int 星期 LessonOrders int 節(jié)次 CInfoType varchar(50) 排課 類型 CreateDate Datetime 創(chuàng)建時間 第五章自動排課系統(tǒng)的設計與實現 27 第五章 自動 排課 系統(tǒng) 的 設計與實現 登陸模塊設計 登陸模塊主要驗證登陸用戶名和密碼, 只能輸入三次, 超過 三次的話退出程序。 登陸 流程如下: 圖 51 登陸流程 開始 輸入用戶名、密碼和驗證碼 嘗試次數 大于 3? 否 是 是否輸入了? 否 是 用戶存在? 否 是 密碼正確? 否 是 初始化用戶信息 登陸成功轉 到主 界面 退出 畢業(yè)設計論文 28 登陸 窗口 如圖 : 圖 52 登陸窗口 網站布局 設計 圖 53 系統(tǒng)主窗口 網站的整體布局 分布采用常用的上部標題、中部左側菜單、中部右側內容及第五章自動排課系統(tǒng)的設計與實現 29 底部頁腳 。用戶在 登陸后進入 主頁面 ,通過選擇菜單進入相應功能。 基礎信息管理 模塊設計 基礎信息管理 模塊 由 四 個部分組成, 包括 特殊 教室管理、課程信息管理、教師信息管理、班級信息管理 。 這部分內容是自動排課的基礎數據準備。教室信息包括教室編號、教室名稱、教室類型、容納人數。教室類型必須符合課程對教室類型的 要求,這也是排課的硬性約束。其中需要說明的是體育場地,在添加時并不是說一個操場只加一條記錄,而是允許多少班級同時上體育課,就添加多少條記錄,名字區(qū)分開就可以,比如叫大操場東、大操場 1 區(qū)等。課程信息包括課程編號、課程名稱、課程類型、課時、教室類型。 教室類型和 特殊 教室信息的教室類型對應 、并且比特殊教室信息的教室類型多了一項叫普通教室、普通教室的意思就是 本班教室、或者沒有教室 。 教師 信息包括 教師 編號、教師 名稱、 性別、年齡 、 職稱 、 任課信息 。 教師信息管理窗口如下: 圖 56 教師信息管理窗口 第五章自動排課系統(tǒng)的設計與實現 31 班級信息管理 模塊實現 班級 信息也是自動排課用到的基礎數據信息之一。 需要說明的是入學年份是系統(tǒng)一個關鍵的數據,系統(tǒng)會根據入學年份按課程計劃生成班級課程信息,具體參見 和 。 班級信息管理窗口如下: 圖 57 班級信息管理窗口 在創(chuàng)建班級信息時,隱藏的還有一個自動處理,會根據班級信息和學期課程計劃,自動生成班級課程 信 息 。觸發(fā)器 tri_ClassInsert 代碼如下: ALTER TRIGGER [tri_ClassInsert] ON [dbo].[ClassTb] AFTER INSERT AS BEGIN declare newClassId int select newClassId=ClassId from inserted exec usp_ClCoCreateByClassId newClassId END 觸發(fā)器 tri_ClassInsert 將調用存儲過程 usp_ClCoCreateByClassId,自動生成班級 課程 信息。 畢業(yè)設計論文 32 排課設置管理 模塊設計 基礎信息管理 模塊 由兩個部分組成,包括 學期 課程計劃管理和班級課程及任課教師管理。有了 學期 課程計劃,當一個班級創(chuàng)建時,根據班級的專業(yè)就可以知道該班級要開設的課程 ,以及 開 設的時間 。 學期 課程計劃 信息是 輔助生成班級課程信息的 。學期(年級)保存到數據庫是 TermNum(16)的數字。 TermId 采用“年份 +0 或 1”的數字編碼。 系統(tǒng)之所以要用學期(時間),是 因為系統(tǒng)不是給單獨一個班級進行排課的,也不是單獨一屆學生排課的,而是針對整個學校進行排課的。 在這里這是個關鍵數據,類似 的還有一些非關鍵的如班級名稱,你可以錄入“某年級某班”,但你第二年就要去把所有的班級名稱改一個遍,如果你錄入“某某級某班”,可能 100 年后你才需要改,而“某某某某級某班”永遠都不用改,實際上“某某級某班”就夠用了。 ClCo 表 包括 字段班級系統(tǒng) Id、 課程 系統(tǒng) Id、 教師系統(tǒng) Id、 學期 Id、每周課節(jié)數、排課狀態(tài) 和 計劃類型 。 在圖 511 中可以看到有一個按鈕“ 按課程計劃更 新班級課程”,該按鈕在 課程 計劃有變動時使用,通過調用 usp_ClCoUpdateByClassId 來實現更新。這兩種方式添加的數據的計劃類型都是計劃內,只有在圖 511 中通過點擊 添加按鈕手動添加的數據,計劃類型才是計劃外。 班級課程及任課教師 管理窗口如下: 圖 59 班級課程及任課教師 管理窗口 對自動生成計劃內的 ClCo 表數據,創(chuàng)建和更新的兩個存儲過程大致相同,區(qū)別僅在于跟新時檢查對應數據是否存在,如果不存在才添加,而創(chuàng)建時不檢查畢業(yè)設計論文 34 直接添加。計劃內 39。 End FETCH NEXT FROM CR INTO CourseId, TermNum,WeekCount,InYear end END 第五章自動排課系統(tǒng)的設計與實現 35 基于遺傳算法的 自動 排課設計 在前面 2 小結中介紹了基礎信息管理模塊和排課設置模塊,這 2 大模塊都是排課的前期準備工作,接下來就要可以開始自動排課的設計,自動排課模塊是隸屬于排課管理大模塊的,但因為它是整個系統(tǒng)的核心,所以將其單獨提出來進行介紹。 排課問題的分析 在排課問題中,我們的主要任務是將班級、老師、課程、教室安排在一周內某一不發(fā)生沖突的時間。課表編排本身就是一項處理教學環(huán)節(jié)中的各種矛盾、特別是恰當的解決教師與學生雙邊活動的結合部、推動教學工作向前發(fā)展的有效工作。 排課問題 所涉及的 因素 是全面的 。排課問題的時間因素包括學年、學期、周、天、時段、節(jié)等時間概念。 每周分為 N 天 (N7)。每個時間段 有 2 個小課時 , 但 2 個小課時在排課時通常都是上的同一門課程 ,所以排課 時可以不考慮小課時,按照大的時間段來排課,系統(tǒng)中節(jié)課就是指的一個時間段,即包含 2 小節(jié)的一個大課時。 2) 排課問題的 課程 因素。每 門 課程 被某班級開課后,需要 指定的 授課 教師。 3) 排課問題的教室因素。每個教室都隸屬于某個 校區(qū) 。 一個教室在同一時間內只能有一個課程安排 ,并且教室容量應該大于等于 上課的班級 的人數。每個班級都有所屬院系、所屬專業(yè)。 每個班級同一時間只能上一門課程。 一個教師的信息包括編號、姓名、性別等。 排課 約束 通過上一小節(jié)的分析,我們知道 編排課表牽涉的 因素很多,但是其中仍然有原則可以遵循。將這個原則進行細化、清晰化, 可以 歸納為以下 6 項 硬約束和 6 項軟約束 : 硬約束: 1) 同一班級在同一時間只能安排一門課程; 2) 同一教師在同一時間只能安排一門課程; 3) 同一教室在同一時間只能安排一門課程; 4) 教室總數要大于同一時間安排的課程總數; 5) 教室容量必須大于上課學生人數; 6) 課程要安排在它需要的類型教室中; 軟約束: 1) 優(yōu)先安排全校公共基礎課; 2) 一周內課次多于 2 次以上的多課時課程,在時間安排上要求盡量隔天安排; 3) 較難課程應 安排在上午第一節(jié)或下午第一節(jié); 4) 體育課后盡量避免直接排課; 5) 同一門課程盡量安排在固定的教室; 排課 問題的數學分析 首先我需要將排課中的主要元素用數學的代數方法來表示出來。 班級集合公式 52: C={C1, C2,?? Cc} c 為班級總數,某班級可以表示為 Cy, 1=y=c。 課程集合公式 54: K={K1, K2,?? Kk} k 為教室總數,某教室可以表示為 Kw, 1=w=k。 課表時間片可以 直觀的表示為 表 51: 時間 一 二 三 四 五 第一節(jié) P11 P12 P13 P14 P15 第二節(jié) P21 P22 P23 P24 P25 第三節(jié) P31 P32 P33 P34 P35 第四節(jié) P41 P42 P43 P44 P45 中午 第五節(jié) P51 P52 P53 P54 P55 第六節(jié) P61 P62 P63 P64 P65 第七節(jié) P71 P72 P73 P74 P7
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1