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