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

正文內(nèi)容

教室管理系統(tǒng)設(shè)計與實現(xiàn)本科畢業(yè)設(shè)計論文(參考版)

2025-07-30 05:28本頁面
  

【正文】 若該門課程尚未安排結(jié)束,則繼續(xù)執(zhí)行該步驟,若該步驟執(zhí)行完畢仍未安排結(jié)束則調(diào)至步驟4重選教室再次進行安排,若反復(fù)執(zhí)行10次之后仍未全部安排結(jié)束則執(zhí)行步驟6進行回溯。將沖突時間片加入禁止數(shù)組。從該數(shù)組中隨機選擇三個教室(若不足三個則全部選取),選擇三個教室對象中占用次數(shù)最少的教室,若該教室剩余時間片足夠安排該門課程返回該教室對象,否則遍歷該數(shù)組中全部課程對象,找到占用次數(shù)最少的教室,若該教室剩余時間片足夠安排該門課程返回該教室對象,否則繼續(xù)進行遍歷。(3)分別遍歷三個儲存課程的數(shù)組long_subjects、short_subjects1和short_subjects2,若全部課程都已安排結(jié)束則調(diào)至步驟(7),否則對每門課程Si做如下操作:(4)調(diào)用查找教室的函數(shù),開始遍歷教室類型數(shù)組。下面對排課算法做簡要的描述[17](具體算法見代碼部分):(1)創(chuàng)建課程類和教師類,讀取全部教室和課程的信息并創(chuàng)建相應(yīng)的對象,教室按類型、校區(qū)和座位數(shù)分別存于不同的教室數(shù)組中,將課程分別存于上面提到的三個數(shù)組中。(5)如何實現(xiàn)沖突圖 由于程序中不存在圖的結(jié)構(gòu),因此采用鏈表的方式實現(xiàn)。程序在安排全部課程之前先讀取全部課程,讀取時將課程分別存在三個數(shù)組中,三個數(shù)組分別為保存長課數(shù)組long_subjects、儲存需要上半學(xué)期安排的課程的數(shù)組short_subjects1和需要在下半學(xué)期安排的課程數(shù)組short_subject2。其中課時數(shù)大于48的為長課,安排時間貫穿本學(xué)期,其中課時大于64的每周安排三次,其他每周安排兩次;課時不大于48的設(shè)為短課,將其安排在上半學(xué)期或下半學(xué)期,其中課時大于32的每周安排三次,其他每周安排兩次。解決辦法是課程安排成功時對其他課程資源數(shù)組的修改不再是置1,而改為加1,在取消時將其減1,這樣可以確保不會丟失沖突信息。在取消某門課程的安排信息時,修改其他課程時間片資源數(shù)組因該是課程安排成功之后重置其他課程資源數(shù)組過程的逆過程,由于該過程涉及安排成功的安排方案,因此對每門課程設(shè)置一個儲存成功安排方案的數(shù)組,以便取消課程安排時使用。在回溯過程中對課程進行重新安排時也要取消該門課程的安排信息,并對其他課程的時間片資源數(shù)組做適當(dāng)?shù)男薷?。因此在這里可將回溯搜索與禁忌搜索相結(jié)合,回溯過程不是回溯到上一門安排的課程,而是對沖突圖中與該門課有聯(lián)系的課程(若該門課程已經(jīng)安排)進行回溯,并且回溯過程不再是反向遍歷安排過程,而改為遍歷沖突圖與其相關(guān)的所有課程,為保證回溯過程不會耗費過多時間,為回溯過程設(shè)置回溯半徑。若遍歷之后不能將課程的全部課節(jié)安排成功,則重新選擇教室,重復(fù)上述過程。找到最優(yōu)教室后,從20個課節(jié)時間片中隨機選出一個組成預(yù)選安排方案K(r,t),根據(jù)時間片資源數(shù)組判斷該方案是否可行,若可行繼續(xù)進行安排,如不可行重新選擇時間片進行再次判斷。在初步解決了課表安排過程中的時間與空間沖突問題后,接下來考慮排課過程中的其他問題。解決方案如下:每當(dāng)成功安排一門課程s,設(shè)安排時間為t,開始遍歷無向沖突圖,找到所有與課程s沖突的課程集合S,對于S中的每門課程Si,將Si的時間片資源數(shù)組中與t對應(yīng)的時間向量At(α1,t,…,αm,t)內(nèi)的全部元素置1。現(xiàn)在再返回上一步考慮時間沖突問題。設(shè)待檢測的課程安排方案為K(r,t),r為安排的教室對應(yīng)的m值,t為安排的課節(jié)取值范圍為(1,20)。為每一門待排課程創(chuàng)建教室,時間二維時間片資源數(shù)組,如圖51所示:數(shù)組橫向共有20個元素,其含義為每學(xué)周周一至周五每天的四個課節(jié),圖 61 時間片資源數(shù)組縱向為m行,m值為教室總數(shù)。接下來考慮空間沖突問題,空間沖突問題主要是指任意兩門課程在同一時間不能安排在同間教室。在程序設(shè)計中使用無向圖的方式來表示課程之間的沖突關(guān)系[12],圖中的頂點作為課程實體,若課程之間存在沖突,則將兩個沖突的實體連起來。排課中的時間沖突問題主要前面提到的硬性要求中的第三條和第四條教師和學(xué)生的沖突。因此在這里采用第二種方案,課程的時間安排與空間安排同時進行。因此在開發(fā)過程中借用啟發(fā)式解決NP完全問題的思想,利用在排課領(lǐng)域內(nèi)的經(jīng)驗,改進啟發(fā)式算法,將啟發(fā)式算法與回溯算法、禁忌搜索等算法相結(jié)合,設(shè)計一個適用于大學(xué)自動排課的混合式算法[10]。本頁面處理的好處是將條件與查詢結(jié)果在同一頁面進行顯示,表達更直觀并且便于用戶修改查詢條件。然后對數(shù)據(jù)再次查找并將結(jié)果按一定方式排序,讀取前this_nums條作為首頁顯示內(nèi)容,當(dāng)訪問第n頁時,從查詢結(jié)果的第(n1)*this_nums開始讀取this_nums條數(shù)據(jù)記錄顯示。在每個頁面調(diào)用之前先讀取系統(tǒng)的Session信息并將該信息與數(shù)據(jù)庫中的用戶信息以及頁面所屬的模塊進行比對,若比對結(jié)果正確則加載該頁面,若比對結(jié)果出現(xiàn)錯誤則彈出提示信息系統(tǒng)跳轉(zhuǎn)至登陸頁面。(1)輸入模塊設(shè)計 程序中多出涉及輸入功能,輸入時用戶可能因為種種原因造成輸入錯誤,表單提交之后會彈出錯誤提示,在提交表單同時將表單內(nèi)容保存至系統(tǒng)的Session數(shù)組中,這樣在表單提交頁面刷新之后可以保存用戶的輸入歷史,方便用戶的使用。在本章將主要論述一些公共模塊的詳細設(shè)計和排課算法的詳細設(shè)計,并將排課算法的源代碼已附加文件的方式給出。之后對所有小模塊各自需要實現(xiàn)的功能進行了具體的介紹。 本章小結(jié)本章主要介紹系統(tǒng)模塊的劃分以及各個模塊內(nèi)部的設(shè)計。數(shù)據(jù)備份需要手動操作,其備份頻率可由管理員自己根據(jù)實際情況自己決定,數(shù)據(jù)備份文件以備份時間作為文件名,儲存路徑為系統(tǒng)根目錄下的backup文件夾。對于自動排課未安排成功的課程再調(diào)用手動課程安排模塊。 課程安排 該模塊屬于系統(tǒng)最主要的功能模塊,用于實現(xiàn)學(xué)期初課程的安排,在課程安排之前應(yīng)該需要將與課程安排相關(guān)的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,這部分由學(xué)期初始化模塊完成,因此與其有一定的數(shù)據(jù)相關(guān)性。 占用管理模塊 該模塊也分為兩部分教室占用管理模塊和教室占用模塊,管理員教室占用模塊與教師申請教室占用基本相同。 考試管理模塊 管理員可以通過該模塊查看本學(xué)期已安排的全部的考試信息,也可以根據(jù)課程名查找某一門課程是否已經(jīng)安排考試。教室課表查看與教師課表查看形式基本一致,并且可以進行打印。查看結(jié)果以列表形式逐條顯示。 教室管理模塊 該模塊包含三個內(nèi)容,教學(xué)樓管理、教室管理以及統(tǒng)計教室報表。修改密碼模塊與學(xué)生密碼修改基本一致,不在贅述。 發(fā)布通知 該模塊功能比較簡單,有系統(tǒng)提供可以輸入通知標(biāo)題和通知內(nèi)容的表單,用戶輸入相應(yīng)內(nèi)容之后確定發(fā)布通知,系統(tǒng)將通知存入數(shù)據(jù)庫,待其他用戶登錄系統(tǒng)之后可以在通知頁面發(fā)現(xiàn)。安排成功之后頁面跳轉(zhuǎn)至考試歷史查看頁面,該頁面顯示已安排的考試信息。 考試申請與取消 用戶可以對自己所教授的課程申請考試教室安排。在占用過程中必須考慮一個問題,已選教室是否在查找之后和申請使用之前的時間段內(nèi)被占用。與學(xué)生課表查看模塊一樣,也能夠提供課表打印功能。 個人課表查看 該模塊與學(xué)生模塊的個人課表查看在結(jié)構(gòu)上基本一致,但在每個單元格內(nèi)顯示內(nèi)容上略有不同。 教師功能模塊該模塊用于實現(xiàn)教師用戶登陸后的功能,與學(xué)生登錄一樣,各個模塊之間存在一定的數(shù)據(jù)耦合。所有用戶初始密碼均為123456,用戶使用該模塊可以修改自己的密碼。查詢結(jié)果可以分頁顯示。 課程旁聽 用戶可以根據(jù)課程名或者任課教師的姓名在本校本學(xué)期所開設(shè)的全部課程中查找自己感興趣的課程的上課信息。 個人考試信息查看 用戶調(diào)用該模塊后,可以查看用戶本學(xué)期所修的課程的考試信息(前提是該課程已經(jīng)安排考試)。由用戶選擇上自習(xí)的校區(qū)、學(xué)周、星期和課節(jié),所選擇的時間應(yīng)該在用戶訪問系統(tǒng)的當(dāng)前時間之后,也就是不能對查找已過去時間進行查找。模塊提供課表打印功能。 個人課表查看 該模塊用于查看登錄用戶本學(xué)期的個人課表,查詢結(jié)果以課程表的形式顯示,課表以周為單位,課表內(nèi)部按行分為星期一至星期日七天和課節(jié),將列分為一二節(jié)、三四節(jié)、五六節(jié)、七八和九十節(jié)五個大課節(jié)。系統(tǒng)除主頁面之外的任何頁面加載之前都要調(diào)用該模塊進行身份驗證,以確保非法用戶通過不正當(dāng)途徑進入系統(tǒng)。圖51 教室管理系統(tǒng)功能模塊圖 身份驗證模塊 該模塊屬于系統(tǒng)中的一個公共模塊,任何頁面都可以調(diào)用該方法,因此與其他頁面之間存在數(shù)據(jù)耦合。 通知顯示模塊 該模塊為系統(tǒng)主頁面主要顯示內(nèi)容,同時也是各種身份用戶登陸成功頁面顯示的主要內(nèi)容,該模塊與其他模塊無數(shù)據(jù)耦合,屬于獨立模塊,模塊顯示為系統(tǒng)通知的標(biāo)題、發(fā)布者和發(fā)布日期,通知按發(fā)布者優(yōu)先級和發(fā)布時間排序,其排序優(yōu)先級為管理員高于普通教師,同一優(yōu)先級之間按信息按發(fā)布日期由近至遠排列。 登錄模塊 登錄模塊是用戶訪問系統(tǒng)之前必須使用的一個模塊,該模塊與各類用戶登陸成功之后跳轉(zhuǎn)的頁面之間存在數(shù)據(jù)耦合,該數(shù)據(jù)用于記錄用戶名、密碼及用戶類別以便對所訪問頁面進行身份驗證時使用。劃分結(jié)果如圖51系統(tǒng)功能模塊圖所示,接下來將對各個模塊進行簡要的功能分析。 系統(tǒng)模塊設(shè)計由于系統(tǒng)存在三種不同身份的用戶,每一種身份的用戶登錄后都可以實現(xiàn)不同的功能,因此在使用編程語言實現(xiàn)系統(tǒng)之前需要先對系統(tǒng)進行初步的模塊劃分。然后詳細介紹了14個數(shù)據(jù)表的具體內(nèi)容以及表中的數(shù)據(jù)項與各項數(shù)據(jù)的格式,對部分不容易理解的數(shù)據(jù)表的數(shù)據(jù)項進行詳細的說明。表414 學(xué)期信息表字段類型長度備注名稱date_idint16學(xué)期編號date_startdate學(xué)期起始日期date_enddate學(xué)期結(jié)束日期date_typevarchar5學(xué)期類型 本章小結(jié)本章主要介紹數(shù)據(jù)庫的設(shè)計。表412 專業(yè)信息表字段類型長度備注名稱*department_idint16專業(yè)編號department_namevarchar20專業(yè)名d_academy_idint16專業(yè)所屬學(xué)院編號表413為考試占用教室信息表,用于存儲本學(xué)期全部考試的信息。表410 通知信息表字段類型長度備注名稱*n_idint16通知編號n_titlevarchar50通知標(biāo)題n_massagetext通知內(nèi)容n_authorvarchar20發(fā)布者n_vipint8通知優(yōu)先級n_datedate發(fā)布日期表411為教室占用信息表,用于保存本學(xué)期教室占用的全部信息。綜合考慮通知面向?qū)ο蟮膹V度和通知的重要性,確定優(yōu)先級為教師發(fā)布通知的優(yōu)先級低于管理員發(fā)布的優(yōu)先級。其中n_vip表示通知的優(yōu)先級。其中r_available所表達的信息為該教室是否完好可以使用。表中每一條信息代表編號為a_class_id的班級需要出席編號為a_subject_id的課程。表46 課程信息表字段類型長度備注名稱*subject_idint16課程編號subject_namevarchar20課程名稱subject_sweekint8課程起始學(xué)周subject_academyint8開課學(xué)院subject_eweekint8課程結(jié)束學(xué)周subject_teacher_idvarchar12任課教師工號subject_axeamint8課程是否安排考試subject_time_numint8課程學(xué)時總數(shù)subject_room_typeint8課程所學(xué)教室類型subject_areavarchar5課程上課校區(qū)subject_arrint16課程是否被安排表47為課程安排信息表,用于保存安排成功的課程的安排信息。表44 學(xué)生信息表字段類型長度備注名稱*s_idvarchar12學(xué)生號s_namevarchar10學(xué)生姓名s_classint8所在班級編號s_passwordvarchar16個人密碼表45 教師信息表字段類型長度備注名稱*t_idvarchar12教師工號t_namevarchar10教師姓名t_academyint8教師所在學(xué)院t_passwordint16個人密碼表46為課程表,用于保存本學(xué)期所需開設(shè)的全部課程的信息。表42 教學(xué)樓信息表字段類型長度備注名稱*b_idint8教學(xué)樓編號b_areavarchar5教學(xué)樓所在校區(qū)b_namevarchar20教學(xué)樓名稱表43為班級表,用于保存當(dāng)前在校的全部班級的信息。表41為學(xué)院數(shù)據(jù)表,用于保存本校全部的學(xué)院信息。最終確定數(shù)據(jù)庫的結(jié)構(gòu)如圖41所示。(6)對數(shù)據(jù)庫中的部分表做調(diào)整,進一步減少數(shù)據(jù)的冗余。(4)本著保證數(shù)據(jù)完整性、盡量減少數(shù)據(jù)冗余的基本原則確定數(shù)據(jù)庫中表的數(shù)量以及表中的數(shù)據(jù)項的劃分。(2)根據(jù)系統(tǒng)的需求首先對數(shù)據(jù)庫進行了概念設(shè)計,通過對系統(tǒng)中涉及到的數(shù)據(jù)進行分類聚合和概括,最終對教室、教師、學(xué)生、班級和課程等主體建立了抽象的數(shù)據(jù)模型。第4章 數(shù)據(jù)庫設(shè)計 第4章 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是系統(tǒng)設(shè)計中必不可少的一個階段,教室管理系統(tǒng)屬于一個信息管理系統(tǒng),而信息管理系統(tǒng)的本質(zhì)就是一個對數(shù)據(jù)進行管理的工具,因此數(shù)據(jù)庫設(shè)計的好壞直接關(guān)系著管理的復(fù)雜程度。 數(shù)據(jù)字典在上一節(jié)中通過數(shù)據(jù)流圖對系統(tǒng)進行了邊界劃分,本節(jié)將以數(shù)據(jù)字典的形式具體說明數(shù)據(jù)流圖中的主要數(shù)據(jù)對象的信息,以便開發(fā)過程中的程序設(shè)計及數(shù)據(jù)庫設(shè)計。(4)當(dāng)確定所有數(shù)據(jù)已經(jīng)成功導(dǎo)入后,管理員可以開始使用系統(tǒng)進行排課,排課程序執(zhí)行結(jié)束后,系統(tǒng)生成安排失敗課程的報表,管理員將此表交至教務(wù)人員,然后教務(wù)人員根據(jù)失敗課程的任課教師以及所有出席班級的現(xiàn)有課程通過手工方式安排課程的上課時間,
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1