当前位置:文档之家› Java仓库管理系统报告

Java仓库管理系统报告

2016—2017学年第一学期期末考试《面向对象程序设计(Java)*》实践考核项目设计说明书项目名称:仓库管理系统专业:计算机科学与技术学号:姓名:任课教师:巩晨静2016年12月3日项目及要求(一)考核内容:Java应用程序开发(二)考核要求:1.设计开发一个Java应用程序,设计题目自拟;2.要求学生熟练运用Java程序设计的基本知识和技能;3.要求学生掌握面向对象程序开发的基本思路和方法,熟悉软件开发过程;4.要求学生利用面向对象的编程思想以及组件开发原理来完成系统的设计;5.要求学生利用所学的基本知识和技能,进行应用程序设计,并体现自己的创新;6.要求学生独立完成,严禁拷贝与抄袭;7.按照软件工程的思想,完成项目的需求分析、项目的功能框架、用户界面的设计、各功能模块的调试和运行等工作;8.重视设计说明书文档的书写。

9.上交要求。

要求学生上交设计说明书一份(Word格式)电子及打印文档(A4纸)各一份,源程序打包上传BB平台。

目录第一章项目选题说明 0第二章项目需求分析 (1)第三章系统设计 (1)3.1 设计思想 (1)3.2程序总体设计 (2)3.3程序详细设计 (3)3.4 数据库的总体设计: (6)第四章系统测试及实现 (9)第五章总结 (12)附录: (13)仓库管理系统设计说明书第一章项目选题说明管理信息系统(MIS)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。

MIS的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。

我们实现的是网络数据库管理系统,我们选择的是仓库管理系统,仓库作为一种资源的集散地,在企业的整个供应链中起着至关重要的作用,如果不能保证正确的库存控制及发货,将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力,传统简单的,静态管理已经无法保证企业各种资源的搞笑利用。

如今的仓库作业和库存控制作业已经十分复杂多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大的损失。

所以要实施先进的自动化系统,实现企业内部的信息管理,共享交流,才能让企业在竞争激烈的21世纪取得先机。

仓库管理系统就是对货物和信息及金钱进行规划和实行交流控制。

它将入库、出库、库存形成一个统一的中体,使企业处于全面受控状态,压缩投资规模,加快资金周转。

在实时反映的基础上,修正企业在日常生产经营过程中各个环节上的偏差,降低产品成本和货物的积压。

仓库管理系统是通过入库业务、出库业务、实时库存管理等功能综合运用的管理系统,对货物全程进行有效的控制和跟踪,实现完善的企业仓库信息管理。

仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部门和销售部门提供了方便,降低了仓库的损耗。

企业可以通过该系统对售出的产品进行跟踪服务,同时避免可过去销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事小效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。

第二章项目需求分析我们设计的仓库管理系统主要用于对仓库日常工作的管理,主要任务是仓库的各种信息进行日常管理,如查询、修改、增加、删除等。

本系统实现了仓库的信息化管理,完成了仓库管理系统的基本功能。

该系统主要包括用户登录系统、出入库管理系统和库存管理系统三个部分,各部分主要功能如下:(1) 用户登录系统:用于系统的登录(2) 出入库管理系统:用于产品信息的管理,如新增,修改。

(3) 库存管理系统:用于数据库的连接,对库内产品的信息查询,实现按需求查询。

第三章系统设计3.1 设计思想(1)系统分成两个主要的模块,出入库管理和库存管理(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。

作为应用程序有较强的可操作性和扩展性。

(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。

3.2程序总体设计图3.1 仓库管理系统功能结构图图3.2 管理员登录功能结构图图3.3仓库基本功能结构图3.3程序详细设计管理员登录主体代码:public class DengLu extends JFrame implements ActionListener,MouseListener{JPanel pnlMain;JLabel lbltupian,lblyonghu,lblmima,lblbiaoti;JTextField txtUserName;//文本框JPasswordField pwdPassWord;//密码框JButton DengLu,TuiChu;//主键Dimension deSize;Toolkit toolkit=Toolkit.getDefaultToolkit();public DengLu (){super("仓库管理系统");pnlMain=new JPanel();//主面板pnlMain.setLayout(null);//空布局this.setUndecorated(true);lbltupian=new JLabel(new ImageIcon("images/tupian.jpg"));//添加图片lbltupian.setBounds(0, 0, 708,366);lblyonghu=new JLabel("用户名:");lblyonghu.setBounds(450,50,90, 20);lblmima=new JLabel("密码:");lblmima.setBounds(450,100,90, 20);txtUserName=new JTextField(100);txtUserName.setBounds(500,50,150, 20);pwdPassWord=new JPasswordField(100);pwdPassWord.setBounds(500,100,150, 20);DengLu=new JButton("登录");DengLu.setBounds(450,140,90, 30);DengLu.addActionListener(this);//增加监听器TuiChu=new JButton("退出");TuiChu.setBounds(560,140,90, 30);TuiChu.setMnemonic('d');//设置快捷按钮TuiChu.addActionListener(this);//字体Font font=new Font("宋体", Font.PLAIN, 13);lblyonghu.setFont(font);lblmima.setFont(font);DengLu.setFont(font);TuiChu.setFont(font);//颜色DengLu.setBackground(Color.CYAN);TuiChu.setBackground(Color.CYAN);pnlMain.add(lblyonghu);pnlMain.add(txtUserName);pnlMain.add(lblmima);pnlMain.add(pwdPassWord);pnlMain.add(DengLu);pnlMain.add(TuiChu);pnlMain.add(lbltupian);this.setContentPane(pnlMain);this.setVisible(true);deSize=toolkit.getScreenSize(); //获取屏幕的大小this.setSize(708,366);this.setLocation(deSize.width/2-this.getWidth()/2,deSize.height/2-this.getHeight()/2);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {new DengLu();}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource()==DengLu){if((txtUserName.getText().equals("20150200121"))&&(pwdPassWord.getText().equals("960523"))){new ZhuJieMian();this.dispose();}elseJOptionPane.showMessageDialog(null, "用户名或密码错误,请重新输入");}if(e.getSource()==TuiChu)System.exit(0);}3.4 数据库的总体设计:数据库中总体有一张表,是管理产品信息的,具体结构如下图所示:设计表如下图3.1所示:图3.1 数据库的设计表图3.2 数据库表的内容(部分)连接数据库的代码如下:public Connection openDB(){try {Class.forName("com.mysql.jdbc.Driver");Connectioncn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root" , "960914");return cn;} catch (ClassNotFoundException e) {System.out.println("驱动加载异常!");return null;} catch (SQLException e) {System.out.println("数据库连接异常!");return null;}}@Overridepublic void actionPerformed(ActionEvent e) {if(e.getSource()==btnExit)this.dispose();if(e.getSource()==btnchaxun){try{// 获得连接Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/student","ro ot" , "960914");// 建立查询条件String sql = "select * from kucun wherebianhao='"+txtPassWord.getText()+"'";PreparedStatement pstm = conn.prepareStatement(sql);// 执行查询ResultSet rs = pstm.executeQuery();// 计算有多少条记录int count = 0;while(rs.next()){count++;}rs = pstm.executeQuery();// 将查询获得的记录数据,转换成适合生成JTable的数据形式Object[][] info = new Object[count][6];count = 0;while(rs.next()){info[count][0] = rs.getString("bianhao");info[count][1] = rs.getString("chanpinname");info[count][2] = rs.getString("xinghao");info[count][3] = rs.getString("dengji");info[count][4] = rs.getString("shuliang");info[count][5] = rs.getString("danjia");count++;}// 定义表头String[] title = {"编号","产品名","型号","等级","数量","单价"};// 创建JTablethis.tabDemo = new JTable(info,title);// 显示表头this.jth = this.tabDemo.getTableHeader();// 将JTable加入到带滚动条的面板中this.scpDemo.getViewport().add(tabDemo);}catch(ClassNotFoundException cnfe){JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);}catch(SQLException sqle){JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);}}}第四章系统测试及实现(一)登录界面,管理员进行登录操作。

相关主题