前言:想要寫出一篇引人入勝的文章?我們特意為您整理了職校畢業(yè)論文在線編輯與管理系統(tǒng)范文,希望能給你帶來靈感和參考,敬請閱讀。
引言
近些年來,國家對于高等職業(yè)教育的重視程度越來越高,特別是以“職教20條”,職業(yè)教育法重新修訂等事件為代表,表明了國家大力發(fā)展高等職業(yè)教育的決心與信心。而職業(yè)院校本身也在不斷探索的過程中,努力提升自身的教學(xué)能力水平。教學(xué)過程信息化則是職業(yè)院校人才培養(yǎng)能力提升的一個重要抓手。目前職業(yè)院校的信息化建設(shè),主要集中在教學(xué)管理與信息化課堂建設(shè)上,為此學(xué)校投入了大量的人力、物力與資金,并取得了很好的成效。伴隨著信息化建設(shè)的不斷深入推進(jìn),就要求信息化建設(shè)要從宏觀的教學(xué)管理層面向微觀的教學(xué)實(shí)施層面滲透。而畢業(yè)論文作為檢驗(yàn)學(xué)生學(xué)習(xí)成果和職業(yè)院校人才培養(yǎng)效果的終末環(huán)節(jié),事項(xiàng)繁多,持續(xù)時間較長。具體而言,典型畢業(yè)論文流程可以分為:論文選題、論文開題、任務(wù)書下達(dá)、中期檢查、論文撰寫、論文修改、論文評閱、論文查重、論文答辯等環(huán)節(jié)。整個畢業(yè)論文環(huán)節(jié)跨越兩個學(xué)期,涉及的教學(xué)與教務(wù)管理人員眾多,但到目前為止,其信息化程度較低。這就導(dǎo)致了學(xué)生在完成畢業(yè)論文時,往往花費(fèi)了過多的時間與精力在不必要的流程處理當(dāng)中。為了改善學(xué)生與教師在畢業(yè)論文環(huán)節(jié)所遇到的困難,同時也為了使教學(xué)信息化建設(shè)進(jìn)一步的深入推進(jìn),本文設(shè)計了職業(yè)院校畢業(yè)論文在線編輯與管理系統(tǒng)。通過該系統(tǒng),可以將畢業(yè)論文所有流程的推進(jìn)及管控遷移到線上進(jìn)行,而不需要學(xué)生與指導(dǎo)教師花費(fèi)過多的時間與精力來跟蹤,管控論文流程的進(jìn)度,從而可以使學(xué)生和教師將更多的精力放在畢業(yè)論文的設(shè)計與撰寫上,使得畢業(yè)論文的質(zhì)量得到大的提升。
一、功能需求分析
在畢業(yè)論文階段,會涉及到學(xué)生、指導(dǎo)教師和教務(wù)管理部門三方的聯(lián)動。學(xué)生作為畢業(yè)論文的直接執(zhí)行人,將會在此階段內(nèi)頻繁接收到各種類型的通知,例如論文啟動、題目選定、指導(dǎo)教師選擇、撰寫開題報告、提交中期論文檢查、提交論文初稿、多輪次論文修訂、提交終稿、校內(nèi)審查、校外查重、提交終稿、論文答辯等。上述教學(xué)通知不僅事務(wù)繁雜,而且信息量較大,在沒有信息化系統(tǒng)輔助的情況下,很容易發(fā)生流程上的錯誤,從而影響畢業(yè)論文的正常進(jìn)度。而教務(wù)管理部門,作為教學(xué)情況的直接管理者,每年都需要向眾多的畢業(yè)年級學(xué)生發(fā)布各種教務(wù)通知,而此時又恰好是畢業(yè)年級學(xué)生進(jìn)行校外實(shí)習(xí)的階段,很多學(xué)生并未在校,這就導(dǎo)致教務(wù)管理部門往往對教務(wù)通知的送達(dá)情況難以有一個較為準(zhǔn)確的掌握。而指導(dǎo)教師作為畢業(yè)論文的指導(dǎo)者,在完成本職教科研任務(wù)的同時,還需要對其所指導(dǎo)的學(xué)生進(jìn)行論文設(shè)計、撰寫等方面的交流。而每名學(xué)生由于自身時間安排的不同,無法集中時間與教師進(jìn)行面對面的交流。這就導(dǎo)致指導(dǎo)教師無法充分的與學(xué)生進(jìn)行深入的溝通,這就使得畢業(yè)論文的技術(shù)深度與廣度無法得到很好的保障。基于上述情況,本文所提在線系統(tǒng)將著重解決畢業(yè)論文環(huán)節(jié)中的信息流通難、消息反饋慢、交流時間嚴(yán)重碎片化的問題。首先,為了解決信息流通難的問題,文中系統(tǒng)內(nèi)置了信息工作流引擎(workflowengine)。將所有教務(wù)通知都定義為了信息節(jié)點(diǎn)(informationnode),并以可配置的方式進(jìn)行信息傳遞流程設(shè)置。每個信息節(jié)點(diǎn)均可以維持自身狀態(tài),并定時向上下游節(jié)點(diǎn)發(fā)送消息。系統(tǒng)會在信息節(jié)點(diǎn)狀態(tài)發(fā)生變化時進(jìn)行數(shù)據(jù)讀取操作,并向所有注冊該工作流的用戶發(fā)送消息,從而保證所有注冊該工作流的用戶都可以接收事件消息。其次,本文系統(tǒng)內(nèi)構(gòu)建了用戶業(yè)務(wù)監(jiān)聽引擎(processingengine),對在線狀態(tài)下的用戶進(jìn)行業(yè)務(wù)監(jiān)聽,當(dāng)用戶完成了某項(xiàng)工作后,會觸發(fā)系統(tǒng)的業(yè)務(wù)監(jiān)聽引擎,并向所有注冊監(jiān)聽該動作的用戶發(fā)送事件廣播(broadcast),進(jìn)而保證所有監(jiān)聽用戶能夠及時收到反饋信息。最后,為了解決交流時間碎片化的問題,文中系統(tǒng)遵循了“移動優(yōu)先”的策略,整個系統(tǒng)均以RESTFull的形式向外提供業(yè)務(wù)服務(wù),從而與前端系統(tǒng)徹底解耦,極大的增強(qiáng)了系統(tǒng)的靈活性與可擴(kuò)展性。同時,本文所提系統(tǒng)為終端用戶還提供了小程序應(yīng)用,所有業(yè)務(wù)流程均可通過移動設(shè)備進(jìn)行操作。這樣就保證了終端用戶可以通過移動設(shè)備,利用碎片化時間來查看信息或進(jìn)行相關(guān)流程的操作。同時,可以利用系統(tǒng)所提供的小程序,使學(xué)生與指導(dǎo)教師通過線上聊天室,在線音視頻通訊等方式進(jìn)行實(shí)時的線上溝通與指導(dǎo),這樣就極大提高了師生間的溝通效率,進(jìn)而間接提高了畢業(yè)論文的撰寫質(zhì)量。
二、功能模塊設(shè)計與實(shí)現(xiàn)
通過對業(yè)務(wù)需求的梳理與分析,將本文所提系統(tǒng)劃分為了以下幾個模塊:1.工作流引擎模塊;2.業(yè)務(wù)監(jiān)聽引擎模塊;3.格式化文檔生成引擎模塊;4.用戶管理模塊;5.小程序GUI接口模塊。現(xiàn)就上述功能模塊分別進(jìn)行介紹。
2.1工作流引擎模塊
為了使用該系統(tǒng)的學(xué)生、指導(dǎo)教師和教務(wù)管理人員可以流暢、精準(zhǔn)的接收和發(fā)送各類消息,本文系統(tǒng)設(shè)計并實(shí)現(xiàn)了一個基于FastAPI框架的快速工作流引擎。該工作流引擎首先會將系統(tǒng)中設(shè)置好的工作節(jié)點(diǎn)抽象為具有統(tǒng)一結(jié)構(gòu)的信息節(jié)點(diǎn)(InformationNode),該節(jié)點(diǎn)具有如下屬性:1.信息流上下文(InformationFlowContext),該屬性的作用是保存信息節(jié)點(diǎn)的運(yùn)行時環(huán)境,在該運(yùn)行時環(huán)境中包含了對該信息節(jié)點(diǎn)狀態(tài)的監(jiān)聽器對象,當(dāng)信息節(jié)點(diǎn)的狀態(tài)發(fā)生變化時,會激活該監(jiān)聽器對象,并通過該對象向外發(fā)送廣播消息(Broadcasting)。2.節(jié)點(diǎn)ID,該屬性的作用是為每一個信息節(jié)點(diǎn)對象賦予一個唯一的編號,從而可以使系統(tǒng)能夠在信息節(jié)點(diǎn)樹中快速找到該節(jié)點(diǎn)。3.消息發(fā)送回調(diào)函數(shù)(Message_Sent_Handler),該屬性中保存了一個回調(diào)函數(shù),當(dāng)信息節(jié)點(diǎn)向外發(fā)送信息后,工作流引擎實(shí)例便會調(diào)用該函數(shù)執(zhí)行相對應(yīng)的操作。默認(rèn)情況下會自動執(zhí)行日志記錄操作。4.消息接收回調(diào)函數(shù)(Message_Received_Handler),該屬性中保存了一個回調(diào)函數(shù),當(dāng)信息節(jié)點(diǎn)接收到上下游節(jié)點(diǎn)發(fā)送來的消息時,工作流引擎實(shí)例便會調(diào)用該函數(shù)執(zhí)行相應(yīng)的操作。默認(rèn)情況下會自動執(zhí)行日志記錄操作。5前序節(jié)點(diǎn)指針(Pre_Node),該屬性中保存了當(dāng)前節(jié)點(diǎn)的前序節(jié)點(diǎn)。6.后接節(jié)點(diǎn)指針(After_Node),該屬性中保存了當(dāng)前節(jié)點(diǎn)的后接節(jié)點(diǎn)。在完成了所有節(jié)點(diǎn)的實(shí)例化操作后,本文系統(tǒng)將依據(jù)用戶提供的配置文件(config.yml)來初始化工作流實(shí)例,在該工作流實(shí)例中,所有信息節(jié)點(diǎn)將會按照配置文件依次添加到工作流中,同時該工作流實(shí)例將會維持信息節(jié)點(diǎn)間的前后連接順序,以及信息節(jié)點(diǎn)之間的消息流轉(zhuǎn)。當(dāng)所有用戶配置文件所對應(yīng)的工作流實(shí)例完成初始化后,將會被注冊到工作流引擎中,工作流引擎會在整個系統(tǒng)運(yùn)行過程中定時掃描已注冊的實(shí)例,當(dāng)實(shí)例完成所有信息節(jié)點(diǎn)的消息流轉(zhuǎn)后,引擎將會發(fā)送任務(wù)完成廣播,通知監(jiān)聽該工作流的用戶來進(jìn)行進(jìn)一步的處理。流程示意圖如圖1所示:
2.2業(yè)務(wù)監(jiān)聽引擎模塊
本文系統(tǒng)中的業(yè)務(wù)監(jiān)聽引擎,主要作用是對用戶進(jìn)行動作監(jiān)聽,當(dāng)用戶完成了一步操作后,會觸發(fā)監(jiān)聽引擎實(shí)例,該實(shí)例會向所有注冊監(jiān)聽該動作的工作流實(shí)例發(fā)送事件廣播(broadcast),進(jìn)而保證所有被注冊到工作流實(shí)例中的用戶能夠及時收到信息,并做出反饋。監(jiān)聽引擎對象包含以下屬性:1.工作流對象池(Work_Flows_Pool),該屬性用來保存所有處于激活狀態(tài)的工作流對象,監(jiān)聽引擎會對上述工作流狀態(tài)進(jìn)行掃描,當(dāng)工作流狀態(tài)處于結(jié)束狀態(tài)時,引擎將該工作流移出對象池。2.注冊用戶對象池(Users_Pool),該屬性用來保存所有活躍用戶,當(dāng)用戶產(chǎn)生操作完成廣播事件后,監(jiān)聽引擎將會通知響應(yīng)的工作流來更新信息節(jié)點(diǎn)的狀態(tài),同時更新消息的流轉(zhuǎn)狀態(tài)。3.關(guān)系映射表(User_Flow_Mapping),該屬性用來保存用戶與工作流實(shí)例之間的映射關(guān)系,當(dāng)監(jiān)聽引擎?zhèn)蓽y到用戶廣播后,將會按照該映射表中所存儲的關(guān)聯(lián)關(guān)系,向相關(guān)的工作流發(fā)送狀態(tài)更新通知。具體示意圖,如圖2所示:
2.3格式化文檔生成引擎模塊
該模塊的作用是將學(xué)生用戶所撰寫的論文按照標(biāo)準(zhǔn)論文模版的格式,生成符合學(xué)術(shù)規(guī)范的畢業(yè)論文。為了實(shí)現(xiàn)上述功能,本系統(tǒng)基于latex引擎內(nèi)核,開發(fā)了快速學(xué)術(shù)文檔生成引擎(FADFS,F(xiàn)astAcademicDocFormatSystem)。該引擎在latex引擎內(nèi)核的基礎(chǔ)上,按照“約定優(yōu)于配置”(conventionoverconfiguration)的規(guī)則,按照普遍的學(xué)術(shù)規(guī)范,定義了大量約定規(guī)則,并在引擎中實(shí)現(xiàn)了上述約定規(guī)則的默認(rèn)實(shí)現(xiàn),使得用戶只需要關(guān)注論文內(nèi)容的撰寫,而不需要維護(hù)文檔格式的正確,從而大幅簡化了論文的撰寫難度。格式化文檔生成引擎,具體可以分為以下幾個組成部分:1.引擎內(nèi)核層。該引擎內(nèi)核使用了XeTex,該內(nèi)核作為一種標(biāo)準(zhǔn)的,支持Unicode編碼規(guī)則的排版引擎,可以幫助用戶利用其所提供的宏命令來快速生成具有特定格式的文檔內(nèi)容。2.格式轉(zhuǎn)化中間層。由于單純的XeTex文檔引擎只提供了基本的排版宏命令,這就導(dǎo)致用戶需要自行定義文檔的整體排版格式,且只能通過編寫程序的方式來進(jìn)行,這就為用戶的使用增加了極大的難度,不僅文檔排版所消耗時間變長,而且由于用戶并非專業(yè)領(lǐng)域人員,并不完全熟悉XeTex宏命令的使用方法,從而導(dǎo)致運(yùn)行時錯誤增多。為此,本文系統(tǒng)在內(nèi)核基礎(chǔ)上添加了數(shù)據(jù)中間層,該層的作用是接收用戶文檔數(shù)據(jù),按照約定規(guī)則,將文檔數(shù)據(jù)按照不同的文檔內(nèi)容類型,調(diào)用不同的XeTex宏命令來分別進(jìn)行編譯,并最終將所有編譯好的文檔塊按順序整合成完整文檔。3.應(yīng)用程序編程接口層。該層的主要作用是將格式轉(zhuǎn)化層中的程序,按照封裝簡化的原則,抽象定義出一系列的應(yīng)用程序接口來對外發(fā)布,供外部系統(tǒng)使用。在該層中,屏蔽了所有的技術(shù)實(shí)現(xiàn)細(xì)節(jié),只保留了程序功能入口點(diǎn)函數(shù)。這樣就進(jìn)一步降低了用戶的使用難度。
2.4用戶管理模塊
由于學(xué)生在進(jìn)行畢業(yè)作品設(shè)計與畢業(yè)論文撰寫的過程中,需要涉及到多個校內(nèi)教學(xué)與行政部門,而且每個部門的工作任務(wù)與系統(tǒng)操作權(quán)限都不盡相同,因此需要在系統(tǒng)中設(shè)計一個統(tǒng)一的功能模塊來對不同的用戶及角色進(jìn)行管理。在該系統(tǒng)中,所有用戶均可以依據(jù)自身情況被設(shè)置為具有一定角色的模型實(shí)體。同時不同角色的實(shí)體,可以分配不同的系統(tǒng)操作權(quán)限。本系統(tǒng)中默認(rèn)內(nèi)置了以下幾種角色模型:1.學(xué)生。該角色將作為論文設(shè)計與撰寫的主體,默認(rèn)具有文檔編寫、修改、刪除、上傳、查重等權(quán)限。2.指導(dǎo)教師。該角色作為學(xué)生的指導(dǎo)者,默認(rèn)具有文檔修改、批注、退回、查重、中期檢查、定稿等權(quán)限。教務(wù)管理員。該角色作為教務(wù)管理者,默認(rèn)具有導(dǎo)入學(xué)生、導(dǎo)入教師、導(dǎo)入畢設(shè)題目、任務(wù)下達(dá)、開題報告管理、中期檢查報告管理、終稿管理、存檔備份、打印等權(quán)限。3.系統(tǒng)管理員。該角色作為整個系統(tǒng)的維護(hù)人員,默認(rèn)具有導(dǎo)入教務(wù)人員、導(dǎo)入學(xué)校編碼、編輯教務(wù)人員、編輯學(xué)校編碼、打印系統(tǒng)日志等權(quán)限。4.超級管理員。該角色作為整個系統(tǒng)的最高權(quán)限維護(hù)人員,默認(rèn)具有導(dǎo)入教務(wù)人員、導(dǎo)入學(xué)校編碼、編輯教務(wù)人員、編輯學(xué)校編碼、刪除教務(wù)人員、刪除學(xué)校代碼、打印系統(tǒng)日志等權(quán)限。同時,在使用超級管理員時,系統(tǒng)要求使用加密狗硬件進(jìn)行硬加密操作。
2.5小程序GUI接口模塊
為了解決交流時間碎片化的問題,文中系統(tǒng)遵循了“移動優(yōu)先”的策略,整個系統(tǒng)均以RESTFull的形式向外提供業(yè)務(wù)服務(wù),從而與前端系統(tǒng)徹底解耦,為了使用戶能夠方便的使用該系統(tǒng),系統(tǒng)內(nèi)置了小程序GUI接口,用戶可以通過該小程序快速的登錄本系統(tǒng)進(jìn)行操作。如果用戶為在校學(xué)生或指導(dǎo)教師,且已經(jīng)被教務(wù)管理員導(dǎo)入進(jìn)系統(tǒng),則可以直接通過學(xué)號或工號進(jìn)行登錄,如果未被導(dǎo)入系統(tǒng),則在使用該小程序前,需要先進(jìn)行用戶注冊,待管理員審核后方可使用。如果用戶為教務(wù)管理員,則需要通知系統(tǒng)管理員進(jìn)行后臺導(dǎo)入操作。
三、實(shí)踐與總結(jié)
本系統(tǒng)為了快速部署與便于擴(kuò)容的目的,使用Docker容器作為整個系統(tǒng)的部署與運(yùn)行環(huán)境。借助于Docker容器的快速部署與擴(kuò)容特性,使得該系統(tǒng)具有較好的快速部署與擴(kuò)容能力。本系統(tǒng)作為職業(yè)院校教學(xué)信息化建設(shè)深入課堂教學(xué)層面的一次探索,目前已被某職業(yè)院校二級分院所采用,并上線試運(yùn)行。在運(yùn)行過程中,文中系統(tǒng)很好的解決了該學(xué)院所面臨的教學(xué)痛點(diǎn)問題:1.解決了學(xué)生因漏接教務(wù)通知而導(dǎo)致論文進(jìn)程受阻的問題;2.學(xué)生無需關(guān)注畢業(yè)論文格式的修改,大大加快了畢業(yè)論文定稿的速度;3.教務(wù)管理做到了一事一反饋,能夠明確知曉各個學(xué)生目前畢業(yè)論文的進(jìn)展情況,便于精確管理;4.指導(dǎo)教師可以利用碎片時間和學(xué)生進(jìn)行溝通與指導(dǎo),極大節(jié)省了時間成本,同時也使學(xué)生畢業(yè)論文的技術(shù)深度與廣度得到了進(jìn)一步的提升。但通過一段時間的運(yùn)行后,本文系統(tǒng)也暴露出一些問題與不足,主要表現(xiàn)在:1.系統(tǒng)界面的交互邏輯有待優(yōu)化,在某些流程中存在著操作步驟較多,交互邏輯不清晰等問題。2.本文系統(tǒng)在進(jìn)行動態(tài)擴(kuò)容的過程中,會出現(xiàn)5~10分鐘的服務(wù)停止現(xiàn)象,在此時間段內(nèi),用戶無法進(jìn)行正常的業(yè)務(wù)操作,降低了用戶體驗(yàn)度。3.系統(tǒng)在用戶操作的峰值時間段內(nèi),服務(wù)器承載壓力較大,導(dǎo)致服務(wù)器的平均響應(yīng)時間延長。針對上述情況,本文所提系統(tǒng)將在后期更新過程中逐一進(jìn)行解決。雖然該系統(tǒng)目前還存在著一定的問題,但是總體效果達(dá)到了設(shè)計要求,是一次對教學(xué)信息化建設(shè)的有益探索。隨著職業(yè)院校信息化建設(shè)的不斷推進(jìn),各院校的教學(xué)水平與能力都將會得到較大的提升。但是需要注意的是,在教學(xué)信息化建設(shè)過程當(dāng)中,需要注意平衡教學(xué)過程中所涉及的多方角色之間的關(guān)注程度,只有將教學(xué)過程視為一個整體,均衡發(fā)展,平穩(wěn)推進(jìn),才能借由信息化建設(shè)來提升學(xué)校整體水平。
作者:彭淑燕 劉思聰 單位:江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院 智能工程技術(shù)學(xué)院