JAVA课程设计报告学生管理系统 .doc

上传人:laozhun 文档编号:2387027 上传时间:2023-02-17 格式:DOC 页数:20 大小:192.50KB
返回 下载 相关 举报
JAVA课程设计报告学生管理系统 .doc_第1页
第1页 / 共20页
JAVA课程设计报告学生管理系统 .doc_第2页
第2页 / 共20页
JAVA课程设计报告学生管理系统 .doc_第3页
第3页 / 共20页
JAVA课程设计报告学生管理系统 .doc_第4页
第4页 / 共20页
JAVA课程设计报告学生管理系统 .doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《JAVA课程设计报告学生管理系统 .doc》由会员分享,可在线阅读,更多相关《JAVA课程设计报告学生管理系统 .doc(20页珍藏版)》请在三一办公上搜索。

1、课程设计说明书 NO.1课程设计题目: 学生管理系统1.课程设计的目的 由于高等学校的快速发展,高校规模越来越大,学生数量与课程数量都在迅速地增长,管理上的手工操作不仅仅会耗费学生与工作人员大量的时间和精力,效率以及准确性也很低。如何使同学们方便,快捷、准确地选课,已经成为一个重要的问题。利用计算机进行学生选课方面的管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的管理系统是十分重要的。2.设计方案论证2.1设计思路根据对系统进行的需求

2、分析,本系统将分为4个模块:分别是学生管理模块、课程管理模块、成绩管理模块、信息查询模块。实现的功能有:(1)增加学生信息系统操作人员打开学生信息增加界面,输入相关信息,在数据库中添加相关数据。(2)修改学生信息根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。(3)删除学生信息根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。(4)学生选课选择学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。 沈 阳 大 学课程设计说明书 NO.2(5)增加课程信息系统操作人员根据打开课程信息增加界面,输入相关信息,在数据库中添加相关数据。(6)修

3、改课程信息根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。(7)删除课程信息根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。(8)登记成绩根据学号,以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记。(9)修改成绩对登记的成绩信息进行修改。(10)学生查询可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院、来对学生信息进行查询,所有符合查询条件的学生信息都将会被显示出来。(11)课程查询可以按照课程名称,授课教师的姓名,对课程的详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。(12)成绩查询 根据学生的学号来查询该学生所

4、有课程的成绩。2.2数据库设计数据库中应包含3个表,即课程信息表(Course)、学生信息表(Student)、和学生选课表(SC)。设计表如表1,表2,表3所示。 沈 阳 大 学课程设计说明书 NO.3表1 课程信息表(Course)名称字段名称数据类型主键非空课程编号CnumChar(4)YesYes课程名称CnameVarchar2NoYes授课教师CteacherVarchar2NoNo上课地点CplaceVarchar2NoNo课程类别CtypeChar(1)NoNo 表2学生信息表(Student)名称字段名称数据类型主键非空学号SnumChar(10)YesYes学生姓名Snam

5、eVarchar2NoYes性别SsexChar(2)NoNo民族SethnicChar(2)NoNo籍贯ShomeVarchar2NoNo入学年份SyearChar(4)NoNo专业SmajorVarchar2NoNo学院ScollegeVarchar2NoNo出生日期SbirthChar(8)NoNo表3 学生选课表(SC) 沈 阳 大 学课程设计说明书 NO.4名称字段名称数据类型主键非空学号SnumChar(10)YesYes课程编号CnumChar(4)YesYes成绩GradeNumber(4,1)NoNo2.3设计方法(1)学生管理系统主界面模块学生管理系统主界面模块包括StuM

6、S.java和StuMain.java两个文件。StuMS是学生管理系统的主运行类,其中有运行整个程序的main方法,该文件生成了StuMain类的一个实例,从而生成了学生管理系统的界面。StuMain类继承自JFrame类,实现了事件侦听的接口,它有一个不带参数的构造方法StuMain(),用来生成StuMain的实例。StuMain类将所有的功能集中到菜单栏中,并通过调用其他模块来实现学生管理系统的各个功能。(2)学生信息管理模块学生信息管理模块主要由StuInfo.java、AddStuInfo.java、EditStuInfo.java、DelStuInfo.java、SelectCo

7、urse.java和StuInfoSearchSnum.java共6个文件组成。StuInfo是AddStuInfo、EditStuInfo、DelStuInfo这3个类的超类,由于AddStuInfo、EditStuInfo和DelStuInfo的界面显示有共同之处,所以编写包含共有界面的StuInfo类,可以快速实现其3个子类的界面显示。它们之间的构成关系如图1所示。这6个类文件组成了主界面中“学生管理”菜单的内容,其中包括增加、修改、删除和学生选课功能。 沈 阳 大 学课程设计说明书 NO.5图1 学生信息管理功能结构图其中StuInfoSearchSnum类是选择学号的类,该类利用ge

8、tSnum()方法将选择出的学号返回给调用它的类。调用它的类包括EditStuInfo类和DelStuInfo类。(3)课程信息管理模块课程信息管理模块主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java、CourseInfoSearchCnum.java这5个文件组成,它们组成了主界面中“课程管理”菜单的内容,其中包括增加、修改和删除功能。CourseInfo是AddCourseInfo、EditCourseInfo、DelCourseInfo这3个类的超类,由于AddCourseInfo、E

9、ditCourseInfo和DelCourseInfo的界面显示有共同之处,所以编写包含共有的CourseInfo类,可以快速实现其3个类的界面显示。它们之间的构成关系如图2所示。图2 课程信息管理功能结构图 沈 阳 大 学课程设计说明书 NO.6CourseInfoSearchCnum类是选择课程号的类,该类利用getCnum()方法将选择出的学号返回给调用它的类。调用它的类包括EditCourseInfo类和DelCourseInfo类。(4)成绩信息管理系统成绩信息管理模块主要由GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java这3个文

10、件组成,这3个文件组成了主界面中“成绩管理”菜单的内容,其中包括增加和修改功能。GradeInfo类是AddGradeInfo、EditGradeInfo这两个类的超类,由于AddGradeInfo和EditGradeInfo的界面显示有共同之处,所以编写包含共有界面的GradeInfo类,可以快速实现其两个子类的界面显示。3个文件构成的关系如图3所示。图3 成绩信息管理功能结构图(5)信息查询模块信息查询模块主要包括学生查询、课程查询和成绩查询3个部分。学生查询由StuSearchSnum.java、StuSearchSname.java、StuSearchSsex.java、StuSear

11、chScollege.java、StuSearchSmajor.java和ResultStudent.java这6个文件组成,包括:按照学号查询、按照学生姓名查询、按照性别查询、按照学院查询与按照专业查询。StuSearchSnum.java类是按照学学号查询学生信息的类,支持学号在一定范围内搜索。操作者只需输入需要查询的学号范围,系统会将范围内的信息显示在屏幕上。StuSearchSname.java类是按照学生姓名查询学生信息的类,支持根据学生姓名进行搜索。操作者输入需要查询的学生姓名,系统会将符合条件的信息显示在屏幕上。同时,如果操作者不输入任何信息,系统将会搜索出所有的学生信息。Stu

12、SearchSsex.java类、StuSearchScollege.java类、StuSearchSmajor.java类和ResultStudent.java类的实现功能与StuSearchSname.java类功能相似。(6)数据库操作模块Database.java类是对数据库进行操作的类,包括:连接数据库、执行SQL语句、关 沈 阳 大 学课程设计说明书 NO.7闭数据库连接等;StuBean.java类是用语对学生相关信息进行数据库操作的类,包括:学生信息的增加、修改、删除、查询等;CrsBean.java类似乎用于对课程相关信息进行数据库操作的类,包括:课程信息的增加、修改、删除、

13、查询等;csBean.java类是用语对选课信息及成绩的相关信息进行数据库操作的类,包括:选课信息的 、修改、查询,以及成绩的登记、修改、查询等。3.设计结果与分析(1)学生管理系统的主界面,如图4所示。图4 主界面 (2)添加学生信息界面,如图5所示。 图5 添加学生信息界面 沈 阳 大 学课程设计说明书 NO.8(3)若要修改学生信息,先单击“学号查询”选择要修改的学生学号,点击确定后,对所显示的学生信息进行修改。运行界面如图6所示。图6 修改学生信息界面(4)选择“学号”和所要选择的“课程”进行学生选课操作,运行界面如图7所示。图7 学生选课界面(5)添加课程信息,运行效果如图8所示。图

14、8 添加课程界面 沈 阳 大 学课程设计说明书 NO.9 (6)若要修改课程信息,单击“查询”按钮,选择所要修改课程的课程编号,之后该信息会自动显示出来,此时可进行信息的修改,运行效果如图9所示。图9 修改课程信息界面(7)若要添加成绩信息,下拉列表中选择学号,课程名称,之后对该同学的成绩进行录入,运行效果如图10所示。图10 添加成绩界面(8)信息查询包括学生查询、课程查询、成绩查询。若按学号查询,则弹出输入学号的界面,如图11所示。单击“确定“后,则显示所要查询的信息结果。 沈 阳 大 学课程设计说明书 NO.10 4.设计体会通过这次课程设计,使我对JAVA这门课又做了一次系统的复习,对

15、各个知识点也都有了更深刻的理解,让我掌握的更扎实,同时也增强了实际操作能力,了解了学生信息管理系统的工作流程以及工作模式,程序开发过程中涉及到了数据库的相关知识,使我对数据库的使用也更加的熟练,另一方面也对编程语言有了新的认识,为以后的学习打下了基础。在本系统的开发过程中,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促不能对学生信息管理系统的整个流程完全熟悉,在需求分析时未能做到完全满足用户的需求。5.参考文献1丁振凡.Java语言实用教程M.北京邮电大学出版社,2005.2:105-1212宛延闿.实用Java程序设计教程M.机械工业出版社,2006.4:234-25

16、03张广彬,孟红蕊,张永宝.Java课程设计案例精编M.清华大学出版社,2005.2:355-3634朱喜福.Java程序设计M.人民邮电出版社,2005.9:179-203 沈 阳 大 学课程设计说明书 NO.11附录(1)StuMS.javaimport javax.swing.UIManager;import java.awt.*;public class StuMS boolean packFrame = false;public StuMS() StuMain frame = new StuMain(); if (packFrame) frame.pack(); else frame

17、.validate();/设置运行时窗口的位置Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();Dimension frameSize = frame.getSize();if (frameSize.height screenSize.height) frameSize.height = screenSize.height;if (frameSize.width screenSize.width) frameSize.width = screenSize.width;frame.setLocation(scre

18、enSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);frame.setVisible(true); 沈 阳 大 学课程设计说明书 NO.12public static void main(String args) /设置运行风格try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e) e.printStackTrace();new StuMS();(2)AddStu

19、Info.javaimport java.awt.event.*;import java.awt.*;import javax.swing.*;public class AddStuInfo extends StuInfo StuBean getSnum = new StuBean();public AddStuInfo() this.setTitle(添加学生信息);this.setResizable(false);sNum.setEditable(false);sNum.setText(+getSnum.getStuId();sName.setEditable(true);sSex.set

20、Editable(true);sSethnic.setEditable(true);sBirth.setEditable(true); 沈 阳 大 学课程设计说明书 NO.13 sYear.setEditable(true);sMajor.setEditable(true);sCollege.setEditable(true);sHome.setEditable(true);/设置运行时窗口的位置Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation(screenSize.width

21、 - 400) / 2, (screenSize.height - 300) / 2 + 45);public void downInit()addInfo.setText(增加);addInfo.setFont(new Font(Dialog,0,12);downPanel.add(addInfo);clearInfo.setText(清空);clearInfo.setFont(new Font(Dialog,0,12);downPanel.add(clearInfo);eixtInfo.setText(退出);eixtInfo.setFont(new Font(Dialog,0,12);d

22、ownPanel.add(eixtInfo);/添加事件侦听addInfo.addActionListener(this);clearInfo.addActionListener(this);eixtInfo.addActionListener(this);this.contentPane.add(downPanel,BorderLayout.SOUTH); 沈 阳 大 学课程设计说明书 NO.14 public void actionPerformed(ActionEvent e) Object obj = e.getSource();if (obj = eixtInfo) /退出this.

23、dispose();else if (obj = addInfo) /增加sNum.setEnabled(false);sName.setEnabled(false);sSex.setEnabled(false);sSethnic.setEnabled(false);sBirth.setEnabled(false);sYear.setEnabled(false);sMajor.setEnabled(false);sCollege.setEnabled(false);sHome.setEnabled(false);addInfo.setEnabled(false);clearInfo.setEn

24、abled(false);eixtInfo.setEnabled(false);StuBean addStu = new StuBean();addStu.stuAdd(sName.getText(), sSex.getText(), sBirth.getText(), sHome.getText(), sSethnic.getText(), sYear.getText(), sMajor.getText(), sCollege.getText();this.dispose();AddStuInfo asi = new AddStuInfo();asi.downInit(); 沈 阳 大 学课

25、程设计说明书 NO.15asi.pack();asi.setVisible(true);else if (obj = clearInfo) /清空setNull();sNum.setText(+getSnum.getStuId();(3)EditStuInfo.javamport java.awt.*;import java.sql.*;import java.awt.event.*;import javax.swing.*;public class EditStuInfo extends StuInfo String sNum_str = ;public EditStuInfo() this

26、.setTitle(修改学生信息);this.setResizable(false);sNum.setEditable(false);sNum.setText(请查询学号);sName.setEditable(false);sSex.setEditable(false); 沈 阳 大 学课程设计说明书 NO.16sSethnic.setEditable(false);sBirth.setEditable(false);sYear.setEditable(false);sMajor.setEditable(false);sCollege.setEditable(false);sHome.setE

27、ditable(false);/设置运行时窗口的位置Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation(screenSize.width - 400) / 2, (screenSize.height - 300) / 2 + 45);public void downInit()searchInfo.setText(学号查询);searchInfo.setFont(new Font(Dialog,0,12);downPanel.add(searchInfo);modifyInfo.

28、setText(修改);modifyInfo.setFont(new Font(Dialog,0,12);downPanel.add(modifyInfo);clearInfo.setText(清空)clearInfo.setFont(new Font(Dialog,0,12);downPanel.add(clearInfo);eixtInfo.setText(退出);eixtInfo.setFont(new Font(Dialog,0,12);downPanel.add(eixtInfo); 沈 阳 大 学课程设计说明书 NO.17searchInfo.setEnabled(true);mo

29、difyInfo.setEnabled(false);clearInfo.setEnabled(true);eixtInfo.setEnabled(true);/添加事件侦听searchInfo.addActionListener(this);modifyInfo.addActionListener(this);clearInfo.addActionListener(this);eixtInfo.addActionListener(this);this.contentPane.add(downPanel,BorderLayout.SOUTH);public void actionPerform

30、ed(ActionEvent e) Object obj = e.getSource();String s = new String8;if (obj = eixtInfo) /退出this.dispose();else if (obj = modifyInfo) /修改StuBean modifyStu = new StuBean();modifyStu.stuModify(sNum.getText(), sName.getText(), sSex.getText(), sBirth.getText(), sHome.getText(), sSethnic.getText(), sYear.

31、getText(), sMajor.getText(), sCollege.getText();modifyStu.stuSearch(sNum.getText();s = modifyStu.stuSearch(sNum_str);sName.setText(s0);sSex.setText(s1); 沈 阳 大 学课程设计说明书 NO.18 sSethnic.setText(s2);sHome.setText(s3);sYear.setText(s4);sMajor.setText(s5);sCollege.setText(s6);sBirth.setText(s7);else if (o

32、bj = clearInfo) /清空setNull();sNum.setText(请查询学号);else if (obj = searchInfo) /学号查询StuInfoSearchSnum siss = new StuInfoSearchSnum(this);siss.pack();siss.setVisible(true);trysNum_str = siss.getSnum();catch(Exception ex)JOptionPane.showMessageDialog(null, 没有查找到该学号!); StuBean searchStu = new StuBean();s

33、= searchStu.stuSearch(sNum_str);if(s = null) 沈 阳 大 学课程设计说明书 NO.19JOptionPane.showMessageDialog(null, 记录不存在!);sNum.setText(请查询学号);sName.setText();sSex.setText();sSethnic.setText();sHome.setText();sYear.setText();sMajor.setText();sCollege.setText();sBirth.setText();sName.setEditable(false);sSex.setEdi

34、table(false);sSethnic.setEditable(false);sBirth.setEditable(false);sYear.setEditable(false);sMajor.setEditable(false);sCollege.setEditable(false);sHome.setEditable(false);modifyInfo.setEnabled(false);return;elsesNum.setText(sNum_str);sName.setText(s0);sSex.setText(s1); 沈 阳 大 学课程设计说明书 NO.20sSethnic.s

35、etText(s2);sHome.setText(s3);sYear.setText(s4);sMajor.setText(s5);sCollege.setText(s6);sBirth.setText(s7);sName.setEditable(true);sSex.setEditable(true);sSethnic.setEditable(true);sBirth.setEditable(true);sYear.setEditable(true);sMajor.setEditable(true);sCollege.setEditable(true);sHome.setEditable(true);modifyInfo.setEnabled(true); 沈 阳 大 学

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号