劉元浩 曾晗 魯慶東


摘 要:教材管理信息化是高職院校教學改革和管理的重要組成部分,創新教材管理信息化有利于推進學校管理質量和教學水平。雖然目前高職院校大多教務系統自帶有教材征訂管理功能,但并非為高職院校定制,一般操作復雜,大而無用的功能居多,不能很好的滿足學校教材征訂管理的實際需求。本文研究采用微軟ASP.NET MVC和Entity Framework技術,設計并實現了一個契合高職院校實際的簡單易用的教材征訂管理系統。
關鍵詞:ASP.NET MVC;教材征訂管理;簡單易用
1 緒論
隨著高職院校辦學規模不斷擴大,學生人數越來越多,學生所使用的教材數量和種類越來越多,教材管理工作任務日益繁重。高職教育專業教學計劃更貼近社會需要,教材更新、改版的速度越來越快,由于教材信息的不透明和不準確,錯訂、漏訂現象普遍存在。高職院校學生轉專業、退學、休學、新生人數不確定等原因,給高職院校教材管理工作也帶來了一定的難度。另外一個角度,一些出版社及教材推銷人員向任課教師推銷指定的教材,可能存在著利益輸送和滋生腐敗。由于缺乏有效的監控、審查機制,教材選用和訂購往往是高校腐敗多發地。通過信息化手段,能很好地從技術和制度上避免腐敗發生,確保優秀教材能進課堂。
2 需求分析
由于現存的教務系統的教材征訂管理并非為高職學校定制,操作復雜,大而無用的功能居多。因此,需要設計一個操作簡單、界面友好、易學易用,滿足學校教材征訂管理的實際需求的教材征訂系統。該系統支持在線征訂、在線審核、自動統計、報表打印等功能。
系統需要有四個角色,分別是教材管理員、系統管理員、二級院系征訂人員、二級院系審核人員。
教材管理員一般由教務處負責教材工作的教材管理員擔任。主要是執行二級院系、專業、年級、班級及人數、學期課程信息、選課人數等與教務系統的數據同步功能;發布教材征訂的公告,指定當前征訂的學期和當次征訂時間,征訂開關的打開和關閉;指定二級院系專業課、全院公共課和思政課的教材征訂人員;對教材書目信息的管理和維護,只有通過學院教材委員會審核通過的教材,才能進行征訂;執行統計功能和各種類型的報表打印。
系統管理員與教材管理員基本相似,增加了對教材管理員的管理和數據備份功能。
教材征訂人員一般由教研室主任擔任。征訂人員包括負責征訂專業課的二級院系的專業教研室主任,負責征訂語文、數學、英語等公共基礎課程教材基礎部教研室主任,負責思政課程教材征訂的馬院教研室主任。主要完成對學期開設課程及專業選課人數的核對;個人信息的管理及密碼重置;查看教材管理員發布的征訂公告;在規定的時間內從教材庫中選擇相應的教材并提交;教材征訂結束執行統計后,查看系統自動生成的班級訂單。
二級院系的審核人員由各二級院系的教學主任擔任。審核人員主要查看教材管理員發布的征訂公告;批量審核由本院系征訂人員征訂的教材;查看本院系征訂的教材訂單;個人信息管理及密碼重置。
3 系統的設計
3.1 采用的關鍵技術
ASP.NET MVC是微軟公司發布的一個成熟的Web開發框架,MVC強制將應用程序劃分成Model(模型)、View(視圖)、Controller(控制器)三個不同的組件。三個組件各司其職,模型負責業務邏輯,視圖負責界面顯示,控制器負責處理用戶請求。
Entity Framework(實體框架,簡稱EF)是微軟以ADO.NET為基礎所發展起來的對象關系映射框架(Object-Relational Mapping ORM)。用以解決C#、VB.NET等面向對象編程語言與主流的關系數據庫間“阻抗失配”的問題[2]。使開發人員使用面向對象的編程思維來操作和訪問關系數據庫。
3.2 系統的功能模塊設計
根據需求分析和征訂的業務流程。本系統劃分為用戶及權限管理模塊、基礎數據管理模塊、教材信息管理模塊、教材征訂和審核模塊、數據統計及報表打印模塊5大模塊。
用戶及權限管理模塊:對系統用戶的增刪改查、登錄注銷功能。系統默認設置了4個角色,教材管理員、系統管理員、二級學院教材征訂人員和審核人員。可以為用戶指定角色從而獲得相應的身份。使用微軟Identity2.0對用戶和角色進行管理。使用ASP.NET MVC的授權過濾器實現對用戶和角色的權限管理。
基礎數據管理模塊:通過數據同步功能將教務系統的學期,部門,專業、年級、班級和學期課程同步到教材管理系統。這樣,可以保證各個專業所開設的課程及選課人數與教務系統一致,特別是針對選修課人數不為專業人數的情況。既保證了學生教材征訂數量的準確性,又保證了教師征訂教材操作的簡單。
教材信息管理模塊:教材的信息包括教材名稱、出版社名稱、主編、ISBN號、出版日期、版次、定價、教材類別等信息。教材類別包括“十二五”國家規劃教材、行業教材、企業教材、學校公開出版教材、教師自選教材、自編講義等。所有的教材必須經學校教材委員會審定通過后,方可進入系統教材目錄中,只有在教材庫中設置為有效的教材才能征訂,保證了優秀教材進課堂,也避免潛在的利益輸送。
教材征訂和審核模塊:教材征訂和審核模塊的設計盡量使征訂和審核操作簡單。教材征訂人員只需要選擇學期課程,確認需要征訂還是不需要征訂。如果選擇需要征訂,則彈出教材選用模態框,在查找教材欄輸入書名或者主編姓名或ISBN號,即可快速查找教材,選擇教材,而不必輸入征訂本數。教材征訂和審核都可以批量進行處理,增加易用性。
統計及報表打印模塊:教材征訂審核完畢后,選擇相應的學期執行統計,可以生成按照不同類別統計的訂單。可以生成學生教材班級訂單和教師用書訂單,方便各院系查看各個行政班級的訂書情況和教師用書的征訂情況,也為教材管理員進行教材發放提供了便利。可以生成書商訂單和校內印刷訂單,將需要校外采購的教材信息及數量提供給教材中標商,將需要由校內印刷的教材(講義,內部自編教材)名稱及數量提供給學校印刷廠,為教材的采購和印刷提供了便利。
4 系統的實現
本系統使用Visual Studio2017集成開發環境進行開發,服務端采用C#7.0編程語言,開發數據庫使用MS Local DB,部署數據庫為MS SQL Server 2012。本系統使用微軟ASP.NET MVC 5框架,結合Entity Framework 6(實體框架)數據訪問技術,采用Code First(代碼優先)方式進行構建,利用Identity2.0對用戶和角色進行管理。使用Bootstrap前端框架和jQuery、JavaScript以及HTML 5、CSS 3構建前端頁面。
4.1 模型(Model)的實現
首先,定義與業務邏輯相關的數據模型(Model)。在ASP.NET MVC應用程序中,模型代表應用程序數據的實體類,由若干POCO(Plain-Old CLR Objects)類構成,它們通過實體框架Entity Framework進行持久化。通過模型類的數據注解來施加業務規則,繼而實現客戶端驗證和服務端驗證。本系統涉及的模型類有ApplicationUser(用戶)、ApplicationRole(角色)、Semester(學期)、Department(部門)、Major(專業)、Grade(年級)、SchoolClass(班級)、Notice(通知)、SemesterCourse(學期課程)、BookType(教材類型)、Book(教材)、Booksubscription(原始訂單)、SchoolClassBookOrder(班級訂單)、TeacherBookOrder(教師用書訂單)、BookSellerOrder(書商訂單)、SelfPrintingOrder(自印訂單)等。
數據庫上下文類是ASP.NET MVC應用程序中關鍵的一個類,它派生自DbContext,用于協調給定數據模型的Entity Framework功能。該類負責模型與數據庫之間的交互,并提供查詢、跟蹤實體數據庫狀態、回寫數據庫等操作[3]。本系統定義的數據庫上下文類TeachingMaterialDbContext類派生自IdentityDbContext類,從而可以使用ASP.NET Identity 2.0來提供對用戶、角色及其權限的管理。然后,在其內定義各實體集作為屬性,建立各實體之間的關聯關系(一對一,一對多,多對多關系)完成對象關系映射工作。TeachingMaterialDbContext類的方法簽名如下:
public class TeachingMaterialDbContext:IdentityDbContext
4.2 控制器(Controller)的實現
其次,定義用于處理瀏覽器請求的控制器(Controller)類。本系統的控制器類包括:AccountController(用戶控制器)、RoleController(角色控制器)、SemesterController(學期控制器)、DepartmentController(部門控制器)、MajorController(專業控制器)、Grade(Controller(年級控制器)、SchoolClassController(班級控制器)、NoticeController(通知控制器)、SemesterCourseController(學期課程控制器)、BookOrder(教材征訂控制器)、GenerateOrder(統計控制器)、HomeController(主控制器)等。通過在控制器或操作方法上加入Authorize(授權過濾器)屬性,實現不同用戶和角色所能執行不同的操作。如果用戶或角色沒有被授權,則返回登錄頁面要求重新登錄。
4.3 視圖(View)的實現
最后,編寫用于呈現用戶界面的視圖(View)。在ASP.NET MVC應用程序中,視圖僅用于顯示控制器返回的數據,不能在其內定義參與業務邏輯處理的代碼,比如訪問數據庫。本征訂系統的視圖使用Bootstrap 3前端框架,從而構建響應式的布局頁面。使用Bootstrap 3全局的CSS樣式、優美的字形圖標和Bootstrap 3組件保證了頁面的美觀。各個視圖引用相同的布局頁(Layout),保證了整體頁面風格保持一致。使用jQuery以及Ajax技術將請求異步提交給控制器,從而改善用戶交互體驗。使用Html或Url輔助方法生成表單及鏈接,盡可能采用強類形(Strong-Typed)的視圖。最終生成了基于Razor視圖引擎的普通視圖和分部視圖(Partial View)的.cshtml文件。
5 結語
本文使用微軟ASP.NET MVC技術設計并實現了一個教材征訂管理系統,該系統支持在線征訂、在線審核、自動統計、報表打印等功能,具有操作簡單、界面友好,易學易用的特點。事實上,該系統開發完成后,已將其部署在學校內網服務器上,已連續完成4學期的教材征訂工作。從實際使用的情況來看,該系統運行穩定,使得教材征訂準確、快速,提高了教材征訂工作的效率,大大降低了教材管理人員的工作負擔。配合系統教材目錄“教材委員會”審查制度,有效地杜絕了教材管理環節腐敗事件的發生。總之,該系統能夠很好的滿足我院教材征訂管理的實際需求,同時也為同類院校教材信息化管理提供了一個借鑒。
參考文獻:
[1]黃哲,徐志凱.高校教材征訂管理系統分析與設計[J].軟件工程,2019,22(1):37-39.
[2]Serget Barskiy.Code-First Development with Entity Framework[M].PACKT publishing.2015.
[3]David Cochran,Ian Whitley.Bootstrap 實戰[M].李松峰譯.人民郵電出版社,2015.
作者簡介:劉元浩(1982—),男,漢族,四川南部人,碩士,宜賓職業技術學院講師,研究方向為管理信息系統、教學管理的信息化;曾晗(1987—),男,漢族,四川富順人,本科,宜賓職業技術學院講師,研究方向為機電一體化技術、教學信息化改革;魯慶東(1983—),男,漢族,云南魯甸人,碩士,宜賓職業技術學院講師,研究方向為自動控制、教學信息化改革。