1、 课程设计汇报 (本科) 课程: Java 学号: 姓名: 班级: 老师: 时间: .11-.12 计算机学院 设计名称: 仓库管理系统 设计内容、目标和要求: 伴随社会发展和大家生活水平、质量提升,资源管理和派发日益显得关键和突出,从而仓库应之而出。怎样更高效地管理仓库资源,成了仓库管理中当务之急。本仓库管理系统关键对小型仓库而提出软件管理系统,让用户能够经过本系统进行便捷和高效管理仓库。 使用JAVA和SQL SERVER 开发小型仓库管理系统,对小型仓库信息资源(商品、用户和供给商)
2、仓库物质动态(出库和进库)和基础日常信息(仓库盘点和操作统计等)统计、管理和查询,并提供权限管理。本系统共分为个模块:基础信息管理、出入库管理、查询统计和系统管理。 计划和进度安排: 11月10号~11月19号:完成基础设计思绪。 11月20号~11月29号:查找资料、分析例题并作出基础构思。 11月30号~12月16号:完成程序设计、调试和修改。 12月17号~12月19号:修改并完成课程设计汇报。 设计过程、步骤(可加页): 一 开发和应用: 本系统关键采取MyEclipse和SQL SERVER 编程开发应用于PC机。
3、 二 程序结构图: 三 实体ER图: 四 部分建表和程序: 1.1 系统中所用到部分基础信息表及用途 表名 用途 dbo.tb_gysinfo 供给商信息表 tb_spinfo 商品信息表 dbo.tb_khinfo 用户信息表 dbo.tb_kucun 库存信息表用于库存盘点 tb_userlist 操作员信息表用于登录程序 。。。。。。 。。。。。。。 1.2 系统中所用到部分类及用途 类名 用途 JXCFrame.java 系统主程序,程序开
4、始位置 Dao.java 用于连接数据库和信息获取 Login.java 系统登录界面 KuCunPanDian.java 库存盘点 RuKuChaXun.java 入口查询 。。。。。 。。。。。。 1.3 系统中所用到关键方法及用途 方法名 用途 createFrameButton 为内部窗体添加Action方法 Dao 连接数据库和获取信息 Login() 设计系统登录界面 GysXiuGaiPanel() 供给商信息添加 GysTianJiaPanel() 供给商信息修改和删除 。。。。。。 。。。。。。 2.1.
5、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
6、)); //对 对象frame容器设置背景颜色 frame.addComponentListener(new FrameListener()); frame.getContentPane().setLayout(new BorderLayout()); //对 对象frame容器设置??? frame.setBounds(100, 100, 753, 600); //对 对象frame窗体设置出现位置和大小 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //对 对象fram
7、e窗体设置关闭方法 backLabel = new JLabel(); backLabel.setVerticalAlignment(SwingConstants.TOP); // 标签内容 垂直方向对齐方法 backLabel.setHorizontalAlignment(SwingConstants.CENTER); // 标签内容 水平方向对齐方法 updateBackImage(); // 更新或初始化背景图片 desktopPane = new JDesktopPane(); deskto
8、pPane.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)部分代码
9、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 = "";
10、 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(); }
11、 } 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函数
12、要求面板 panel.setLayout(null);// 设置面板为绝对布局 getContentPane().add(panel); // 向窗体添加面板 setBounds(300, 200, panel.getWidth(), panel.getHeight()); // 设置窗体位置, 大小来于LoginPanel函数传输 userLabel = new JLabel();// 用于提醒用户 输入标签userLabel userLabel.setText("用户名:"); // 对其命名 userLabel.setBounds(100, 115,
13、 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(); pa
14、ssLabel.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.d
15、oClick(); }}); 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 St
16、ring 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
17、); 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 (i
18、con_roll != null) button.setRolloverIcon(icon_roll); if (icon_down != null) button.setPressedIcon(icon_down); return button; } 结果和分析(能够加页): 本小型仓库管理系统辅助管理仓库,对小型仓库信息资源(商品、用户和供给商)、仓库物质动态(出库和进库)和基础日常信息(仓库盘点和操作统计等)统计、管理和查询功效,提升了工作效率,完善了业务管理,为业主及客人提供了愈加快捷服务。 本系统含有以下特点:
19、 1. 整个系统数据库连接,能够进行数据备份、还原等操作。 2. 整个系统采取权限分级制度,更为有效保护数据安全。 3. 本系统提供密码登录,未授予登录名和密码用户无法登录。 4. 系统数据库中表满足BCNF,冗余度低,效率高。 5. 通常见户有查询、插入、更新、删除权力,而管理员不仅拥有这些权力,还有添加删除用户、密码维护等权力。 6. 利用数据库能够一次性添加大量数据,且方便对数据进行复制修改。 本系统存在以下问题: 1. 本小型仓库管理系统功效较为单一。 2. 界面交互处理不够友好。 3. 本系统并为指定什么类型出库,所以数据、实体属性处理不够好。 系
20、统运行截图: 1. 系统登录: 2. 基础信息管理: 3. 出入库管理: 4. 查询统计: 5.系统管理: 设计体会和提议: 经过这次课程设计使我了解到我有很多不足,在程序调试时候常常会因为多个错误而弄得心烦,这说明我对知识掌握还不够牢,在程序设计过程中也暴露出了我很多弊端,借这次课程设计机会我会认真加以更正,多多看书多去图书馆学习,同时应该增强自己实践能力,为以后学习打下坚实基础。 在这次设计过程中,我学到不仅是知识,还有合作可贵。因为这次设计包
21、含到数据库,我学到了不少编程工具和数据库连接知识,对数据库操作有了深入了解。这次设计对我综合能力是一次很好锻炼,不过我必需认可自己能力和知识水平还不够,以后我学习道路还是很漫长。 在这次课程设计过程中,感受到坚持关键性。做事情不能轻言谈放弃,即使过程不顺利,和想象中相去甚远。不过只要我们能坚持,朝着自己既定目标前进,就一定会走到终点。一点小小挫折实际上是在为最终美景做铺垫,当我们守得云开见月明时候,就会发觉,沿途曲折其实是在考验我们目标是否坚定。坚持下来,我们会收获丰硕果实。 谢雅洁: 课程设计结束了,在这次课程设计中不仅检验了我所学习知识,也培养了我怎样去把握一件事情,怎样去做一件事情,又怎样完成一件事情。在设计过程中,和同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了了解,也学会了做人和处世。






