程序.doc

上传人:本田雅阁 文档编号:2065166 上传时间:2019-02-09 格式:DOC 页数:24 大小:368.52KB
返回 下载 相关 举报
程序.doc_第1页
第1页 / 共24页
程序.doc_第2页
第2页 / 共24页
程序.doc_第3页
第3页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《程序.doc》由会员分享,可在线阅读,更多相关《程序.doc(24页珍藏版)》请在三一文库上搜索。

1、贵州航天职业技术学院 Java 课程设计报告 专 业: 09 软件 班 级: 软件二班 学 号: A093GZ053020156 姓 名: 杨海涛 指导老师: 肖宏启 时 间: 2011.6 摘摘 要要 随着近年来计算机和网络不断普及与发展,越来越多的行业都着 力于对计算机或者是与其相关的系统的应用和发展。对高校而言拥有 一套完整实用的教师管理系统是实现教务智能管理不可缺少的软件。 管理员通过该系统可以在任何地方、任何时间快速、便捷的对教师的 管理。用户也可以随时随地通过该教师管理系统快速、便捷的查询、 浏览教师的信息,以摆脱传统方式的效率低、消息滞后的弊端。因此 应该大力推进教师管理系统在高

2、校中的应用。 随着计算机和 internet 在大学校园的不断普及,教师管理系统的 发展也日趋成熟,并且相比于传统方式优势和特点更加的突出: 检索 迅速、查找方便、易修改、实时性高、可靠性高、信息量大、数据处 理快捷、寿命长、成本低、等。这些优点能够极大地提高高校教学管 理的效率,也是学校的科学化、正规化管理和智能化管理,与世界接轨 的重要条件。更重要是教师管理系统用户可以不需要客户端软件登录 系统,因此,现在几乎所有的高校都有一个网络化的教师管理系统, 为了充分发挥智能化的教师管理系统的作用,解决教务管理的难题,因 此开发功能更强、更智能的教师管理系统很有必要。 关键词关键词: :教师管理系

3、统,Access 2003,检索,数据,管理 目目 录录 摘 要. 目 录. 前言. 一、系统可行性分析. 二、需求分析. 2.1 系统需求分析 . 2.2 系统运行环境和开发平台分析 . 三、系统整体设计. 3.1 系统功能模块设计 . 3.2 系统功能结构设计 . 四、 系统数据库设计 4.3 数据库详细设计 五、 系统详细设计 5.1 系统登录界面 5.2 系统首页界面 . 5.3 数据添加界面 . 5.4 数据修改界面 . 5.5 数据查找界面 . 5.6 管理员添加界面 . 5.7 源代码清单 . 结论 参考文献. 前言前言 随着近年来计算机的不断普及,越来越多的行业都着力于对计算

4、机或者是与其相关的系统的应用和发展。对高校而言拥有一套完整实 用的教学管理系统是实现教务智能管理不可缺少的软件。 随着计算机和 internet 在大学校园的不断普及,教学管理系统 的发展也日趋成熟,并且相比于传统方式优势和特点更加的突出: 检 索迅速、查找方便、易修改、实时性高、可靠性高、信息量大、数据 处理快捷、寿命长、成本低等。这些优点能够极大地提高高校教学管 理的效率,也是学校的科学化、正规化管理和智能化管理,与世界接轨 的重要条件。目前几乎所有的高校都有各自的教务管理系统,然而就 目前的大多数的教务管理系统而言都仅仅是发布公告和上传、发布教 学文件而已。为了发挥教务管理系统更大的优势

5、,解决学校排课难的 大问题,我在目前流行的教务管理系统的基础上,增加了智能排课的功 能。这也是我开发的教务管理系统最大的创新之处。 可行性分析在整个系统的开发过程中有非常重要的意义,软件可行 性分析的目的是用合适的代价解决足够的问题。对该教务管理系统我 从以下三个方面进行可行性分析:技术可行性、经济可行性、操作可 行性。 一、系统可一、系统可行性行性分析分析 1 1.1.1 技术可行性技术可行性 采用 JAVA 技术实现这个系统。基于 java 的教师管理系统采用图形界面来设计, 通过数据源来连接数据库,更新的数据直接提交到数据库。 1 1.2.2 经济可行性经济可行性 开发一套教师管理系统并

6、不需要过多的时间、人力和金钱,只需在一个完备的 设计方案,严格按照设计方案进行开发即可。并且这样的系统在高校的所发挥的作 用远远越过开发的成本,因此在经济上有很强的可行性。 1 1.3.3 操作可行性操作可行性 用户只需要通过运行 JAVA 程序就可以对教务管理系统进行一系列的操作,因 此在操作上也有可行性。 综上所述,开发一套这样的教师管理系统是非常可行的。 二、二、需求分析需求分析 2.12.1、系统、系统需求分析需求分析 在前面可行性分析阶段已经粗略的研究了本系统的需求,并分析了开发平台及 软件的可行性。详细需求概括为以下几个方面: 1、登录管理 指定一个系统管理员进入系统对登录模块的验

7、证,管理员都有指定的用户名和 密码,管理员进入系统可以添加新的管理员,在没有指定用户名和密码的用户没有 权限访问系统。 2、用户管理 系统管理员通过用户管理模块对系统的用户进行有效的管理。管理员可以为系 统添加四类用户:教师、管理员。添加教师信息时需要输入的教师的信息包括工号、 姓名、密码、性别、民族、年龄、工资、课时费、所教专业。添加管理员包括的信 息有 ID 号、密码。管理员可以根据需要随时修改和删除用户的相关信息。 2 2. .2 2 系统运行环境和开发平台分析系统运行环境和开发平台分析 硬件环境:硬件环境:服务器端/客户端: 处理器:Intel PentiumIII 以上 内存: 51

8、2M 以上推荐 1G 或更高 硬盘空间:80G 以上 软件环境: 服务器端/客户端: 操作系统:Windows XP 开发工具:JAVA + Access 2003 三、三、系统整体设计系统整体设计 3.13.1 系统功能模块设计系统功能模块设计 衡量一个软件的最根本的标准是软件功能强弱。经过对系统的可行性分析、需 求分析、技术分析后,结合调研的情况及用户的使用需求,确定了本系统的功能模 块如图 4.1 所示。 图图 4.14.1 3 3.2.2 系统功能结构设计系统功能结构设计 用户通过登录页面的验证就可以进入系统,管理员通过管理员模块进行个人信 息浏览与密码修改。系统管员在本系统中拥有最高

9、的权限,除以上权限外,还能对 教师信息进行管理(添加、修改、查找、删除),还可以进行管理员的添加和删除。 具体功能的结构图如图 4-2 所示。 四、四、系统数据库设计系统数据库设计 4 4. .1 1 数据库详细设计数据库详细设计 1、名称:教师信息表 字段名数据类型大小备注约束 工号文本50主键 姓名文本8 性别文本2 民族文本8 年龄数字整型 工资数字整型 课时费数字整型 所教专业文本50 2、名称:管理员 字段名数据类型大小备注约束 用户名文本30主键 密码密码30 五、系统详细设计五、系统详细设计 5.15.1 系统登录系统登录界面界面 管理员进入系统之前都必须经过登录页面进行登录,以

10、便验证,身份验证成 功之后方能进入系统。每个管理员都有唯一的账号和密码登录系统。登录界面如图 5.1: 图图 5.15.1 5 5.2.2 系统首页系统首页界面界面 在首页上由菜单栏、信息表显示区两个部分组成。如图 5.2 图图 5.25.2 5.35.3 数据添加界面数据添加界面 在数据编辑里选择添加,进入添加面板,编辑需要输入的数据,提交到数据库, 确定后,在表格显示区就会出现刚才所编辑的数据,如图 5.3 图图 5.35.3 5.45.4 数据修改界面数据修改界面 在表格显示区选择要修改的数据,然后清除原有的数据,把新数据输入按确定 提交到数据库,即可以修改完成。如图 5.4 图图 5.

11、45.4 5.55.5 数据查找界面数据查找界面 可以快速的查找需要的数据,可以按工号,姓名,性别等查找,如图 5.5 图图 5.5 5.6 用户的添加界面用户的添加界面 主要是添加管理员,只需要输入用户名和密码,还可以对管理员的删除,如图 5.6 图 5.6 5.6 源代码清单源代码清单 import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.border.*; import javax.swing.JOptionPane; import javax.swing.JLabel;

12、import javax.swing.JPanel; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import java.sql.*; import java.awt.GridLayout; public class Teacher public Teacher() public static void main(String args) / TODO code application logic here loginFrame lf=new loginFrame(); lf

13、.setVisible(true); lf.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); /主界面 class mainFrame extends JFrame implements ActionListener MenuBar myMenuBar=new MenuBar(); Menu myMenuFile,myMenuEdit,myMenuUser,myMenuAbout; MenuItem miNew,miOpen,miSave,miSav

14、eAs,miExit; MenuItem miAdd,miEdit,miDel,miFind,miShow,miUser,miAbout; public JTable table = new JTable(); public DefaultTableModel mm ; public mainFrame() myMenuFile=new Menu(“文件“); miNew=new MenuItem(“新建“); miOpen=new MenuItem(“打开“); miSave=new MenuItem(“保存“); miExit=new MenuItem(“退出“); miNew.enabl

15、e(false); miOpen.enable(false); miSave.enable(false); myMenuFile.add(miNew); myMenuFile.add(miOpen); myMenuFile.add(miSave); myMenuFile.add(miExit); myMenuEdit=new Menu(“数据编辑“); miFind=new MenuItem(“查找数据“); miAdd=new MenuItem(“添加数据“); miEdit=new MenuItem(“修改数据“); miDel=new MenuItem(“删除数据“); miShow=n

16、ew MenuItem(“全部显示“); myMenuEdit.add(miFind); myMenuEdit.add(miAdd); myMenuEdit.add(miEdit); myMenuEdit.add(miDel); myMenuEdit.add(miShow); myMenuUser=new Menu(“用户“); miUser=new MenuItem(“编辑用户“); myMenuUser.add(miUser); myMenuAbout=new Menu(“我的作业“); miAbout=new MenuItem(“作业说明“); myMenuAbout.add(miAbo

17、ut); myMenuBar.add(myMenuFile); myMenuBar.add(myMenuEdit); myMenuBar.add(myMenuUser); myMenuBar.add(myMenuAbout); String col = “工号“,“姓名“,“性别“,“民族“,“年龄“,“工资“,“课时费“,“所教专业“;/创建属性 列名 mm= new DefaultTableModel(col,0); table.setModel(mm); JScrollPane tableScrollPane = new JScrollPane(table); this.setMenuB

18、ar(myMenuBar); this.add(tableScrollPane); miExit.addActionListener(this); miFind.addActionListener(this); miAdd.addActionListener(this); miEdit.addActionListener(this); miDel.addActionListener(this); miShow.addActionListener(this); miUser.addActionListener(this); miAbout.addActionListener(this); pub

19、lic void freshTable(String sql) myConnection conn=new myConnection(); ResultSet rs; rs=conn.getResult(sql); if (rs!=null) try mm.setRowCount(0); table.setModel(mm); while(rs.next() String 工号 = rs.getString(“工号“); String 姓名 = rs.getString(“姓名“); String 性别 = rs.getString(“性别“); String 民族 = rs.getStrin

20、g(“民族“); String 年龄 = rs.getString(“年龄“); String 工资 = rs.getString(“工资“); String 课时费 = rs.getString(“课时费“); String 所教专业 = rs.getString(“所教专业“); String cloumns =工号,姓名,性别,民族,年龄,工资,课时费,所教专业; mm.addRow(cloumns); /table.clearSelection(); table.setModel(mm); catch(Exception e) System.out.println(e.toString

21、(); public void actionPerformed(ActionEvent e) /退出 if (e.getSource()=miExit) System.exit(0); /查找 else if(e.getSource()=miFind) findFrame ff=new findFrame(this); ff.setVisible(true); /添加 else if(e.getSource()=miAdd) addFrame af=new addFrame(this); af.setVisible(true); /修改 else if(e.getSource()=miEdit

22、) if (table.getSelectedRow()=-1) JOptionPane.showMessageDialog(null, “请选择你要修改的内容“, “温馨提 示“, JOptionPane.INFORMATION_MESSAGE); else editFrame ef=new editFrame(this); ef.工号.setText(String)table.getValueAt(table.getSelectedRow(),0); ef.姓名.setText(String)table.getValueAt(table.getSelectedRow(),1); ef.性别

23、.setText(String)table.getValueAt(table.getSelectedRow(),2); ef.民族.setText(String)table.getValueAt(table.getSelectedRow(),3); ef.年龄.setText(String)table.getValueAt(table.getSelectedRow(),4); ef.工资.setText(String)table.getValueAt(table.getSelectedRow(),5); ef.课时费.setText(String)table.getValueAt(table.

24、getSelectedRow(),6); ef.所教专业.setText(String)table.getValueAt(table.getSelectedRow(),7); ef.setVisible(true); this.freshTable(“select * from 教师信息表“); /删除 else if(e.getSource()=miDel) if (table.getSelectedRow()=-1) JOptionPane.showMessageDialog(null, “请选择你要删除的行“, “温馨提示“, JOptionPane.INFORMATION_MESSAG

25、E); else String sql=“delete from 教师信息表 where 工号 = “+table.getValueAt(table.getSelectedRow(),0)+“; /JOptionPane.showMessageDialog(null, sql, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); myConnection conn=new myConnection(); if (conn.executeSql(sql) JOptionPane.showMessageDialog(null, “成功删除“, “温馨提示“, JOp

26、tionPane.INFORMATION_MESSAGE); this.freshTable(“select * from 教师信息表“); else JOptionPane.showMessageDialog(null, “未知错误“, “删除失败“, JOptionPane.INFORMATION_MESSAGE); /显示 else if(e.getSource()=miShow) /JOptionPane.showMessageDialog(null, “未知错误“, “删除失败“, JOptionPane.INFORMATION_MESSAGE); this.freshTable(“

27、select * from 教师信息表“); /用户管理 else if(e.getSource()=miUser) userFrame uf=new userFrame(); uf.setVisible(true); /关于 else if(e.getSource()=miAbout) aboutFrame af=new aboutFrame(); af.setVisible(true); class myConnection ResultSet re; String strurl = “jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ

28、=教师信息数据库.mdb“; public myConnection() public ResultSet getResult(String sql) try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection conn=DriverManager.getConnection(strurl); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet re=stmt.execu

29、teQuery(sql); return re; catch(Exception e) System.out.println(“getResult-“+e.toString(); return null; public boolean executeSql(String sql) try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection conn=DriverManager.getConnection(strurl); Statement stmt=conn.createStatement(); stmt.executeUpda

30、te(sql); mit(); return true; catch(Exception e) System.out.println(“executeSql-“+e.toString(); return false; class addFrame extends JDialog implements ActionListener public static final int WIDTH = 400; public static final int HEIGHT = 400; JLabel 工号 1,姓名 1,性别 1,民族 1,年龄 1,工资 1,课时费 1,所教专业 1; JTextFie

31、ld 工号,姓名,性别,民族,年龄,工资,课时费,所教专业; JButton b; JPanel p; mainFrame mf; public addFrame(mainFrame mmf) setTitle(“修改教师信息“); setSize(WIDTH,HEIGHT); setLocation(120,180); Container contentPane = getContentPane(); contentPane.setLayout(new FlowLayout(); 工号 1=new JLabel(“工号“); 姓名 1=new JLabel(“姓名“); 性别 1=new J

32、Label(“性别“); 民族 1=new JLabel(“民族“); 年龄 1=new JLabel(“年龄“); 工资 1=new JLabel(“工资“); 课时费 1=new JLabel(“课时费“); 所教专业 1=new JLabel(“所教专业“); 工号=new JTextField(5); 姓名=new JTextField(5); 性别=new JTextField(5); 民族=new JTextField(5); 年龄=new JTextField(5); 工资=new JTextField(5); 课时费=new JTextField(10); 所教专业=new J

33、TextField(10); b=new JButton(“确定“); p=new JPanel(); p.setLayout(new GridLayout(10,2,5,5); p.add(工号 1); p.add(工号); p.add(姓名 1); p.add(姓名); p.add(性别 1); p.add(性别); p.add(民族 1); p.add(民族); p.add(年龄 1); p.add(年龄); p.add(工资 1); p.add(工资); p.add(课时费 1); p.add(课时费); p.add(所教专业 1); p.add(所教专业); p.add(new La

34、bel(“); p.add(new Label(“); p.add(b); contentPane.add(p); /添加按钮监听器 b.addActionListener(this); mf=mmf; public void actionPerformed(ActionEvent e) if (工号.getText().toString().equals(“) JOptionPane.showMessageDialog(null, “请输入工号“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); else if (姓名.getText().toString

35、().equals(“) JOptionPane.showMessageDialog(null, “请输入姓名“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); else if (年龄.getText().toString().equals(“) JOptionPane.showMessageDialog(null, “请输入年龄“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); else String sql=“select * from 教师信息表 where 工号=“ + 工号.getText() + “; my

36、Connection conn=new myConnection(); ResultSet rs; rs=conn.getResult(sql); try /System.out.println(rs.getRow(); if (rs.next() JOptionPane.showMessageDialog(null, “此工号已经存在“, “温馨 提示“, JOptionPane.INFORMATION_MESSAGE); else sql=“insert into 教师信息表 values(“ +工号.getText()+“,“+ 姓 名.getText() +“,“+ 性别.getTex

37、t() +“,“+ 民族.getText() +“,“+ 年龄.getText() +“,“+ 工资.getText() +“,“+ 课 时费.getText() +“,“+ 所教专业.getText() +“)“; if (conn.executeSql(sql) JOptionPane.showMessageDialog(null, “添加成功“, “温 馨提示“, JOptionPane.INFORMATION_MESSAGE); mf.freshTable(“select * from 教师信息表“); 工号.setText(“); 姓名.setText(“); 性别.setText(

38、“); 民族.setText(“); 年龄.setText(“); 工资.setText(“); 课时费.setText(“); 所教专业.setText(“); else JOptionPane.showMessageDialog(null, “添加失败“, “温 馨提示“, JOptionPane.INFORMATION_MESSAGE); catch(Exception er) System.out.println(er.toString(); class editFrame extends JDialog implements ActionListener public static

39、final int WIDTH = 400; public static final int HEIGHT = 400; JLabel 工号 1,姓名 1,性别 1,民族 1,年龄 1,工资 1,课时费 1,所教专业 1; JTextField 工号,姓名,性别,民族,年龄,工资,课时费,所教专业; JButton b; JPanel p; mainFrame mf; public editFrame(mainFrame mmf) setTitle(“修改学生信息“); setSize(WIDTH,HEIGHT); setLocation(120,180); Container content

40、Pane = getContentPane(); contentPane.setLayout(new FlowLayout(); 工号 1=new JLabel(“工号“); 姓名 1=new JLabel(“姓名“); 性别 1=new JLabel(“性别“); 民族 1=new JLabel(“民族“); 年龄 1=new JLabel(“年龄“); 工资 1=new JLabel(“工资“); 课时费 1=new JLabel(“课时费“); 所教专业 1=new JLabel(“所教专业“); 工号=new JTextField(5); 姓名=new JTextField(5); 性

41、别=new JTextField(5); 民族=new JTextField(5); 年龄=new JTextField(5); 工资=new JTextField(5); 课时费=new JTextField(10); 所教专业=new JTextField(10); 工号.setEnabled(false); b=new JButton(“确定“); p=new JPanel(); p.setLayout(new GridLayout(10,2,5,5); p.add(工号 1); p.add(工号); p.add(姓名 1); p.add(姓名); p.add(性别 1); p.add(

42、性别); p.add(民族 1); p.add(民族); p.add(年龄 1); p.add(年龄); p.add(工资 1); p.add(工资); p.add(课时费 1); p.add(课时费); p.add(所教专业 1); p.add(所教专业); p.add(new Label(“); p.add(new Label(“); p.add(b); contentPane.add(p); /添加按钮监听器 b.addActionListener(this); mf=mmf; public void actionPerformed(ActionEvent e) if (工号.getTe

43、xt().toString().equals(“) JOptionPane.showMessageDialog(null, “请输入工号“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); else if (姓名.getText().toString().equals(“) JOptionPane.showMessageDialog(null, “请输入姓名“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); else if (年龄.getText().toString().equals(“) JOptionPane.sh

44、owMessageDialog(null, “请输入年龄“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); else String sql=“update 教师信息表 set 姓名=“+姓名.getText()+“,性别=“+性别. getText()+“,年龄=“+年龄.getText()+“,工资=“+工资.getText()+“,课时费=“+课时费.getText()+“,所教专业=“+所 教专业.getText()+“,民族=“+民族.getText()+“ where 工号=“ + 工号.getText() + “; myConnection c

45、onn=new myConnection(); try /JOptionPane.showMessageDialog(null, sql, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); if (conn.executeSql(sql) JOptionPane.showMessageDialog(null, “修改成功“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); mf.freshTable(“select * from 教师信息表“); this.dispose(); else JOptionPane.showMe

46、ssageDialog(null, “修改失败“, “温馨提示“, JOptionPane.INFORMATION_MESSAGE); catch(Exception er) System.out.println(er.toString(); class findFrame extends JDialog implements ActionListener mainFrame mf; JPanel p; JComboBox c; JTextField t; JButton b; JButton fAll; String sql=“select * from student“; String c

47、olStr=“工号“,“姓名“,“性别“,“民族“,“年龄“,“工资“,“课时费“,“所教专业“; public findFrame(mainFrame mmf) mf=mmf; p=new JPanel(); c=new JComboBox(colStr); t=new JTextField(10); b=new JButton(“查找“); fAll=new JButton(“全部显示“); b.addActionListener(this); fAll.addActionListener(this); p.add(new JLabel(“选择“); p.add(c); p.add(new

48、 JLabel(“查找内容“); p.add(t); p.add(b); p.add(fAll); this.add(p); this.setTitle(“查找“); this.setSize(450,80); public void actionPerformed(ActionEvent e) /查找 if (e.getSource()=b) String selectStr=c.getSelectedItem().toString(); if (selectStr=“年龄“) sql=“select * from 教师信息表 where “+selectStr+“ = “+t.getText(). toString(); else sql=“select * from 教师信息表 where “+selectStr+“ = “+t.getText(). toString()+“; mf.freshTable(sql); /全部显示 if (e.getSource()=fAll) sql=“select * from 教师信息表“; mf.freshTable(sql); class

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1