![点击分享此内容可以赚币 分享](/master/images/share_but.png)
学生教师信息管理系统.doc
《学生教师信息管理系统.doc》由会员分享,可在线阅读,更多相关《学生教师信息管理系统.doc(21页珍藏版)》请在咨信网上搜索。
《面向对象程序设计》 课程设计报告 题目 : 学生—教师信息管理系统 目录 第一章 课程设计项目简介 1 第二章 需求分析 1 2.1 系统设计与功能分析 1 2.1.1本系统实现的大致功能 1 第三章 设计思路 3 3.1设计数据库 3 3.2以类图说明基本设计思路 4 3.3功能流程以及工作流程描述 5 3.3.1 登录窗口 5 3.3.2 选择操作对象窗口 6 3.3.3 学生的操作窗口 6 3.3.4 管理员的操作窗口 6 3.3.5 教师的操作窗口 7 第四章 系统实现 7 4.1登录界面模块 7 4.2操作对象选择界面模块 8 4.2.1 学生操作对象选择界面模块 8 4.2.2教师操作对象选择界面模块 8 4.2.2管理员操作对象选择界面模块 9 4.3学生基本信息管理模块 10 4.3.1管理员、教师对学生基本信息管理的模块 10 4.3.2学生对学生基本信息管理的模块 14 4.4学生成绩信息管理模块 14 4.4.1管理员、教师对学生成绩管理的模块 14 4.4.2学生对学生成绩查询的模块 15 4.5教师基本信息管理模块 16 4.5.1管理员对教师基本信息管理的模块 16 4.5.2教师对教师基本信息查询的模块 17 第五章 使用说明 18 5.1开发、运行环境要求 18 5.2程序运行 18 第六章 设计总结 19 第七章 参考文献 19 第一章 课程设计项目简介 学生--教师信息管理系统是一个学校管理不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生--教师信息管理系统应该能够为用户提供相关的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本文介绍了学生—教师信息管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程,具体模块实施采用了原型法和面向对象系统开发方法。并采用JAVA作为开发工具,mysql作为后台数据库。本系统具有学生基本信息管理、学生成绩信息管理、教师基本信息管理等功能。分成三大模块,每个模块都相互联系,但不相互干扰,这符合了软件模块开发的思想。 本系统完成了学生信息的查询、修改、增加、删除;教师信息的查询、修改、增加、删除以及学生成绩信息的查询、修改、增加、删除等功能。 第二章 需求分析 2.1 系统设计与功能分析 学生—教师信息管理系统,可用于学校等机构的学生、教师基本信息管理、学生成绩信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用mysql数据库作为后台的数据库进行信息的存储,用SQL语句完成学生、教师基本信息的查询,修改,添加,删除的操作以及成绩的查询修改,录入,删除等。用ODBC驱动实现前台Java与后台mysql数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。mysql数据库高效安全,两者结合可相互利用各自的优势。 2.1.1本系统实现的大致功能 为保证本学生—教师管理系统的安全性,分别对不同的用户可在系统中进行的操作作出了一定的权限设置。 1. 用户登陆界面:该界面可以选择使用者的身份,“管理员,教师,学生”,不同的身份有不同的操作界面和功能权限,用户名(本系统采用的是ID号)和密码输入正确即可登录。登录的用户信息分别存储在mysql数据库的“stu(学生信息表)”,“man(管理员信息表)”, “tch(教师信息表)”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。 2. 学生管理界面:提供了学生基本信息的查询,学生成绩信息的查询,学生所拥有的操作权限如图2-1; 图2-1学生管理模块用例图 3. 教师管理界面:提供了对学生基本籍信息的查询、修改、添加、删除;学生成绩的查询、修改、添加、删除等功能,教师所拥有的操作权限如图2-2; 图2-2教师管理模块用例图 4. 管理员管理界面:拥有最高的权限,允许对学生、教师基本信息和学生成绩信息进行查询、修改、添加、删除等功能,管理员所拥有的操作权限如图2-3; 图2-3管理员管理模块用例图 第三章 设计思路 3.1设计数据库 1.学生基本信息表: 字段名 类型 备注 stuId char(6) 学号 stuName varchar(20) 姓名 stuPwd Char(6) 密码 stuSex char(2) 性别 stuAge Int(3) 年龄 stuJg varchar(20) 籍贯 stuDept varchar(20) 所在系 2. 教师基本信息表: 字段名 类型 备注 tchId char(6) 教师号 tchName varchar(20) 姓名 tchPwd Char(6) 密码 tchSex char(2) 性别 tchAge Int(3) 年龄 tchJg varchar(20) 籍贯 tchDept varchar(20) 所在系 3. 管理员基本信息表: 字段名 类型 备注 manId char(6) 教师号 manName varchar(20) 姓名 manPwd Char(6) 密码 4. 学生成绩信息表: 字段名 类型 备注 tchId char(6) 学号 tchName varchar(20) 姓名 math int(4) 数学成绩 yuwen int(4) 语文成绩 english int(4) 英语成绩 wuli int(4) 物理成绩 huaxue int(4) 化学成绩 3.2以类图说明基本设计思路 用户界面提供学生、教师、管理员等用户登录的操作;学生可以进行学生基本信息查询、学生成绩查询的操作;管理员可以进行学生基本信息管理、教师基本信息管理、学生成绩管理的操作;教师可以进行学生基本信息管理、教师基本信息查询、学生成绩管理的操作,系统的类图如图3-1; 图3-1系统类图 3.3功能流程以及工作流程描述 3.3.1 登录窗口 使用用户,如学生、教师、管理员进行登录时,输入正确的用户名及密码,并选择所属类别(学生、教师、管理员),如果输入的用户名及密码与该类别在数据库mysql中的用户名(用户ID)及密码一致,我们就认为输入的用户名及密码是正确的,则可进行该类型用户所能进行的所有操作。在设计所属类别选择时,使用了ButtonGroup组件,再在ButtonGroup组件中加入了3个JRadioButton单选按钮,并分别为这3个JRadioButton单选按钮设置事件监听,即选择相应类别时,在用户名或密码正确的情况下,就可进入进行下一步操作。在登录页面还加入了两个JButton组件,即“登录”、“退出”,并为它们设置了事件监听,在之前的操作:选择用户类别,用户名、密码输入正确的情况下,点击“登录”,就可进入相应的窗口进行操作,如果用户名或密码输入错误,则出现错误信息对话框:“用户名或者密码错误”;点击“退出”则退出系统。在此基础上使用了getRootPane().setDefaultButton()的方法设定回车所对应的按钮。 3.3.2 选择操作对象窗口 登录成功后,出现的窗口是选择操作对象的窗口,即选择对学生这一对象的操作、对老师这一对象的操作或者对学生成绩的操作等。系统针对不同的用户类别,设置的选择对象的响应操作是不同的,这样就有效地管理了系统的权限问题:如学生只能对学生基本信息及学生成绩信息进行查询操作;教师能对学生基本信息、学生成绩信息进行查询、修改、添加、删除等各项操作以及对教师基本信息进行查询的操作;而管理员拥有最高权限,即能进行各项的查询、修改、添加、删除等操作。 3.3.3 学生的操作窗口 因为学生只能对学生基本信息及学生成绩信息进行查询操作,所以学生在选择操作对象后,得到相应的学生基本信息查询窗口或学生成绩查询窗口只能进行查询或关闭窗口的操作。在学生基本信息查询和学生成绩查询这两个窗口中,加入了JTable组件,用来显示相应的信息,同时运用了JScrollPane(jt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED)的方法使得显示信息时,能够有一个滚动条;加入了两个JButton组件,即“查询”、“关闭”,在“查询”按钮前加入了一个JTextField组件,学生进行查询操作时,在JTextField中填写所要查询的名字,然后点击“查询”,或者回车(此处设定回车所对应的按钮为“查询”)调用可sql语句,就可以得到所要查找的人的相应信息了;在点击“关闭”时,所对应的事件监听用了dispose()的方法,对窗口进行关闭操作。 3.3.4 管理员的操作窗口 管理员拥有最高权限,即能进行各项的查询、修改、添加、删除等操作,所以管理员在选择操作对象后,得到相应的学生基本信息窗口、学生成绩窗口或教师基本信息窗口能进行查询、修改、添加、删除等各项操作操作。在相应的窗口中加入了五个JButton组件,即“查询”、“添加”、“修改”、“删除”、“关闭”。 对“查询”、“关闭”的点击事件与学生的操作窗口所用的方法相同。 点击“添加”按钮,弹出相应的添加窗口,在添加窗口中包含有输入加入相应信息的几个JTextField组件及三个JButton组件,即“添加”、“重置”、“取消”按钮,点击“添加”按钮,响应“添加”的点击事件,可将添加的内容加入到数据库中,并在相应JTable组件中显示;点击“重置”按钮,响应“重置”的点击事件,可将之前输入但没有点击“添加”的内容清空,然后用户就可以重新输入内容了;点击“取消”按钮响应“取消”的点击事件,运用dispose()的方法,退出添加窗口。 选择某一记录,点击“修改”按钮,弹出相应的修改窗口,在修改窗口中包含有输入要修改的相应信息的几个JTextField组件及三个JButton组件,即“修改”、“重置”、“取消”按钮,点击“修改”按钮,响应“修改”的点击事件,可将修改后的内容加入到数据库中,并在相应JTable组件中显示,如果只点击“修改”按钮,而未选择某一记录,则出现错误信息对话框:“请选择一行”;点击“重置”及“取消”按钮的事件监听方法和上述添加窗口中“重置”及“取消”按钮的事件监听方法相同。 选择某一记录,点击“删除”按钮,可将选中的记录从数据库中删除,并在相应JTable组件中显示的记录信息删除,如果只点击“删除”按钮,而未选择某一记录,则出现错误信息对话框:“请选择一行”。 3.3.5 教师的操作窗口 教师进行学生基本信息及学生成绩的查询、修改、添加、删除等操作,同时也能进行教师基本信息的查询操作,所以教师在选择操作对象后,得到相应的学生基本信息窗口、学生成绩窗口或教师基本信息窗口,在学生基本信息窗口、学生成绩窗口中使用的方法与管理员的操作方法相同,所以是调用的是同一程序,在教师基本信息窗口中使用的方法与学生操作中的方法相同。 第四章 系统实现 该系统由5个模块构成,包括登录界面模块、操作对象选择界面模块、学生基本信息管理模块、学生成绩信息管理模块、教师基本信息管理模块,以下分别加以叙述: 4.1登录界面模块 登录界面模块包括Management.java文件。Management类继承了JFrame类,实现了事件监听接口,它有一个不带参数的构造函数Management(),用来生成Management实例,Management类将所有的功能集中到面板中,生成按钮,通过按钮的响应函数调用其他模块的函数来实现学生—教师管理系统的各个功能,以下是主界面的运行程序如图4-1,当用户名或密码输入错误时,则出现错误信息对话框:“用户名或者密码错误”,如图4-2; 图4-1-1登录界面 图4-1-2错误信息对话框 4.2操作对象选择界面模块 4.2.1 学生操作对象选择界面模块 两个单选按钮: JRadioButton stu1 = new JRadioButton("学生"); JRadioButton corse = new JRadioButton("学生成绩"); 对两个按钮的事件监听: public void actionPerformed(ActionEvent el) { if(el.getSource()==stu1){ Student ta = new Student(); } else if(el.getSource()==corse){ StudentCorse ta = new StudentCorse(); } else if(el.getSource()==close){ k.dispose(); } } 运行界面如图4-2-1: 图4-2-1 学生操作对象选择界面 4.2.2教师操作对象选择界面模块 三个单选按钮: JRadioButton stu1 = new JRadioButton("学生"); JRadioButton tch1 = new JRadioButton("老师"); JRadioButton corse = new JRadioButton("学生成绩"); 对三个按钮的事件监听: public void actionPerformed(ActionEvent el) { if(el.getSource()==stu1){ StudentManagement ta = new StudentManagement(); } else if(el.getSource()==tch1){ Teacher ss1= new Teacher(); } else if(el.getSource()==corse){ CorseManagement ta = new CorseManagement(); } else if(el.getSource()==close){ k.dispose(); } } 运行界面如图4-2-2: 图4-2-2 教师操作对象选择界面 4.2.2管理员操作对象选择界面模块 管理员操作对象选择界面模块使用的方法和教师操作对象选择模块的方法基本相同,只是对各个单选按钮的事件监听事件所调用的java文件不同;运行界面与教师操作对象选择界面完全相同;对三个按钮的事件监听: public void actionPerformed(ActionEvent el) { if(el.getSource()==stu1){ StudentManagement ta = new StudentManagement(); } else if(el.getSource()==tch1){ TeacherManagement ta = new TeacherManagement(); } else if(el.getSource()==corse){ CorseManagement ta = new CorseManagement(); } else if(el.getSource()==close){ k.dispose(); } } 4.3学生基本信息管理模块 4.3.1管理员、教师对学生基本信息管理的模块 管理员、教师对学生基本信息管理的模块为StudentManagement.java文件,而StudentManagement.java调用了StuModel.java学生模型文件、StudentUpdateDialog.java学生信息更新文件、StuAddDialog.java学生信息添加文件。在StuModel.java中连接数据库mysql: PreparedStatement ps = null; Connection ct = null; ResultSet rs = null; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/student"; String user = "root"; String password = "123"; 在StuAddDialog.java中,事件监听事件: public void actionPerformed(ActionEvent e) { if (e.getSource() == jb1) { // 希望添加 StuModel temp = new StuModel(); String sql3 = "insert into stu values(?,?,?,?,?,?,?)"; String[] paras3 = { jtf1.getText(), jtf2.getText(), jtf3.getText(), jtf4.getText(), jtf5.getText(), jtf6.getText(), jtf7.getText() }; if (!temp.updateStudent(sql3, paras3)) { JOptionPane.showMessageDialog(this, "添加失败"); } this.dispose(); } else if (e.getSource() == jb2) { // 希望重置 jtf1.setText(""); jtf2.setText(""); jtf3.setText(""); jtf4.setText(""); jtf5.setText(""); jtf6.setText(""); jtf7.setText(""); jtf1.requestFocus(); }else if (e.getSource() == jb3) { // 希望删除 this.dispose(); } } 在StudentUpdateDialog.java中的事件监听部分程序: public void actionPerformed(ActionEvent e) { //用户更新 if (e.getSource() == jb1) { String sql3 = "update stu set stuName=?,Pwd=?,stuSex=?,stuAge=?, stuJg=?,stuDept=? where stuId=?"; String[] paras3 = { this.jtf2.getText(), jtf3.getText(), this.jtf4.getText(), this.jtf5.getText(), this.jtf6.getText(),this.jtf7.getText(), this.jtf1.getText() }; StuModel temp = new StuModel(); temp.updateStudent(sql3, paras3); this.dispose(); StudentManagement ta = new StudentManagement(); } 在StudentManagement.java中事件监听事件的程序: public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if (e.getSource() == jb1) { String name = this.jtf.getText().trim(); String sql = "select * from stu where stuName='" + name + "'"; if (name.trim().equals("")) { sm = new StuModel(); } else { sm = new StuModel(sql); } jt.setModel(sm); } // 当用户点击添加 else if (e.getSource() == jb2) { StuAddDialog sad = new StuAddDialog(this, "添加学生", true); // 重新再获得新的数据模型 sm = new StuModel(); jt.setModel(sm); } else if (e.getSource() == jb3) { System.out.print("aaaa"); int rownum = this.jt.getSelectedRow(); if (rownum == -1) { JOptionPane.showMessageDialog(this, "请选择一行"); return; } // 显示修改对话框 new StudentUpdateDialog(this, "修改对话框", true, sm, rownum); } // 当用户点击删除 else if (e.getSource() == jb4) { int rownum = this.jt.getSelectedRow(); if (rownum == -1) { JOptionPane.showMessageDialog(this, "请选择一行"); return; } // 得到学生的编号 String stuId = (String) sm.getValueAt(rownum, 0); StuModel temp = new StuModel(); String sql = "delete from stu where stuId=?"; String[] paras = { stuId }; if (!temp.updateStudent(sql, paras)) { JOptionPane.showMessageDialog(this, "删除失败"); } sm = new StuModel(); jt.setModel(sm); } else if(e.getSource()==close){ this.dispose(); } } 管理员、教师对学生基本信息管理的模块的几个界面如下: 图4-3-1管理员、教师对学生基本信息主界面 图4-3-2学生基本信息添加界面 图4-3-3学生基本信息修改界面 图4-3-4添加失败时界面 图4-3-4修改或删除未选中记录时界面 4.3.2学生对学生基本信息管理的模块 方法与管理员、教师对学生基本信息管理的模块相同,只是少了一些功能,主界面如 图4-3-4: 图4-3-4学生对学生基本信息管理主界面 4.4学生成绩信息管理模块 4.4.1管理员、教师对学生成绩管理的模块 调用方法与以上管理员、教师对学生基本信息管理的模块方法大致相同,只是所运用的sql语句有所不同,管理员、教师对学生成绩管理的界面如图4-4-1: 图4-4-1管理员、教师对学生成绩管理的界面 图4-4-2学生成绩信息添加界面 图4-4-3学生成绩信息修改界面 4.4.2学生对学生成绩查询的模块 方法与管理员、教师对学生成绩信息管理的模块相同,只是少了一些功能,主界面如 图4-4-4: 图4-4-4学生对学生成绩信息管理主界面 4.5教师基本信息管理模块 4.5.1管理员对教师基本信息管理的模块 调用方法与以上管理员、教师对学生基本信息管理的模块方法大致相同,只是所运用的sql语句有所不同,管理员、教师对基本学生信息管理的界面如图4-4-1: 图4-5-1管理员对教师基本信息管理的界面 图4-5-2教师基本信息添加界面 图4-5-3教师基本信息修改界面 4.5.2教师对教师基本信息查询的模块 方法与管理员、教师对教师基本信息管理的模块相同,只是少了一些功能,主界面如 图4-5-4: 图4-5-4教师对教师基本信息查询主界面 第五章 使用说明 5.1开发、运行环境要求 (1) 数据库软件:mysql (2) Java开发工具:Eclipse 5.2程序运行 运行程序为Management.java文件,默认的用户名和密码: 学生 用户名: xx1001 密 码: xx1001 教师 用户名: s10001 密 码: s10001 管理员 用户名: m10001 密 码: m10001 第六章 设计总结 本系统具有学生基本信息管理、学生成绩信息管理、教师基本信息管理等功能。分成三大模块,每个模块都相互联系,但不相互干扰,这符合了软件模块开发的思想。本系统完成了学生信息的查询、修改、增加、删除;教师信息的查询、修改、增加、删除以及学生成绩信息的查询、修改、增加、删除等功能。 在这次课程设计中,遇到最大的困难是连接数据库,开始我想连接sql server2008数据库,但也许是软件的问题,总连不上,最后在同学的帮助下连接了mysql数据库,可能由于知识掌握得不够全面,一些细小的问题都要纠结很久才能够解决,这也敲响了我要巩固基础知识的警钟。同时这次课程设计让我接触到了许多新知识,学到许多新东西,锻炼了我的独立学习能力,也锻炼了我解决问题的能力。由于我能力有限,加上时间仓促,所以本系统必然会存在一些缺陷和不足。希望老师批评指正。 第七章 参考文献 [1] 韩顺平 循序渐进学.java.从入门到精通(视频)教程 [2] (美)BRIAN JEPSON(译),钱毅,张租荫 Java数据库编程指南 电子工业出版社 1998-10 [3] 郑莉,王行言,马素霞 Java语言程序教程 清华大学出版社 2006-01- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 教师 信息管理 系统
![提示](https://www.zixin.com.cn/images/bang_tan.gif)
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文