《Oracle数据库课程设计班主任管理系统设计.doc》由会员分享,可在线阅读,更多相关《Oracle数据库课程设计班主任管理系统设计.doc(29页珍藏版)》请在三一办公上搜索。
1、 Oracle数据库课程设计实验题目 班主任管理系统 专业班级 12软件工程(1)班 姓 名 学 号 指导教师 目 录第一章 绪 论11.1背景11.2开发环境11.3参考文献1第二章 需求分析22.1 项目描述22.2 功能分析2第三章 数据库设计33.1 数据库设计平台33.2 数据库ER模型图33.3 数据库设计及内容简介3第四章 功能概要设计54.1 登陆界面54.2 主界面84.1 班级信息114.2 学生信息154.2教师信息23第五章 课程设计小结28 第一章 绪 论1.1背景21世纪最激烈的竞争当属人才的竞争,一个具有多学科知识的复合性人才或许是一个企业发展壮大所不可或缺的重要
2、因素。世界已进入信息化时代,网络技术已进入了各行各业,同时也带动了各行业的发展。中国现在教育事业的发展迅猛,高等院校的数量和规模不断的扩大。与此同时,根据时代的要求。管理,特别是对日益增多的学生的管理,对学校的发展起着不可忽视的作用。班主任在学生的管理中有着承上启下的枢纽地位,这一角色的重要性也日渐突出起来。俗话说“三军易得,一将难求”,一支部队,没有一个出色将领的领导、管理,很可能是一盘散沙,缺乏战斗力,遇有困难或敌情,定将一触即溃。同样的,班主任作为一个班级的“将领”,对这个班级的影响极大。一个班级的成功与否很大程度上取决于这个班级的班主任。学校与学生之间沟通途径的建立、对学生的具体管理措
3、施的实施等都是通过班主任的工作得以体现和贯彻执行的,如果班主任这个环节的工作做的好,其对学生工作的总体管理和发展都具有不可估量的好处。然而班主任工作的特点是事多、琐碎、繁杂,如若不能合理的安排好一切工作,很容易出现工作上的冲突,大量的工作量往往使人感到压抑,为了能让班主任能更好的安排好自己的生活和工作,能更高效的工作,更好的和同学进行沟通,能及时的完成学校的教学任务的同时,也能很好的在计划好学生的任务,在学生的学习生涯和生活上给予帮助,所以开发此了系统,此系统简洁明了,操作简单,能使班主任的工作变得轻松而有效。1.2开发环境本系统面向Windows操作系统,以ORACLE作为后台数据库,充分考
4、虑了兼容性的问题,系统具有较好的可扩展性,并从数据库的应用和开发的实效性角度出发,采用myeclipse作为开发工具,采用面向对象技术,系统具有高效性。1.3参考文献1 王鹏杰,王存睿.Oracle 11g管理与编程基础.人民邮电出版社,2012.9.2 张思民. Java语言程序设计.清华大学出版社,2012.1.3 张莉,王强,赵文昉,董莉. SQL Server数据库原理及应用教程. 清华大学出版社,2003.1.4 电脑编程技巧与维护杂志社.Delphi编程典型实例解析.中国水利水电出版社,2007.1.5 韩朝军,梁冰,刘莹.SQL Server管理与开发技术大全.人民邮电出版社,2
5、007,4.6 明日科技.Delphi数据库系统开发完全手册.人民邮电出版社,2006,8.7 明日科技,张玲,宋坤,梁冰. Delphi程序开发范例宝典. 人民邮电出版社,2006,7.8 明日科技.delphi开发经验技巧宝典.人民邮电出版社,2006.第二章 需求分析2.1 项目描述班主任管理系统是学校一个管理软件,通过本系统,可以维护学生基础信息,班级信息,教师信息,登陆管理,修改密码的管理。本系统的使用,可以大大提高班主任的工作效率。通过系统需求调研,分析得出班主任管理系统角色:班主任;系统的功能包括:班级信息,学生信息,教师信息,修改密码。2.2 功能分析班主任管理系统是学校一个管
6、理软件.通过本系统, 可以维护学生基础信息,班级信息,教师信息,登陆管理,修改密码的管理。本系统的使用,可以大大提高班主任的工作效率。通过系统需求调研,分析得出班主任管理系统角色:班主任;系统的功能包括:班级信息,学生信息,教师信息,登陆管理,修改密码。(1) 班级信息显示班级基本信息(2) 学生信息学生信息是对学生信息进行增删改查操作。(3) 教师信息教师信息对教师查询,显示基本信息(4) 登录管理登录管理的主要目标是验证登录的用户是否合法。系统管理员登录首先校验是否是合法用户,如果是合法用户设置系统管理员权限,然后进入主页面。班主任登录后首先校验是否合法,如果是合法用户设置班主任管理的权限
7、,然后进入主页面。(5) 修改密码输入用户名,原密码,新密码进行密码修改。第三章 数据库设计3.1 数据库设计平台 Oracle 11g3.2 数据库ER模型图 系统管理员id1 Integer用户名 Variable characters (50)密码 Variable characters (50)Identifier_1 班级信息班级Id3 Integer班级名称 Variable characters (30)班主任 Variable characters (50)班长 Variable characters (50)男生 Variable characters (50)女生 Vari
8、able characters (50)Identifier_1 学生信息表id6 Integer姓名 Variable characters (30)性别 Variable characters (50)电话 Variable characters (50)宿舍号 Variable characters (50)所属班级 Variable characters (50)Identifier_1 教师信息Id3 Integer工号 Variable characters (30)教师姓名 Variable characters (50)电话 Variable characters (50)QQ
9、 Variable characters (50)所属系 Variable characters (50)班级ID IntegerIdentifier_1 3.3 数据库设计及内容简介-创建表CREATE TABLE tb_admin (id number(10) primary key,username varchar(30),password varchar(30) );CREATE TABLE tb_classDetailInfo (classID int NOT NULL primary key, className varchar(50), master varchar(50),mo
10、nitor varchar(50),womanNumber int NULL,manNumber int NULL);CREATE TABLE tb_classManager(jobNo varchar(50) primary key,classManagerName varchar(50),telephone varchar(50),qq varchar(50),xi varchar(50),classID int NOT NULL);CREATE TABLE tb_emergency(etitle varchar(20) primary key,etime varchar(20),econ
11、tent varchar(20),etreatment varchar(20),tcontent varchar(20),classID varchar(20) );CREATE TABLE tb_stuBasicInfo(stuNo varchar(50) primary key,stuName varchar(50),sex varchar(2),telephone varchar(50),dorm int NOT NULL,classID int NOT NULL );commit;第四章 功能概要设计4.1 登陆界面import java.awt.event.*;import java
12、x.swing.*;import java.awt.*;import java.util.*;import java.sql.*; class Login extends JFrame implements ActionListener Container cp=null; JFrame f=null; JButton j1,j2; JTextField t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; Login() f=new JFrame(小型班主任管理系统);j1=new JButton(确定
13、);j2=new JButton(取消);cp=f.getContentPane();jlable1=new JLabel(用户名);jlable2=new JLabel( 密码); jp1=new JPanel();jp2=new JPanel();t1=new JTextField(18);t2=new JPasswordField(18); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2);jp1.add(t2); JLabel JL=new JLabel(登录界面,SwingConstants.CENTER); cp.add(JL,Nort
14、h);jp2.add(j1);jp2.add(j2); cp.add(jp1,Center); cp.add(South,jp2);/jp1.setBackground(new Color(128,128,255); Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/setSize(x,y); /*让系统窗口平铺整个显示器窗口*/ f.setSize(300,
15、300); int xcenter=(x-500)/2; int ycenter=(y-500)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); /- j1.addActionListener(this);/注册事件监听器 j2.addActionListener(this); f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0);); public void confirm()
16、/验证用户和密码是否存在 tryClass.forName(oracle.jdbc.driver.OracleDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);try/String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件String url = jdbc:oracle:oci8:localhost:1521:ORCL;String user = scott; String p
17、assword = 111111;Connection con=DriverManager.getConnection(url,user,password);Statement sql=con.createStatement();String uname=t1.getText().trim();String Mima=t2.getText().trim();String queryMima=select * from tb_admin where username=+uname+ and password=+Mima+;ResultSet rs=sql.executeQuery(queryMi
18、ma); if(rs.next()new MainInterface(uname);f.hide(); con.close(); elseJOptionPane.showMessageDialog(null,该用户不存在,提示!, JOptionPane.YES_NO_OPTION); t1.setText();t2.setText(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); public void actionPerforme
19、d(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals(确定) confirm(); else if(cmd.equals(取消) f.dispose(); public static void main(String arg) Login a=new Login(); 4.2 主界面import .*;import java.sql.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.sw
20、ing.*;import javax.swing.border.*;import java.util.*;class MainInterface extends JFrame implements ActionListener JButton ClassInfo=new JButton(班级信息);JButton StudentInfo=new JButton(学生信息);JButton HeadteacherInfo=new JButton(教师信息);/JButton Emergency=new JButton(突发事件);JButton gaiMima=new JButton(修改密码)
21、;JMenuBar mb = new JMenuBar();/菜单栏JPanel jp=new JPanel();/用来填放子模块Container cp=getContentPane(); Stringusername; MainInterface(String username)this.username=username;mb.add(ClassInfo);mb.add(StudentInfo);mb.add(HeadteacherInfo);/mb.add(Emergency);mb.add(gaiMima); cp.add(mb,North);/ 设置边框 jp.setBorder(
22、BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.blue, 2),null, TitledBorder.CENTER, TitledBorder.TOP);jp.setLayout(new BorderLayout(); JLabel label1 = new JLabel(new ImageIcon(4.jpg);jp.add(label1); /* JLabel JL=new JLabel(欢迎登陆,SwingConstants.CENTER); jp.add(JL,North);*/JLabel
23、label2 = new JLabel(new ImageIcon(2.jpg);/jp.add(label2,South);JScrollPane scrollpane=new JScrollPane(jp);cp.add(scrollpane);setTitle(薄文正 欢迎登陆); Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/setSize(x,y
24、); /*让系统窗口平铺整个显示器窗口*/ setSize(400,400); int xcenter=(x-400)/2; int ycenter=(y-400)/2; setLocation(xcenter,ycenter);/*显示在窗口中央*/setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/注册临听器ClassInfo.addActionListener(this);StudentInfo.addActionListener(this);HeadteacherInfo.addActionListener(
25、this);/Emergency.addActionListener(this);gaiMima.addActionListener(this);public void actionPerformed(ActionEvent e)String cmd=e.getActionCommand();if (cmd.equals(教师信息)new TeacherInfo();if (cmd.equals(突发事件)new Incident();if (cmd.equals(学生信息)new Student();if (cmd.equals(班级信息)new ClassBrower().showReco
26、rd(); if (cmd.equals(修改密码)new UpdatePassword(username);public static void main(Stringargs)new MainInterface();4.3 班级信息import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.util.*;import java.sql.*;class ClassBrower implements ActionListener JFrame f;Container cp;JPanel jpS,jpane
27、lWest;JButton jbt1,jbt2;/按钮,查询、取消、修改JLabel label,L;/标签 /定义文本框JTable table;/用来接收数据库中返回的信息 Object columnName=班级ID,班级名称,班主任,班长,男生,女生; Object ar =new Object116;String sno;String count=xx; ClassBrower() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按钮、标签、文本框jpS=new JPanel(); jpanelWest=new JPanel();/-jbt
28、1=new JButton(确定); jbt2=new JButton(返回);/-label=new JLabel(班级信息,SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel(所有班级+count+个);/- table=new JTable(ar,columnName);/ar存放表中的数据,columnname表示列名JScrollPane scrollpane = new JScrollPane(table);/-/布局,添加控件jpS.add(jbt1);jpS.add(jbt2);JPanel j
29、panel=new JPanel();jpanel.add(label);JPanel pp4=new JPanel(); JPanel jpE=new JPanel();cp.add(jpanel,North);JPanel jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用来放两个表p.setLayout(new BorderLayout();p.add(L,North);p.add(scrollpane); cp.add(pp4,West);cp.add(p,Center); cp.add(jpS,South);cp.
30、add(jpE,East);/- Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/ f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); /- jbt1.a
31、ddActionListener(this);/注册监听器 jbt2.addActionListener(this); /* f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-int i=0; public void showRecord() while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0; tryClass.forName(oracle.jdbc.driver.OracleDriver);
32、 catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);try /String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件String url = jdbc:oracle:oci8:localhost:1521:ORCL;String user = scott; String password = 111111; Connection con=DriverManager.getConnection(u
33、rl,user,password); String s=select * from tb_classDetailInfo ; Statement sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bID=rs.getString(1);String bname=rs.getString(2);String bmaster=rs.getString(3);String bbc=rs.getString(4);String bman=rs.getString(5);String b
34、women=rs.getString(6);ari0=bID;ari1=bname;ari2=bmaster;ari3=bbc;ari4=bman;ari5=bwomen;i+; count=+i+;L.setText(班级+count+个);f.repaint(); con.close(); catch(SQLException g) System.out.println(E Code+g.getErrorCode(); System.out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e) Stri
35、ng cmd=e.getActionCommand(); if(cmd.equals(确定) f.hide(); if(cmd.equals(返回) f.hide(); public static void main(String arg) ClassBrower a=new ClassBrower(); a.showRecord();4.4 学生信息import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.util.*;import javax.swing.JOptionPane;import jav
36、a.sql.*;class Student implements ActionListener JFrame f;Container cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2,jbt3,jbt4;/按钮,查询、取消、修改JLabel label,L;/标签:请输入学号JTextField tf; /定义文本框JTable table;/用来接收数据库中返回的信息 Object columnName=学号,姓名,性别,电话,宿舍号,所属班级; Object ar =new Object806;String sno;int count; Student() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按钮、标签、文本框jpS=new JPanel(); jpanelWest=new JPanel();/-jbt1=new JButton(查询);jbt4=new JButton(增加);jbt2=new JButton(取消); jbt3=new JButton(删除);/-label=new JLabel(请输入要查询的学生:,SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel(学生+count+个