彭淑燕 劉思聰


【摘要】? ? 畢業(yè)論文作為職業(yè)院校學生在學習階段最后的學業(yè)總結與能力訓練,既體現(xiàn)了學生對其所學知識的掌握程度,也體現(xiàn)出了職業(yè)院校的人才培養(yǎng)能力。隨著職業(yè)教育的不斷發(fā)展,特別是近年來國家對職業(yè)教育的重視度越來越高,使得職業(yè)院校不斷的提升其教學水平,而畢業(yè)論文作為對學生的學業(yè)能力的綜合體現(xiàn),也需要在多個方面進行質量提升。目前在畢業(yè)論文撰寫階段,存在著信息孤島現(xiàn)象,學生與指導教師,教務管理人員之間缺乏實時有效的溝通,導致論文質量不高。同時由于論文有其固定、規(guī)范的書寫格式,而職業(yè)院校學生往往缺乏相關的撰寫訓練,從而導致論文格式多有錯誤。為此,本文提出了一個基于云端的在線論文編輯與管理系統(tǒng),來推進和優(yōu)化論文撰寫各環(huán)節(jié)的質量。
【關鍵詞】? ? 畢業(yè)論文? ? 在線系統(tǒng)? ? 文檔生成引擎? ? 教學信息化
引言:
近些年來,國家對于高等職業(yè)教育的重視程度越來越高,特別是以“職教20條”,職業(yè)教育法重新修訂等事件為代表,表明了國家大力發(fā)展高等職業(yè)教育的決心與信心。而職業(yè)院校本身也在不斷探索的過程中,努力提升自身的教學能力水平。教學過程信息化則是職業(yè)院校人才培養(yǎng)能力提升的一個重要抓手。目前職業(yè)院校的信息化建設,主要集中在教學管理與信息化課堂建設上,為此學校投入了大量的人力、物力與資金,并取得了很好的成效。伴隨著信息化建設的不斷深入推進,就要求信息化建設要從宏觀的教學管理層面向微觀的教學實施層面滲透。而畢業(yè)論文作為檢驗學生學習成果和職業(yè)院校人才培養(yǎng)效果的終末環(huán)節(jié),事項繁多,持續(xù)時間較長。具體而言,典型畢業(yè)論文流程可以分為:論文選題、論文開題、任務書下達、中期檢查、論文撰寫、論文修改、論文評閱、論文查重、論文答辯等環(huán)節(jié)。整個畢業(yè)論文環(huán)節(jié)跨越兩個學期,涉及的教學與教務管理人員眾多,但到目前為止,其信息化程度較低。這就導致了學生在完成畢業(yè)論文時,往往花費了過多的時間與精力在不必要的流程處理當中。
為了改善學生與教師在畢業(yè)論文環(huán)節(jié)所遇到的困難,同時也為了使教學信息化建設進一步的深入推進,本文設計了職業(yè)院校畢業(yè)論文在線編輯與管理系統(tǒng)。通過該系統(tǒng),可以將畢業(yè)論文所有流程的推進及管控遷移到線上進行,而不需要學生與指導教師花費過多的時間與精力來跟蹤,管控論文流程的進度,從而可以使學生和教師將更多的精力放在畢業(yè)論文的設計與撰寫上,使得畢業(yè)論文的質量得到大的提升。
一、功能需求分析
在畢業(yè)論文階段,會涉及到學生、指導教師和教務管理部門三方的聯(lián)動。學生作為畢業(yè)論文的直接執(zhí)行人,將會在此階段內頻繁接收到各種類型的通知,例如論文啟動、題目選定、指導教師選擇、撰寫開題報告、提交中期論文檢查、提交論文初稿、多輪次論文修訂、提交終稿、校內審查、校外查重、提交終稿、論文答辯等。上述教學通知不僅事務繁雜,而且信息量較大,在沒有信息化系統(tǒng)輔助的情況下,很容易發(fā)生流程上的錯誤,從而影響畢業(yè)論文的正常進度。而教務管理部門,作為教學情況的直接管理者,每年都需要向眾多的畢業(yè)年級學生發(fā)布各種教務通知,而此時又恰好是畢業(yè)年級學生進行校外實習的階段,很多學生并未在校,這就導致教務管理部門往往對教務通知的送達情況難以有一個較為準確的掌握。而指導教師作為畢業(yè)論文的指導者,在完成本職教科研任務的同時,還需要對其所指導的學生進行論文設計、撰寫等方面的交流。而每名學生由于自身時間安排的不同,無法集中時間與教師進行面對面的交流。這就導致指導教師無法充分的與學生進行深入的溝通,這就使得畢業(yè)論文的技術深度與廣度無法得到很好的保障。
基于上述情況,本文所提在線系統(tǒng)將著重解決畢業(yè)論文環(huán)節(jié)中的信息流通難、消息反饋慢、交流時間嚴重碎片化的問題。首先,為了解決信息流通難的問題,文中系統(tǒng)內置了信息工作流引擎(workflow engine)。將所有教務通知都定義為了信息節(jié)點(information node),并以可配置的方式進行信息傳遞流程設置。每個信息節(jié)點均可以維持自身狀態(tài),并定時向上下游節(jié)點發(fā)送消息。系統(tǒng)會在信息節(jié)點狀態(tài)發(fā)生變化時進行數(shù)據(jù)讀取操作,并向所有注冊該工作流的用戶發(fā)送消息,從而保證所有注冊該工作流的用戶都可以接收事件消息。其次,本文系統(tǒng)內構建了用戶業(yè)務監(jiān)聽引擎(processing engine),對在線狀態(tài)下的用戶進行業(yè)務監(jiān)聽,當用戶完成了某項工作后,會觸發(fā)系統(tǒng)的業(yè)務監(jiān)聽引擎,并向所有注冊監(jiān)聽該動作的用戶發(fā)送事件廣播(broadcast),進而保證所有監(jiān)聽用戶能夠及時收到反饋信息。最后,為了解決交流時間碎片化的問題,文中系統(tǒng)遵循了“移動優(yōu)先”的策略,整個系統(tǒng)均以REST Full的形式向外提供業(yè)務服務,從而與前端系統(tǒng)徹底解耦,極大的增強了系統(tǒng)的靈活性與可擴展性。同時,本文所提系統(tǒng)為終端用戶還提供了小程序應用,所有業(yè)務流程均可通過移動設備進行操作。這樣就保證了終端用戶可以通過移動設備,利用碎片化時間來查看信息或進行相關流程的操作。同時,可以利用系統(tǒng)所提供的小程序,使學生與指導教師通過線上聊天室,在線音視頻通訊等方式進行實時的線上溝通與指導,這樣就極大提高了師生間的溝通效率,進而間接提高了畢業(yè)論文的撰寫質量。
二、功能模塊設計與實現(xiàn)
通過對業(yè)務需求的梳理與分析,將本文所提系統(tǒng)劃分為了以下幾個模塊:1.工作流引擎模塊;2.業(yè)務監(jiān)聽引擎模塊;3.格式化文檔生成引擎模塊;4.用戶管理模塊;5.小程序GUI接口模塊。
現(xiàn)就上述功能模塊分別進行介紹。
2.1工作流引擎模塊
為了使用該系統(tǒng)的學生、指導教師和教務管理人員可以流暢、精準的接收和發(fā)送各類消息,本文系統(tǒng)設計并實現(xiàn)了一個基于FastAPI框架的快速工作流引擎。該工作流引擎首先會將系統(tǒng)中設置好的工作節(jié)點抽象為具有統(tǒng)一結構的信息節(jié)點(Information Node),該節(jié)點具有如下屬性:
1.信息流上下文(Information Flow Context),該屬性的作用是保存信息節(jié)點的運行時環(huán)境,在該運行時環(huán)境中包含了對該信息節(jié)點狀態(tài)的監(jiān)聽器對象,當信息節(jié)點的狀態(tài)發(fā)生變化時,會激活該監(jiān)聽器對象,并通過該對象向外發(fā)送廣播消息(Broadcasting) 。
2.節(jié)點ID,該屬性的作用是為每一個信息節(jié)點對象賦予一個唯一的編號,從而可以使系統(tǒng)能夠在信息節(jié)點樹中快速找到該節(jié)點。
3.消息發(fā)送回調函數(shù)(Message_Sent_Handler),該屬性中保存了一個回調函數(shù),當信息節(jié)點向外發(fā)送信息后,工作流引擎實例便會調用該函數(shù)執(zhí)行相對應的操作。默認情況下會自動執(zhí)行日志記錄操作。
4.消息接收回調函數(shù)(Message_Received_Handler),該屬性中保存了一個回調函數(shù),當信息節(jié)點接收到上下游節(jié)點發(fā)送來的消息時,工作流引擎實例便會調用該函數(shù)執(zhí)行相應的操作。默認情況下會自動執(zhí)行日志記錄操作。
5前序節(jié)點指針(Pre_Node),該屬性中保存了當前節(jié)點的前序節(jié)點。
6.后接節(jié)點指針(After_Node),該屬性中保存了當前節(jié)點的后接節(jié)點。
在完成了所有節(jié)點的實例化操作后,本文系統(tǒng)將依據(jù)用戶提供的配置文件(config.yml)來初始化工作流實例,在該工作流實例中,所有信息節(jié)點將會按照配置文件依次添加到工作流中,同時該工作流實例將會維持信息節(jié)點間的前后連接順序,以及信息節(jié)點之間的消息流轉。當所有用戶配置文件所對應的工作流實例完成初始化后,將會被注冊到工作流引擎中,工作流引擎會在整個系統(tǒng)運行過程中定時掃描已注冊的實例,當實例完成所有信息節(jié)點的消息流轉后,引擎將會發(fā)送任務完成廣播,通知監(jiān)聽該工作流的用戶來進行進一步的處理。流程示意圖如圖1所示:
2.2業(yè)務監(jiān)聽引擎模塊
本文系統(tǒng)中的業(yè)務監(jiān)聽引擎,主要作用是對用戶進行動作監(jiān)聽,當用戶完成了一步操作后,會觸發(fā)監(jiān)聽引擎實例,該實例會向所有注冊監(jiān)聽該動作的工作流實例發(fā)送事件廣播(broadcast),進而保證所有被注冊到工作流實例中的用戶能夠及時收到信息,并做出反饋。監(jiān)聽引擎對象包含以下屬性:
1.工作流對象池(Work_Flows_Pool),該屬性用來保存所有處于激活狀態(tài)的工作流對象,監(jiān)聽引擎會對上述工作流狀態(tài)進行掃描,當工作流狀態(tài)處于結束狀態(tài)時,引擎將該工作流移出對象池。
2.注冊用戶對象池(Users_Pool),該屬性用來保存所有活躍用戶,當用戶產生操作完成廣播事件后,監(jiān)聽引擎將會通知響應的工作流來更新信息節(jié)點的狀態(tài),同時更新消息的流轉狀態(tài)。
3.關系映射表(User_Flow_Mapping),該屬性用來保存用戶與工作流實例之間的映射關系,當監(jiān)聽引擎?zhèn)蓽y到用戶廣播后,將會按照該映射表中所存儲的關聯(lián)關系,向相關的工作流發(fā)送狀態(tài)更新通知。
具體示意圖,如圖2所示:
2.3格式化文檔生成引擎模塊
該模塊的作用是將學生用戶所撰寫的論文按照標準論文模版的格式,生成符合學術規(guī)范的畢業(yè)論文。為了實現(xiàn)上述功能,本系統(tǒng)基于latex引擎內核,開發(fā)了快速學術文檔生成引擎(FADFS,F(xiàn)ast Academic Doc Format System)。該引擎在latex引擎內核的基礎上,按照“約定優(yōu)于配置”(convention over configuration)的規(guī)則,按照普遍的學術規(guī)范,定義了大量約定規(guī)則,并在引擎中實現(xiàn)了上述約定規(guī)則的默認實現(xiàn),使得用戶只需要關注論文內容的撰寫,而不需要維護文檔格式的正確,從而大幅簡化了論文的撰寫難度。
格式化文檔生成引擎,具體可以分為以下幾個組成部分:
1.引擎內核層。該引擎內核使用了XeTex,該內核作為一種標準的,支持Unicode編碼規(guī)則的排版引擎,可以幫助用戶利用其所提供的宏命令來快速生成具有特定格式的文檔內容。
2.格式轉化中間層。由于單純的XeTex文檔引擎只提供了基本的排版宏命令,這就導致用戶需要自行定義文檔的整體排版格式,且只能通過編寫程序的方式來進行,這就為用戶的使用增加了極大的難度,不僅文檔排版所消耗時間變長,而且由于用戶并非專業(yè)領域人員,并不完全熟悉XeTex宏命令的使用方法,從而導致運行時錯誤增多。為此,本文系統(tǒng)在內核基礎上添加了數(shù)據(jù)中間層,該層的作用是接收用戶文檔數(shù)據(jù),按照約定規(guī)則,將文檔數(shù)據(jù)按照不同的文檔內容類型,調用不同的XeTex宏命令來分別進行編譯,并最終將所有編譯好的文檔塊按順序整合成完整文檔。
3.應用程序編程接口層。該層的主要作用是將格式轉化層中的程序,按照封裝簡化的原則,抽象定義出一系列的應用程序接口來對外發(fā)布,供外部系統(tǒng)使用。在該層中,屏蔽了所有的技術實現(xiàn)細節(jié),只保留了程序功能入口點函數(shù)。這樣就進一步降低了用戶的使用難度。
2.4用戶管理模塊
由于學生在進行畢業(yè)作品設計與畢業(yè)論文撰寫的過程中,需要涉及到多個校內教學與行政部門,而且每個部門的工作任務與系統(tǒng)操作權限都不盡相同,因此需要在系統(tǒng)中設計一個統(tǒng)一的功能模塊來對不同的用戶及角色進行管理。在該系統(tǒng)中,所有用戶均可以依據(jù)自身情況被設置為具有一定角色的模型實體。同時不同角色的實體,可以分配不同的系統(tǒng)操作權限。本系統(tǒng)中默認內置了以下幾種角色模型:
1.學生。該角色將作為論文設計與撰寫的主體,默認具有文檔編寫、修改、刪除、上傳、查重等權限。
2.指導教師。該角色作為學生的指導者,默認具有文檔修改、批注、退回、查重、中期檢查、定稿等權限。教務管理員。該角色作為教務管理者,默認具有導入學生、導入教師、導入畢設題目、任務下達、開題報告管理、中期檢查報告管理、終稿管理、存檔備份、打印等權限。
3.系統(tǒng)管理員。該角色作為整個系統(tǒng)的維護人員,默認具有導入教務人員、導入學校編碼、編輯教務人員、編輯學校編碼、打印系統(tǒng)日志等權限。
4.超級管理員。該角色作為整個系統(tǒng)的最高權限維護人員,默認具有導入教務人員、導入學校編碼、編輯教務人員、編輯學校編碼、刪除教務人員、刪除學校代碼、打印系統(tǒng)日志等權限。同時,在使用超級管理員時,系統(tǒng)要求使用加密狗硬件進行硬加密操作。
2.5小程序GUI接口模塊
為了解決交流時間碎片化的問題,文中系統(tǒng)遵循了“移動優(yōu)先”的策略,整個系統(tǒng)均以REST Full的形式向外提供業(yè)務服務,從而與前端系統(tǒng)徹底解耦,為了使用戶能夠方便的使用該系統(tǒng),系統(tǒng)內置了小程序GUI接口,用戶可以通過該小程序快速的登錄本系統(tǒng)進行操作。如果用戶為在校學生或指導教師,且已經被教務管理員導入進系統(tǒng),則可以直接通過學號或工號進行登錄,如果未被導入系統(tǒng),則在使用該小程序前,需要先進行用戶注冊,待管理員審核后方可使用。如果用戶為教務管理員,則需要通知系統(tǒng)管理員進行后臺導入操作。
三、實踐與總結
本系統(tǒng)為了快速部署與便于擴容的目的,使用Docker容器作為整個系統(tǒng)的部署與運行環(huán)境。借助于Docker容器的快速部署與擴容特性,使得該系統(tǒng)具有較好的快速部署與擴容能力。本系統(tǒng)作為職業(yè)院校教學信息化建設深入課堂教學層面的一次探索,目前已被某職業(yè)院校二級分院所采用,并上線試運行。
在運行過程中,文中系統(tǒng)很好的解決了該學院所面臨的教學痛點問題:1.解決了學生因漏接教務通知而導致論文進程受阻的問題;2.學生無需關注畢業(yè)論文格式的修改,大大加快了畢業(yè)論文定稿的速度;3.教務管理做到了一事一反饋,能夠明確知曉各個學生目前畢業(yè)論文的進展情況,便于精確管理;4.指導教師可以利用碎片時間和學生進行溝通與指導,極大節(jié)省了時間成本,同時也使學生畢業(yè)論文的技術深度與廣度得到了進一步的提升。
但通過一段時間的運行后,本文系統(tǒng)也暴露出一些問題與不足,主要表現(xiàn)在:1.系統(tǒng)界面的交互邏輯有待優(yōu)化,在某些流程中存在著操作步驟較多,交互邏輯不清晰等問題。2. 本文系統(tǒng)在進行動態(tài)擴容的過程中,會出現(xiàn)5~10分鐘的服務停止現(xiàn)象,在此時間段內,用戶無法進行正常的業(yè)務操作,降低了用戶體驗度。3.系統(tǒng)在用戶操作的峰值時間段內,服務器承載壓力較大,導致服務器的平均響應時間延長。針對上述情況,本文所提系統(tǒng)將在后期更新過程中逐一進行解決。
雖然該系統(tǒng)目前還存在著一定的問題,但是總體效果達到了設計要求,是一次對教學信息化建設的有益探索。隨著職業(yè)院校信息化建設的不斷推進,各院校的教學水平與能力都將會得到較大的提升。但是需要注意的是,在教學信息化建設過程當中,需要注意平衡教學過程中所涉及的多方角色之間的關注程度,只有將教學過程視為一個整體,均衡發(fā)展,平穩(wěn)推進,才能借由信息化建設來提升學校整體水平。
參? 考? 文? 獻
[1] 閆實,付佳,石莉.大數(shù)據(jù)環(huán)境下基于智慧校園的教學改革[J].軟件, 2018, 39(2): 208-211.
[2] 陳敬華,黃麗英.網絡資源在本科畢業(yè)論文設計中的應用研究[J].西南師范大學學報(自然科學版),2017,(3):P200-204.
[3] 陳潔.基于網絡的交互式共享型畢業(yè)論文指導學習管理系統(tǒng)的實踐與應用[J],電化教育研究,2010(2):31-33,41.
[4] 游向東,徐圓圓,歐陽松.基于Docker的大數(shù)據(jù)AI教學與實驗系統(tǒng)[J].軟件, 2018(8):192-197.
[5] 楊士卿.基于B/S的一卡通會議簽到系統(tǒng)設計與實現(xiàn)[J].軟件,2018,v.39;No.457(05):66-69.
[6] 馬金山.工業(yè)工程專業(yè)畢業(yè)論文質量現(xiàn)狀及保障措施[J].文教資料, 2017:126-128
[7] 吳建軍.基于.NET和Web Service的本科畢業(yè)論文全程管理系統(tǒng)的設計與實現(xiàn)[D]. 電子科技大學.
[8] 孫樂民.面向高校的教學事務管理系統(tǒng)設計與應用[D]. 中國石油大學(華東).
[9] 江林.基于android的畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)[D]. 電子科技大學.
[10] 陳洋.本科畢業(yè)論文管理系統(tǒng)的人性化設計及實現(xiàn)[D]. 曲阜師范大學.
[11] 梁碧勇.基于Web的畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn)[D]. 電子科技大學.
[12] 楊照峰.基于WEB的高校畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn)[D].西安電子科技大學.