Java课程设计报告java程序的设计说明.docx
- 文档编号:16376670
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:37
- 大小:88.39KB
Java课程设计报告java程序的设计说明.docx
《Java课程设计报告java程序的设计说明.docx》由会员分享,可在线阅读,更多相关《Java课程设计报告java程序的设计说明.docx(37页珍藏版)》请在冰点文库上搜索。
Java课程设计报告java程序的设计说明
Java课程设计报告
专业:
09软件
摘要
随着近年来计算机和网络不断普及与发展,越来越多的行业都着力于对计算机或者是与其相关的系统的应用和发展。
对高校而言拥有一套完整实用的教师管理系统是实现教务智能管理不可缺少的软件。
管理员通过该系统可以在任何地方、任何时间快速、便捷的对教师的管理。
用户也可以随时随地通过该教师管理系统快速、便捷的查询、浏览教师的信息,以摆脱传统方式的效率低、消息滞后的弊端。
因此应该大力推进教师管理系统在高校中的应用。
随着计算机和internet在大学校园的不断普及,教师管理系统的发展也日趋成熟,并且相比于传统方式优势和特点更加的突出:
检索迅速、查找方便、易修改、实时性高、可靠性高、信息量大、数据处理快捷、寿命长、成本低、等。
这些优点能够极提高高校教学管理的效率,也是学校的科学化、正规化管理和智能化管理,与世界接轨的重要条件。
更重要是教师管理系统用户可以不需要客户端软件登录系统,因此,现在几乎所有的高校都有一个网络化的教师管理系统,为了充分发挥智能化的教师管理系统的作用,解决教务管理的难题,因此开发功能更强、更智能的教师管理系统很有必要。
关键词:
教师管理系统,Access2003,检索,数据,管理
摘要
前言
一、系统可行性分析
二、需求分析
2.1系统需求分析
2.2系统运行环境和开发平台分析
三、系统整体设计
3.1系统功能模块设计
3.2系统功能结构设计
四、系统数据库设计
4.3数据库详细设计
五、系统详细设计
5.1系统登录界面
5.2系统首页界面
5.3数据添加界面
5.4数据修改界面
5.5数据查找界面
5.6管理员添加界面
5.7源代码清单
结论
参考文献
前言
随着近年来计算机的不断普及,越来越多的行业都着力于对计算机或者是与其相关的系统的应用和发展。
对高校而言拥有一套完整实用的教学管理系统是实现教务智能管理不可缺少的软件。
随着计算机和internet在大学校园的不断普及,教学管理系统的发展也日趋成熟,并且相比于传统方式优势和特点更加的突出:
检索迅速、查找方便、易修改、实时性高、可靠性高、信息量大、数据处理快捷、寿命长、成本低等。
这些优点能够极提高高校教学管理的效率,也是学校的科学化、正规化管理和智能化管理,与世界接轨的重要条件。
目前几乎所有的高校都有各自的教务管理系统,然而就目前的大多数的教务管理系统而言都仅仅是发布公告和上传、发布教学文件而已。
为了发挥教务管理系统更大的优势,解决学校排课难的大问题,我在目前流行的教务管理系统的基础上,增加了智能排课的功能。
这也是我开发的教务管理系统最大的创新之处。
可行性分析在整个系统的开发过程中有非常重要的意义,软件可行性分析的目的是用合适的代价解决足够的问题。
对该教务管理系统我从以下三个方面进行可行性分析:
技术可行性、经济可行性、操作可行性。
一、系统可行性分析
1.1技术可行性
采用JAVA技术实现这个系统。
基于java的教师管理系统采用图形界面来设计,通过数据源来连接数据库,更新的数据直接提交到数据库。
1.2经济可行性
开发一套教师管理系统并不需要过多的时间、人力和金钱,只需在一个完备的设计方案,严格按照设计方案进行开发即可。
并且这样的系统在高校的所发挥的作用远远越过开发的成本,因此在经济上有很强的可行性。
1.3操作可行性
用户只需要通过运行JAVA程序就可以对教务管理系统进行一系列的操作,因此在操作上也有可行性。
综上所述,开发一套这样的教师管理系统是非常可行的。
二、需求分析
2.1、系统需求分析
在前面可行性分析阶段已经粗略的研究了本系统的需求,并分析了开发平台及软件的可行性。
详细需求概括为以下几个方面:
1、登录管理
指定一个系统管理员进入系统对登录模块的验证,管理员都有指定的用户名和密码,管理员进入系统可以添加新的管理员,在没有指定用户名和密码的用户没有权限访问系统。
2、用户管理
系统管理员通过用户管理模块对系统的用户进行有效的管理。
管理员可以为系统添加四类用户:
教师、管理员。
添加教师信息时需要输入的教师的信息包括工号、、密码、性别、民族、年龄、工资、课时费、所教专业。
添加管理员包括的信息有ID号、密码。
管理员可以根据需要随时修改和删除用户的相关信息。
2.2系统运行环境和开发平台分析
硬件环境:
服务器端/客户端:
处理器:
IntelPentiumIII以上
存:
512M以上推荐1G或更高
硬盘空间:
80G以上
软件环境:
服务器端/客户端:
操作系统:
WindowsXP
开发工具:
JAVA+Access2003
三、系统整体设计
3.1系统功能模块设计
衡量一个软件的最根本的标准是软件功能强弱。
经过对系统的可行性分析、需求分析、技术分析后,结合调研的情况及用户的使用需求,确定了本系统的功能模块如图4.1所示。
图4.1
3.2系统功能结构设计
用户通过登录页面的验证就可以进入系统,管理员通过管理员模块进行个人信息浏览与密码修改。
系统管员在本系统中拥有最高的权限,除以上权限外,还能对教师信息进行管理(添加、修改、查找、删除),还可以进行管理员的添加和删除。
具体功能的结构图如图4-2所示。
四、系统数据库设计
4.1数据库详细设计
1、名称:
教师信息表
字段名
数据类型
大小
备注
约束
工号
文本
50
主键
文本
8
性别
文本
2
民族
文本
8
年龄
数字
整型
工资
数字
整型
课时费
数字
整型
所教专业
文本
50
2、名称:
管理员
字段名
数据类型
大小
备注
约束
用户名
文本
30
主键
密码
密码
30
五、系统详细设计
5.1系统登录界面
管理员进入系统之前都必须经过登录页面进行登录,以便验证,身份验证成功之后方能进入系统。
每个管理员都有唯一的账号和密码登录系统。
登录界面如图5.1:
图5.1
5.2系统首页界面
在首页上由菜单栏、信息表显示区两个部分组成。
如图5.2
图5.2
5.3数据添加界面
在数据编辑里选择添加,进入添加面板,编辑需要输入的数据,提交到数据库,确定后,在表格显示区就会出现刚才所编辑的数据,如图5.3
图5.3
5.4数据修改界面
在表格显示区选择要修改的数据,然后清除原有的数据,把新数据输入按确定提交到数据库,即可以修改完成。
如图5.4
图5.4
5.5数据查找界面
可以快速的查找需要的数据,可以按工号,,性别等查找,如图5.5
图5.5
5.6用户的添加界面
主要是添加管理员,只需要输入用户名和密码,还可以对管理员的删除,如图5.6图5.6
5.6源代码清单
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjavax.swing.border.*;
importjavax.swing.JOptionPane;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.table.DefaultTableModel;
importjavax.swing.table.TableColumn;
importjava.sql.*;
importjava.awt.GridLayout;
publicclassTeacher{
publicTeacher(){
}
publicstaticvoidmain(String[]args){
//TODOcodeapplicationlogichere
loginFramelf=newloginFrame();
lf.setVisible(true);
lf.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
}
}
//主界面
classmainFrameextendsJFrameimplementsActionListener{
MenuBarmyMenuBar=newMenuBar();
MenumyMenuFile,myMenuEdit,myMenuUser,myMenuAbout;
MenuItemmiNew,miOpen,miSave,miSaveAs,miExit;
MenuItemmiAdd,miEdit,miDel,miFind,miShow,miUser,miAbout;
publicJTabletable=newJTable();
publicDefaultTableModelmm;
publicmainFrame(){
myMenuFile=newMenu("文件");
miNew=newMenuItem("新建");
miOpen=newMenuItem("打开");
miSave=newMenuItem("保存");
miExit=newMenuItem("退出");
miNew.enable(false);
miOpen.enable(false);
miSave.enable(false);
myMenuFile.add(miNew);
myMenuFile.add(miOpen);
myMenuFile.add(miSave);
myMenuFile.add(miExit);
myMenuEdit=newMenu("数据编辑");
miFind=newMenuItem("查找数据");
miAdd=newMenuItem("添加数据");
miEdit=newMenuItem("修改数据");
miDel=newMenuItem("删除数据");
miShow=newMenuItem("全部显示");
myMenuEdit.add(miFind);
myMenuEdit.add(miAdd);
myMenuEdit.add(miEdit);
myMenuEdit.add(miDel);
myMenuEdit.add(miShow);
myMenuUser=newMenu("用户");
miUser=newMenuItem("编辑用户");
myMenuUser.add(miUser);
myMenuAbout=newMenu("我的作业");
miAbout=newMenuItem("作业说明");
myMenuAbout.add(miAbout);
myMenuBar.add(myMenuFile);
myMenuBar.add(myMenuEdit);
myMenuBar.add(myMenuUser);
myMenuBar.add(myMenuAbout);
String[]col={"工号","","性别","民族","年龄","工资","课时费","所教专业"};//创建属性列名
mm=newDefaultTableModel(col,0);
table.setModel(mm);
JScrollPanetableScrollPane=newJScrollPane(table);
this.setMenuBar(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);
}
publicvoidfreshTable(Stringsql){
myConnectionconn=newmyConnection();
ResultSetrs;
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.getString("民族");
String年龄=rs.getString("年龄");
String工资=rs.getString("工资");
String课时费=rs.getString("课时费");
String所教专业=rs.getString("所教专业");
String[]cloumns={工号,,性别,民族,年龄,工资,课时费,所教专业};
mm.addRow(cloumns);
}
//table.clearSelection();
table.setModel(mm);
}catch(Exceptione){
System.out.println(e.toString());
}
}
}
publicvoidactionPerformed(ActionEvente){
//退出
if(e.getSource()==miExit){
System.exit(0);
//查找
}elseif(e.getSource()==miFind){
findFrameff=newfindFrame(this);
ff.setVisible(true);
//添加
}elseif(e.getSource()==miAdd){
addFrameaf=newaddFrame(this);
af.setVisible(true);
//修改
}elseif(e.getSource()==miEdit){
if(table.getSelectedRow()==-1){
JOptionPane.showMessageDialog(null,"请选择你要修改的容","温馨提示",JOptionPane.INFORMATION_MESSAGE);
}else{
editFrameef=neweditFrame(this);
ef.工号.setText((String)table.getValueAt(table.getSelectedRow(),0));
ef..setText((String)table.getValueAt(table.getSelectedRow(),1));
ef.性别.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.getSelectedRow(),6));
ef.所教专业.setText((String)table.getValueAt(table.getSelectedRow(),7));ef.setVisible(true);
this.freshTable("select*from教师信息表");
}
//删除
}elseif(e.getSource()==miDel){
if(table.getSelectedRow()==-1){
JOptionPane.showMessageDialog(null,"请选择你要删除的行","温馨提示",JOptionPane.INFORMATION_MESSAGE);
}else
{
Stringsql="deletefrom教师信息表where工号='"+table.getValueAt(table.getSelectedRow(),0)+"'";
//JOptionPane.showMessageDialog(null,sql,"温馨提示",JOptionPane.INFORMATION_MESSAGE);
myConnectionconn=newmyConnection();
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null,"成功删除","温馨提示",JOptionPane.INFORMATION_MESSAGE);
this.freshTable("select*from教师信息表");
}else{
JOptionPane.showMessageDialog(null,"未知错误","删除失败",JOptionPane.INFORMATION_MESSAGE);
}
}
//显示
}elseif(e.getSource()==miShow){
//JOptionPane.showMessageDialog(null,"未知错误","删除失败",JOptionPane.INFORMATION_MESSAGE);
this.freshTable("select*from教师信息表");
//用户管理
}elseif(e.getSource()==miUser){
userFrameuf=newuserFrame();
uf.setVisible(true);
//关于
}elseif(e.getSource()==miAbout){
aboutFrameaf=newaboutFrame();
af.setVisible(true);
}
}
}
classmyConnection{
ResultSetre;
Stringstrurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=教师信息数据库.mdb";
publicmyConnection(){}
publicResultSetgetResult(Stringsql){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionconn=DriverManager.getConnection(strurl);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSetre=stmt.executeQuery(sql);
returnre;
}
catch(Exceptione){
System.out.println("getResult------"+e.toString());
returnnull;
}
}
publicbooleanexecuteSql(Stringsql){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionconn=DriverManager.getConnection(strurl);
Statementstmt=conn.createStatement();
stmt.executeUpdate(sql);
mit();
returntrue;
}
catch(Exceptione){
System.out.println("executeSql----"+e.toString());
returnfalse;
}
}
}
classaddFrameextendsJDialogimplementsActionListener{
publicstaticfinalintWIDTH=400;
publicstaticfinalintHEIGHT=400;
JLabel工号1,1,性别1,民族1,年龄1,工资1,课时费1,所教专业1;
JTextField工号,,性别,民族,年龄,工资,课时费,所教专业;
JButtonb;
JPanelp;
mainFramemf;
publicaddFrame(mainFramemmf){
setTitle("修改教师信息");
setSize(WIDTH,HEIGHT);
setLoca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 报告 程序 设计 说明
![提示](https://static.bingdoc.com/images/bang_tan.gif)