基于Java的管理信息系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
************************************************* 程序文件名称:Main.java 功能:管理信息系统入口 *************************************************
import java.awt.*; import java.awt.event.WindowEvent; import javax.swing.*; import java.util.*; public class Main { public static void main(String[] args) {
15
否 返 回 系 统
删除读者信息
读者管理
保存读者信息
8.3.2 E-R图
这里我们应用到数据库中3张表的E-R图, 如图10-6所示:
returnDate bookID readerID borrowDate N borrow N 包含 bookID bookName 1 book publishDate E-mail 借阅 1 reader phone name sex
23
Login.java程序核心代码分析:
//登陆用户密码判断 if(jTextField2.getText().toLowerCase().equals(Loginuser.toL owerCase()) && isPasswordCorrect(password)) { //加载主窗体 mainFrame frame = new mainFrame(user); //设置的使用权限 /*如果是普通用户的话,某些功能块不可使用,则使用 setEnabled(boolean)来设置,将取值设为false即可。*/ … } else{JOptionPane.showMessageDialog(null, "登录失败", "出错", JOptionPane.ERROR_MESSAGE); }
5
(2) ODBC数据源管理器中包括如下几个不同的选项卡:
用户DSN: ODBC用户数据源存储了如何与指定数据库提供者连接 的 信息。只对当前用户可见,而且只能于当前机器上。
系统DSN: 同用户DSN的作用相同,是对当前机器上的所有用户都是
可见的。 文件DSN: 可以由安装了相同驱动程序的用户共享。这是界于用户
20
8.4.2 快闪窗口程序(Splash.java)
使用了线程来执行调用登录程序和延时功能,其窗口显示30秒钟后自 动消失。注意,可使用一个timer.schedule()复合语句组成的方法: java.util.Timer timer = new Timer(true); timer.schedule(new java.util.TimerTask() { public void run() { i++; /* 延时300毫秒 */ if (i == 300) { i = 0; Login frame = new Login(); … }} } , 0, 30);
作权限,决定他们所能执行的功能。
(3)图书管理模块:新书登记,图书查询,图书注销; (4)读者管理模块:增加读者、删除读者、查询读者、修改读者
(5)借阅管理模块:借书,还书,查询到期读者。
(6)系统设置模块:供系统管理员使用,包括用户权限管理(增加用户, 删除用户,密码修改等),系统借书日志,系统运行日志等功能。
方法名
public Login(); private void jbInit(); Private boolean isPasswordCorrect()) public void actionPerformed();
功能描述
构造函数 设置组件,布局 判断密码是否正确 “取消”按钮:退出系 统,“确定”按钮:连 接数据库、密码验证、 获取用户操作权限、加 载主窗体
17
图10-9 book表的字段设计
图10-10 book表的初始数据
图10-11 borrow表的字段设计
图10-12 borrow表的初始数据
18
8.4 图书管理系统的实现
本项目的实现,包括快闪窗口设计、登录界面设计、系统主 界面的设计及系统功能的设计。
8.4.1 系统启动界面设计
系统启动界面程序Main.java是管理信息系统的入口,它主要 完成对快闪窗口Splash.java的调用。
注意:加载JDBC驱动程序可能发生异常,因此必须捕获异常。
8
(2)连接数据库有两种方式: 设置了数据源: try{ Connection con=DriverManager.getConnection(“jdbc:odbc: 数据源”,“用户名”,“密码"); } catch(SQLException e) { System.out.println(e); } 无设置数据源 try{ Connection con=DriverManager.getConnection(“jdbc:odbc: Driver={Microsoft Access Driver (*.mdb)};”+ “DBQ=数据库名”);} 空一格 catch(SQLException e) { System.out.println(e); }
21
8.4.3 登录程序(Login.java)
本程序主要是进行用户密码验证,以及根据用户所拥 有的权限确定在主执行程序中调用相应的子项目功能。
wk.baidu.com
“用户登录”窗口的界面如图10-13所示:
图10-13 用户登录窗口
22
用户登录程序:Login.java所使用的方法如表10-1所示。
表10.1 Login.java使用的方法
readerID
readerlevel
author
publish
图10-6 系统数据库E-R图
16
reader表用于存放读者信息,borrow表用于存放借书 记录, book表存放书目信息.各表的字段设计及初 始数据如图10-7~图10-12所示。
图10-7 reader表的字段设计
图10-8 reader表的初始数据
13
出错信息 否
输入用户名 进入登录界面
输入密码 是 否 通过验证? 是 进入系统 图10-4 登录模块流程
14
数据库连接成功?
图书管理系统功能模块主要包括图书管理、读 者管理、图书借阅、系统设置等。我们以读者管理模块为 例,其主要实现对读者信息增、删、查、改等功能。
增加读者信息
存盘? 是 修改读者信息 查询读者信息 图10-5 读者管理流程
12
8.3 业务流程图与E-R图
10.3.1 业务流程图 系统登录模块业务流程图和图书管理系统业 务流程图,如图10-4、10-5所示。
登录操作比较简单,用户名和密码都存储在 数据库中,系统在接到用户名与口令后,与数据库 建立连接,在进行密码验证,验证无误后就可进入 系统。当然,一个健壮的程序一定要有出错处理, 所以在连接数据库失败的时候,要输出出错信息让 用户知道问题出在哪里。
图10-2 ODBC连接属性
7
接下来,在“数据源名”文本框随意取个名字→单击 “选 择”按钮,设置要连接的数据库→单击“确定”按钮→假若 要为 数据源设置一个用户名和密码,则在该窗口中再选择“高 级”按钮,设置自己喜欢的登录名称与密码后,连续单击 “确 定”按钮就完成了全部过程。
用JDBC-ODBC桥实现连接数据库的几个步骤 (1)加载驱动程序 try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);} catch(ClassNotFoundException e){System.out.println(e);}
4
8.1.2 数据库连接技术及实现 数据库应用程序的开发必须要建立与数据库的连接,通常我们 使用JDBC-ODBC桥来实现系统与数据库的连接。
设置ODBC数据源 (1) 打开Windows控制面板中 “管理工具” “数据源(ODBC)”,出 现图10-1所示的ODBC数据源管理器。
图10-1 ODBC数据源管理器
19
boolean packFrame = false; Splash frame = new Splash(); if (packFrame) { frame.pack(); } else { frame.validate(); } Dimension screenSize1 = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize1 = frame.getSize(); if (frameSize1.height > screenSize1.height) { frameSize1.height = screenSize1.height; } if (frameSize1.width > screenSize1.width) { frameSize1.width = screenSize1.width; } frame.setLocation( (screenSize1.width - frameSize1.width) / 2, (screenSize1.height - frameSize1.height) / 2); frame.show(); // frame.setVisible(true); } }
2
8.1 背景与主要技术介绍
对于图书馆及书店而言,随着图书的大量增加,其 管理难度也越来越大,手工处理的方式已经不能满足日常
的管理需求,使用计算机对图书信息进行管理,具有手工
管理无法比拟的优点。目前,一个现代化的图书管理信息 系统已经成为现代图书管理不可缺少的管理手段。
3
8.1.1 应用背景
图书管理系统属于数据库应用程序,在 Java 中对 数据库的访问主要是通过 JDBC 进行的。对数据库的 应用首先必须要连接数据库,数据库管理系统将在连 接时对用户进行安全性认证。相应地,不同的用户具 有不同的访问数据库的权限,同时,一个成熟的数据 库管理系统还应保证数据的相关性和完整性。
9
(3)向数据库发送SQL语句并处理结果
try{Statement sql=con.creaeStatement();} catch(SQLException e){System.out.println(e); }
ResultSet rs=sql.executeUpdate(“SQL语句”); ResultSet类的对象调用next()方法,依次一条条读取结果集中的 记录。 (4)关闭数据库的连接 对数据库操作完毕后,应该将与数据库的连接关闭: con.close();
DSN和系统DSN之间的一种共享情况。
驱动: 列出了本机上所有安装的数据库驱动程序信息。 跟踪: 这里面可设定ODBC日志的路径和文件名。
连接池: 连接池允许应用程序重用原来打开的连接句柄,这样就可以
节省到服务器的往返过程。
6
这里我们选择系统DSN,单击 “添加”按钮,添 加一个新的数据源,选择需要安装的数据源驱动程 序类型。选择Microsoft Access Driver(*.mdb),单击 “完成”按钮,出现图10-2所示的ODBC连接属性。
10
8.2 概要设计
在对系统需求分析的基础上,对图书管理系统总 体结构设计如图10-3所示:
程序启动界面 登录界面
系统主界面
图 书 管 理
读 者 管 理
借 阅 管 理 图10-3系统总体结构图
系 统 设 置
11
各模块简要说明如下:
(1)程序启动界面(快闪窗口),显示30秒钟后自动消失。 (2)登录模块:提供登录用户和密码验证,根据不同的用户具有不同的操
第 8讲
基于Java的管理信息系统
教学目标与要求: 了解软件开发的过程 学会开发一个简单的管理信息系统 教学重点、难点: 1. 教学重点: 功能模块的分析与设计 数据库结构设计 2.教学难点: 功能模块的分析与设计
1
导入:
从软件工程的角度分析,开发一个管理信 息系统,通常分为需求分析、系统分析、系统 设计、系统实施等阶段,本次课着重介绍系 统分析、系统设计部分,针对一个具体的应 用系统—图书管理系统,分析其设计的全过 程。
import java.awt.*; import java.awt.event.WindowEvent; import javax.swing.*; import java.util.*; public class Main { public static void main(String[] args) {
15
否 返 回 系 统
删除读者信息
读者管理
保存读者信息
8.3.2 E-R图
这里我们应用到数据库中3张表的E-R图, 如图10-6所示:
returnDate bookID readerID borrowDate N borrow N 包含 bookID bookName 1 book publishDate E-mail 借阅 1 reader phone name sex
23
Login.java程序核心代码分析:
//登陆用户密码判断 if(jTextField2.getText().toLowerCase().equals(Loginuser.toL owerCase()) && isPasswordCorrect(password)) { //加载主窗体 mainFrame frame = new mainFrame(user); //设置的使用权限 /*如果是普通用户的话,某些功能块不可使用,则使用 setEnabled(boolean)来设置,将取值设为false即可。*/ … } else{JOptionPane.showMessageDialog(null, "登录失败", "出错", JOptionPane.ERROR_MESSAGE); }
5
(2) ODBC数据源管理器中包括如下几个不同的选项卡:
用户DSN: ODBC用户数据源存储了如何与指定数据库提供者连接 的 信息。只对当前用户可见,而且只能于当前机器上。
系统DSN: 同用户DSN的作用相同,是对当前机器上的所有用户都是
可见的。 文件DSN: 可以由安装了相同驱动程序的用户共享。这是界于用户
20
8.4.2 快闪窗口程序(Splash.java)
使用了线程来执行调用登录程序和延时功能,其窗口显示30秒钟后自 动消失。注意,可使用一个timer.schedule()复合语句组成的方法: java.util.Timer timer = new Timer(true); timer.schedule(new java.util.TimerTask() { public void run() { i++; /* 延时300毫秒 */ if (i == 300) { i = 0; Login frame = new Login(); … }} } , 0, 30);
作权限,决定他们所能执行的功能。
(3)图书管理模块:新书登记,图书查询,图书注销; (4)读者管理模块:增加读者、删除读者、查询读者、修改读者
(5)借阅管理模块:借书,还书,查询到期读者。
(6)系统设置模块:供系统管理员使用,包括用户权限管理(增加用户, 删除用户,密码修改等),系统借书日志,系统运行日志等功能。
方法名
public Login(); private void jbInit(); Private boolean isPasswordCorrect()) public void actionPerformed();
功能描述
构造函数 设置组件,布局 判断密码是否正确 “取消”按钮:退出系 统,“确定”按钮:连 接数据库、密码验证、 获取用户操作权限、加 载主窗体
17
图10-9 book表的字段设计
图10-10 book表的初始数据
图10-11 borrow表的字段设计
图10-12 borrow表的初始数据
18
8.4 图书管理系统的实现
本项目的实现,包括快闪窗口设计、登录界面设计、系统主 界面的设计及系统功能的设计。
8.4.1 系统启动界面设计
系统启动界面程序Main.java是管理信息系统的入口,它主要 完成对快闪窗口Splash.java的调用。
注意:加载JDBC驱动程序可能发生异常,因此必须捕获异常。
8
(2)连接数据库有两种方式: 设置了数据源: try{ Connection con=DriverManager.getConnection(“jdbc:odbc: 数据源”,“用户名”,“密码"); } catch(SQLException e) { System.out.println(e); } 无设置数据源 try{ Connection con=DriverManager.getConnection(“jdbc:odbc: Driver={Microsoft Access Driver (*.mdb)};”+ “DBQ=数据库名”);} 空一格 catch(SQLException e) { System.out.println(e); }
21
8.4.3 登录程序(Login.java)
本程序主要是进行用户密码验证,以及根据用户所拥 有的权限确定在主执行程序中调用相应的子项目功能。
wk.baidu.com
“用户登录”窗口的界面如图10-13所示:
图10-13 用户登录窗口
22
用户登录程序:Login.java所使用的方法如表10-1所示。
表10.1 Login.java使用的方法
readerID
readerlevel
author
publish
图10-6 系统数据库E-R图
16
reader表用于存放读者信息,borrow表用于存放借书 记录, book表存放书目信息.各表的字段设计及初 始数据如图10-7~图10-12所示。
图10-7 reader表的字段设计
图10-8 reader表的初始数据
13
出错信息 否
输入用户名 进入登录界面
输入密码 是 否 通过验证? 是 进入系统 图10-4 登录模块流程
14
数据库连接成功?
图书管理系统功能模块主要包括图书管理、读 者管理、图书借阅、系统设置等。我们以读者管理模块为 例,其主要实现对读者信息增、删、查、改等功能。
增加读者信息
存盘? 是 修改读者信息 查询读者信息 图10-5 读者管理流程
12
8.3 业务流程图与E-R图
10.3.1 业务流程图 系统登录模块业务流程图和图书管理系统业 务流程图,如图10-4、10-5所示。
登录操作比较简单,用户名和密码都存储在 数据库中,系统在接到用户名与口令后,与数据库 建立连接,在进行密码验证,验证无误后就可进入 系统。当然,一个健壮的程序一定要有出错处理, 所以在连接数据库失败的时候,要输出出错信息让 用户知道问题出在哪里。
图10-2 ODBC连接属性
7
接下来,在“数据源名”文本框随意取个名字→单击 “选 择”按钮,设置要连接的数据库→单击“确定”按钮→假若 要为 数据源设置一个用户名和密码,则在该窗口中再选择“高 级”按钮,设置自己喜欢的登录名称与密码后,连续单击 “确 定”按钮就完成了全部过程。
用JDBC-ODBC桥实现连接数据库的几个步骤 (1)加载驱动程序 try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);} catch(ClassNotFoundException e){System.out.println(e);}
4
8.1.2 数据库连接技术及实现 数据库应用程序的开发必须要建立与数据库的连接,通常我们 使用JDBC-ODBC桥来实现系统与数据库的连接。
设置ODBC数据源 (1) 打开Windows控制面板中 “管理工具” “数据源(ODBC)”,出 现图10-1所示的ODBC数据源管理器。
图10-1 ODBC数据源管理器
19
boolean packFrame = false; Splash frame = new Splash(); if (packFrame) { frame.pack(); } else { frame.validate(); } Dimension screenSize1 = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize1 = frame.getSize(); if (frameSize1.height > screenSize1.height) { frameSize1.height = screenSize1.height; } if (frameSize1.width > screenSize1.width) { frameSize1.width = screenSize1.width; } frame.setLocation( (screenSize1.width - frameSize1.width) / 2, (screenSize1.height - frameSize1.height) / 2); frame.show(); // frame.setVisible(true); } }
2
8.1 背景与主要技术介绍
对于图书馆及书店而言,随着图书的大量增加,其 管理难度也越来越大,手工处理的方式已经不能满足日常
的管理需求,使用计算机对图书信息进行管理,具有手工
管理无法比拟的优点。目前,一个现代化的图书管理信息 系统已经成为现代图书管理不可缺少的管理手段。
3
8.1.1 应用背景
图书管理系统属于数据库应用程序,在 Java 中对 数据库的访问主要是通过 JDBC 进行的。对数据库的 应用首先必须要连接数据库,数据库管理系统将在连 接时对用户进行安全性认证。相应地,不同的用户具 有不同的访问数据库的权限,同时,一个成熟的数据 库管理系统还应保证数据的相关性和完整性。
9
(3)向数据库发送SQL语句并处理结果
try{Statement sql=con.creaeStatement();} catch(SQLException e){System.out.println(e); }
ResultSet rs=sql.executeUpdate(“SQL语句”); ResultSet类的对象调用next()方法,依次一条条读取结果集中的 记录。 (4)关闭数据库的连接 对数据库操作完毕后,应该将与数据库的连接关闭: con.close();
DSN和系统DSN之间的一种共享情况。
驱动: 列出了本机上所有安装的数据库驱动程序信息。 跟踪: 这里面可设定ODBC日志的路径和文件名。
连接池: 连接池允许应用程序重用原来打开的连接句柄,这样就可以
节省到服务器的往返过程。
6
这里我们选择系统DSN,单击 “添加”按钮,添 加一个新的数据源,选择需要安装的数据源驱动程 序类型。选择Microsoft Access Driver(*.mdb),单击 “完成”按钮,出现图10-2所示的ODBC连接属性。
10
8.2 概要设计
在对系统需求分析的基础上,对图书管理系统总 体结构设计如图10-3所示:
程序启动界面 登录界面
系统主界面
图 书 管 理
读 者 管 理
借 阅 管 理 图10-3系统总体结构图
系 统 设 置
11
各模块简要说明如下:
(1)程序启动界面(快闪窗口),显示30秒钟后自动消失。 (2)登录模块:提供登录用户和密码验证,根据不同的用户具有不同的操
第 8讲
基于Java的管理信息系统
教学目标与要求: 了解软件开发的过程 学会开发一个简单的管理信息系统 教学重点、难点: 1. 教学重点: 功能模块的分析与设计 数据库结构设计 2.教学难点: 功能模块的分析与设计
1
导入:
从软件工程的角度分析,开发一个管理信 息系统,通常分为需求分析、系统分析、系统 设计、系统实施等阶段,本次课着重介绍系 统分析、系统设计部分,针对一个具体的应 用系统—图书管理系统,分析其设计的全过 程。