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机。二 程序结构图: 三 实体ER图: 四 部分建表和程序: 1.1 系统中所用到部分基础信息表及用途 表名用途dbo.tb_gysinfo供给商信息表tb_spinfo 商品信息表dbo.tb_khinfo用户信息表dbo.t
3、b_kucun库存信息表用于库存盘点tb_userlist操作员信息表用于登录程序。 1.2 系统中所用到部分类及用途 类名用途JXCFrame.java系统主程序,程序开始位置Dao.java用于连接数据库和信息获取Login.java系统登录界面KuCunPanDian.java库存盘点RuKuChaXun.java入口查询。 1.3 系统中所用到关键方法及用途方法名用途createFrameButton为内部窗体添加Action方法Dao连接数据库和获取信息Login()设计系统登录界面GysXiuGaiPanel()供给商信息添加GysTianJiaPanel()供给商信息修改和删除。
4、 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(仓库管理系统);/获取对象 frameframe.getContentPane().setBackground(new Color(170, 188, 120);/对 对象frame容器设置背景颜色frame.addComponentListener(new FrameListener();fram
5、e.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.setHoriz
6、ontalAlignment(SwingConstants.CENTER);/ 标签内容 水平方向对齐方法updateBackImage(); / 更新或初始化背景图片desktopPane = new JDesktopPane();desktopPane.add(backLabel, new Integer(Integer.MIN_VALUE);frame.getContentPane().add(desktopPane);JTabbedPane navigationPanel = createNavigationPanel(); / 创建导航标签面板frame.getContentPane
7、().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;protect
8、ed 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.printStackTr
9、ace();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);/ 设置面板为绝对布局getContentP
10、ane().add(panel);/ 向窗体添加面板setBounds(300, 200, panel.getWidth(), panel.getHeight();/ 设置窗体位置, 大小来于LoginPanel函数传输userLabel = new JLabel();/ 用于提醒用户 输入标签userLabeluserLabel.setText(用户名:);/ 对其命名userLabel.setBounds(100, 115, 200, 18); / 用户名: 位置和大小panel.add(userLabel);/ 向?中添加userLabel标签final JTextField userN
11、ame = new JTextField();/ 申请文本栏 userNameuserName.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()
12、;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;/
13、查找图片1String imgUrl_roll = res/ActionIcon/ + fName+ _roll.png;/查找图片1String imgUrl_down = res/ActionIcon/ + fName+ _down.png;/查找图片1Icon 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_d
14、own = 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 (ico
15、n_roll != null)button.setRolloverIcon(icon_roll);if (icon_down != null)button.setPressedIcon(icon_down);return button;结果和分析(能够加页): 本小型仓库管理系统辅助管理仓库,对小型仓库信息资源(商品、用户和供给商)、仓库物质动态(出库和进库)和基础日常信息(仓库盘点和操作统计等)统计、管理和查询功效,提升了工作效率,完善了业务管理,为业主及客人提供了愈加快捷服务。 本系统含有以下特点: 1. 整个系统数据库连接,能够进行数据备份、还原等操作。2. 整个系统采取权限分级制度,更
16、为有效保护数据安全。3. 本系统提供密码登录,未授予登录名和密码用户无法登录。4. 系统数据库中表满足BCNF,冗余度低,效率高。5. 通常见户有查询、插入、更新、删除权力,而管理员不仅拥有这些权力,还有添加删除用户、密码维护等权力。6. 利用数据库能够一次性添加大量数据,且方便对数据进行复制修改。 本系统存在以下问题:1. 本小型仓库管理系统功效较为单一。2. 界面交互处理不够友好。3. 本系统并为指定什么类型出库,所以数据、实体属性处理不够好。 系统运行截图:1. 系统登录: 2. 基础信息管理: 3. 出入库管理: 4. 查询统计: 5.系统管理:设计体会和提议: 经过这次课程设计使我了
17、解到我有很多不足,在程序调试时候常常会因为多个错误而弄得心烦,这说明我对知识掌握还不够牢,在程序设计过程中也暴露出了我很多弊端,借这次课程设计机会我会认真加以更正,多多看书多去图书馆学习,同时应该增强自己实践能力,为以后学习打下坚实基础。 在这次设计过程中,我学到不仅是知识,还有合作可贵。因为这次设计包含到数据库,我学到了不少编程工具和数据库连接知识,对数据库操作有了深入了解。这次设计对我综合能力是一次很好锻炼,不过我必需认可自己能力和知识水平还不够,以后我学习道路还是很漫长。 在这次课程设计过程中,感受到坚持关键性。做事情不能轻言谈放弃,即使过程不顺利,和想象中相去甚远。不过只要我们能坚持,朝着自己既定目标前进,就一定会走到终点。一点小小挫折实际上是在为最终美景做铺垫,当我们守得云开见月明时候,就会发觉,沿途曲折其实是在考验我们目标是否坚定。坚持下来,我们会收获丰硕果实。谢雅洁:课程设计结束了,在这次课程设计中不仅检验了我所学习知识,也培养了我怎样去把握一件事情,怎样去做一件事情,又怎样完成一件事情。在设计过程中,和同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了了解,也学会了做人和处世。