




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA编程技术课程设计报告 ( / 学年 第 学期)学生姓名: 学生专业: 学生班级: 学生学号: 指导教师: 年月日目录 一、需求分析.1 1.1本系统需要实现的功能.1 1.2用例.1 1.3用例图.2 二、系统总体设计.3 2.1系统模块图.3 2.2类 图.4 2.3顺序图.5 2.4状态图.63、 详细设计.74、 实现.7 4.1主函数.7 4.2登录.8 4.3管理员界面.10 4.4学生信息管理模块.10 4.5课程信息管理模块.15 4.6选课信息管理模块.19 4.7成绩信息管理模块.23 4.8用户信息管理模块.26 五、测试.29 5.1学生信息管理系统的登录.29 5.2实现管理员和学生操作功能的界面 .31 六、体会.361、 需求分析 1.1本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 1.2 用例该管理系统的用例主要有:管理员登录,学生登录,学生信息管理,课程信息管理,选课信息管理,成绩信息管理,用户信息管理,学生信息查看,成绩信息查看,个人信息查看,退出系统。 1.3 用例图图1.1 用例图2、 系统总体设计:学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 2.1系统模块图 图2.1 系统的模块图 2.2类图图2.2 系统的类图 2.3 顺序图图2.3 系统的顺序图 2.4 状态图图2.4 状态图3、 详细设计:图3.1 学生信息的增、删、改、查询、显示功能流程图注:成绩信息管理,课程信息管理,选课信息管理及用户信息管理功能的实现与学生信息管理功能的实现一样。4、 实现: 4.1主函数public class SimpleStudentManager public static void main(String args) new DLFrame(); 4.2登录class DLFrame extends JFrame implements ActionListener, ItemListener / 登录界面JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JLabel userName = new JLabel(用户:);JTextField txtUser = new JTextField();/文本框控件JLabel password = new JLabel(密码:);JPasswordField txtPwd = new JPasswordField(6);/密码框控件JLabel role = new JLabel(角色:);JComboBox cbrole = new JComboBox();JButton btnLogin = new JButton(登录);JButton btncz = new JButton(重置);JButton btnCancel = new JButton(取消);JLabel imageLabel;Icon image;static int OK = 1;static int CANCEL = 0;int actionCode = 0;Connection con = null;Statement stmt = null;ResultSet rs = null;int qxian = 0;public DLFrame() / 构造方法super(登录界面);p1 = new JPanel();p2 = new JPanel();p3 = new JPanel();cbrole.addItem(管理员);cbrole.addItem(学生);image = new ImageIcon(picturest.jpg);imageLabel = new JLabel(image);p1.add(imageLabel);this.setLayout(new FlowLayout();this.setBounds(50, 50, 500, 400);this.setVisible(true);p2.setLayout(new GridLayout(4,3);p2.add(userName);p2.add(txtUser);p2.add(password);p2.add(txtPwd);p2.add(role);p2.add(cbrole);p3.add(btnLogin);p3.add(btncz);p3.add(btnCancel);this.add(p1);this.add(p2);this.add(p3);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.show();btnLogin.addActionListener(this);cbrole.addItemListener(this);btncz.addActionListener(this);btnCancel.addActionListener(this); 4.3管理员界面class ManagerFrame extends JFrame implements ActionListener / 管理员界面JPanel p1 = new JPanel();JPanel p2 = new JPanel();JButton btns = new JButton(学生信息管理);JButton btnc = new JButton(课程信息管理);JButton btnsc = new JButton(选课信息管理);JButton btng = new JButton(成绩信息管理);JButton btnu = new JButton(用户信息管理);JButton btnClose = new JButton(退出管理系统);JLabel l = new JLabel(管理员);ManagerFrame() / 构造方法super(学生信息管理系统);setSize(350, 200);add(North, p1);add(Center, p2);p1.add(l);p2.add(btns);p2.add(btnc);p2.add(btnsc);p2.add(btng);p2.add(btnu);p2.add(btnClose);btns.addActionListener(this);btnc.addActionListener(this);btnsc.addActionListener(this);btng.addActionListener(this);btnu.addActionListener(this);btnClose.addActionListener(this);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);show();public void actionPerformed(ActionEvent e) if (e.getActionCommand() = 学生信息管理)new StudentManage().display();if (e.getActionCommand() = 课程信息管理) new CourseManage(课程信息管理).display();if (e.getActionCommand() = 选课信息管理) new SCManage(选课信息管理).display();if (e.getActionCommand() = 成绩信息管理) new GradeManage(成绩信息管理).display();if (e.getActionCommand() = 用户信息管理) new PM(用户信息管理).display();if (e.getActionCommand() = 退出管理系统) System.exit(0); 4.4学生信息管理模块学生信息管理模块包括增加、删除、修改、查询、显示全部等。class StudentManage extends JFrame implements ActionListener / 学生信息管理JPanel p = new JPanel();JButton btnAdd = new JButton(增加);JButton btnDelete = new JButton(删除);JButton btnAlter = new JButton(修改);JButton btnSearch = new JButton(查询);JButton btnDisplay = new JButton(显示);JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;SSelect sst;String mxh = null;boolean bstd = false;StudentManage() / 构造方法super(学生信息管理);add(South, p);this.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB(); / 连接数据库/ this.display();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();StudentManage(SSelect sst) / 构造方法super(学生信息管理);this.sst = sst;bstd = true;add(South, p);this.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();public void display() / 显示所有学生的基本信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery(select * from student);while (rs.next() / 找出表中的记录数赋给ial.add(rs.getString(sno);al.add(rs.getString(sn);al.add(rs.getString(ss);al.add(rs.getInt(sa);al.add(rs.getString(sc);i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti5;String columnNames = 学号, 姓名, 年龄, 性别, 班级 ;try rs = stmt.executeQuery(select * from student order by sno);while (rs.next() playerInfoj0 = rs.getString(sno);playerInfoj1 = rs.getString(sn);playerInfoj2 = rs.getInt(sa);playerInfoj3 = rs.getString(ss);playerInfoj4 = rs.getString(sc);j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);4.5课程信息管理模块课程信息管理模块包括增加、删除、修改、查询、显示全部等。class CourseManage extends JFrame implements ActionListener / 课程信息管理JPanel p = new JPanel();JButton btnAdd = new JButton(增加);JButton btnDelete = new JButton(删除);JButton btnAlter = new JButton(修改);JButton btnSearch = new JButton(查询);JButton btnDisplay = new JButton(显示);JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;CourseSelect cst;String mkch = null;boolean bstd = false;CourseManage(String title) / 构造方法super(title);add(South, p);this.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();/ 连接数据库this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();CourseManage(CourseSelect cst, String title) / 构造方法super(title);this.cst = cst;bstd = true;add(South, p);this.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();setVisible(false);setVisible(true);public void display() / 显示所有的课程信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery(select * from course);while (rs.next() / 找出表中的记录数赋给ial.add(rs.getString(cno);al.add(rs.getString(cn);al.add(rs.getString(pcno);i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti5;String columnNames = 课程号, 课程名, 先行课程号 ;try rs = stmt.executeQuery(select * from course order by cno);/rs = stmt.executeQuery(select * from course where cno=);while (rs.next() playerInfoj0 = rs.getString(cno);playerInfoj1 = rs.getString(cn);playerInfoj2 = rs.getString(pcno);j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);4.6选课信息管理模块选课信息管理模块包括增加、删除、修改、查询、显示全部等。class SCManageFrame extends JFrame implements ActionListener / 选课信息管理的界面显示JPanel p = new JPanel();JButton btnAdd = new JButton(增加);JButton btnDelete = new JButton(删除);JButton btnAlter = new JButton(修改);JButton btnSearch = new JButton(查询);JButton btnDisplay = new JButton(显示);JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;SCSelect cst;String mkch = null;boolean bstd = false;SCManageFrame(String title) / 构造方法super(title);add(South, p);this.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();/ 连接数据库this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();SCManageFrame(SCSelect cst, String title) / 构造方法super(title);this.cst = cst;bstd = true;add(South, p);this.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();setVisible(false);setVisible(true);public void display() / 显示所有的课程信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery(select * from class);while (rs.next() / 找出表中的记录数赋给ial.add(rs.getString(classNum);al.add(rs.getString(cno);al.add(rs.getString(pcno);i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti3;String columnNames = 班级号, 课程名, 先行课程号 ;try rs = stmt.executeQuery(select * from class order by classNum);while (rs.next() playerInfoj0 = rs.getString(classNum);playerInfoj1 = rs.getString(cno);playerInfoj2 = rs.getString(pcno);j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void connDB() / 连接数据库try Class.forName(com.mysql.jdbc.Driver); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/test,root, renjie);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();4.7成绩信息管理模块成绩信息管理模块包括修改成绩、查询、显示全部等。class GradeManage extends JFrame implements ActionListener / 成绩信息管理JPanel p = new JPanel();JButton btnAlter = new JButton(修改成绩);JButton btnSearch = new JButton(查询);JButton btnDisplay = new JButton(显示);JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;GradeSelectFrame gst;int ii = 0;String mxh = null;boolean bstd = false;GradeManage(String title) / 构造方法super(title);add(South, p);this.add(Center, p1);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();GradeManage(GradeSelectFrame gst, String title) / 构造方法super(title);this.gst = gst;bstd = true;add(South, p);this.add(Center, p1);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();public void display() / 显示所有的成绩信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery(select * from grade,course where o=o);while (rs.next() / 找出表中的记录数赋给ial.add(rs.getString(sno);al.add(rs.getString(cn);al.add(rs.getString(grade);i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti3;String columnNames = 学号, 课程名, 成绩 ;try rs = stmt.executeQuery(select * from grade,course where o=o);while (rs.next() playerInfoj0 = rs.getString(sno);playerInfoj1 = rs.getString(cn);playerInfoj2 = rs.getString(grade);j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 创建网格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);4.8用户信息管理模块用户信息管理模块包括修改、查询、显示全部等。class PM extends JFrame implements ActionListener / 用户信息管理JPanel p = new JPanel();JButton btnAlter = new JButton(修改);JButton btnSearch = new JButton(查询);JButton btnDisplay = new JButton(显示);JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;PSelect pst;String myh = null;boolean bstd = false;PM(String title) / 构造方法super(title);add(South, p);this.add(Center, p1);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 200, 260);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();PM(PSelect pst, String title) / 构造方法super
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑施工安全管理信息化对施工现场安全管理的企业战略目标优化策略优化报告
- 2025年新能源行业工业互联网在新能源产业协同创新生态系统中中的应用报告
- 水的组成课件
- Unit8-教材梳理复习课件
- 水痘接种课件
- 消化道出血病人心理护理
- 费用会计个人年终总结
- 多元角度解读罗斯福新政
- 新质生产力教学体系构建
- 茅台高端白酒品牌品牌形象与产品创新融合研究报告
- 2025年工地安全员培训考试试题及答案
- 文明有礼+课件-2025-2026学年统编版道德与法治八年级上册
- 供水设备运行维护与保养技术方案
- 木雕工艺课件
- 2025年2个清单28个问题查摆整改措施
- 摩擦力影响因素实验报告范本
- 教育系统应急知识培训课件
- 基坑防护课件
- 2025年黑龙江省龙东地区中考英语真题含答案
- 医疗器械生产质量管理规范2025版
- 2025年医护人员法律法规知识考试题库及答案(一)
评论
0/150
提交评论