APP下载

基于Grails框架的高职院校教学任务管理系统

2015-11-20程洪斌王善勤吴昌雨

滁州职业技术学院学报 2015年1期
关键词:标签管理系统控制器

程洪斌,王善勤,吴昌雨

(滁州职业技术学院,安徽 滁州 239000)

基于Grails框架的高职院校教学任务管理系统

程洪斌,王善勤,吴昌雨

(滁州职业技术学院,安徽 滁州 239000)

针对高职院校教学中存在任务下发完成进度无法实时监控等问题;基于B/S模式,运用G rai l s框架技术,设计了域模型类、控制器类和视图类,采用Boot st rap前端开发框架,实现了系统的用户管理、标签管理、任务管理三大核心功能模块等;此系统的开发为高职院校教学任务实时管理提供网络平台。

B/S;G rai l s;Boot st rap;教学任务;管理

引言:随着WEB和数据库技术的发展,将一套复杂的业务逻辑用计算机来实现可省去大量社会资源,可替代大量人工,缓解工作人员巨大压力。目前国内外很多高职院校基于“项目引导、任务驱动”思想进行教学改革,教学管理工作面临前所未有的挑战,教学管理充满了各种角色,每种角色都对应相应的权限和功能,每天都有大量的任务去处理。如果这些任务继续使用纸质文档去完成的话,既花费大量的人力物力,也不能实时监管任务完成进度。由于高职院校信息化而使教师对下发给学生的任务实时监管工作繁杂起来,使学校管理人员无法很好地管理好教学过程中的任务。为了教师可以对教学任务实时监控管理及查看任务的完成情况,为了学校降低管理成本、提高课堂教学效率,设计并实现了教学任务管理系统。

一、系统的需求

教学任务管理系统是一个教师教学过程中教师下发任务与学生提交任务的平台,是教务管理平台的重要组成部分,教学任务包括用户管理、标签管理、任务管理三大模块。标签组组长可以为一个标签组添加成员,并对成员下发教学任务。当任务文档上传至服务器后可以转换成SWF格式并在页面上显示出来。用户看到任务后,可以下载任务文档,完成任务后用户提交完成后的任务文档。标签组组长审核完后,即可删除该任务。

(一)系统的可行性分析

随着信息化普及,各大高职院校配备的服务器基本上可以满足系统运行需要,个人办公计算机能够满足开发任务,所需资料可以到图书馆查阅或者基金项目中出资购买,因此整个系统的开发,经济可行性良好。

该系统采用了先进并且符合实际应用的开发方法,使用广泛应用于Web开发的开发工具:Dreamweaver、IntelliJ IDEA、功能强大的数据库管理工具MySQL。采用Grails框架技术、Bootstrap前端开发框架,结合自己的实际工作及开发能力,可以开发满足基本需求的教学任务管理系统。

(二)系统的角色分析

系统分为管理员、用户两个角色,管理员主要负责管理用户和标签,用户根据身份不同进行不同的任务,教学任务管理系统面向的用户群体主要有教师、学生。针对系统角色,系统适用领域包括通过软件实现教学任务管理、通过软件进行教务系统内标签组管理、通过软件实现教务系统内任务分发与提交等。

(三)系统的主要功能需求分析

1、用户管理

添加用户功能是将用户从Excel中导入数据库(也提供页面添加功能);删除用户功能是由超级管理员或系部管理员进行删除(或禁用);修改密码功能是用户登录后可以修改自己的密码;密码找回功能是通过用户信息的邮箱字段,发送一个超链接给用户,并进行密码的修改;查看用户功能是系部管理员和超级管理员可以查看系统中有哪些用户。

2、标签管理

添加标签组功能是任何用户可以添加一个新的标签组,并且该用户作为该标签组的组长;删除标签组功能是标签组组长可以解散标签组即是删除该标签组;查看标签组功能是系部管理员可以查看一共有哪些标签组,用户可以查看自己有多少个标签。

3、任务管理

发布任务功能包括发布的任务的内容和附件及限定用户提交、提交时间;执行任务功能是用户接收到组长发布的任务查看任务(下载附件),并且上传要提交的材料;接收任务功能是接收到用户提交的材料后,在线查看、审核,将通过审核的材料下载到本地,将未通过的返回给用户。

(四)用例模型分析

图1 用例图

用例模型是收集系统功能需求的一个有力工具,它使得分析员与用户之间的交流更加容易[1]。图1表示了基于Web的任务管理系统的用例模型,其形象地描述了发布接收任务等功能,并且从功能的角度指出了每个功能的执行者(角色)。

二、系统的设计

(一)系统设计原则

教学任务管理系统在设计开发上遵循从实际情况出发的原则,在充分利用现有网络和软硬件资源的基础上,最大限度地满足用户的需要,使系统建成后,确实能为用户的实际工作带来方便,达到系统建设的预期目标。同时在考虑近期目标的同时,还要充分考虑到系统将来的扩展性。其具体设计原则有如下几点:易用性原则、实用性原则、扩展性原则、稳定性原则、安全性原则。

(二)系统主要功能结构设计

根据系统的需求,将要实现主要功能有用户管理、任务管理和标签管理。而其中的各个子功能又分为多个子功能模块,该系统的主要功能结构图如图2所示。

图2 教学任务管理系统主要功能结构图

(三)系统数据库设计

图3 系统的E-R图

本系统使用的是IDEA来进行数据库建模,通过使用建模工具,不仅能得到优化的业务功能和数据需求模型,还能方便地构造实体和联系,表达实体间的各种约束关系[2],而且可以实现从E-R模型到数据库物理设计的转换。系统部分数据库结构图如图3所示。

三、系统的实现

(一)系统开发架构

本系统采用Grails框架开发。GrailS是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate和其他标准Java框架之上,从而为形成一套能实现超高生产力的一站式框架[3]。在Grails中,“M”指的是Domain类,可以将这个Domain理解为数据库中的一张表,一个Domain的实例则对应为该表的一条记录。控制器“C”起到桥梁作用,它能够接收用户提交的请求,可以调用M获取数据并把数据传递给视图“V”。视图“V”的作用是输出页面,Grails中的页面技术是GSP技术,可以使用网页编辑器进行编辑设计。MVC架构的Grails执行流程如图4所示。

图4 Grails的MVC架构执行流程图

(二)系统关键代码实现及分析

1、域模型类层

Grails工程的全部域类都在grails-app/domain目录下。域模型类会遵照约定实现与关系数据库中的表之间的关联。Grails对Hibernate使用的约定进行了扩展,具体内容为:将类名中的每个单词的首字母变为小写,并在单词之间用下划线“一”连接,就构成了与之相关的表名;每个属性对应表中的一列,属性名和列名之间的转换规则与类名和表名的转换规则相同;域模型类有一个默认被自动添加的id属性(不需要用户定义,由Grails在运行时注入),并会在表中显示出来;域模型类还会默认创建一个version属性,用来在Hibernate中确保事务的完整性并支持乐观锁,该属性不会在表中显示出来。

下列是文件类Users的代码:

该类对应数据库里的users表,该表结构如表1所示。

该类共定义了8个属性,分别对应表中的8个字段并通过Grails约束生成器(Construction)对应每个字段设定的约束。mapping闭包用于定义数据库表的主键,如果没有指定,默认会将Graiis自动添加的id属性作为主键。本系统部分主要主要域模型类表如表2所示。

表2 系统主要主要域模型类

2、控制器类层

控制器对于Grails来说是一个相当核心的概念,它是一些负责处理来自客户端请求的类。控制器是基于原型的,也就是说Grails会为每个请求创建一个新的控制器实例。其中有如下几种处理请求的方式:简单地委托给一个合适的视图;操作领域模型,然后将它在视图上显示;直接写入响应(Response)的writer对象中;重定向到另外一个操作(Action)或另外一个控制器中的操作。

在Grails中,控制器也是一个类,它位于grailsapp/controller目录中类名都以Controller结尾。下面是客户管理功能的控制器类的部分代码:

“def index={}”是Groovy不同于Java的一种语法结构,叫做闭包。闭包是一段代码的集合,与Java的方法类似,可以调用。在控制器中,闭包有了新的含义,叫做action。Graiis会根据请求的URL决定调用哪个action。一个典型的Graiis的URL格式为:

“http://主机名:端口/项目名称/控制器名/action名/ID或其他参数”。index操作是控制器的默认操作。当URL路径中没有指定操作名,则系统会使用默认操作。当用户访问系统时,会首先执行index操作,index操作使用了重定向(redirect)方法,将客户端的请求重定向到list方法。在系统中每个控制器类中分别定义了list、show、delete、edit、update、create和save方法,这些方法用于实现基本的业务逻辑功能。

根据系统功能模块划分每个功能模块对于一个控制类,本系统部分主要控制类有LoginController(登陆控制类)、ResourcesController(资源控制类)、Submit-TaskController(提交任务控制类)、TaskController(任务控制类)、UsersController(用户控制类)、Labelling-Controller(标签控制类)User_LableController(用户标签控制类)。

3、视图类层

Grails提供了一种新的视图技术,即GSP,它与JSP非常相似,和JSP一样有很多直接可以使用的对象。同时在GSP页面中也可以编写Groovy代码。Grails中所有的gsp页面文件都存放在grails-app/ view目录中,每个控制器都在view目录中对应一个与控制器名相同的文件夹,每个文件夹下会有控制器用到的多个gsp页面。一般每个gsp页面对应控制器类中的一个方法。下面是登陆页面部分代码:

(三)实现的功能分析

1、登录功能

本系统中对于登录模块的设计是供学校内部使用,使用权的授予是由系统管理员决定的,只有在系统管理员首次在员工管理模块中添加了用户信息后,授予此用户登录名、密码后才能安全登录,在权限的范围内能够完成相应操作。用户输入“用户名”、“密码”及“验证码”后,若登录成功后进入系统首页,否则会提示“对不起,用户的用户名或密码有错,请重新登录!”或“验证码错误,请重新输入!”。

2、任务管理模块主要功能实现

发布任务:该类功能主要实现任务的发布,根据用户的权限可以发布任务,并在发布任务的同时可以选择上传附件,这是可选的,选择接收用户可以选择到人也可以选择到标签组并且在选择任务截至日期时系统会控制只能选择大于当前的日期。

查看任务列表:该功能可以查看自己所发布的任务列表,可以查看提交的时间以及当前任务的状态,点击查看可以看到不同用户所提交的材料,并可以在线浏览材料

任务审核:为了体现用户提交的任务的质量,可以在线审核,如果符合要求,点击通过,反则点击不通过,点击完成之后系统会给出相应的提示。

结束语

随着信息技术的不断深入和发展,教学任务管理系统将在高校获得广泛的应用。本系统研究了教学任务管理系统的关键技术,分析了教学任务管理工作,建立了教学任务管理系统的模型;本文在分析了Grails框架的基础上,针对B/S结构模式的优越性,完成了系统的设计、实现。实践证明此系统能够为高校提供网络环境下的教学任务管理工作环境,有效地提高了工作效率。但今后仍需继续关注先进开发技术并将其应用到教学任务管理系统中,为学校提供更加智能、高效的教学任务管理系统。同时也为运用Grails框架开发Web应用系统提供一定参考。

[1]于泳,王慧.基于UML的办公自动化系统建模与实现[J].中国电子商务.2011,(12):38-38.

[2]俞晓,左友东等.ERwin在智能考试系统中的应用[J].四川师范大学学报(自然科学版),2004,(04):434-437.

[3]于洪方.敏捷开发方法在世纪互联MIS系统中的应用与研究[D].成都:电子科技大学,2010:12-21.

TP311.52

A

1671-5993(2015)01-0032-05

2015-01-31

安徽省示范性高职院校建设项目“软件技术专业”研究成果,项目编号:SJ2010003;滁州职业技术学院院级科研基金项目“初探数据挖掘在大学生职业生涯规划中的应用”研究成果,项目编号:YJY-2011-17。

程洪斌(1966-),男,安徽凤阳人,滁州职业技术学院信息工程系讲师,研究方向:计算机技术;

王善勤(1980-),男,安徽灵璧人,滁州职业技术学院信息工程系讲师,研究方向:数据挖掘;

吴昌雨(1977-),男,安徽滁州人,滁州职业技术学院信息工程系讲师,研究方向:软件开发。

猜你喜欢

标签管理系统控制器
基于James的院内邮件管理系统的实现
工商业IC卡控制器改造为物联网控制器实践
基于LED联动显示的违停管理系统
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
海盾压载水管理系统
标签化伤害了谁
科学家的标签
基于RFID的仓储管理系统实现
模糊PID控制器设计及MATLAB仿真