摘要:為了實(shí)現(xiàn)基于web平臺(tái)的中職德育管理系統(tǒng),采用了基于.net平臺(tái)的MVC設(shè)計(jì)開發(fā)模式,應(yīng)用ADO.NET實(shí)體數(shù)據(jù)模型和LINQ技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問(wèn)和處理,通過(guò)分層應(yīng)用技術(shù)的開發(fā),開發(fā)出來(lái)的德育管理系統(tǒng)質(zhì)量高,易于管理維護(hù),同時(shí)也提高了團(tuán)隊(duì)的開發(fā)效率。
關(guān)鍵字:ASP.NET;MVC;德育管理系統(tǒng);ADO.NET實(shí)體模型
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,Web開發(fā)技術(shù)得到了迅猛發(fā)展,ASP.NET是微軟提出的開發(fā)框架,用于通過(guò)CSS、HTML、JavaScript 以及服務(wù)器腳本來(lái)構(gòu)建網(wǎng)頁(yè)和網(wǎng)站,MVC是ASP.NET的設(shè)計(jì)開發(fā)模式之一,ASP.NET MVC是現(xiàn)階段主流的設(shè)計(jì)開發(fā)模式,使用ASP.NET MVC進(jìn)行項(xiàng)目開發(fā),使得復(fù)雜項(xiàng)目更加容易維護(hù),可以更方便的控制應(yīng)用程序的行為,提高代碼的重用率,同時(shí)提高開發(fā)的效率,有利于團(tuán)隊(duì)的合作開發(fā)。
隨著職業(yè)教育的發(fā)展,越來(lái)越多的中職學(xué)校對(duì)德育進(jìn)行精細(xì)化的管理,并且進(jìn)行量化考核,因此,通過(guò)有效的平臺(tái)和手段進(jìn)行有效的檢查反饋及考核是必須的,基于web的中職德育管理系統(tǒng)運(yùn)用而生。我專業(yè)開發(fā)中職德育管理系統(tǒng)中應(yīng)用了MVC開發(fā)設(shè)計(jì)模式,充分利用MVC分層開發(fā)的特點(diǎn),組織學(xué)生開發(fā)團(tuán)隊(duì)分工合作,大大提高了開發(fā)的項(xiàng)目,開發(fā)出來(lái)的項(xiàng)目代碼質(zhì)量高,系統(tǒng)更易于維護(hù)和管理。
一、MVC的介紹
MVC(ModelViewController),即模型視圖控制器模式 ,是一種廣泛流行的軟件設(shè)計(jì)模式。它把軟件系統(tǒng)分為三個(gè)部分:Model(模型)、View(視圖)、Controller(控制器),每一部分的職責(zé)單一,既相對(duì)獨(dú)立,又相互聯(lián)系。
(一)Model
模型,封裝了與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對(duì)數(shù)據(jù)的處理方法,所
有有關(guān)數(shù)據(jù)庫(kù)的操作只限制在模型中。
(二)View
視圖,用戶交互的界面,用于接收用戶輸入的數(shù)據(jù),同時(shí)用戶顯示相關(guān)數(shù)據(jù)。
(三)Controller
控制器,主要是進(jìn)行業(yè)務(wù)邏輯處理,調(diào)用模型處理業(yè)務(wù)請(qǐng)求,并控制實(shí)體數(shù)據(jù)在視圖上的顯示。
(四)MVC各層之間的關(guān)系
在MVC模式中,web用戶通過(guò)視圖(View)向服務(wù)器提交的所有請(qǐng)求都由控制器(Controller)接管;控制器接收到請(qǐng)求之后,負(fù)責(zé)決定應(yīng)該調(diào)用哪個(gè)模型(Model)來(lái)進(jìn)行處理;然后模型根據(jù)用戶請(qǐng)求進(jìn)行相應(yīng)的數(shù)據(jù)處理,并返回處理的數(shù)據(jù)結(jié)果;最后控制器調(diào)用相應(yīng)的視圖來(lái)格式化模型返回的數(shù)據(jù),并通過(guò)視圖呈現(xiàn)給用戶。
二、中職德育管理系統(tǒng)的系統(tǒng)功能設(shè)計(jì)
中職德育管理系統(tǒng)是一個(gè)基于B/S結(jié)構(gòu)的web應(yīng)用程序,其應(yīng)用開發(fā)的的目標(biāo)主要是為了方便中職學(xué)校管理德育的團(tuán)隊(duì)(德育主任、德育秘書、年級(jí)組長(zhǎng)、班主任、學(xué)生會(huì)及團(tuán)總支的學(xué)生干部等)對(duì)班級(jí)的各項(xiàng)檢查進(jìn)行及時(shí)的反饋,有效的進(jìn)行對(duì)班級(jí)等的德育管理。系統(tǒng)的主要功能有:學(xué)生干部能夠?qū)Π嗉?jí)的各項(xiàng)檢查(主要包括儀容儀表、升旗儀式、衛(wèi)生、團(tuán)會(huì)課、黑板報(bào)、團(tuán)員日記、教學(xué)執(zhí)行日志檢查、廣播操等)進(jìn)行登記反饋等;德育主任等管理團(tuán)隊(duì)成員可以對(duì)班級(jí)進(jìn)行管理、查閱班級(jí)相關(guān)檢查結(jié)果,并對(duì)班級(jí)、班主任進(jìn)行管理考核;班主任可以查閱班級(jí)每天的各項(xiàng)檢查結(jié)果、班主任的考核信息等。系統(tǒng)功能模塊圖如下圖1所示。
整個(gè)系統(tǒng)采用基于MVC4.0框架的ASP.NET進(jìn)行開發(fā),開發(fā)環(huán)境采用Visual Studio 2013,創(chuàng)建使用Razor視圖引擎的Internet應(yīng)用程序,后臺(tái)數(shù)據(jù)庫(kù)使用SQL Sever2008 R2。
三、MVC設(shè)計(jì)模式在德育管理系統(tǒng)的應(yīng)用實(shí)現(xiàn)
(一)Model數(shù)據(jù)層的實(shí)現(xiàn)
Model對(duì)象表示實(shí)體類,在本系統(tǒng)的開發(fā)過(guò)程中,我們通過(guò)從系統(tǒng)相對(duì)應(yīng)的數(shù)據(jù)庫(kù)MEMS創(chuàng)建相應(yīng)的ADO.NET實(shí)體數(shù)據(jù)模型來(lái)生成相應(yīng)的實(shí)體,實(shí)現(xiàn)數(shù)據(jù)模型命名為MEMSModel.edmx,生成的相應(yīng)的實(shí)體為DatabaseEntities,實(shí)體對(duì)應(yīng)多個(gè)類,這些類是數(shù)據(jù)庫(kù)表生成的實(shí)體類,這些類當(dāng)中包含所有的數(shù)據(jù)庫(kù)表中的字段;創(chuàng)建ADO.NET實(shí)體數(shù)據(jù)模型后,相應(yīng)的數(shù)據(jù)庫(kù)連接字符串也同時(shí)會(huì)保存到web.config配置文件的connectionStrings節(jié)點(diǎn)中。
(二)控制器的實(shí)現(xiàn)
控制器主要是根據(jù)系統(tǒng)功能實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)邏輯,即根據(jù)用戶從視圖中發(fā)送的請(qǐng)求調(diào)用相應(yīng)的數(shù)據(jù)模型進(jìn)行處理,并把處理的結(jié)果返回給相應(yīng)的視圖。
創(chuàng)建ADO.NET實(shí)體數(shù)據(jù)模型類DatabaseEntities后,即可在控制器中使用數(shù)據(jù)處理相應(yīng)的業(yè)務(wù)邏輯,下面以實(shí)現(xiàn)班主任模塊功能——查閱班級(jí)日常檢查信息講解控制器的實(shí)現(xiàn)。
本系統(tǒng)的開發(fā)中,主要應(yīng)用LINQ(語(yǔ)言集成查詢)to SQL進(jìn)行相應(yīng)的數(shù)據(jù)查詢。在Information控制器中Index方法中實(shí)現(xiàn)班級(jí)日常檢查信息分頁(yè)查詢功能的業(yè)務(wù)邏輯的代碼如下所示:
public ActionResult Index(int? pageIndex)
{var sqlist = from item in ww.classmonthsurface
select item;//通過(guò)LINQ語(yǔ)句查詢?nèi)粘z查相關(guān)信息
ViewBag.count = sqlist.Count();//統(tǒng)計(jì)記錄條數(shù)
PagedListdata = new PagedList
data.CurrentPageIndex = (int)(pageIndex ?? 1);
return View(data);//把數(shù)據(jù)返回給視圖
}
在應(yīng)用過(guò)程中,要實(shí)現(xiàn)分頁(yè),還需要引用分頁(yè)組件MvcPager。
(三)視圖的實(shí)現(xiàn)
視圖層文件一般和控制器層中的有關(guān)方法存在著對(duì)應(yīng)關(guān)系,視圖頁(yè)可以通過(guò)控制器中的方法快速創(chuàng)建,如在Information控制器中方法名Index中單擊右鍵,即可創(chuàng)建相應(yīng)的視圖Index.cshtml。本項(xiàng)目使用的是Razor 引擎創(chuàng)建視圖,Razor 語(yǔ)法用@ 標(biāo)記。
視圖的數(shù)據(jù)可以通過(guò)弱類型(如ViewBag、ViewData)和強(qiáng)類型(如Model )等多種方式從控制器層獲取數(shù)據(jù)。
查閱班級(jí)日常檢查信息功能的數(shù)據(jù)顯示代碼如下所示:
@usingMEMS.Models;
班級(jí) | 班主任 | 升國(guó)旗儀式 | 團(tuán)會(huì)課 | 團(tuán)員日志 | 儀容儀表 | |
---|---|---|---|---|---|---|
@item.classname | @item.teachername | @item.Hoiseflag | @item.groupcourse | @item.membersdiary | @item.groomscore |
@Html.Pager((PagedList< classmonthsurface>)Model, new PagerOptions()
{
PageIndexParameterName = “pageIndex”,
PrevPageText = “上一頁(yè)”,
NextPageText = “下一頁(yè)”,
})//實(shí)現(xiàn)分頁(yè)顯示
四、結(jié)語(yǔ)
本文基于WEB開發(fā)技術(shù)的發(fā)展以及中職德育管理的需求,采用了基于.net平臺(tái)的MVC設(shè)計(jì)開發(fā)模式,應(yīng)用ADO.NET實(shí)體數(shù)據(jù)模型和LINQ技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問(wèn)和處理,通過(guò)分層應(yīng)用技術(shù)進(jìn)行中職德育管理系統(tǒng)的開發(fā),開發(fā)出來(lái)的系統(tǒng)質(zhì)量高,易于管理維護(hù),同時(shí)也提高了團(tuán)隊(duì)的開發(fā)效率。對(duì)軟件系統(tǒng)的開發(fā)以及軟件專業(yè)學(xué)生的培養(yǎng)均有著實(shí)際的應(yīng)用意義。
參考文獻(xiàn):
[1]趙魯濤.ASP.NET MVC實(shí)訓(xùn)教程[M].機(jī)械工業(yè)社,2015.
[2]陳輝.ASP.NET MVC軟件架構(gòu)模式在學(xué)生實(shí)訓(xùn)管理系統(tǒng)的應(yīng)用[J].電子設(shè)計(jì)工程,2015.13:1113.
[3]李麗平.基于MVC與ASP.NET教務(wù)管理系統(tǒng)的研究與應(yīng)用[J].內(nèi)蒙古科技與經(jīng)濟(jì),2016,11.
[4]基于ASP.NET MVC模式的軟件開發(fā)的研究與探討[J].中國(guó)電子科學(xué)研究院學(xué)報(bào),2016,12.
作者簡(jiǎn)介:彭鳳英,女,漢族,廣西合浦人,教育碩士,講師,主要從事計(jì)算機(jī)軟件開發(fā)專業(yè)課教學(xué)。