基于Struts-Hibernate的课程管理信息系统的设计研究

2017-03-28 12:54
山西电子技术 2017年1期
关键词:关系数据库框架数据库

刘 琴

(山西省物流技术学校,山西 太原 030031)

基于Struts-Hibernate的课程管理信息系统的设计研究

刘 琴

(山西省物流技术学校,山西 太原 030031)

随着计算机技术、信息技术和网络技术的迅速发展,基于网络的课程管理信息系统得到广泛的应用。学校利用本系统,使学生能够自主选课和自主学习,以此提高课程的教学和管理效果,使各项教学活动能够有条理、顺畅地进行,为学校教学质量的提高提供了重要的基础。

Struts;Hibernate;课程管理信息系统;设计研究

21世纪是知识爆炸的年代,信息和科学知识的快速增长要求人们必须不断地学习新的知识以适应日益激烈的社会竞争。传统教学方式是学校指定某一时间,要求学生固定教室,由教师进行统一授课。因为传统教学方式对学生而言有十分严格的要求,既不能方便学生随时随地进行课程学习,也不方便教师教学工作。不同的学生可能会有不同的学习时间,很难找到一个时段能够符合所有学生的作息时间。而学生如果想参加异地开设的课程也是很不现实的。将信息化建设运用于传统教学体系,从而诞生的课程管理信息系统(Course Management Information System)成功地解决了这些问题。以建设网站的形式,提供信息化的课程学习环境。

1 课程管理信息系统概述

课程管理信息系统(Course Management Information System,CMIS)是指具有组织、跟踪、评估、发送、呈现、管理学习内容、学习活动,促进学习者之间交互等一系列功能的管理信息系统。

2 架构技术

2.1 Struts技术

Struts技术是Apache组织的一个项目,具有Apache组织项目的共有特性——开放源码。Struts主要是由一组相互协作的类或组件、Servlet、JSP和自定义标签库组成的,它继承了MVC框架的所有特性,并且提供了对开发MVC系统的底层支持。

2.2 Hibernate技术

Hibernate是一个由Redhat公司负责维护的面向Java环境的开源的对象/关系数据库映射工具。对象/关系数据库映射(object/relationalmapping(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型结构中去。利用ORM开发人员不必关心底层的关系数据库模型,只需要关注顶层面向对象的数据模型。

Hibernate是Java应用和关系数据库之间的桥梁,将应用层对对象的操作直接转化为作用于关系数据库中的表,自身则通过hibernate.properties配置文件和类映射文件(*.htm.xml)将实体类映射到数据库中的表,为应用程序提供持久化服务。

2.3 Spring技术

Spring是一个非常优秀的轻量级框架,利用普通Java对象(POJO)编程,使用依赖注入解析POJO间的依赖性,然后使用面向方面编程(AOP)将服务与它们相关联。

Spring核心本身是个容器,管理物件的生命周期、物件的组态、依赖注入等,并可以控制物件在创建时是以原型或单例子的方式来创立。Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代。

3 课程管理信息系统各模块的功能实现

课程管理信息系统(Course Management Information System)是专门为学生学习课程而建设的网络系统。教师用户可以在系统中发布课程大纲、教学计划,以及堂课教学内容,布置作业,批改作业,公布学生成绩。学生用户可以选择课程学习,提交作业。课程管理信息系统往往还为课程提供一些通讯工具为师生之间的交流提供了一个良好的平台。管理信息系统还会采集学生学习时的一些数据进行数据统计。教师可以很方便地了解学生在课程内容学习当中的各种动态信息,比如对哪些课程比较感兴趣,作业完成情况等。

3.1 功能模型

完善的课程管理信息系统应该包括:Communication Tools(交流工具)、Administration Tools(管理工具)、Course Delivery Tools(课程工具)等三个部分。课程管理信息系统功能有注册新账号、登录系统、取回密码、修改个人资料、查看用户信息、修改密码、注销登录、添加新用户、修改用户角色、删除用户、重置用户密码、添加新角色、修改角色信息、删除角色、创建课程、审批课程、选修/退出课程、学习课程等。功能模型如表1所示。

表1 课程管理信息系统结构表

3.2 用户类别

课程管理信息系统的典型用户角色有三种,他们分别是:管理员角色、教师角色、学生角色。课程管理信息系统的用户角色是可维护的,也就是说并不只有这三种角色。管理信息系统在数据库中维护一个角色表。系统管理员可以动态地创建和修改角色。这样做的好处是系统能够实现充分的自订化。在实际使用中能很方便地控制权限。课程管理信息系统预先创建了这三种典型的角色,只是为了使系统使用起来更加的方便。

3.3 架构设计

通过参考学习一些流行的Web设计框架,对应用分层的好处有了一定的了解。结合课程管理信息系统的需求,从Struts、Spring所能提供的功能出发,设计了如下的Web应用框架:

课程管理信息系统Web应用分成4层。这四层分别是:表示层(presentation layer),控制层(controller layer),业务层(business layer),数据库操作层(database management layer),实体模型层(domain model layer)。每个层在处理程序上都有一项明确的责任, 不同层上的功能不能混合,每个层要与其它层分开,从而降低Web应用的耦合度。

系统层次用MVC+Ioc设计模式实现,由Struts+Spring+JdbcTemplate来辅助实现框架。对于Struts框架本课程管理信息系统仅使用其MVC部分,对Spring框架我们仅使用其IoC功能和JdbpTemplate。

表现层有页面展示、表单提交、翻页。

控制层是MVC的控制器。在Struts框架中通过Struts.xml配置文件进行控制管理。普通的Struts项目要求每个用户动作都要对应一个action。理论上这样做能把所有的控制都放到xml配置文件里,从而提高项目的清晰程度。

在业务层中,系统使用了Spring框架的Ioc(Iversion of control)。在每个具体的Action实现类中,都会用到业务层的对象。

在数据库层封装了所有的数据库操作,所有的增删查改的SQL语句都写在这一层。为了实现对不同的DAO实现类进行统一的管理,选课系统的所有DAO实现类都继承至BaseDAO,BaseDAO中统一使用Spring框架提供的jdbc Template类操作数据库。BaseDAO类中仅有一个org.spring framework.jdbc.core.simple.Simple Jdbc Template型的属性,和对这个属性的get set方法。使用JdbcTemplate来执行SQL非常方便,jdbc不仅能提供非常丰富的查询接口,而且封装了连接池。使用它可以不用考虑连接的获取和释放。

实体模型Bo(Business Object)是真实世界的抽象模型。每个Bo都映射到一个具体的实体。一个实体可以对应好几张数据库表。比如课程这个Bo,它除了有课程的基本信息,还有任课教师的姓名。很明显的课程的基本信息表是不会有教师姓名的,因为课程表是通过教师id而不是通过教师姓名来和教师表关联。所以为了实例化一个课程,可能需要查询两张数据库表才能实例化。

对用户表的增加、删除、修改、查询操作,这是所有用户概念网站都需要实现的功能。

系统有很多用户,如果对每个用户都控制权限,这样管理员就非常不好操作。因为每新添一个用户的时候,都要进行大量的设置。本系统采用角色进行权限控制,用户对应到角色,同时享有该角色的权限。

3.4 数据库设计

用户管理在数据库中一共六张表,分别是管理员表、教师表、学生表和课程表、成绩表、班级表。整体的数据库表的物理数据模型如图1所示。

图1 物理数据模型

系统总体的框架设计为:第一次启动时,在登录窗口分别输入系统默认的用户名和密码。可供选择的用户类型有学生、教师、管理员三种,验证通过后可进入各用户窗口。系统管理员的权限最高,可根据实际情况为教师添加用户并进行权限管理。对于教师开设的课程,班级和学生,系统管理员有权访问考核。教师在教学活动中可以选择学生,对学生所学课程录入成绩并公布。教师可以编写形式多样、图文并茂、简洁直观的在线学习内容,有助于广大学生理解和掌握;使学生在丰富多样的在线学习活动

中既能获得知识,又能提高能力。教师可对本学期的所报该课程的学生进行选择学生。当一门课程学习完毕,教师可以在线进行考核,并对所选课程的学生进行成绩的公布。同时教师可以进行成绩的录入。学生登录后主要可以进行课程的选择及成绩的查看,当学生使用课程管理信息系统进入学生界面就可以看到本学期可供选择的课程和开课的教师,并查看任课教师给出的成绩。

学生在选择课程时同时可以查看任课的教师、上课时间和地点,课程选择。学期结束查看成绩可以看到分数和所修学分。在典型的情景中帮助学生领会理论,学以致用。

4 结束语

基于Struts-Hibernate架构的课程管理信息系统具有结构灵活、易于维护、扩展性好、界面友好等优点。本文在学习Web技术、Oracle数据库技术和Eclipse开发技术的基础上,分析了MVC设计模式,阐述了Struts框架和Hibernate技术两者整合的优势,以此作为本系统设计与实现的基础,最终设计并实现了为学校教学服务的课程管理信息系统,本系统在开发阶段就已经体现出了一些很大的优势。

[1] 刘新阳,王秀芳.建构主义的网络课程管理信息系统[J].河北软件职业技术学院学报,2006(3):67-69.

[2] 钱忠胜.基于Hibernate的数据持久化研究及其应用[J].微计算机信息,2007,23(24):242-244.

Research and Design on Course Management Information System Based on Struts-Hibernate

Liu Qin

(LogisticsTechnologySchoolofShanxiProvince,TaiyuanShanxi030031,China)

With the rapid development of computer technology, information technology and network technology, web-based course management information system has been widely used. The school uses the system to enable students making self selection and self learning, so as to improve the teaching effect and management, make the teaching activities to be organized and carried out smoothly. It provides an important basis for improving the quality of school teaching.

Struts; Hibernate; curriculum management information system; design and research

2016-12-08

刘 琴(1980- ),女,河北卢龙县人,讲师,硕士,计算机应用技术方向。

1674- 4578(2017)01- 0087- 03

TP311.52

A

猜你喜欢
关系数据库框架数据库
关系数据库在高炉数据采集系统中的应用
框架
广义框架的不相交性
数据库
数据库
数据库
数据库
关于原点对称的不规则Gabor框架的构造
一种基于OpenStack的云应用开发框架
基于索引结构的关系数据库关键词检索