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