李景炤 譚建中 孫宇鋒 謝垂益

摘要:本科院校畢業論文的寫作和管理一直是教育界探討的熱點。寫作畢業論文是學生畢業前的重要環節,除了學生專業知識和水平因素外,各個學院對畢業論文的管理也至關重要。本文嘗試將高校的畢業論文從申請論文題目,申報任務書,撰寫開題報告、畢業論文、考核評議書等環節進行計算機過程化管理,使得指導教師與學生之間實現及時交流,從而達到畢業論文實踐教學的有效性與規范化,也為高等教育提供一些有意義的經驗。
關鍵詞:畢業論文;過程化;管理系統;設計與實現
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)29-0015-02
目前,我校的本科生畢業論文(設計)仍采用手工方式管理,畢業論文(設計)管理中的許多環節,例如選題、開題、過程管理、審閱評議、結果統計分析等工作還沒有被納入校園信息管理系統中。
每年我校的本科畢業生有6000余人,由于整個畢業論文(設計)的工作過程持續時間長、涉及人數多(包括學生、指導教師和教學管理人員),傳統的以手工為主的管理方式存在很多缺點和不足:學生在選導師、選題目等方面缺乏較好的公開性、公平性;師生之間信息交流不暢;論文(設計)工作進度難以及時了解并進行控制;在成績評定方面存在較大的片面性和隨意性;文檔收集整理、成績統計分析等方面重復勞動量大、工作效率低下等等[1]。
在這樣的背景下,如何加強畢業論文的管理工作,實現無紙化和網絡化辦公,是一個極具應用價值的研究課題。研發畢業論文(設計)系統可以大大減少工作量,節約打印紙張等辦公經費,提高教務人員的工作效率和管理水平,還可以方便學生上傳下載和師生間共享論文資源。
為此,我們申請了大學生創新創業訓練計劃項目,根據數學與統計學院(簡稱“數統學院”)的實際情況,開發出了適用于數統學院的畢業論文管理系統[2]。
一、畢業論文過程化管理系統的功能設計
畢業論文管理系統的主要功能有:教師出題、學生選題、學生自命題、教學管理員審核、學生上傳相關文檔、數據匯總、系統設置。其中,系統分三個模塊,分別是教師模塊、學生模塊和管理員模塊[3]。
1.管理系統的基本操作流程如下:
①教師登錄系統,輸入自己想要指導的課題,并申報;②教務管理員登錄系統審核課題;③學生登錄系統選擇課題或者自命題;④學生登錄系統查看自己的課題狀況,并根據課題要求完成畢業論文教學進程的各項任務,按時上傳相應的文檔。同時,教師可以在登錄系統查看自己指導的學生的信息,下載學生上傳的文檔。⑤待學生在規定時間全部完成和上傳文檔后,教務管理員可對整個教務進程進行總結和整理,完成整個畢業論文線上辦公的過程。
以下時序圖1闡述了系統的基本流程:
2.管理系統開發所需要的技術條件:
①Visual Studio 2013 IDE工具作為系統開發環境;②ASP.NET MVC4 (C#)作為開發語言和開發框架;③FTP工具上傳部署代碼;④Git版本管理工具進行版本管理;⑤Windows Server 2008 RC2作為服務器系統;⑥IIS服務器作為運行服務器;⑦SQL Server 2008作為數據庫服務器。
目前項目系統的開發工作已經順利完成,并且已經過教務管理人員和學生的測試,根據他們的建議對系統功能進行完善,可以正式投入使用。
二、畢業論文過程化管理系統的常見問題和解決方案
1.多個學生選同一個課題多并發問題。在學生選擇課題的時候,由于某個課題比較受歡迎,可能會有比較多得學生優先考慮,但課題只有一個。這時候,如果有多個學生同時選的話,很可能會出現沖突問題,導致系統出錯。圖2展示了Topic(論題的表)的結構。
其中Student_UserId為學生的用戶唯一標識,當學生選擇某個課題的時候,屬于這個課題的一行記錄中的這個字段就會填上學生的標識。在多并發的問題中,如果多個學生請求選擇這個課題,就會同時更新這個字段。那么,在更新的一瞬間,根據服務器處理的先后順序,往往是最后被處理的被寫上這個字段。這是因為服務器接收到多個選題請求后,會同時地執行邏輯處理。首先將相關的這一行的資源從數據庫里面取出來,在邏輯處理的過程中,服務器會根據這個資源在內存中生成對應的對象或者數組,而修改數據就通過修改這個對象或者數組來實現。而最后保存操作就把這個對象或者數組再生成SQL語句更新數據庫。那么根據這圖2 Topic結構個流程,各個請求都生成了屬于自己的SQL語句,當然是最后執行SQL的那個請求會被最終保留在字段里了,這樣就是“后者先得”,不符合實際的要求,同時也會造成后續邏輯的錯誤。
解決方案:
通過為Topic表加上一個16進制的字段RowVersion(見圖2箭頭所指)和樂觀鎖的方法。相應的處理邏輯改為:讀取某一行的時候,也順便把RowVersion的值讀出來作為這一行的版本判斷,當更新行的時候,首先判斷數據庫中的這一行的這個字段是否還是原來的值,如果是的話表示期間沒有被修改過,那么就將RowVersion的值加1,再存進數據庫;如果不等于原來的值,就表示已經被修改過,不能再執行更新,而要做出相應的處理。樂觀鎖保證了對某行記錄進行更新操作時,會對這一行加鎖,若有另外的進程需要操作同一行,必須等前面的進程操作完成。這就保證了數據不會有沖突,解決“后者先得”的這個問題[4]。
2.師生用戶體驗優化問題。系統對用戶體驗做出了比較多的優化,總結為如下幾點:①采用當前較為新的HTML5 UI作為界面元素,無論是界面風格、字體還是圖標設計看上去都令人舒服。②系統的大部分操作都使用Ajax(Asynchronous Javascript And XML)異步處理的技術,通過彈出層來進行各種操作,不需要刷新頁面就能看到修改后的效果,讓用戶感覺方便和友好[5]。
3.桌上電腦和移動端同時兼容的問題。為了同時兼容桌上個人電腦端和移動端,能讓教師或者學生出門在外或者不在電腦旁都能登錄系統完成自己需要的操作,本系統實現了PC和移動端的兼容。系統的頁面可以根據屏幕的寬度來調節相應的樣式。本文只討論了項目軟件開發過程中遇到的幾個問題和解決方案,借此與專家或有相關經驗的開發者分享,項目中其他功能的具體實現過程不再一一列出,敬請批評和指正。
三、總結
畢業論文管理是學院教學管理與評價的一個重要組成部分。從在校大學生的角度看,只有認真對待論文寫作,才能順利完成學業,取得學士學位;從教育管理的角度看,畢業論文工作不僅能提高學生的專業知識水平,更能言傳身教給學生科學研究的嚴謹態度和扎實的研究作風,并且可以使學生走向工作崗位后,能夠掌握分析解決問題的基本原則,培養學生持之以恒、繼續學習的良好思維品質。這才是大學教育中畢業論文工作的真正內涵。
參考文獻:
[1]李海燕,俞金梅,等.高校本科畢業論文(設計)中存在的問題及解決途徑[J].實驗技術與管理,2012,29(12):141-144.
[2]李景炤,咼文承等.基于MVC框架的系統重構方法研究與實踐[J].電腦知識與技術,2015,11(22):63-66.
[3]王玉.基于ASP的應用型院校畢業論文評分系統構建[J].職業技術教育,2012,33(35):75-77.
[4]梁國軍,謝垂益等.UCT算法在不圍棋博弈中的實現[J].韶關學院學報,2015,36(8):17-21.
[5]吳勝,劉建波等.ASP.NET MVC框架下內容管理系統的探索與實現[J].微計算機信息,2010,26(12):30-32.