王一寅
摘 要 本文系统是专门针对选课制高等院校日常教务管理而开发的系统。随着学生及高校开设课程的数量的不断扩大,对学生学籍及成绩管理的需求也越来越多,特别是进入信息时代以后,传统的学生选课成绩管理系统早已不能适应时代的发展,在时效性、数据流过程中的准确性上,都已不能满足高等院校日常教务管理过程中的新要求。网络学生选课成绩管理系统取代了原来的传统计算机管理系统,它采用了大型数据库,不仅保证了数据的准确性,还提供了从选课、成绩查询、成绩登录、学籍管理、教师管理等一系列新的管理方案;从根本上解决了学生选课、成绩管理工作中的问题。
关键词 JAVA SWT SQL C/S
中图分类号:TP31 文献标识码:A
1系统需求规格说明
本系统力图以图形化界面的形式向学生、教师、及系统管理员提供相应的选/退课、成绩查询,成绩登录,学生学籍管理及教师信息管理等功能的实现。通过图形界面上的简单鼠标及键盘操作实现系统功能。
本软件系统的最终用户包括在校的学生、教师及系统管理员。
学生可以以自己的学号及预先注册好的登录密码进行登录,进入选/退课窗口,以学期的不同进行相应的选课和退课,并且可以查看自己的各个学期的课程成绩及学分完成情况。
教师可以以自己的工号及预先注册好的登录密码进行登录,进入教师管理窗口,并且可以根据不同的学期选择自己教授的课程,对学生的成绩进行登录和修改。
系统管理员则可以以管理员的身份登录系统管理窗口,对数据库中相应的学生的学籍及教师信息进行修改。
2应用开发的实现
2.1总体设计
系统采用基于J2SE平台的框架结构。系统分成三层设计:显示层、业务逻辑层、数据库层;
显示层:显示层通图形化界面使得用户可以对系统进行操作和控制,采用图形界面来表示数据,使用户操作时感觉更直观;
业务层:每一个业务封装了一项业务操作,如果某项业务规则改变了,只需要修改对应的业务类即可,各个业务间互相独立,通过调用数据库层获得数据。便于程序维护或扩展;
数据层:封装了如数据库连接、释放,SQL语句的执行等一系列基本的数据库操作,将数据库操作与业务分离开,形成独立的一块,供业务层调用。
2.2结构设计
模块结构设计如下:
显示层——模块名称:图形界面。编号:project -001。概述:为用户提供的可以进行相关操作的图形界面。功能:进行登录;选课、查分数;成绩登录;学籍管理、教师管理。输入:鼠标单击、文本框输入或下拉列表。输出:SWT图形界面的表格形式。调用关系:发送相关操作请求致业务逻辑层。备注:在桌面窗口上显示。
业务层——模块名称:业务逻辑。编号:project -002。概述:为图形化界面传来的请求进行相应的服务。涉及数据:学生学号、选课学期、教师号、查询学期及数据库中相关数据。功能:登录验证、选课操作、返回分数、返回成绩、修改学生及教师信息。输入:学生学号、教工号、课程号、学期、选课/退课、删除/添加记录。输出:相应表格数据(表格元素item形式)。调用关系:发送相关操作请求数据库层。备注:返回表格的item元素给图形界面相应的表格。
数据层——模块名称:数库据层。编号:project -003。概述:接收业务逻辑层发来的请求并对数据库进行相应操作,返回结果。涉及数据:学生表、教师表、课程表、选课表。功能:对数据库进行查询、更新操作返回结果集。输入:学生学号、教工号、课程号、学期、选课/退课、删除/添加记录。输出:相应的查询/更新结果集。调用关系:发送相关操作结果集致业务逻辑层。备注:返回相应的查询/更新结果集。
2.3系统数据结构设计
逻辑结构设计要点
用户有:学生、教师、系统管理员3种不同的角色;
用户以不同的身份登录系统进入的界面是不同的,学生对应选课窗口,教师对应教师管理窗口,管理员对应管理员窗口,不同的窗口界面提供不同的操作;
选课窗口:可以查看已选课程,已修(有成绩)课程,选择学期,查看不同学期开设的课程,选课,退课,查看成绩及学分情况;
教师管理窗口:提供该教师教授课程的信息、选择该课程学生的信息的查询,修改(登录)学生成绩;
管理员窗口:可以查询课程信息、教师信息、学生信息、修改教师信息、修改学生信息。
3技术难点与要点
3.1SWT图形界面
本系统开发过程中SWT图形化界面中的技术难点在于表格中每行元素的填充及修改刷新。
从数据库中将需要的数据以字符串数组形式传递给TableItem对象数组,然后对相应的表格进行元素的填充。此处的难点在于对表格的列内容及数据库操作返回的数组各个元素的内容对应的表格列属性要清晰,获取数据库中相关的信息并以字符串数组形式返回结果
还使用到了类RowsInC用来存放从数据库中取得的每条记录的结果集内容。
3.2数据库操作
本系统的数据库连接操作方法的实现全部由Connector包中的DBConnect类提供,连接数据库的业务逻辑由相应的DBOPs包中的DB开头的类来实现。
数据库完整性约束通过触发器保证了本系统中对数据库数据的操作都在合法范畴之内。