基于Java语言的学生成绩管理系统设计与实现
2013-04-25鲍倩
鲍 倩
(西安电子科技大学 电子工程学院,陕西 西安710071)
随着高校学生数量增多,学生信息数剧量也日益庞大。使用学生成绩管理系统可以方便高效地管理学生在校期间所修课程的成绩。学校档案馆的数据库不仅要存储在校学生的信息,还必须存储在一定年限内毕业学生的信息[1]。文中学生成绩管理系统采用MySQL数据库,该数据库体积小、容量大,解决了学生数据信息日益庞大的难题。管理系统的用户界面采用Java语言编写,之所以采用Java语言,是因为它具有简单、面向对象、稳定、跨平台、多线程等特点。Java的用户界面开发工具包Swing,包含了丰富的用户组件,以及对事件以及事件响应的支持,允许开发人员使用简短的代码写出美观的用户界面[2]。
1 管理系统功能模块设计
设计了一款适合高校使用的C/S模式的学生成绩管理系统,该管理系统的特点是,在数据库中将课程信息按照院系和专业分类,在界面中输入学生所属专业的名称,用户界面就会显示该专业的课程清单,管理员只需按照学生选修的课程在课程清单中选择课程名字,就会在用户界面的另一个区域显示学生所修课程清单,即可输入每门课程的成绩,这样做的好处是减轻了管理员的工作量,因为一个班的学生所修课程基本相同,将所修课程归纳在一起,可省去管理员输入课程名称的工作,同时降低了错误发生率。根据以上分析,设计的功能模块如图1所示。
图1 学生成绩管理系统的功能模块
(1)院系信息管理模块。这个模块主要用来添加、删除、更新、查询院系名称和编号。
(2)专业信息管理模块。这个模块主要用来添加、删除、更新、查询专业名称和编号,并将每个专业关联到对应的学院中。
(3)课程信息管理模块。主要用来输入存储课程名称和编号,并将课程名称按照专业归纳好。
(4)学生信息管理模块。主要用来存储学生的基本信息和课程成绩信息。
2 用户界面设计
按照用户需求和功能模块设计来设计用户界面,可以满足系统的要求。采用Java语言编写界面程序,主窗口如图2所示。
图2 学生成绩管理系统的主界面
主界面由Java Swing的组件和事件构成,用Border Layout[3]布局将界面分为上、中、下3部分,分别容纳上述3个功能区,使用Boder类将这3个功能区的物理位置分隔开。在第一功能区内,使用GridBagConstraints[4]布局将JLable组件和JTextField组件平均分布在各行各列,随着窗口大小的变化,这些组件的相对位置不变。第二功能区进一步利用BorderLayout布局,分成Center部分和East部分,Center部分是JTable组件,该组件的表头由JTable的表头拆分和合并得到,是整个主界面编写代码最难的部分。East部分是一个删除按钮,可以删除学生的一门或多门课程。第三功能类似于第二功能区,利用BorderLayout布局分成Center和East部分,Center部分是JTable组件,East部分盛放的是一个选课按钮。
院系信息模块的管理窗口如图3(a)所示,点击主界面中菜单栏的系统→院系,就会弹出“院系管理”窗体,输入院系的中英文名称,点击添加按钮,就会将院系名称和编号保存在数据库中,完成院系信息的添加。选中文本区域的院系名称,点击删除按钮,就会将院系名称从数据库中删除,完成院系信息的删除。选中文本区域的院系名称,点击重置按钮,就可以在编辑区域的文本框中修改院系名称和显示顺序,完成院系信息的更新。
专业管理模块的设计和院系管理模块基本相同,如图3(b)所示。课程信息模块的管理窗口如图3(c),点击菜单栏的系统→课程,弹出“课程管理”窗体,在窗体的左边区域选择院系和专业,然后输入课程的中文名称和英文名称,就点击添加按钮,完成专业课程信息的添加。在文本区选择课程名称,然后点击删除按钮,就可以完成专业课程信息的删除。
图3 3个模块管理窗口
3 数据库设计
数据库使用MySQL数据库[5],一共设计了6张表,分别是学生表、院系表、专业表、课程表、专业课程表、分数表,它们之间的关系如图4所示。
4 结束语
系统设计的主要工作就是用户界面的设计和数据库的设计,以及通过用户界面访问数据库代码的编写。最后将此管理系统的每个功能进行了都验证,基本达到了预期的效果。
图4 数据库E-R图
[1] 李舒,陈丽君.高校学生成绩管理系统的设计与实现[J].辽宁大学学报:自然科学版,2006,3(3):283-285.
[2] 李钟尉,周小彤,陈丹丹,等.Java从入门到精通[M].2版.北京:清华大学出版社,2010.
[3] 王鹏,何昀峰.Java Swing图形界面开发与案例详解[M].北京:清华大学出版社,2008.
[4] 达尔文.Java经典实例[M].张丽荣,张晓坤,译.北京:中国电力出版社,2009.
[5] 钱雪忠,王燕玲,张平.MySQL数据库技术与实验指导[M].北京:清华大学出版社,2012.
[6] 杨璐,李隐峰,闫蕾.基于Web电子作业提交系统设计[J].电子科技,2012,25(7):53,54,57.
[7] 曲蕴慧,白新国.基于SOA的毕业信息管理系统的设计与实现[J].电子设计工程,2011,19(19):37-39.