王先平, 胡佳佳, 洪肖梅
(重庆文理学院软件工程学院, 重庆 永川 402160)
基于SSH2的教材征订系统的设计与实现
王先平, 胡佳佳, 洪肖梅
(重庆文理学院软件工程学院, 重庆永川402160)
[摘要]针对高校教材征订的实际情况,利用MVC模式,采用分层思想,以SSH2和Oracle等技术设计并实现教材征订系统.文中探讨了系统的主要功能和整体架构设计,并进行系统实现.测试结果表明,系统具有功能完善、稳健性强以及可移植好等优点,可以满足一般高校教材征订的需要.
[关键词]教材征订;系统设计;软件架构
随着信息技术的不断发展,各大高校纷纷推出适合自己的信息管理系统,这有利于提高高校内部的管理水平和工作效率.校园信息管理已成为衡量一个学校教学质量的重要手段.在校园信息化管理中,学校的教材管理也是一个重要问题.学校每学期期末都需要购买大量下一学期的教材,根据每学期所开设课程的不同,由教研室主任、系主任组织相关教师或课程团队负责人订购大量教科书和学生用书.现在,这项工作很多学校都仍然是手工操作,不仅效率低下,而且不能及时了解教材库存和领取的具体情况,也不能方便地进行相关数据的分析[1-3].因此,设计并实现一个好的教材管理软件不仅可以大大降低相关工作人员的劳动强度,同时也可以提高学校的管理效率.
1用户需求分析
用户需求分析就是对用户进行调研,调研做一个什么样的系统,即主要功能有哪些,非功能性需求是什么,是否适合用户的实际工作需要,同时也是系统交付的重要依据.因此,软件系统的成败在很大程度上取决于用户需求分析的深度和广度.
开发教材征订系统之前,我们对涉及教材的相关用户进行了大量调研.调研结果表明:本系统主要有系统管理员、院级管理员和教师用户3种角色.各角色分别需要完成的功能如下:
(1)系统管理员:对库存信息管理操作,所有用户的管理操作,用户反馈的处理,数据的备份还原以及系统的开关时间设定等.
(2)院级管理员:将下学期的课程录入系统中并指定教师订购该课程使用的教科书;将指定教材的信息录入保存,对自己选定的教材信息有增删改权限;查看教材订购情况,可邮件通知未订购人员及时订购教材,同时也可查看历年的教材订购情况;对本学院的教师用户的管理操作.
(3)教师用户:将指定教材的信息录入保存,对自己选定的教材信息有增删改权限;对本人信息的修改以及反馈;历史教材订阅的查阅.
2系统设计
通过对用户的需求分析,采用自顶向下和逐步求精的方法,将本系统划分为课程管理、教材订购管理、库存操作管理、综合查询管理以及系统维护五大模块.模块结构图如图1所示.
图1 系统模块结构图
(1)用户登录模块
实现系统管理员、院级管理员、教师用户的登录退出系统的功能.登录要有提示信息,并且各用户只能进行具有相应权限的操作.
(2)课程管理模块
按照专业人才培养方案中的课程计划进行本学期课程的导入以及增删改基本操作,并指定每门课程的教材选定人员.
(3)教材订购模块
主要是教师根据管理员分配的任务查看自己应处理的教材,实现对特定课程教材的选定功能,并对所选的教材有增删改操作权限.
(4)查询统计报表模块
包括实现历年教材订购的情况查询以及课程的开设情况查询,包括对本学期教材的订购情况并实现邮件通知未订购教师用户及时订购的邮件通知功能.
(5)库存管理模块
包括库存的出入情况以及教材的领取与退订功能.
(6)系统维护模块
用户管理:对用户基本信息、密码的录入、修改、删除以及权限分配等功能.
系统各用户维护自己的基本信息,包括修改密码等功能的实现.
对数据库的备份和恢复功能.
(7)打印模块
根据教材征订情况,统计征订记录,实现购书单、领书单的打印功能.
在信息管理系统中,数据库的设计占据相当的地位,数据库设计的好坏直接决定了系统的相应性能.在数据库的设计中,概要结构设计尤为重要. E-R图是用来描述数据之间联系的有效方法, 有实体、属性、联系3种基本成分[4].系统根据数据库设计的原则,在遵循数据库设计范式理论的同时又结合实际功能的需要, 按照数据库设计的步骤进行详细设计.经数据模型分析与设计,部分关系模式如下:
(1)课程表(course):{课程编号,课程名,系院编号,用户编号,年级,专业,备注}
此为课程表实体对应的关系模式,其中课程编号为主码,用户编号、系院编号为外码.
(2)教材信息(textbook):{教材编号,教材名称,作者,出版社,单价,课程编号,订购数量,状态,教材描述}
此为教材实体对应的关系模式,其中教材编号为主码,课程编号是外码,其他一些冗余信息删除.
(3)库存信息表(bookstore):{库存编号,教材编号,当前库存数,备注}
此为库存单实体对应的关系模式,其中库存编号为主码,教材编号是外码.
(4)库存操作明细(bookstoredetail):{明细编号,库存编号,出入库类型,出入库数量,操作时间,操作原因,备注}
良好的架构和编程风格有利于系统的稳健性和可维护性.本系统采用MVC模式和分层结构,严格按企业级软件开发的规范来设计,采用JSP、SSH2(Struts2、Spring、Hibernate)和Ajax等技术来实现[5,6].
(1)数据访问层(Dao):该层也是面向接口编程,即分为数据访问接口和数据访问接口实现两部分.利用Hibernate3来实现ORM,非常方便地完成对数据库的操作.
(2)业务逻辑层(Biz或Service):该层是面向接口编程,即分为业务接口和业务接口实现两部分.该层主要是调用数据访问层的方法进行业务实现.
(3)控制层(Controller):本系统采用Struts2作为控制层,功能是接(相关页面)收用户输入,然后调用业务逻辑的方法进行处理,根据调用执行的结果转到相应页面.
(4)视图层(View):利用JSP+EL+JSTL来实现,主要功能是提供输入界面和进行结果显示.
(5)事务管理和依赖注入:由Spring来完成申明式事务管理和依赖注册,用户在程序中不必考虑事务问题,大大简化了编程的复杂度.
(6)局部刷新:采用Jquery+Json来实现,增强了用户体验功能.
3系统实现
本系统开发环境是在Windows 2000+Tomcat7+JDK1.6上使用MyEclipse8.6集成开发环境,使用Oracle11g作为后台数据库存储,以Java+JSP为开发语言,利用Struts2+Spring3+Hibernate3.x框架技术的有效集成进行快捷、高效的实现[6].
事务处理适用多表作为一个整体操作,也是编程时必须考虑的事情之一.本系统充分利用Spring对申明式事务的支持,它以方法为单位进行事务控制,只需在系统配置文件中配置.程序员在程序编码时可以不关心事务,可以一心一意地进行业务编码.Spring框架对事务管理进行了高层次的抽象,可以使用AOP框架进行申明式事务管理.本系统的Spring申明式事务管理配置片段如下:
图2 课程管理界面
本系统功能模板较多,本文以课程管理为例介绍系统实现.
课程管理模块实现了课程的添加、修改以及删除功能,并能通过关键值检索内容.如图2.
实现关键代码(CourseAction.java类)如下:
public String findCourses(){
try {
Long count=courseService.getQueryCount(queryParam);
pv = new PageView
……
ActionContext.getContext().put(“pv”,pv);
……
} catch (Exception e) {
ajaxResponse.setResponse(“300”,“操作失败”);
e.printStackTrace();
}
}
4系统测试及分析
系统编码完成后,必须进行软件测试.软件测试是为了在软件交付前尽可能多地发现错误,排除潜伏的错误,从而提高整个系统的质量.本系统经过严格测试,测试结果表明本系统是成功的.它主要具有以下特点:
(1)可维护性好.由于采用MVC模式和多层结构,严格按企业级软件开发标准进行设计与实现,为后期的维护和进一步升级奠定了基础.
(2)健壮性较好.系统采用和Oracle重量级数据库和目前主流SSH2轻量级框架技术进行架构和实现,系统的稳固性得到保障.
(3)系统交互性好.AJAX主要用Jquery+Json技术实现,实现系统局部交互和刷新,增强了用户体验,提高了系统良好的交互效果,同时也提高了系统性能.
5结语
该系统作为高校数字化校园的一部分,以教学执行部门的教材征订信息化为目标,基于SSH2实现的教材征订管理系统,包括课程管理、教材订购管理、库存管理、综合查询管理、用户管理等模块,具有操作简单、界面友善、灵活性好、运行稳定等特点,可以满足高校教材征订的需要,并且对其它相关信息系统的建设有一定的借鉴意义.
[参考文献]
[1]姜峰,徐海英,谭平,等.浅谈高校教材管理的现状与发展[J].经济师,2011(7):104-105.
[2]刘中秋.B/S 模式下教材管理系统的设计与实现[J].科技资讯,2010(6):10-11.
[3]戴柯峰. 基于B /S 构架的教材管理系统的设计[J].河南科技,2013(3):224-225.
[4]王珊, 萨师煊. 数据库系统概论[M] . 北京: 高等教育出版社, 2006: 237- 258.
[5]闫丹.基于JSP毕业设计选题管理系统设计与实现[J].重庆文理学院学报,2013(3):92-95.
[6]李刚.轻量级Java EE企业应用实战Struts 2+Spring 3+Hibernate整合开发[M]. 北京:电子工业出版社,2011.
(责任编辑穆刚)
Design and implementation of textbook ordering system based on SSH2
WANG Xianping, HU Jiajia, HONG Xiaomei
(College of Software Engineering, Chongqing University of Arts and Sciences, Yongchuan Chongqing 402160, China)
Abstract:According to the actual situation of college textbook subscriptions, and in the MVC model, using hierarchical thinking, SSH2 and Oracle technology are used to design and realize the textbook ordering system. This paper discusses the main functions and the overall system architecture design, and system implementation. System test results show that: it has a perfect function, robustness and portability advantages, suitable for general college textbook subscriptions.
Key words:textbook ordering; system design; software architecture
[中图分类号]TP311
[文献标志码]A
[文章编号]1673-8004(2015)05-0130-04
[作者简介]王先平(1972-),男,重庆合川人,讲师,工学硕士,主要从事SOA及计算机应用技术方面的研究.
[基金项目]重庆文理学院学生科研项目(XZ20120020);重庆市大学生创新创业项目(201310642006); 重庆市教委教育教学改革资助项目(1203197);国家级创新创业训练项目(201310642002);永川区自科基金项目(YCSTC2013NC8002);重庆文理学院校级科研项目(Z2013RJ14).
[收稿日期]2014-09-08