*******************实践教学*******************兰州理工大学计算机与通信学院2012年秋季学期Java课程设计题目:学生成绩管理系统专业班级:10级软件工程基地班姓名:学号:指导教师:成绩:摘要设计内容是学生成绩管理系统,主要是进行学生信息的录入,成绩单录入,修改和成绩单的输出,成绩的排序。
现在各学校的每次考试后,对成绩的处理已是必须的事情,系统主要是数据库的使用和文件流的使用,各个类的建立和主界面,主菜单的设计等。
在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法,培养学生面向对象程序设计的思想,要求学生达到熟练掌握Java语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法,解决简单的面向对象程序设计问题。
同时强调好的程序设计风格,提高解决实际问题的能力。
关键词:学生成绩管理系统,主菜单,文件流,数据库。
目录摘要 (I)序言 (I)第一章分析与设计 (1)第二章详细设计 (2)第三章系统测试 (8)第四章软件使用说明书 (9)设计总结 (13)参考文献 (14)致谢 (15)序言通过这次课程设计,我更加熟悉的掌握了java中的图形界面的设计,同时学会了将数据库与程序的联系结合,增强了我的动手能力,对我很大的提高.在本次作业中,在连接数据库的时候,遇到不少问题,很多都是很基础的小问题,原因是自己对数据库的不熟悉。
通过这次课设,应用的是Myeclipse工具,加深了对编程工具的运用,不再只是理论上的死板的知识,应用到了实际程序中。
让我对数据库的使用有了蛮多的认识和了解。
虽然我的课设内容是用文件保存,但是也学到了许多数据库的东西,数据库的连接,数据源的建立和MySQL的运用等等。
要求利用面向对象的方法以及Java的编程思想来完成系统的设计;要求在设计的过程中,建立清晰的类层次;在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。
这次课设我付出了很多的时间和精力,没有像原先的课设那样带着敷衍和不在意,感觉付出了也很快乐,遇到不懂的就去翻书,上网查资料,下载代码,每次上机的时候学到很多。
第一章分析与设计系统主要流程图:图1-1 系统流程图第二章详细设计系统的所用到的类有:AddClassGrade、AddGrade、AddStudent、DeleteGrade、DeleStudent、GetGrade、GetStudent、Info_Manage、SetGrade、SetStudent、student_manage、UsingExit(1)Info_Manage类是登陆页面:成员变量:J Label JLUserName =new JLabel("用户名:");JLabel JLPaw =new JLabel("密码:");JTextField JTUserName=new JTextField();JPasswordField JPsw =new JPasswordField();JButton JB1 =new JButton("登录");JButton JB2 =new JButton("取消");成员方法:Info_manage( )、public void actionperformed( )和main( )。
界面如下:图2-1 登陆界面(2)student_manage类是主菜单界面:成员变量:JMenuBar jm =new JMenuBar();JMenu jm1 =new JMenu("信息");JMenuItem jmi1=new JMenuItem("录入信息");JMenuItem jmi2=new JMenuItem("删除信息");JMenuItem jmi3=new JMenuItem("修改信息");JMenu jm4 = new JMenu("成绩");JMenu jm42=new JMenu("删除成绩");JMenu jm43=new JMenu("录入修改成绩");JMenu jm44=new JMenu("统计");JMenuItem jmi11=new JMenuItem("按学期录入修改");JMenuItem jmi12=new JMenuItem("按班级录入修改");JMenuItem jmi443=new JMenuItem("学生成绩排名");JMenu jm2=new JMenu("查询");JMenuItem jmi21=new JMenuItem("基本信息查询");JMenuItem jm22=new JMenuItem("成绩查询");JMenu jm5=new JMenu("班级成绩单");JMenu jm3=new JMenu("退出");JMenuItem jmi31=new JMenuItem("退出");Container con=new Container();JLabel label=new JLabel("欢迎登录学生信息系统",JLabel.CENTER);JPanel pCenter=new JPanel();成员方法:public student_manage( )、public void actionperformed( )和main( )。
菜单界面如下:图2-2 主菜单(3)AddGrade类用于录入成绩:成员变量:JLabel JL =new JLabel("成绩录入",JLabel.CENTER);JLabel JLTerm =new JLabel("学期:");JTextField JTTerm =new JTextField();JLabel JLNumber=new JLabel("学号:");JTextField JTNumber=new JTextField();JLabel JLName =new JLabel("姓名:");JTextField JTName =new JTextField();JLabel JLClass =new JLabel("语文:");JTextField JTClass =new JTextField();ButtonGroup BG =new ButtonGroup();JRadioButton JRB1 =new JRadioButton("男");JRadioButton JRB2 =new JRadioButton("女");JLabel JL1 =new JLabel("数学:");JTextField JT1 =new JTextField();JLabel JL2 =new JLabel("班级:");JTextField JT2 =new JTextField();JButton JBAdd =new JButton("添加");JButton JBNext =new JButton("重置");JButton JBExit =new JButton("退出");成员方法:public AddGrade(),public voidactionperformed( )和main()。
成绩录入:图2-3 成绩录入(4)AddStudent类用于添加学生信息:成员变量:JLabel JL =new JLabel("添加基本信息",JLabel.CENTER);JLabel JLNumber=new JLabel("学号:");JTextField JTNumber=new JTextField();JLabel JLName =new JLabel("姓名:");JTextField JTName =new JTextField();JLabel JLClass =new JLabel("班级:");JTextField JTClass =new JTextField();JLabel JLsex =new JLabel("性别:");ButtonGroup BG =new ButtonGroup();JRadioButton JRB1 =new JRadioButton("男");JRadioButton JRB2 =new JRadioButton("女");JLabel JL1 =new JLabel("学院:");JTextField JT1 =new JTextField();JTextField JT2 =new JTextField();JButton JBAdd =new JButton("添加");JButton JBNext =new JButton("重置");JButton JBExit =new JButton("退出");成员方法:public AddStudent( )、public void actionperformed( )和main( )。
信息录入:图2-4 学生信息的录入(5)SetGrade类用于查询学生成绩:成员变量:JLabel JL =new JLabel("查询成绩",JLabel.CENTER);JLabel JLNumber=new JLabel("请输入学号:");JTextField JTNumber=new JTextField();JLabel JLName =new JLabel("姓名:");JTextField JTName =new JTextField();JLabel JLClass =new JLabel("语文:");JTextField JTClass =new JTextField();JLabel JLsex =new JLabel("性别:");ButtonGroup BG =new ButtonGroup();JRadioButton JRB1 =new JRadioButton("男");JRadioButton JRB2 =new JRadioButton("女");JLabel JL1 =new JLabel("数学:");JTextField JT1 =new JTextField();JLabel JL3 =new JLabel("总分:");JTextField JT3 =new JTextField();JLabel JL4 =new JLabel("平均分:");JTextField JT4 =new JTextField();JLabel JL2 =new JLabel("班级:");JTextField JT2 =new JTextField();成员方法:public SetGrade( )、public voidactionperformed( )和main( )。