向兵 董曉紅 黃慧
(呼倫貝爾學院傳媒學院 內蒙古 海拉爾 021008)
隨著呼倫貝爾學院辦學規模的擴大和學生人數的增多,畢業論文傳統的管理方式效率顯得十分低下并且浪費大量的紙質資源,而且學生完成畢業論文的過程中論文的進度無法監控,會造成答辯前的最后一段時間學生突擊完成論文的寫作。這樣的論文不僅會出現學生抄襲資料的現象嚴重,而且文章質量差,為了更加科學高效地管理畢業論文就十分有必要。因此作者針對這種情況,開發了一套二級學院使用的畢業論文管理系統。
本系統主要針對學生完成畢業論文的整個過程進行管理,由擔任畢業論文指導的教師分專業提交畢業論文或設計題目,教研室主任進行題目審核發布。學生選題完成之后教師選擇確認學生,教研室主任控制本專業學生在規定的時間之內提交開題報告、指導計劃書、初稿、二稿、三稿、終稿。
系統基于B/S模式設計,用戶可以很方便地通過瀏覽器使用畢業論文管理系統。采用MVC(Model View Controller 模型視圖控制器)的方式進行開發,把模型、視圖、控制分離模塊化的開發方法、方便多人協作開發以及對系統功能進行擴展。采用ThinkPHP+DWZ框架技術進行開發,ThinkPHP框架是一個免費開源的,快速、簡單地面向對象的輕量級PHP開發框架,遵循Apache2開源協議,該框架設計簡潔、性能出眾,適合于快速開發而且節省開發成本。DWZ框架是基于Jquery實現的Ajax開源框架,通過 HTML擴展的方式使用JavaScript代碼,簡單實用、擴展方便。數據存儲采用Mysql關系型數據庫,Mysql的SQL語言使用的訪問數據庫最通用的標準化語言,而且 Mysql體積小、速度快、成本低,與PHP結合是開發中小型網站最佳選擇。服務器選擇搭建在SAE(新浪云平臺)上,SAE通過設計多層沙盒的形式來保護用戶網站運行的安全并且能做到用戶無感知自動擴容以承載高并發的情況。
系統按照完成論文整個過程的需求,從結構上劃分三個模塊部分,主要實現模塊包括管理員、教師、學生功能模塊。在ThinkPHP框架下分為三個項目對應三個模塊,每個模塊使用單獨的MVC結構,單獨的入口文件。畢業論文管理系統的總體功能架構設計,如圖1所示:

圖1 系統結構圖

表1 學生表
各模塊功能說明如下:
2.1.1 管理員模塊:管理員把本學院大四畢業生的數據通過Excel的方式導入系統,同時把指導畢業論文的教師的數據也導入系統,導入的用戶數據可以編輯修改,也可以單獨添加用戶數據、刪除用戶數據。管理員可以對每個專業完成畢業論文的進度進行設置,主要還是教研室主任進行進度設置,每個階段的論文提交完成之后,管理員可以下載查看學生完成情況的報表數據。本學年的論文全部完成之后,統一歸檔存儲各階段論文的電子稿,學院同時存儲學生的最終一個版本的紙質稿。
2.1.2 教師模塊:有畢業論文指導任務的教師根據自己的研究方向,分專業提交相關方向的論文題目及論文要求,并設置每個題目可以選題的人數,如果教師是教研室主任需要審核教師發布的課題,審核通過后發布課題。學生選完題目,教師可以從選擇該題的多個學生中確認一名學生,確認該學生之后,該學生就不可以再申請別的題目。選題完成之后,在論文每個階段過程中教師需按時批閱學生提交的論文并反饋給學生,最終給學生的論文評閱成績。
2.1.3 學生模塊:學生根據教師發布的題目,選擇自己合適的題目,限制每個學生最多可以同時選擇三個題目,教師確認之前可以退選題目,確認之后不可以更改,最后學生根據系統提示按期提交論文的PDF稿件,按照教師的反饋進行修改,可以重復提交PDF稿,重復提交覆蓋上次的文件。
本系統采用的 Mysql數據庫,Mysql具有體積小、安全、跨平臺、高效等特點,并且適合與PHP結合使用。系統中的表主要設計了學生表、教師表、管理員表、論文題目表、論文結果表、角色等表,主要表結構圖如表1-4所示:

表2 教師表

表3 論文題目表

表4 論文結果表
教師、學生、管理員登錄分別使用單獨入口文件的方式登錄系統,學生和教師分別使用學號和工號進行登錄驗證,驗證通過之后可以對初始密碼和個人信息進行修改。
用戶登錄使用了驗證碼可以有效的防范惡意程序的攻擊,驗證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自動區分計算機和人類的圖靈測試)的縮寫,是一種區分用戶是計算機還是人的公共全自動程序, 可以防止:惡意破解密碼、刷票、論壇灌水,有效防止某個黑客對某一個特定注冊用戶用特定程序暴力破解方式進行不斷的登陸嘗試。另外在防注入方面ThinkPHP框架對提交到數據庫的數據進行了過濾處理,系統會對用戶提交的數據類型進行強制的數據類型檢測,并且對數據來源進行數據格式轉換。而且對于字符類型的數據,ThinkPHP都會進行escape_string()處理。驗證碼的主要實現代碼如下。


在指定的時間段,教師登錄系統發布論文課題,如果課題較多可以使用Excel導入論文題目及要求,系統中有導入課題模板的下載。題目發布完成之后,相關專業教研室主任審核題目確認通過,審核完本專業題目并設置開始選題時間,在規定的時間之內,學生選題,教師確認選題學生。
學生選題時,只能瀏覽本專業的題目,如果對某個題目感興趣,點擊題目可以瀏覽該題目的詳細要求,在該題目已選人數尚未超過選題總人數的情況下學生即可選擇該題。教師根據學生的選題信息,每個題目確定一個學生即可,該題目其他未被選中的學生的數據會被自動刪除,學生與教師相互之間進行選擇。教師學生建立指導與被指導關系之后,學生按規定的時間在系統中提交論文的文稿,教師及時批閱學生論文,批閱完的學生論文反饋給學生,學生可以重新上傳文稿并覆蓋上一次的文檔,分階段指導學生完成論文。這樣即有效的督促了學生完成論文,同時也要求老師及時批閱論文,完成論文的進度也得到了很好的控制。論文流程如圖2所示。

圖2 論文流程圖
由于不能直接實現 office文件在瀏覽器瀏覽,所以學生在上傳文檔的時候就直接上傳PDF文檔,再利用Jquery Media 插件實現在線預覽PDF文件的畢業論文。IE內核的瀏覽器不支持該插件,使用IE的用戶需要安裝 PDF閱讀器軟件,如 Foxit Reader、Adobe Reader等軟件。其他內核的瀏覽器可以直接在線瀏覽PDF文件。在學生和教師查閱文檔的地方引用下面的代碼即可實現在線的瀏覽查閱論文,并在評語和成績一欄填寫評語和成績提交。在線瀏覽PDF文件的實現代碼如下:

系統具體實現效果如圖3所示:

圖3 系統實現圖
論文的歸檔管理是論文管理的重要組成部分,傳統的歸檔使用紙質版存檔,既浪費紙質資源又費時費力。系統根據論文歸檔的要求,把電子版的論文材料按照年級專業班級論文類別自動分類存放,每年度論文工作全部完成之后,保存本年度論文文檔數據。
存檔功能實現代碼如下:

每個階段學生完成論文情況統計下載,統計數據利用學生提交的論文的結果數據,使用PHPExcel類庫完成下載。


本文主要介紹了使用ThinkPHP+DWZ框架技術實現的畢業論文管理系統,從論文管理系統所使用的技術、論文系統的總體結構、功能模塊做了詳細的分析介紹。該系統選擇搭建在新浪云平臺上這為部署使用帶來了極大地方便,并且節省了大量的資金。通過畢業論文管理系統真正的實現了學生和教師之間的相互選擇,極大地增加了選題的靈活性和有效性,也使畢業論文的管理工作更加科學化、規范化。該系統界面美觀、方便易用,在系統投入運行兩年多的時間里極大地提高了我院畢業論文管理工作的質量和效率,并受到了師生的一直好評。為我院實現無紙化辦公、教學信息數字化存儲奠定了良好的基礎。