基于SWING和MyBatis的学生成绩管理系统设计与实现(20210315223104)_第1页
基于SWING和MyBatis的学生成绩管理系统设计与实现(20210315223104)_第2页
基于SWING和MyBatis的学生成绩管理系统设计与实现(20210315223104)_第3页
基于SWING和MyBatis的学生成绩管理系统设计与实现(20210315223104)_第4页
基于SWING和MyBatis的学生成绩管理系统设计与实现(20210315223104)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java高级开发课程设计java高级开发课程设计题目:基于SWING和MyBatis的学生成绩管理系统设计与实现学号:2012姓名:郑莹莹专业:计算机应用班级:应用1班2014年6月20日ijava高级开发课程设计目录1. 背景简介22需求分析32.1功能需求32.2性能需求42.3使用技术和开发平台 53. 系统设计 53.1界面设计53.2功能设计63.3数据库表设计73.3.1 E-R 图73.3.2关系模式93.3.3数据库管理系统93.3.4数据库命名 93.3.5数据库表93.4代码设计104. 系统实现与测试144.1功能模块测试 144.2系统测试截图 155. 总结与展望 1

2、81. 背景简介随着科学技术的不断提高,计算机科学日渐成熟,其强大的功 能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来 越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩 进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找 方便、可靠性高、存储量大、成本低、效率高等。这些优点能够极 大地提高学生选课系统的效率,也是企业、学校的科学化、正规化 管理和与世界接轨的重要条件。因此,开发这样一套管理系统已成 为很有必要的事情。学生成绩管理系统是一个学校中不可缺少的部分。成绩管理系 统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来 人们使用传统人工的方式对课程进行查

3、询、更新等,这种管理方式 存在着许多缺点,如:效率低、执行速度慢,另外时间一长,将产 生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。JAVA是 一门很优秀的编程语言,具有面向对象、与平台无关、 安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语 言。使用JAVA语言建立一个课程管理系统,使学生成绩信息管理工 作规范化,系统化,程序化,提高信息处理的速度和准确性,能够 及时,准确,有效的查询和修改成绩。2. 需求分析2.1功能需求本次设计的学生选课系统是一个面向管理员、学生和 教师这三个对象的教务平台。对学生的课程成绩进行录入、 修改查询等基本功能。对教师或系统管理人员可以

4、登录系 统进行成绩录入等管理,学生只能登录系统进行成绩查询。学生成绩管理系统的要求是能够管理学生成绩信息, 主要涉及到学生的基本信息、成绩信息和学校的授课计划 信息的管理。学生的成绩是需要由人工录入的,因此系统就需要设 计一个学生成绩信息录入的窗口来录入期考成绩,并且在 这个窗口中放入一个数据窗口来实现录入这方面信息的功 能。系统还要求具有查询期考成绩的功能,因此为了显示 查询结果,就要设计一个数据窗口,并将其放在查询期考 成绩的窗口中实现查询功能。由于查询成绩和录入成绩有区别,因此为了更好的实 现相应的功能,设计的数据窗口也要不同,分别采用两种 风格的数据窗口实现。系统要求能够录入授课计划和

5、学生基本信息,必须设 计录入授课计划窗口和录入学生基本信息窗口来实现相应 功能。由于该系统是学校管理学生成绩信息的系统,因此必 须具有一定的保密性,需要特定的人员才可以修改,因此 需要设计一个用户登陆的窗口,使具有访问权限的用户才 能登录此系统。为了简单化,我们的用户名和用户密码和 数据库本身的用户名密码相同。系统的主窗口要能够在用 户选中相应操作后,调出相应的窗口来使用户在窗口中完 成相应的功能。2.2性能需求一般用户并不具备计算机专业知识,若程序性能有一 定的缺陷或可对其隐藏,但一旦异常暴露,对于计算机专 业知识较少的用户来说将一发不可收拾。对于一个专业的 开发人员来讲,其项目在满足用户提

6、出的功能实现外,首 先应保证性能良好。综上所属,本系统的性能需求大致如 下:系统的多数模块(尤其是后台几乎所有的)都有相应 的特殊操作,所以在进入模块之前要对用户所具有的权限 等用户信息做出严格检测,预防非法操作。数据库的连接应采用连接池技术,合理、有效的分配、 回收资源。系统运行过程中会产生许多异常(其中大多数 是预期效果),要有良好的异常处理机制,即要显示界面友 好又要体现程序严谨。学生在查询成绩时,系统设计要充分考虑到线程之间的并发与冲突。注重系统所需时间与空间上的资源消耗和运行效果。2.3使用技术和开发平台鉴于数据库的选择,本系统仅能在Win dows系统上运行,需装有MySQL。在工

7、程中,本系统采用MyEclipse作为开发及测试环境。3. 系统设计3.1界面设计登录界面有账号,密码,管理员账号以字母A开头,教师账号以字母T开头,学生账号以字母 S开头,登录账号或密码输入错误会弹出相应的提示对话框。3.2功能设计图3-1系统功能结构图各模块功能:学生信息管理模块:管理员用于添加和删除学生信息的模块。教师信息管理模块:管理员用于添加和删除教师信息的 模块。教师密码修改模块和学生密码修改模块:管理员添加的 用户帐号的初始密码与用户的帐号相同,用户通过密码 修改模块可以自己需改密码。教师录入成绩模块:教师可以浏览选修自己课程的学生 的信息并且录入该学生的成绩。学生查询成绩模块:

8、通过表格的形式将该学生选择了的 课程列出来,如果教师有录入成绩,则可以看到自己的 课程成绩。3.3数据库表设计 3.3.1 E-R 图22图3-2学生管理E-R图图3-4成绩管理E-R图3.3.2关系模式学生信息(学号,姓名,性别,生日,年级,班别,语文,数学,英语,专业)学生管理(增加学生,删除学生,修改学生,单个查询)学生查找(查看全体,按年级查找,按班别查找,按专业查找)成绩管理(单科排名,总分排名,合格学生,各科学生)3.3.3数据库管理系统MySQL3.3.4数据库命名stude ntma nagerme nt3.3.5数据库表Logo n登录帐号密码)(主要用来保存用户登录信息)字

9、段名数据类型长度是否为空是否主键userchar10不为空主键passwordchar10StudentTablel学生信息表)(主要用来保存成绩信息)字段名数据类型长度主键否是否为空描述NumChar10主键:不为空学生学号1NameChar10不为空学生姓名SexChar2不为空学生性别BirthDatetime8学生生日Classchar16所在班级GradeChar20学生成绩:MajorChar10主修Chin eseFloat10语文成绩En glishFloatM0英语成绩MathsFloat10数学成绩TotalFloat10总成绩CourseTable课程信息表)字段名数据类

10、型长度主键否是否为空描述CourseIDChar16主键不为空课程编号CourseNameChar16不为空课程名Poi ntChar8不为空学分StuNumberDatetime4不为空选课人数3.4代码设计Logi n.javapackage scoreMa nageme nt;import java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;/登录界面public class Logi n exte nds JFrame impleme nts Actio nListe nerJButton b1= new JButton(

11、登录);JButton b2=new JButton(退出);JLabel la仁new JLabel(用户名);JLabel la2=new JLabel(密码);JPanel p1= new JPanel();JPa nel p2=new JPa nel();JPa nel p3=new JPa nel();JTextField n ame=new JTextField(15);JPasswordField pw=new JPasswordField(15);public Logi n()/*setBak();/调用背景方法Container c = getContentPane(); /

12、 获取 JFrame面板JPanel jp = new JPanel(); / 创建个 JPaneljp.setOpaque(false);/把JPanel设置为透明这样就不会遮住后面的背景这样你就能在JPanel随意加组件了c.add(jp);setSize(540, 450);setVisible(true);*/*JLabel p=new JLabel();p.setOpaque(true);p.setBackgro un d(Color.red);*/*JLabel p=new JLabel();JLabel l=new JLabel();Icon icon=new ImageIcon

13、(D:a.jpg);/ 在此直接创建对象l.setIc on (ic on);l.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight();p.add(l,new Integer(Integer.MIN_VALUE);getC onten tPa ne().add(p);pack();/窗口适应组件大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); / 用来关闭窗口的 */ setVisible(true);setTitle(学生成绩管理系统);getC onten tPa ne().set

14、Layout (new GridLayout(3,1);getCo nte ntPa ne().add(p1);getCo nte ntPa ne().add(p2);getCo nte ntPa ne().add(p3);p1.add(la1);p1.add( name);p2.add(la2);p2.add(pw);p3.add(b1);p3.add(b2);setBou nds(500, 250, 100, 100);pack();setVisible(true);pw.setEchoChar(*);b1.addAct ion Liste ner(this);b2.addAct ion

15、Liste ner(this);/* public void setBak()(JPa nel)this.getCo nten tPa ne().setOpaque(false);ImageIcon img = new ImageIcon(D:/a.jpg); / 添加图片JLabel background = new JLabel(img);this.getLayeredPane().add(background, new In teger(I nteger.MIN_VALUE);backgro un d.setBo un ds(0, 0, img.getIc on Width(), img

16、.getIc onH eight();*/public void action Performed(Acti onEvent e) if(e.getActionCommand()=登录)String password=pw.getText();Stri ng user =n ame.getText();if(user.equals(wujingjing) & password.equals(201231526)Fun cti on function=new Function。;fun ctio n.setDefaultCloseOperati on (JFrame.EXIT_ON_CLOSE)

17、; setVisible(false);elseJOptionPane.showMessageDialog(null,用户名或密码错误, Error,JOptio nPa neNFORMATION_MESSAGE);else if(e.getActionCommand()=退出)System.exit(O);DateBaseCreate.javapackage scoreMa nageme nt;import java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;/登录界面public class Logi n exte nds J

18、Frame impleme nts Actio nListe nerJButton b1= new JButton(登录);JButton b2=new JButton(退出);JLabel la仁new JLabel(用户名);JLabel la2=new JLabel(密码);JPanel p1= new JPanel();JPa nel p2=new JPa nel();JPa nel p3=new JPa nel();JTextField n ame=new JTextField(15);JPasswordField pw=new JPasswordField(15);public L

19、ogi n()/*setBak();/调用背景方法Container c = getContentPane(); / 获取 JFrame面板JPanel jp = new JPanel(); / 创建个 JPaneljp.setOpaque(false);/把JPanel设置为透明这样就不会遮住后面的背景这样你就能在JPanel随意加组件了c.add(jp);setSize(540, 450);setVisible(true);*/*JLabel p=new JLabel();p.setOpaque(true);p.setBackgro un d(Color.red);*/*JLabel p=

20、new JLabel();JLabel l=new JLabel();Icon icon=new ImageIcon(D:a.jpg);/ 在此直接创建对象l.setIc on (ic on);l.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight();p.add(l,new Integer(Integer.MIN_VALUE);getC onten tPa ne().add(p);pack();/窗口适应组件大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); / 用来关闭窗口的 */ s

21、etVisible(true);setTitle(学生成绩管理系统);getC onten tPa ne().setLayout (new GridLayout(3,1);getCo nte ntPa ne().add(p1);getCo nte ntPa ne().add(p2);getCo nte ntPa ne().add(p3);p1.add(la1);p1.add( name);p2.add(la2);p2.add(pw);p3.add(b1);p3.add(b2);setBou nds(500, 250, 100, 100);pack();setVisible(true);pw.s

22、etEchoChar(*);b1.addAct ion Liste ner(this);b2.addAct ion Liste ner(this);/* public void setBak()(JPa nel)this.getCo nten tPa ne().setOpaque(false);ImageIcon img = new ImageIcon(D:/a.jpg); / 添加图片JLabel background = new JLabel(img);this.getLayeredPane().add(background, new In teger(I nteger.MIN_VALUE

23、);backgro un d.setBo un ds(0, 0, img.getIc on Width(), img.getIc onH eight();*/public void action Performed(Acti onEvent e) if(e.getActionCommand()=登录)String password=pw.getText();Stri ng user =n ame.getText();if(user.equals(wujingjing) & password.equals(201231526)Fun cti on function=new Function。;f

24、un ctio n.setDefaultCloseOperati on (JFrame.EXIT_ON_CLOSE); setVisible(false);elseJOptionPane.showMessageDialog(null,用户名或密码错误, Error,JOptio nPa neNFORMATION_MESSAGE);else if(e.getActionCommand()=退出)System.exit(O);4. 系统实现与测试4.1功能模块测试由于时间和自身能力所限,我们只进行了功能测试(黑盒测试)。1)登陆界面测试2)学生信息查询,删除,修改,添加及导入导出功能的测试3)课程

25、信息查询,删除,修改,添加及导入导出功能的测试4)成绩信息查询,删除,修改,添加及导入导出功能的测试 经过测试本系统基本实现了所要求的功能,能够比较方便的,快捷 的完成所执行操作。4.2系统测试截图部分截图如下:图4.1-1登录页面图4.1-2主界面图4.1-3增删改查页面图4.1-4查看全体成绩页面图4.1-5按成绩查找页面图4.1-6按班级查询页面5. 总结与展望该系统主要实现了学生成绩管理的功能,从需求分析,界面的 搭建,到数据库的连接,表格,存储过程和存储过程等的建立,在 这段时间的摸索中,我确实学到了很多东西,特别是对以前不太了 解的Java Swing组件有了更深刻的了解。比如JTabl对于它的用法 我在网上找了很多资料,jTabF建立有各种不同的方法,可以使 用 DefaultTableModel 类来实现;然后再 table.setModel(dtm); 或者继 承AbstractTableModel类,还有对于如何在JTable中添加Swing组 件,原本我是直接新建一个JcheckBoX对象直接添加到表格的单兀格里,结果发现只能显示出一串字符串,上网查找后才知道,要用 DefaultCellEditor来添加 Swing组件,再设置 setCelIRend

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论