1、 南京理工大学紫金学院 课程设计说明书 作 者: 仇慎超 学 号: 070602122 学院(系): 南理工紫金学院(计算机系) 专 业: 网络工程 题 目: 仓库管理系统 2010年 4 月 目录 一、概述 ·················································2 二、需求分析·······························
2、···············2 三、系统设计···············································4 四、系统实施···············································9 五、系统测试···············································9 六、收获和体会 ············································9 七、附录··················································9 八、
3、参考文献·············································9 一、概述 1、项目背景: 随着市场竞争的日益激烈,如何降低成本更加便捷的处理库存管理,越来越受到各个企业的重视。管理的好坏对企业至关重要。而对经销商而言,渠道扁平化已是大势所趋,这使经销商对产品的库存管理合理化也提出了更高的要求。该库存管理系统正是基于客户亟待解决多商品、大业务,等复杂的库存管理的要求而开发。 2、 编写目的: 使用计算机管理系统,实现经济性和技术性满足企业的现代化管理要求。 3、 软件定义: 本系统是基于J
4、SP、JavaBean模式并使用MySQL数据库系统开发而成。并实现了仓库进出管理功能的软件。 4、 开发环境: 操作系统:Windows XP。 数据库:MySQL。 开发工具包:JDK 1.6,Eclipse3.2,MyEclipse8.x JSP服务器:Tomcat 6.0 浏览器:IE 7.0 二、需求分析 1、问题的提出: 仓库进货、库存管理环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作工作量很大,在操作过程中也很容易出现各种错误。如何使用计算机解决目前的问题,是本系统最重要的难点。 2、 系统的业务功能分析: 系统业务
5、需要具有的功能: v 具有良好的用户界面 v 系统具有良好的权限管理功能 v 强大的数据查询功能 v 可以直接查看仓库库存情况 3、 系统的业务流程分析: v 进入系统管理应该首先登陆,取得管理权限之后进入主界面 v 入库操作时需要记录货品的全部信息(新货入库与补库区分对待) v 出库操作是需要修改库存信息 v 查询操作时可以根据输入条件查询相应货品信息,之后输出报表 v 人员信息管理可以输入、修改、查询员工信息,也应具有客户相应的信息录入、 修改、查询方法 4、需完成的功能: v 登陆功能 v 注册管理员功能 v 新货入库录入功能
6、v 货品补充修改功能 v 库存货品信息管理功能 v 货品出库修改功能 v 根据条件查询功能 v 报表输出功能 v 员工信息录入功能 v 员工信息修改功能 v 员工信息查询功能 v 客户信息录入功能 v 客户信息修改功能 v 客户信息查询功能 v 管理员注册功能 v 管理员密码修改功能 v 管理员删除功能 4、 数据流图: 1、管理员数据流图 管理员数据库 登陆模块 注册信息 管理员信息修改 2、 系统信息数据流程图
7、 货品补充修改信息 库存货品修改信息 新货入库信息 货品 数据库 查询功能模块 员工录入信息 客户录入信息 员工 数据库 客户 数据库 客户修改信息 员工修改信息 三、系统设计 1、数据表: 1、表的物理设计: v 管理员信息表(tb_user),用于对管理员信息的姓名、密码进行定义 字段名 数据类型 长度 是否为空 是否为主键 描述 ID Int 4 No Yes 管理员编号 Username Varchar 50 No
8、 No 管理员名称 Password Varchar 50 Yes No 密码 v 员工信息表(tb_worker),用于对员工信息的姓名、职务、电话、住址进行定义 字段名 数据类型 长度 是否为空 是否为主键 描述 ID Int 8 No Yes 员工编号 Wkname Varchar 50 No No 员工姓名 Post Varchar 50 Yes No 职位 Phone Varchar 20 Yes No 电话 Address Varchar 100 Yes No 住址 Salary I
9、nt 8 Yes No 工资 v 客户信息表(tb_customer),用于对客户的全称、简称、地址、邮编、电话、传真、联系人、联系人电话、联系人邮箱、银行账号、开户银行进行定义 字段名 数据类型 长度 是否为空 是否为主键 描述 ID Int 8 No Yes 客户编号 Cusname Varchar 100 No No 客户全称 Short Varchar 50 Yes No 客户简称 Address Varchar 100 Yes No 地址 Postcode Varchar 20 Yes No
10、 邮编 Phone Varchar 20 Yes No 电话 Fax Varchar 20 Yes No 传真 Linkman Varchar 20 Yes No 联系人 Lmphone Varchar 20 Yes No 联系人电话 Email Varchar 50 Yes No 邮箱 Account Varchar 20 Yes No 账号 Bank Varchar 50 Yes No 银行 v 货品信息表(tb_brand),用于对商品的名称、简称、编号、产地、规格、包装、批号、供应商、单位、单
11、价、数量、入库日期、经手人进行定义 字段名 数据类型 长度 是否为空 是否为主键 描述 ID Int 8 No Yes 货品编号 Goods Varchar 100 No No 货品名称 Short Varchar 50 Yes No 货品简称 Address Varchar 100 Yes No 产地 Norms Varchar 50 Yes No 规格 Pack Varchar 50 Yes No 包装 LotNo Varchar 20 Yes No 批号 Supplier Varch
12、ar 100 Yes No 供应商 Unit Varchar 20 Yes No 单位 Price Varchar 20 Yes No 单价 Amount Varchar 20 Yes No 数量 Date Varchar 20 Yes No 入库日期 Manageman Varchar 20 Yes No 经手人 2、软件功能设计 (1)、仓库系统的结构图 登陆 注册 管理系统 人员管理 查询管理 仓库管理 入库管理 出库管理
13、 主界面功能结构图 入库管理 旧货补仓 新货入库 入库管理功能结构图 仓库管理 出库管理 货物清仓 信息管理 出库修改 出库管理功能结构图 仓库管理功能结构图 查询管理 货品查询 客户查询 员工查
14、询 查询管理功能结构图 人员管理 客户管理 管理员 员工管理 人员管理功能结构图 客户管理 信息删除 信息录入 信息修改 客户管理功能结构图 员工管理 信息删除 信息录入 信息修改
15、 员工管理功能结构图 管理员 注册 信息删除 信息修改 管理员功能结构图 (2)、功能表及功能描述: 模块 功能 功能描述 入库管理 新货入库 创建新的信息列表,输入货品信息 旧货补仓 在旧的信息列表上修改货品数量等信息 出库管理 出库修改 在货品信息列表上修改库存数量信息 仓库管理 信息管理 在货品信息列表上修改供应商等信息 货物清仓 当该货品需要清仓不再进货时进行信息删除 查询管理 货品查询 根据货品编号或名称查询货品详细信息
16、员工查询 根据员工号或姓名查询该员工详细信息 客户查询 根据客户名称查询客户详细信息 员工管理 信息录入 输入员工详细信息 信息修改 修改员工住址电话或工资等信息 信息删除 若该员工辞职则删除该员工信息 管理员 注册 注册管理员账号、密码。注:只有管理员可添加注册 信息修改 修改管理员登陆密码 信息删除 删除管理员信息 客户管理 信息录入 输入客户详细信息 信息修改 修改客户地址电话等详细信息 信息删除 如该客户推出则删除该客户信息 四、 系统实施 (1)、系统的界面设计: ① 登陆界面设计 ② 系统主界面设计
17、 ③ 入库管理界面设计 ④ 出库管理界面设计 ⑤ 仓库管理界面设计 ⑥ 查询管理界面设计 ⑦ 员工管理界面设计 ⑧ 客户管理界面设计 ⑨ 管理员入口界面设计 (2)、事件的设计过程: 1.登陆事件的设计 登陆事件需要在文本框中输入账号名称和密码,然后根据数据库的内容判断是否存在该用户,是否允许登陆。程序流程图如下所示: 开始 输入账号密码 判
18、断是否存在 N Y 登陆跳转 结束 2.导航栏事件的设计 导航栏主要功能就是帮助用户选择所使用的功能。用户点击父框,显示相应的子模块。并且根据用户所点击的链接到相应的界面。流程图如下图所示: 开始 是否为入库 选择操作 打开入库子项 T F
19、 选择操作 打开出库子项 是否为出库 T F 选择操作 打开仓库子项 是否为仓库库 T 是否为查询 F 选择操作 打开查询子项 T F 选择操作 打开员工子项 是否为员工 T
20、 F 选择操作 打开客户子项 是否为客户 T F 选择操作 打开管理员子项 是否为管理员 T F 跳转页面 结束 3.新货入库事件的设计 由于新货入库时仓库内没有相应信息,所以在处理时应该录入详细数据。并添加到数据库新项中。处理过程如下图所示: 开始 录入信息
21、 处理保存信息 结束 3.旧货补仓事件的设计 旧货补仓处理过程类似于新货入库,如下图所示。但是由于原先已经有该物品的信息,所以只需修改物品的库存信息即可。 开始 录入信息 处理保存信息 结束 3.出库修改事件的设计 货品出库时由于数据库中已经存在该物品的数据,所以只需要根据货号修改库存信息即可。输入信息后判断信息是否填写正确,若是正确就修改数据库信息。否则就报错,重新输入。过程如下图所示: 开始 录入信息 判断数据正确
22、 F T 处理保存信息 结束 4.仓库信息管理事件的设计 仓库信息管理时由于数据库中已经存在该物品的数据,所以只需要根据货号修改库存信息即可。由于货品信息部可能完全改变,所以需要具有部分修改的功能。输入信息后判断信息是否填写正确,若是正确就执行该操作数据库信息。否则就报错,重新输入。过程如下图所示: 开始 录入信息 判断数据正确
23、 F T 处理保存信息 结束 5.清仓管理事件的设计 货品清仓时由于数据库中已经存在该物品的数据,所以只需要根据货号删除掉库存信息即可。输入信息后判断信息是否填写正确,若是正确就执行操作数据库信息。否则就报错,重新输入。过程如下图所示: 开始 录入删除货号 判断数据正确
24、 F T 处理保存信息 开始 输入货号 判断数据存在 打印 结束 结束 6.货品查询事件的设计 货品查询需要在文本框中输入相应的货号,首先判断该货物是否存在,如不存在或输入错误,则跳转到错误界面。如果存在则输出货品的详细信息。 报错 6.员工查询与客户查询事件的设计 员工查询和客户查询处理过程类似于货品查询,流程图相同如上图。 7.员工信息录入事件的
25、设计 员工信息录入类似于新货入库信息的录入。需要将员工的详细信息输入数据库。如该项不存在则可以在该项写无。事件流程图参见新货入库事件图。 8.员工信息修改事件的设计 员工信息修改类似于仓库管理信息的修改。由于数据库中已经存在所以只需要修改相应的信息即可。事件流程图参见仓库管理信息修改事件图。 9.员工信息删除事件的设计 员工信息删除类似于仓库管理的清仓管理。由于数据库中已经存在所以只需要删除相应的信息即可。事件流程图参见仓库管理信息修改事件图。 10.其他事件的设计 客户管理和管理员入口管理子选项的事件处理与员工信息管理相类似。处理流程相同。 (3)、主要代码描
26、述: 1.登陆模块主要代码
29、1"),"gb2312"); String password = new String(request.getParameter("password").getBytes("iso-8859-1"),"gb2312"); ResultSet result = null; try { //构造SQL语句 String sqlStr="select ID from tb_user where username='"+username+"' and password='"+password+"'"; //设置连接 dat
30、abase.setConnection(); //设置SQL语句 database.setSqlStr(sqlStr); //执行插入数据操作 result=database.getResult(); if(result.next()){} else{response.sendRedirect("index.jsp");} } catch(Exception ex) { out.println("插入数据操作失败!"); } %>
31、ames>