文档库 最新最全的文档下载
当前位置:文档库 › JAVA课程设计仓库管理系统资料

JAVA课程设计仓库管理系统资料

课程设计报告

(本科)

课程:Java

学号:

姓名:

班级:

教师:

时间:2014.11-2014.12

计算机学院

设计名称:仓库管理系统

设计内容、目的与要求:

随着社会发展和人们生活水平、质量的提高,资源管理和派发日益显得重要和突出,从而仓库应之而出。如何更高效地管理仓库资源,成了仓库管理中的当务之急。本仓库管理系统主要对小型仓库而提出的软件管理系统,让用户可以通过本系统进行便捷和高效管理仓库。

使用JAVA和SQL SERVER 2005开发小型仓库管理系统,对小型仓库的信息资源(商品、客户和供应商)、仓库物质动态(出库和进库)和基本的日常信息(仓库盘点和操作记录等)记录、管理和查询,并提供权限管理。本系统共分为个模块:基础信息管理、出入库管理、查询统计和系统管理。

计划与进度安排:

2014年11月10号~2014年11月19号:完成基本设计思路。

2014年11月20号~2014年11月29号:查找资料、分析例题并作出基本构思。2014年11月30号~2014年12月16号:完成程序设计、调试和修改。

2014年12月17号~2014年12月19号:修改并完成课程设计报告。

设计过程、步骤(可加页):

一开发与应用:

本系统主要采用MyEclipse和SQL SERVER 2005编程开发应用于PC机。二程序结构图:

三实体ER图:

四部分建表和程序:

1.1 系统中所用到的部分基本信息表及用途

表名用途

dbo.tb_gysinfo 供应商信息表

tb_spinfo 商品信息表

dbo.tb_khinfo 客户信息表

dbo.tb_kucun 库存信息表用于库存盘点

tb_userlist 操作员信息表用于登录程序

。。。。。。。。。。。。。

1.2 系统中所用到的部分类及用途

类名用途

JXCFrame.java 系统主程序,程序的开始位置

Dao.java 用于连接数据库和信息获取

Login.java 系统登录界面

KuCunPanDian.java 库存盘点

RuKuChaXun.java 入口查询

。。。。。。。。。。。

1.3 系统中所用到的主要方法及用途

方法名用途

createFrameButton为内部窗体添加Action的方法

Dao连接数据库和获取信息

Login()设计系统登录界面

GysXiuGaiPanel()供应商信息添加

GysTianJiaPanel()供应商信息修改与删除

。。。。。。。。。。。。

2.1.1 供应商信息表(dbo.tb_gysinfo)

2.1.2 商品信息表(Dao.java)

2.1.3库存信息表用于库存盘点(dbo.tb_kucun)

2.2.1 系统主程序(JXCFrame.java)部分代码

public JXCFrame() {

frame = new JFrame("仓库管理系统"); //获取对象 frame

frame.getContentPane().setBackground(new Color(170, 188, 120)); //对对象frame的容器设置背景颜色

frame.addComponentListener(new FrameListener());

frame.getContentPane().setLayout(new BorderLayout());

//对对象frame的容器设置???

frame.setBounds(100, 100, 753, 600);

//对对象frame的窗体设置出现的位置和大小

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//对对象frame的窗体设置关闭方式

backLabel = new JLabel();

backLabel.setVerticalAlignment(SwingConstants.TOP);

// 标签内容垂直方向的对齐方式

backLabel.setHorizontalAlignment(SwingConstants.CENTER);

// 标签内容水平方向的对齐方式

updateBackImage();

// 更新或初始化背景图片

desktopPane = new JDesktopPane();

desktopPane.add(backLabel, new Integer(Integer.MIN_VALUE));

frame.getContentPane().add(desktopPane);

JTabbedPane navigationPanel = createNavigationPanel();

// 创建导航标签面板

frame.getContentPane().add(navigationPanel,

BorderLayout.NORTH);

frame.setVisible(true);

}

2.2.2 连接数据库(Dao)部分代码

public class Dao {

protected static String dbClassName= "com.microsoft.sqlserver.jdbc.SQLServerDriver";

protected static String dbUrl= "jdbc:sqlserver://localhost:1433;"+

"DatabaseName=db_JXC;SelectMethod=Cursor";

protected static String dbUser = "sa";

protected static String dbPwd = "";

protected static String second = null;

public static Connection conn = null;

static {

try {

if (conn == null) {

Class.forName(dbClassName).newInstance();

conn= DriverManager.getConnection(dbUrl, dbUser, dbPwd);

}

} catch (Exception ee) {

ee.printStackTrace();

}

}

private Dao() {

}

// 读取所有客户信息

public static List getKhInfos() {

List list = findForList("select id,khname from tb_khinfo");

return list;

}

2.2.3 设计系统登录界面(Login())部分代码

public Login() {

setTitle("仓库管理系统"); // 窗体名

final JPanel panel = new LoginPanel();// 定义一个LoginPanel函数规定的面板

panel.setLayout(null);// 设置面板为绝对布局

getContentPane().add(panel); // 向窗体添加面板

setBounds(300, 200, panel.getWidth(), panel.getHeight());

// 设置窗体位置,大小来于LoginPanel函数传递

userLabel = new JLabel();// 用于提示用户输入的标签userLabel

userLabel.setText("用户名:"); // 对其命名

userLabel.setBounds(100, 115, 200, 18);

// "用户名:"的位置和大小

panel.add(userLabel); // 向??中添加userLabel标签

final JTextField userName = new JTextField();

// 申请文本栏 userName

userName.setBounds(150, 115, 200, 18);

// 文本栏 userName的位置和大小

panel.add(userName);// 向??中添加userName文本栏

passLabel = new JLabel();

passLabel.setText("密码:");

passLabel.setBounds(100, 150, 200, 18);

panel.add(passLabel);

final JPasswordField userPassword = new JPasswordField();

userPassword.addKeyListener(new KeyAdapter() {

public void keyPressed(final KeyEvent e) {

if (e.getKeyCode() == 10)

login.doClick();

}});

2.3.1 为内部窗体添加Action的方法(createFrameButton)部分代码

private JButton createFrameButton(String fName, String cname) { // 为内部窗体添加Action的方法

String imgUrl = "res/ActionIcon/" + fName + ".png";

//查找图片1

String imgUrl_roll = "res/ActionIcon/" + fName +

"_roll.png"; //查找图片1

String imgUrl_down = "res/ActionIcon/" + fName +

"_down.png"; //查找图片1

Icon icon = new ImageIcon(imgUrl);

Icon icon_roll = null;

if (imgUrl_roll != null)

icon_roll = new ImageIcon(imgUrl_roll);

Icon icon_down = null;

if (imgUrl_down != null)

icon_down = new ImageIcon(imgUrl_down);

Action action = new openFrameAction(fName, cname, icon);

JButton button = new JButton(action);

button.setMargin(new Insets(0, 0, 0, 0));

button.setHideActionText(true);

button.setFocusPainted(false);

button.setBorderPainted(false);

button.setContentAreaFilled(false);

if (icon_roll != null)

button.setRolloverIcon(icon_roll);

if (icon_down != null)

button.setPressedIcon(icon_down);

return button;

}

结果与分析(可以加页):

本小型仓库管理系统辅助管理仓库,对小型仓库的信息资源(商品、客户和供应商)、仓库物质动态(出库和进库)和基本的日常信息(仓库盘点和操作记录等)记录、管理和查询功能,提高了工作效率,完善了业务管理,为业主及客人提供了更快捷服务。

本系统具有以下特点:

1. 整个系统数据库连接,可以进行数据备份、还原等操作。

2. 整个系统采用权限分级制度,更为有效的保护数据安全。

3. 本系统提供密码登录,未授予登录名和密码的用户无法登录。

4. 系统数据库中的表满足BCNF,冗余度低,效率高。

5. 一般用户有查询、插入、更新、删除的权力,而管理员不仅拥有这些权力,还有添加删除用户、密码维护等权力。

6. 利用数据库可以一次性添加大量数据,且方便对数据进行复制修改。

本系统存在以下问题:

1.本小型仓库管理系统功能较为单一。

2.界面交互处理的不够友好。

3.本系统并为指定什么类型出库,所以数据、实体的属性处理的不够好。系统运行截图:

1.系统登录:

2. 基础信息管理:

3. 出入库管理:

4. 查询统计:

5.系统管理:

设计体会与建议:

通过这次课程设计使我了解到我有很多的不足,在程序调试的时候常常会因为几个错误而弄得心烦,这说明我对知识的掌握还不够牢,在程序设计的过程中也暴露出了我的诸多弊端,借这次课程设计的机会我会认真的加以改正,多多看书多去图书馆学习,同时应该增强自己的实践能力,为以后的学习打下坚实的基础。

在这次的设计过程中,我学到的不仅是知识,还有合作的可贵。由于这次设计涉及到数据库,我学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解。这次设计对我的综合能力是一次很好的锻炼,但是我必须承认自己的能力和知识水平还不够,今后我的学习道路还是很漫长的。

在这次课程设计的过程中,感受到坚持的重要性。做事情不能轻言谈放弃,虽然过程不顺利,与想象中相去甚远。但是只要我们能坚持,朝着自己既定的目标前进,就一定会走到终点。一点小小的挫折实际上是在为最后的美景做铺垫,当我们守得云开见月明的时候,就会发现,沿途的曲折其实是在考验我们的目标是否坚定。坚持下来,我们会收获丰硕的果实。

谢雅洁:

课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

相关文档
相关文档 最新文档