程洪斌,王善勤,吳昌雨
(滁州職業(yè)技術(shù)學(xué)院,安徽 滁州 239000)
基于Grails框架的高職院校教學(xué)任務(wù)管理系統(tǒng)
程洪斌,王善勤,吳昌雨
(滁州職業(yè)技術(shù)學(xué)院,安徽 滁州 239000)
針對高職院校教學(xué)中存在任務(wù)下發(fā)完成進度無法實時監(jiān)控等問題;基于B/S模式,運用G rai l s框架技術(shù),設(shè)計了域模型類、控制器類和視圖類,采用Boot st rap前端開發(fā)框架,實現(xiàn)了系統(tǒng)的用戶管理、標簽管理、任務(wù)管理三大核心功能模塊等;此系統(tǒng)的開發(fā)為高職院校教學(xué)任務(wù)實時管理提供網(wǎng)絡(luò)平臺。
B/S;G rai l s;Boot st rap;教學(xué)任務(wù);管理
引言:隨著WEB和數(shù)據(jù)庫技術(shù)的發(fā)展,將一套復(fù)雜的業(yè)務(wù)邏輯用計算機來實現(xiàn)可省去大量社會資源,可替代大量人工,緩解工作人員巨大壓力。目前國內(nèi)外很多高職院?;凇绊椖恳龑?dǎo)、任務(wù)驅(qū)動”思想進行教學(xué)改革,教學(xué)管理工作面臨前所未有的挑戰(zhàn),教學(xué)管理充滿了各種角色,每種角色都對應(yīng)相應(yīng)的權(quán)限和功能,每天都有大量的任務(wù)去處理。如果這些任務(wù)繼續(xù)使用紙質(zhì)文檔去完成的話,既花費大量的人力物力,也不能實時監(jiān)管任務(wù)完成進度。由于高職院校信息化而使教師對下發(fā)給學(xué)生的任務(wù)實時監(jiān)管工作繁雜起來,使學(xué)校管理人員無法很好地管理好教學(xué)過程中的任務(wù)。為了教師可以對教學(xué)任務(wù)實時監(jiān)控管理及查看任務(wù)的完成情況,為了學(xué)校降低管理成本、提高課堂教學(xué)效率,設(shè)計并實現(xiàn)了教學(xué)任務(wù)管理系統(tǒng)。
教學(xué)任務(wù)管理系統(tǒng)是一個教師教學(xué)過程中教師下發(fā)任務(wù)與學(xué)生提交任務(wù)的平臺,是教務(wù)管理平臺的重要組成部分,教學(xué)任務(wù)包括用戶管理、標簽管理、任務(wù)管理三大模塊。標簽組組長可以為一個標簽組添加成員,并對成員下發(fā)教學(xué)任務(wù)。當任務(wù)文檔上傳至服務(wù)器后可以轉(zhuǎn)換成SWF格式并在頁面上顯示出來。用戶看到任務(wù)后,可以下載任務(wù)文檔,完成任務(wù)后用戶提交完成后的任務(wù)文檔。標簽組組長審核完后,即可刪除該任務(wù)。
(一)系統(tǒng)的可行性分析
隨著信息化普及,各大高職院校配備的服務(wù)器基本上可以滿足系統(tǒng)運行需要,個人辦公計算機能夠滿足開發(fā)任務(wù),所需資料可以到圖書館查閱或者基金項目中出資購買,因此整個系統(tǒng)的開發(fā),經(jīng)濟可行性良好。
該系統(tǒng)采用了先進并且符合實際應(yīng)用的開發(fā)方法,使用廣泛應(yīng)用于Web開發(fā)的開發(fā)工具:Dreamweaver、IntelliJ IDEA、功能強大的數(shù)據(jù)庫管理工具MySQL。采用Grails框架技術(shù)、Bootstrap前端開發(fā)框架,結(jié)合自己的實際工作及開發(fā)能力,可以開發(fā)滿足基本需求的教學(xué)任務(wù)管理系統(tǒng)。
(二)系統(tǒng)的角色分析
系統(tǒng)分為管理員、用戶兩個角色,管理員主要負責管理用戶和標簽,用戶根據(jù)身份不同進行不同的任務(wù),教學(xué)任務(wù)管理系統(tǒng)面向的用戶群體主要有教師、學(xué)生。針對系統(tǒng)角色,系統(tǒng)適用領(lǐng)域包括通過軟件實現(xiàn)教學(xué)任務(wù)管理、通過軟件進行教務(wù)系統(tǒng)內(nèi)標簽組管理、通過軟件實現(xiàn)教務(wù)系統(tǒng)內(nèi)任務(wù)分發(fā)與提交等。
(三)系統(tǒng)的主要功能需求分析
1、用戶管理
添加用戶功能是將用戶從Excel中導(dǎo)入數(shù)據(jù)庫(也提供頁面添加功能);刪除用戶功能是由超級管理員或系部管理員進行刪除(或禁用);修改密碼功能是用戶登錄后可以修改自己的密碼;密碼找回功能是通過用戶信息的郵箱字段,發(fā)送一個超鏈接給用戶,并進行密碼的修改;查看用戶功能是系部管理員和超級管理員可以查看系統(tǒng)中有哪些用戶。
2、標簽管理
添加標簽組功能是任何用戶可以添加一個新的標簽組,并且該用戶作為該標簽組的組長;刪除標簽組功能是標簽組組長可以解散標簽組即是刪除該標簽組;查看標簽組功能是系部管理員可以查看一共有哪些標簽組,用戶可以查看自己有多少個標簽。
3、任務(wù)管理
發(fā)布任務(wù)功能包括發(fā)布的任務(wù)的內(nèi)容和附件及限定用戶提交、提交時間;執(zhí)行任務(wù)功能是用戶接收到組長發(fā)布的任務(wù)查看任務(wù)(下載附件),并且上傳要提交的材料;接收任務(wù)功能是接收到用戶提交的材料后,在線查看、審核,將通過審核的材料下載到本地,將未通過的返回給用戶。
(四)用例模型分析
圖1 用例圖
用例模型是收集系統(tǒng)功能需求的一個有力工具,它使得分析員與用戶之間的交流更加容易[1]。圖1表示了基于Web的任務(wù)管理系統(tǒng)的用例模型,其形象地描述了發(fā)布接收任務(wù)等功能,并且從功能的角度指出了每個功能的執(zhí)行者(角色)。
(一)系統(tǒng)設(shè)計原則
教學(xué)任務(wù)管理系統(tǒng)在設(shè)計開發(fā)上遵循從實際情況出發(fā)的原則,在充分利用現(xiàn)有網(wǎng)絡(luò)和軟硬件資源的基礎(chǔ)上,最大限度地滿足用戶的需要,使系統(tǒng)建成后,確實能為用戶的實際工作帶來方便,達到系統(tǒng)建設(shè)的預(yù)期目標。同時在考慮近期目標的同時,還要充分考慮到系統(tǒng)將來的擴展性。其具體設(shè)計原則有如下幾點:易用性原則、實用性原則、擴展性原則、穩(wěn)定性原則、安全性原則。
(二)系統(tǒng)主要功能結(jié)構(gòu)設(shè)計
根據(jù)系統(tǒng)的需求,將要實現(xiàn)主要功能有用戶管理、任務(wù)管理和標簽管理。而其中的各個子功能又分為多個子功能模塊,該系統(tǒng)的主要功能結(jié)構(gòu)圖如圖2所示。
圖2 教學(xué)任務(wù)管理系統(tǒng)主要功能結(jié)構(gòu)圖
(三)系統(tǒng)數(shù)據(jù)庫設(shè)計
圖3 系統(tǒng)的E-R圖
本系統(tǒng)使用的是IDEA來進行數(shù)據(jù)庫建模,通過使用建模工具,不僅能得到優(yōu)化的業(yè)務(wù)功能和數(shù)據(jù)需求模型,還能方便地構(gòu)造實體和聯(lián)系,表達實體間的各種約束關(guān)系[2],而且可以實現(xiàn)從E-R模型到數(shù)據(jù)庫物理設(shè)計的轉(zhuǎn)換。系統(tǒng)部分數(shù)據(jù)庫結(jié)構(gòu)圖如圖3所示。
(一)系統(tǒng)開發(fā)架構(gòu)
本系統(tǒng)采用Grails框架開發(fā)。GrailS是一套用于快速Web應(yīng)用開發(fā)的開源框架,它基于Groovy編程語言,并構(gòu)建于Spring、Hibernate和其他標準Java框架之上,從而為形成一套能實現(xiàn)超高生產(chǎn)力的一站式框架[3]。在Grails中,“M”指的是Domain類,可以將這個Domain理解為數(shù)據(jù)庫中的一張表,一個Domain的實例則對應(yīng)為該表的一條記錄??刂破鳌癈”起到橋梁作用,它能夠接收用戶提交的請求,可以調(diào)用M獲取數(shù)據(jù)并把數(shù)據(jù)傳遞給視圖“V”。視圖“V”的作用是輸出頁面,Grails中的頁面技術(shù)是GSP技術(shù),可以使用網(wǎng)頁編輯器進行編輯設(shè)計。MVC架構(gòu)的Grails執(zhí)行流程如圖4所示。
圖4 Grails的MVC架構(gòu)執(zhí)行流程圖
(二)系統(tǒng)關(guān)鍵代碼實現(xiàn)及分析
1、域模型類層
Grails工程的全部域類都在grails-app/domain目錄下。域模型類會遵照約定實現(xiàn)與關(guān)系數(shù)據(jù)庫中的表之間的關(guān)聯(lián)。Grails對Hibernate使用的約定進行了擴展,具體內(nèi)容為:將類名中的每個單詞的首字母變?yōu)樾懀⒃趩卧~之間用下劃線“一”連接,就構(gòu)成了與之相關(guān)的表名;每個屬性對應(yīng)表中的一列,屬性名和列名之間的轉(zhuǎn)換規(guī)則與類名和表名的轉(zhuǎn)換規(guī)則相同;域模型類有一個默認被自動添加的id屬性(不需要用戶定義,由Grails在運行時注入),并會在表中顯示出來;域模型類還會默認創(chuàng)建一個version屬性,用來在Hibernate中確保事務(wù)的完整性并支持樂觀鎖,該屬性不會在表中顯示出來。
下列是文件類Users的代碼:
該類對應(yīng)數(shù)據(jù)庫里的users表,該表結(jié)構(gòu)如表1所示。
該類共定義了8個屬性,分別對應(yīng)表中的8個字段并通過Grails約束生成器(Construction)對應(yīng)每個字段設(shè)定的約束。mapping閉包用于定義數(shù)據(jù)庫表的主鍵,如果沒有指定,默認會將Graiis自動添加的id屬性作為主鍵。本系統(tǒng)部分主要主要域模型類表如表2所示。
表2 系統(tǒng)主要主要域模型類
2、控制器類層
控制器對于Grails來說是一個相當核心的概念,它是一些負責處理來自客戶端請求的類。控制器是基于原型的,也就是說Grails會為每個請求創(chuàng)建一個新的控制器實例。其中有如下幾種處理請求的方式:簡單地委托給一個合適的視圖;操作領(lǐng)域模型,然后將它在視圖上顯示;直接寫入響應(yīng)(Response)的writer對象中;重定向到另外一個操作(Action)或另外一個控制器中的操作。
在Grails中,控制器也是一個類,它位于grailsapp/controller目錄中類名都以Controller結(jié)尾。下面是客戶管理功能的控制器類的部分代碼:
“def index={}”是Groovy不同于Java的一種語法結(jié)構(gòu),叫做閉包。閉包是一段代碼的集合,與Java的方法類似,可以調(diào)用。在控制器中,閉包有了新的含義,叫做action。Graiis會根據(jù)請求的URL決定調(diào)用哪個action。一個典型的Graiis的URL格式為:
“http://主機名:端口/項目名稱/控制器名/action名/ID或其他參數(shù)”。index操作是控制器的默認操作。當URL路徑中沒有指定操作名,則系統(tǒng)會使用默認操作。當用戶訪問系統(tǒng)時,會首先執(zhí)行index操作,index操作使用了重定向(redirect)方法,將客戶端的請求重定向到list方法。在系統(tǒng)中每個控制器類中分別定義了list、show、delete、edit、update、create和save方法,這些方法用于實現(xiàn)基本的業(yè)務(wù)邏輯功能。
根據(jù)系統(tǒng)功能模塊劃分每個功能模塊對于一個控制類,本系統(tǒng)部分主要控制類有LoginController(登陸控制類)、ResourcesController(資源控制類)、Submit-TaskController(提交任務(wù)控制類)、TaskController(任務(wù)控制類)、UsersController(用戶控制類)、Labelling-Controller(標簽控制類)User_LableController(用戶標簽控制類)。
3、視圖類層
Grails提供了一種新的視圖技術(shù),即GSP,它與JSP非常相似,和JSP一樣有很多直接可以使用的對象。同時在GSP頁面中也可以編寫Groovy代碼。Grails中所有的gsp頁面文件都存放在grails-app/ view目錄中,每個控制器都在view目錄中對應(yīng)一個與控制器名相同的文件夾,每個文件夾下會有控制器用到的多個gsp頁面。一般每個gsp頁面對應(yīng)控制器類中的一個方法。下面是登陸頁面部分代碼:
(三)實現(xiàn)的功能分析
1、登錄功能
本系統(tǒng)中對于登錄模塊的設(shè)計是供學(xué)校內(nèi)部使用,使用權(quán)的授予是由系統(tǒng)管理員決定的,只有在系統(tǒng)管理員首次在員工管理模塊中添加了用戶信息后,授予此用戶登錄名、密碼后才能安全登錄,在權(quán)限的范圍內(nèi)能夠完成相應(yīng)操作。用戶輸入“用戶名”、“密碼”及“驗證碼”后,若登錄成功后進入系統(tǒng)首頁,否則會提示“對不起,用戶的用戶名或密碼有錯,請重新登錄!”或“驗證碼錯誤,請重新輸入!”。
2、任務(wù)管理模塊主要功能實現(xiàn)
發(fā)布任務(wù):該類功能主要實現(xiàn)任務(wù)的發(fā)布,根據(jù)用戶的權(quán)限可以發(fā)布任務(wù),并在發(fā)布任務(wù)的同時可以選擇上傳附件,這是可選的,選擇接收用戶可以選擇到人也可以選擇到標簽組并且在選擇任務(wù)截至日期時系統(tǒng)會控制只能選擇大于當前的日期。
查看任務(wù)列表:該功能可以查看自己所發(fā)布的任務(wù)列表,可以查看提交的時間以及當前任務(wù)的狀態(tài),點擊查看可以看到不同用戶所提交的材料,并可以在線瀏覽材料
任務(wù)審核:為了體現(xiàn)用戶提交的任務(wù)的質(zhì)量,可以在線審核,如果符合要求,點擊通過,反則點擊不通過,點擊完成之后系統(tǒng)會給出相應(yīng)的提示。
隨著信息技術(shù)的不斷深入和發(fā)展,教學(xué)任務(wù)管理系統(tǒng)將在高校獲得廣泛的應(yīng)用。本系統(tǒng)研究了教學(xué)任務(wù)管理系統(tǒng)的關(guān)鍵技術(shù),分析了教學(xué)任務(wù)管理工作,建立了教學(xué)任務(wù)管理系統(tǒng)的模型;本文在分析了Grails框架的基礎(chǔ)上,針對B/S結(jié)構(gòu)模式的優(yōu)越性,完成了系統(tǒng)的設(shè)計、實現(xiàn)。實踐證明此系統(tǒng)能夠為高校提供網(wǎng)絡(luò)環(huán)境下的教學(xué)任務(wù)管理工作環(huán)境,有效地提高了工作效率。但今后仍需繼續(xù)關(guān)注先進開發(fā)技術(shù)并將其應(yīng)用到教學(xué)任務(wù)管理系統(tǒng)中,為學(xué)校提供更加智能、高效的教學(xué)任務(wù)管理系統(tǒng)。同時也為運用Grails框架開發(fā)Web應(yīng)用系統(tǒng)提供一定參考。
[1]于泳,王慧.基于UML的辦公自動化系統(tǒng)建模與實現(xiàn)[J].中國電子商務(wù).2011,(12):38-38.
[2]俞曉,左友東等.ERwin在智能考試系統(tǒng)中的應(yīng)用[J].四川師范大學(xué)學(xué)報(自然科學(xué)版),2004,(04):434-437.
[3]于洪方.敏捷開發(fā)方法在世紀互聯(lián)MIS系統(tǒng)中的應(yīng)用與研究[D].成都:電子科技大學(xué),2010:12-21.
TP311.52
A
1671-5993(2015)01-0032-05
2015-01-31
安徽省示范性高職院校建設(shè)項目“軟件技術(shù)專業(yè)”研究成果,項目編號:SJ2010003;滁州職業(yè)技術(shù)學(xué)院院級科研基金項目“初探數(shù)據(jù)挖掘在大學(xué)生職業(yè)生涯規(guī)劃中的應(yīng)用”研究成果,項目編號:YJY-2011-17。
程洪斌(1966-),男,安徽鳳陽人,滁州職業(yè)技術(shù)學(xué)院信息工程系講師,研究方向:計算機技術(shù);
王善勤(1980-),男,安徽靈璧人,滁州職業(yè)技術(shù)學(xué)院信息工程系講師,研究方向:數(shù)據(jù)挖掘;
吳昌雨(1977-),男,安徽滁州人,滁州職業(yè)技術(shù)學(xué)院信息工程系講師,研究方向:軟件開發(fā)。
滁州職業(yè)技術(shù)學(xué)院學(xué)報2015年1期