摘要:学籍管理系统的建设, 是保障日常教学管理, 深化教学改革, 提高学校信息化水平的重要内容。B/S模式下软件系统往往有浏览器兼容性问题, 极大影响用户的操作体验。本文采用C/S模式软件架构, 在Java跨平台虚拟机上使用Swing技术构建用户界面, 数据库连接使用Spring JDBC技术, 实现了学籍管理系统的基本功能。实践证明, 该系统在软件易操作性和界面访问一致性方面有良好的体验。
关键词:Java; Swing; 学籍管理; Spring JDBC;
随着教学诊断与改进工作[1]的进一步深入, 各校都将提升教学质量工程作为当下深化教学改革的重要内容。学籍管理系统属于教务管理系统的一个核心子系统[2], 主要包括学生的基本学籍信息以及相关异动操作, 如信息修改、转专业等。学籍信息是学生在校的电子档案, 是整个教务管理系统的基础数据, 也是其他信息化业务系统, 如学工系统等, 所必须依赖的数据。通过对学籍信息实施透明化管理, 既可以实现从学生入学到毕业全过程的信息记录可追踪, 也可以对所记录的“立体”数据进行分析、预测、挖掘, 生成该学生包括学习能力、社会适应能力、就业能力等在内的“特征画像”。借助这种大数据分析技术, 给学生、教师、管理者提供相应的反馈, 从而提高学校的教学管理水平, 推进以个性化、特色化教学为中心的质量诊改, 提升整体办学能力。本文采用传统的C/S架构, 将Java Swing技术、Spring JDBC技术应用于系统的搭建。实践证明, 该架构克服了浏览器兼容性等交互问题, 给用户提供了一个稳定、高效的学籍管理系统。
1、相关技术
1.1、Java Swing技术
Java Swing技术主要是用于构建跨平台桌面窗口程序, 它是在AWT (Abstract Window Toolkit) 基础之上一种用Java语言编写的图形组件库技术[3]。基于Swing的窗体程序, 既可以运行在Windows平台, 同时可以运行在Linux平台, 具有良好的跨平台性, 从而实现“一次编写, 多次运行”的特点。Java Swing组件除了是轻量级的, 即在运行时不需要产生相应的“对等 (Peer) ”组件[4], 实际是由自身外观类支持, 而且它的外观是可插拔的[5] (Pluggable Look-and-feel) , 即可以根据需要选择默认的、各平台统一的外观样式, 也可以选择与平台相关的样式。
Swing组件包括各种容器和基本组件, 容器主要是用来容纳和布置基本组件的, 其也可以包含相应的容器。常见的容器有JFrame, JWindow, JDialog, JPanel等, 常见的基本组件包括:按扭JButton, 复选框JCheck Box, 文本字段JText Field, 标签JLabel等。它们之间的关系如图1所示。
图1 Swing组件关系图
1.2、Spring JDBC技术
传统的JDBC技术提供了一套标准的访问数据库的API接口, 同时, 它是一套规范, 屏蔽了访问多种数据库的内部细节, 从而极大效率地提高了程序开发的数据库操作。一般说来, 基于JDBC的应用程序需要进行以下几个步骤, 首先是加载相应的数据库驱动程序, 然后根据提供的URL创建数据库连接Connection, 由Connection创建Statement再来执行SQL语句, 最后处理返回的Result Set对象并关闭连接。
Spring JDBC技术[6]是在Spring IOC和AOP框架基础之上封装的数据库连接技术, 它内置了数据库的连接、关闭、处理异常以及相应的事务操作, 开发人员只需确定SQL语句和对应的查询参数, 然后由Jdbc Template执行SQL语句。从这里可以看出, 相比于传统的JDBC技术每次连接都要手动地进行连接、关闭操作, Spring JDBC在使用效率方面有更进一步地提高。
下图2展示了Spring JDBC框架的应用原理[7]。首先基于Spring IOC技术, 通过XML配置文件spring-beans.xml生成Class Path Xml Application Context这个bean工厂, 继而通过getBean () 方法获取相应的DAO类接口。与此同时, DAO类中的数据源data Source也装配成功。然后由DAO接口调用基于dataSource封装而成的Jdbc Template执行相应的SQL语句, 通过JDBC驱动访问关系数据库。这整个过程使用依赖注入的方式构造对象, 从而能较为方便地获取查询组件, 保证了系统的低耦合性和高扩展性。
图2 Spring JDBC框架应用原理
2、系统功能
学籍管理的复杂性和不确定性要求在系统设计时充分考虑各种潜在的问题, 以最大程度适配其他教务子系统, 如成绩管理系统等, 同时在设计每一个功能时, 都要整体考虑相应的数据库表如何同关系数据库其他表相关联, 并进行相应的关联查询和更新操作。基于以上设计原则, 本系统具备以下基本功能:学生学籍管理和学籍操作, 如图3所示。其中, “学生学籍管理”模块包括“增加学籍档案”、“EXCEL导入学籍档案”、“修改学籍档案”、“查看个人学籍档案”、“打印学籍档案”、“查询学籍档案”、“EXCEL导出学籍档案”这些功能;“学籍操作”模块则包括“转专业”、“休学”、“退学”、“复学”等功能。系统整体界面如图4所示。
图3 系统功能
图4 系统界面
3、结束语
本文针对学籍管理教务子系统的重要性和存在的问题, 设计和实现了基于Java Swing技术、C/S模式下的软件系统。较为详细地介绍了Swing技术特点、Spring JDBC框架的应用原理, 并根据整体一致性原则, 用USE CASE图绘制了系统功能。实践证明, 该系统有良好的用户操作体验, 完备的系统功能, 并且具备跨平台性, 有效解决了B/S模式下软件系统存在的浏览器兼容性问题。
参考文献
[1]刘海.教学诊断与改进:职业院校质量提升的内生动力[J].职业技术教育, 2016, 37 (18) :19-23.
[2]陈凤凤.教务管理系统设计—学籍管理子系统[D].南昌:南昌大学信息工程学院, 2011:2-3
[3]林智扬, 范明翔, 陈锦辉.深入浅出Java Swing程序设计[M].北京:中国铁道出版社, 2005:5-6
[4]童争雄, 刘特, 童瑿.利用Java Swing轻量级组件开发的网络流量账务系统[J].计算机工程, 2002, 28 (12) :77-79.
[5]杨阳.基于JAVA的护理技能大赛抽签平台的设计与实现[J].电脑知识与技术, 2017, 13 (21) :80-83
[6]赵璘, 王红霞.基于Spring MVC+JDBCTemplate的Web系统的研究与应用[J].软件工程, 2017, 20 (1) :5-8
[7]张俐, 张维玺.基于Spring和JDBC的蔬菜运销管理系统在数据持久层的应用[J].安徽农业科学, 2012 (7) :4401-4403