喻健+朱三元
摘 要:畢業論文是高等教育不可或缺的環節,為了解決傳統論文管理方式存在的材料冗余、數據更新緩慢、師生交流不暢通等問題,本文應用Entity Framework框架和easyUI工具集構建了一個全新的論文管理系統,實現了畢業論文整個流程的信息化和模塊化。文章重點闡述了以EF框架為基礎創建數據模型、構建后臺邏輯的關鍵技術,以及使用easyUI編寫用戶視圖的方法,能對基于EF技術框架和使用easyUI的WEB系統開發者提供一定參考。
關鍵詞:Entity Framework;easyUI;MVC;Web應用
中圖分類號:TP311 文獻標識碼:A
1 引言(Introduction)
隨著我國高等教育的普及,高校在校生人數的激增,學生畢業論文的工作量也與日俱增。傳統的畢業論文流程以人工操作為主、信息化程度低、學生選題和師生間交流探討都是線下完成,諸如論文題目的審核、往年題目的查詢、相似題目的篩選、選題學生數量的控制等問題都難以解決。而隨著論文開題、階段總結、中期答辯、預答辯、最終答辯等環節的推進,論文材料和修改版本增多,更會造成數據冗余、查詢困難、資料容易丟失等問題,導致論文工作效率低下。
本文應用微軟的ADO.NET Entity Framework框架和JqueryEasyUI用戶界面工具集,借助Visual Studio 2013開發的論文管理系統具有良好的擴展性和維護性。在滿足性能要求的前提下,給用戶提供了便捷的操作界面,一定程度上解決了傳統論文處理方式的問題[1]。
2 平臺簡介(Platform profile)
2.1 Entity Framework
Entity Framework是微軟官方提供的以ADO.NET為基礎的ORM(O/R Mapping)工具,早期被稱為ObjectSpace,ORM讓開發人員能專注于業務邏輯層代碼,節省了數據庫訪問的代碼時間。開發人員用Entity Framework把數據庫對象轉換成應用程序對象(entity),數據字段轉換為屬性(property),關系則轉換為關聯屬性(association),讓數據庫操作變得和操作Object對象一樣方便。
Entity Framework支持三種開發模式Database First、Model First和Code First,各模式的開發流程完全不一樣,但是三種開發模式各有優缺點,適用于不同的開發場景。Database First用于從數據庫生成實體類Class,Model First用于通過Visual Studio的可視化設計器設計數據模型然后生成實體類,Code First則用于從實體類生成數據庫結構[2]。三種開發模式的流程如圖1所示。
2.2 Jquery EasyUI
jQuery是一個高效簡潔的JavaScript框架,是一個優秀的JavaScript代碼庫。jQuery設計的宗旨是“Write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝了JavaScript常用的功能代碼,提供一種簡便的JavaScript設計模式,優化了HTML文檔操作、事件處理、動畫設計和Ajax交互等。
JqueryEasyUI是基于jQuery的一組用戶界面工具集,它比jQuery提供更多的功能和更好的用戶體驗,同時支持HTML5的完整框架。開發者只需要通過編寫一些簡單HTML標記,就可以定義用戶界面,為網頁的前端開發提高了效率[3]。
3 系統設計(System design)
3.1 功能模塊設計
在本論文介紹的管理系統中涉及的用戶角色有以下幾類,它們對系統的需求大有不同。因此需要和各種角色的用戶充分溝通交流,發掘用戶對目標軟件系統在功能、行為、性能、設計約束等方面的期望。需求分析是系統功能模塊設計的基礎。
(1)學生
學生角色是本系統的主體,涉及個人信息的維護、論文的選題、開題報告的提交、論文答辯等各環節與系統的交互,以及各個階段資料的提交。
(2)教師
在本畢業論文系統中,教師角色又被分為三種:普通教師、答辯組長和推優專家。
普通教師的角色任務包括維護教師個人信息、論文出題、教師和被指導學生的雙向選擇、維護指導學生的信息、發布任務書、檢查學生論文完成的環節、接收學生各階段提交的材料、參加答辯、評定論文成績等。
答辯組長角色除了能完成普通教師的角色任務外,還能安排答辯的時間、選定答辯小組的成員教師、對本小組答辯學生推優等。
推優專家角色除了具備上面兩種教師角色的功能外,最主要的功能是對各小組推薦的優秀論文進行評閱并量化打分,但是不能對自己所指導小組的論文評分。
(3)院系管理員
院系管理員可以發布并維護通知公告、維護教師和學生用戶的信息、設置畢業論文相關的參數、對教師所出論文題目的審核和修改、維護學生選題的結果、維護論文設計各個階段的文檔資料、設置教師的角色權限、維護論文評分方案、統計論文數據等。
(4)系統管理員
系統管理員是本系統里權限最高的用戶角色,可以完成系統的初始化和參數設置、公告管理、用戶管理、角色管理、資料管理、數據統計等。
根據以上需求分析提出的角色和功能劃分,系統被分為學生模塊、教師模塊、院系管理員模塊和系統管理員模塊四大功能模塊及其子模塊。系統在用戶登錄的時候,根據用戶的ID判斷用戶的角色并跳轉到相應的操作界面。系統的功能模塊結構如圖2所示。
(1)直接在HTML的樣式表中調用
在編寫視圖頁面的HTML代碼時,把HTML組件的class屬性設置為easyUI內置的屬性即可,如
可把當前DIV組件設置為easyUI的menu控件。(2)使用JavaScript動態的調用
這種方式能更靈活的改變easyUI控件的樣式,如上文已經定義了一個HTML組件,下文可以用JS代碼$('#test').combobox({url: ...,valueField:'id',textField:'text'});來把上面的input組件設置為easyUI的combobox控件。
5 結論(Conclusion)
Entity Framework提供了自動化CRUD操作,使開發者從數據庫API和SQL中解放出來,從而專注于業務邏輯層代碼。easyUI基于jQuery,讓開發者通過一些簡單HTML標記就可以定義美觀實用的用戶界面。本文介紹的論文管理系統基于這兩種成熟的技術,讓業務邏輯和界面代碼完全分開,提高了程序的開發效率和可維護性,讓論文管理流程實現了信息化,優化了論文工作流程,對其他WEB應用的開發也有參考價值。
參考文獻(References)
[1] XieZhongming,et al.Design and Application of Lighting Energy Consumption Monitoring Platform Based on MVC and Entity Framework[C].ICIA 2014:IEEE International Conference on Information and Automation,2014:473-477.
[2] LiuZhongwei,WuShu-Guang.Design of .Net Courseware on Demand System[C].ICMTMA 2016:2016 8th International Conference on Measuring Technology and Mechatronics Automation,2016:206-209.
[3] LuoTing.Research and Application of Easy UI Asynchronous
Tree[C].ICMST 2013:Advanced Materials Research,2013:
1116-1120.
[4] 蓋洛德,溫茲,拉絲托格.ASP.NET 4.5高級編程第8版[M].北京:清華大學出版社,2014:367-370.
[5] TomDykstra.Getting Started with Entity Framework 6 Code First Using MVC 5[J/OL].
作者介紹:
喻 健(1989-),男,碩士,助理實驗師.研究領域:計算機
應用.
朱三元(1970-),男,碩士,副教授.研究領域:計算機應用.