1、 计算机与通信学院 本科生毕业设计阐明书 仓库管理系统作 者: 曹亚磊 学 号: 05240207 专 业: 计算机科学与技术班 级: 05级软件工程(2) 指引教师: 曹来成 答辩时间: 6月 仓库管理系统Storage Management System曹亚磊(Cao Yalei)05240207前 言随着科学技术不断发展,咱们社会已经进入了一种信息化社会,人们每天都要接受大量信息和解决大量数据,仅靠老式纸和笔已不能适应这个时代规定,人们必要采用新手段,于是信息技术进入咱们生活,计算机不再是简朴计算工具,它已成为咱们生活中解决大量信息不可或缺手段。在当今产业竞争越来越激烈信息时代,公司经营
2、除了减少成本,提高品质外,更需要以先进管理理念来整合公司内部与外部资源。仓库管理系统正是在这个背景下产生。本系统正是针对仓库部门货品信息管理,通过对仓库基本信息出入库信息等系统界面设计,将会给管理者带来极大以便,具备手工管理无法比拟长处,例如检索速度快、查找以便、可靠性高、存储量大、使用时间长等。用计算机管理取代老式手工操作,大大减少了管理人员工作量,提高了工作效率,为获取详细管理信息提供了保证,以便各类人员查询和信息保证,增强了管理工作时效和人员积极性。仓库管理重要摆阔两方面:一是仓库基本信息,涉及人员信息、库房信息、供货商信息、客户信息;另一项是仓库业务管理,涉及入库管理、在库管理、出库管
3、理、报表管理。在本系统中侧重实现仓库基本信息管理。摘 要仓库管理系统是为了实现公司产品管理系统化、规范化和自动化,从而提高公司管理效率而设计。它完全取代了本来始终用人工管理工作方式,避免了由于管理人员工作疏忽以及管理质量问题所导致各种错误,为及时、精确、高效完毕仓库管理提供了强有力工具和管理手段。仓库管理系统是一种中小型数据库管理系统,它界面美观、操作简朴、安全性高,基本满足了仓库管理规定。整个系统由基本信息、单据中心、查询记录、报表打印、维护设立、协助等模块构成。本系统是在以MySql作为后台数据库,以J2EE为编程语言来开发。仓库管理系统在运营阶段,效果好,数据精确性高,提高了工作效率,同
4、步也实现了仓库管理计算机化。核心词: 仓库;管理系统;数据库AbstractThe administrative system of the warehouse is designed for realizing the systematization,standardization and automization of enterprises products management and improving efficiency of enterprises management. It completely replaces the working way of artificial
5、management originally,prevents from various kinds of mistakes because of administrative staff neglect and the quality problem of management and offeres powerful tool and management way to complet storehouse management for prompt ,accurate ,high-efficient . The administrative system of the warehouse
6、is a medium and small-scale database management system,it has not only beautiful interface,but also the high security and the simply operation ,and meet the demand for storehouse management basically. Whole system is made up by basic information,document in the center,inquire statistics ,report form
7、 type ,set up to maintain and module of helping etc.The Warehouse administrative system is designed with regarding MySql as the backstage database and regarding J2EE as programming language . The administrative system is effectual,the high data accuracy during the course of operating ,improves worki
8、ng efficiency and realizes computerization for storehouse management at the same time .Key word:The Warehouse ;Administrative System;The Database目 录摘 要IABSTRACTII第1章 绪论1第2章 需求分析22.1仓库管理系统概述22.2系统流程图22.3数据流程图32.4仓库管理系统角色定义5第3章 总体设计63.1总体用例图63.2用例阐明63.2.1顾客从浏览器登录72.2.2供货商信息查询用例概述82.2.3供货商信息修改用例概述92.2.
9、4 供货商信息添加用例概述103.3功能模块图11第4章 详细设计144.1ER图144.2数据库设计154.2.1数据库逻辑设计164.3运营环境20第5章 编码215.1登陆实现215.1.1登陆action215.1.2登陆过滤器225.1.3登陆DAO235.2供货商实现235.2.1供货商查询Action235.2.2供货商修改Action255.2.2供货商添加Action255.2.3供货商DAO26第6章 测试306.1登陆测试方案306.2 数据录入测试306.3 查询测试306.4测试结论30第7章 使用阐明317.1 系统功能简介317.2 运营环境简介317.3 系统运
10、营与操作指南327.4操作演示327.5特色简介35第8章 总结36参照文献37致 谢38翻译资料原文39翻译资料译文45第1章 绪论仓库管理系统是当代仓储公司进行货品管理和解决业务操作系统。它可以实现本地一种或几种仓库精细化管理,也可实现制造公司、物流公司、连锁业在全国范畴内、异地多点仓库管理;它可以对货品存储和出货等进行动态安排,可以对仓储作业流程全过程进行电子化操作;可以与客服中心建立数据接口使客户通过互联网实现远程货品管理,可以与公司ERP系统实现无缝连接。在当代公司中,仓库管理是一项繁琐复杂工作,每天要解决大量单据数据。为及时结清每笔业务,盘点库存和货品流动状况,保证公司生产用料以及
11、货品安全,库管人员要耗费大量人力物力和时间来作数据记录记录工作。众所周知,仓库管理是一种既麻烦又单调工作,每天都是重复记录某些货品存入与取出,并且货品种类繁多,存取有很大随机性,这样为工作人员带来了很大不便,在操作过程中,由于人为计算出错率很高,一旦出错改正也很困难,这样简朴繁重工作要诸多人来做,为经营者增长了诸多成本。因此开发一种可行仓库管理系统是十分必要。本系统以MySQL作为后台数据库,以java语言来开发,不但实现了仓库管理自动化,同步也提高了工作效率。本系统由如下几种模块构成:基本信息管理、入库管理、在库管理、出库管理、报表管理。第2章 需求分析2.1仓库管理系统概述本系统是为物流管
12、理而设计高效管理系统,系统功能强大,同步操作又比较简朴,而管理人员大多受到过系统培训,并可以操作电脑,因此只要花很少时间,就可以让她们熟悉本系统。系统开发总体任务是实现各种信息系统化、规范化和自动化。系统功能分析是在系统开发总体任务基本上完毕。本仓库管理系统需要完毕功能重要有:仓库管理各种信息输入,涉及货品、供应商、客户、仓库信息输入等。仓库管理各种信息查询、记录、修改和维护,涉及货品、单据查询,货品出入、职工操作记录,各种信息修改和维护等。打印报表生成。在货品管理中加入最高储备和最低储备字段,对仓库中产品实现监控和报警。操作日记管理。仓库管核对货品清单程序入库单库存数据库出库单打印程序出库单
13、库存查询程序库存分析程序查询库存信息库存备份程序库存备份报损筹划表理系统使用协助。2.2系统流程图出库单图2-2系统流程图2.3数据流程图数据流图是描述系统逻辑模型,图中没有任何详细物理元素,只是描述信息在系统中流动和解决状况,它比口头与文字描述更直观地显示出来系统中数据使用。数据流图简称DFD图,数据流图有四种成分:源点或终点、解决、数据存储表和数据流。图中没有任何详细物理元素,只是描述信息在系统中流动和解决状况,虽然不是专业计算机技术人员也容易理解,是极好理解工具。它能精准描述系统逻辑模型,描述数据在MIS中有输入通过存储、加工解决最后输出全过程,是设计者和顾客交流较好工具。仔细分析调查关
14、于仓库管理信息需求基本上,得到如图41所示本系统所解决数据流程。图2-3 仓库管理系统数据流程图通过对公司仓库管理内容和数据流程分析,设计数据项和数据构造如下:货品信息,涉及数据项有编号、货品名称、货品类别、货品规格、计量单位、最高限量、最低限量、备注等。仓库信息,涉及数据项有编号、仓库名称、仓库地点、保管员编号、备注等。库存状况信息,涉及数据项有编号、货品编号、库存数量、仓库编号等。入库单信息,涉及数据项有编号、货品编号、经办人编号、入库时间、入库单价、入库数量、供应商编号、仓库编号、定单状况、其他金额、备注等。出库单信息,涉及数据项有编号、货品编号、经办人编号、出库时间、出库单价、出库数量
15、、客户编号、仓库编号、定单状况、其他金额、备注等。进行月盘点信息,涉及数据项有编号、仓库编号、盘点时间、经办人编号、盘点数据等。系统日记信息,涉及数据项有顾客名、操作时间、操作内容等。顾客管理信息,涉及数据项有顾客名、顾客密码、顾客权限等。此外,尚有借入单、借出单、报损单、调拨单信息等。它们与入库单、出库单信息基本类似,这里不再一一例举。2.4仓库管理系统角色定义本系统角色涉及两种,仓管部管理人员和管理部主管,其中,管理部主管拥有整个系统最高权限。仓管部管理人员:负责仓库出入库管理,可以依照流向单实现出/入库操作。详细权限有:库存信息管理库检信息维护入库单信息维护出库单信息维护报表信息管理进行
16、密码修改、清除表信息等系统设立客户、供应商、库房等基本信息查询浏览等仓管部主管:负责整个山口仓管部门寻常运作和管理工作,重要涉及:部门信息维护人员信息管理审批报表信息管理进行密码修改、备份数据库等系统设立第3章 总体设计3.1总体用例图用例图是一种系统建模启始点,可以使用用例图对将要开发系统实际工作流程进行业务建模,从业务模型基本上过度到系统建模开始,可以通过用例图来收集顾客需求,明确和系统有关顾客和其她系统,同步拟定系统将会提供什么功能,以及各个功能间关系。图3-1 总体用例图3.2用例阐明依照上述用例图,对登陆和人员信息管理模块做了如下用例阐明:3.2.1顾客从浏览器登录用例概述用例名称顾
17、客登陆主题领域用例定义顾客登录到系统,获得相应界面和使用权限角色仓管员或主管业务触发事件顾客准备开始使用系统进行业务解决或系统管理前置条件系统中已为该顾客建立系统顾客,并分派了相应权限结束条件n 成功条件顾客登录系统,并获得相应权限n 失败条件1)系统中没有该顾客;2)顾客名、密码错误有关用例输入概述顾客名、密码、角色输出概述与顾客权限相应界面使用性备注 本用例使用频繁用例备注主事件流环节角色/系统描述数据项备注1.角色启动登录程序2.系统显示登录界面;提示输入顾客标记和保密字3.角色输入顾客标记和保密字,登录系统顾客名,密码,角色4.系统验证顾客与否合法顾客、保密字与否对的;返回顾客相应界面
18、、菜单如果不是合法顾客、或保密字不对的转到A1。5.分支事件流编号主事件流环节号角色/系统条件描述数据项转去主事件流环节号备注A14系统不是合法顾客,顾客名、密码错误,顾客名和密码与角色不相应返回登录失败信息登录失败信息22.2.2供货商信息查询用例概述用例名称供货商信息查询主题领域供货商信息查询用例包用例定义供货商信息查询角色仓库管理人员业务触发事件进行供货商信息查询前置条件有需要查询供货商信息记录结束条件n 成功条件查询到需要查询供货商信息n 失败条件未查询到需要查询供货商信息有关用例输入概述所需查询供货商信息输出概述查询成果使用性备注用例备注主事件流环节角色/系统描述数据项备注6.角色进
19、入查询界面7.系统显示查询界面8.角色输入所需查询供货商信息9.系统查询与否成功查询成功如果查询成功转到A1如果查询不成功转到A2分支事件流编号主事件流环节号角色/系统条件描述数据项转去主事件流环节号备注A14系统完毕供货商信息查询返回成功信息查询供货商信息2A24系统没有完毕供货商信息查询返回失败信息查询失败信息提示22.2.3供货商信息修改用例概述用例名称供货商信息修改主题领域供货商信息修改用例包用例定义供货商信息修改角色仓库管理人员业务触发事件进行供货商信息修改前置条件有需要修改供货商信息记录结束条件n 成功条件查询到需要修改供货商信息n 失败条件未查询到需要修改供货商信息有关用例输入概
20、述所需修改供货商信息输出概述修改成果使用性备注用例备注主事件流环节角色/系统描述数据项备注10.角色进入修改界面11.系统显示修改界面12.角色输入所需修改供货商信息13.系统修改与否成功修改成功如果修改成功转到A1如果修改不成功转到A2分支事件流编号主事件流环节号角色/系统条件描述数据项转去主事件流环节号备注A14系统完毕供货商信息修改返回成功信息修改供货商信息2A24系统没有完毕供货商信息修改返回失败信息修改失败信息提示22.2.4 供货商信息添加用例概述用例名称供货商信息添加主题领域供货商信息添加用例包用例定义供货商信息角色仓库管理人员业务触发事件进行供货商信息添加前置条件有需要添加供货
21、商信息记录结束条件n 成功条件查询到需要添加供货商信息n 失败条件未查询到需要添加供货商信息有关用例输入概述所需添加供货商信息输出概述添加成果使用性备注用例备注主事件流环节角色/系统描述数据项备注14.角色进入添加界面15.系统显示添加界面16.角色输入所需添加供货商信息17.系统添加与否成功添加成功如果添加成功转到A1如果添加不成功转到A2分支事件流编号主事件流环节号角色/系统条件描述数据项转去主事件流环节号备注A14系统完毕供货商信息添加返回成功信息添加供货商信息2A24系统没有完毕供货商信息添加返回失败信息添加失败信息提示23.3功能模块图功能模块:山口电脑仓库管理系统涉及仓管部信息管理
22、、业务管理、系统维护等几种功能模块。仓管部信息管理仓管部业务管理山口电脑仓库管理系统系统维护图3-3 总功能模块图1、仓管部信息管理模块:为仓管部主管提供对仓管部信息管理维护功能。仓管部信息管理基本信息管理出库信息维护入库信息维护库检信息维护报表信息管理系统设立客户信息维护供货商信息维护库房信息维护短线货品信息维护部件、礼物信息维护修改密码成品品信息维护库存信息维护在库信息管理仓管人员信息维护 图3-3-1 仓管部模块图一、仓管部信息管理模块,如图所示,涉及如下功能模块:1. 基本信息管理模块:为管理员提供实现对客户信息、供货商信息、库房信息和仓管人员信息管理维护,涉及对信息查询、添加、修改和
23、删除等操作。2. 在库信息管理模块:a、库存信息管理模块:为管理员提供实现对短线货品、货品信息管理维护,涉及对信息查询、添加、修改和删除等操作。b、库检信息管理模块:为管理员提供实现对产品库检信息、部件库检信息、礼物库检信息管理维护,涉及对信息查询、添加、修改和删除等操作。3. 出库信息管理模块:为管理员提供查询、添加、修改和删除出库流向单(涉及:产品出库单、部件出库单、礼物出库单)操作,其中添加和删除操作后出库货检单要交由管理部审核。4. 入库信息管理模块:为管理员提供查询、添加、修改和删除入库流向单(涉及:部件入库单、产品入库单、礼物入库单)操作、其中添加和删除操作后入库货检单要交由管理部
24、审核。5. 报表信息管理模块:为管理员提供实现对报表信息管理维护,涉及对报表信息查询、浏览和上交等操作。6. 系统设立模块:为管理员提供实现对密码修改、清除表信息功能管理部信息管理仓管部人员管理仓库报表管理仓库货检信息管理基本信息管理系统设立 修改密码 备份数据库恢复数据库、图3-3-2 管理部模块图二、管理部信息管理模块,如图所示,涉及如下功能模块:1、仓管部人员管理模块:为管理员提供实现对仓库部门信息管理维护,涉及对部门信息查询、添加、修改和删除等操作。2、仓库报表管理模块:为管理员提供实现对报表信息管理维护,涉及对报表查询、浏览和删除等操作。3、仓库货检信息管理模块:为管理员提供实现对货
25、检信息管理维护,涉及对在库货检信息、入库货检信息和出库货检信息审核操作。4、基本信息管理模块:为管理员提供实现对基本信息进行添加、删除、查询和浏览功能、5、系统设立模块:为管理员提供实现修改密码、备份数据库和恢复数据库功能第4章 详细设计4.1ER图ER图就是实体关系图,重要完毕了对系统中数据某些设计。E-R图为实体-联系图,提供了表达实体型、属性和联系办法,用来描述现实世界概念模型。构成E-R图基本要素是实体型、属性和联系。如下是系统整个ER图:图4-1 ER图4.2数据库设计数据库设计(Database Design)是指依照顾客需求,在某一详细数据库管理系统上,设计数据库构造和建立数据库
26、过程。普通,数据库设计过程大体可分数据库设计为5个环节:l 需求分析;调查和分析顾客业务活动和数据使用状况,弄清所用数据种类、范畴、数量以及它们在业务活动中交流状况,拟定顾客对数据库系统使用规定和各种约束条件等,形成顾客需求规约。l 概念设计;对顾客规定描述现实世界(也许是一种工厂、一种商场或者一种学校等),通过对其中住处分类、汇集和概括,建立抽象概念数据模型。这个概念模型应反映现实世界各部门信息构造、信息流动状况、信息间互相制约关系以及各部门对信息储存、查询和加工规定等。所建立模型应避开数据库在计算机上详细实现细节,用一种抽象形式表达出来。以扩充实体(E-R模型)联系模型办法为例,第一步先明
27、确现实世界各部门所含各种实体及其属性、实体间联系以及对信息制约条件等,从而给出各部门内所用信息局部描述(在数据库中称为顾客局部视图)。第二步再将前面得到各种顾客局部视图集成为一种全局视图,即顾客要描述现实世界概念数据模型。l 逻辑设计;重要工作是将现实世界概念数据模型设计成数据库一种逻辑模式,即适应于某种特定数据库管理系统所支持逻辑数据模式。与此同步,也许还需为各种数据解决应用领域产生相应逻辑子模式。这一步设计成果就是所谓“逻辑数据库”。l 物理设计;依照特定数据库管理系统所提供各种存储构造和存取办法等依赖于详细计算机构造各项物理设计办法,对详细应用任务选定最适当物理存储构造(涉及文献类型、索
28、引构造和数据存储顺序与位逻辑等)、存取办法和存取途径等。这一步设计成果就是所谓“物理数据库”。l 验证设计;在上述设计基本上,收集数据并详细建立一种数据库,运营某些典型应用任务来验证数据库设计对的性和合理性。普通,一种大型数据库设计过程往往需要通过多次循环重复。当设计某步发现问题时,也许就需要返回到前面去进行修改。因而,在做上述数据库设计时就应考虑到此后修改设计也许性和以便性。数据库完整性是指数据对的性和有效性,是为防止数据库中存在不符合语义规定数据和防止因错误信息输入输出导致无效操作或错误信息而提出。数据库完整性涉及:实体完整性、参照完整性和顾客定义完整性。实体完整性(Entity Inte
29、grity) :现实世界实体是可区别,即它们具备某种唯一性标记。相应地,关系模型中主键应作为唯一性标记。因而实体完整性规则规定基本关系所有主键(Primary Key)都不能取空值(NULL)。参照完整性(Referential Integrity):参照完整性维护表与表之间有关性,通惯用“主键(Primary Key)/外键(Foreign Key)”保证,其中Foreign Key可以取NULL值,或取其参照表中Primary Key取值。顾客定义完整性(User_defined Integrity ):针对某一详细数据约束条件,由应用环境决定。数据库完整性约束可以防止合法顾客使用数据库时
30、向数据库中添加不合语义数据。4.2.1数据库逻辑设计仓库管理系统所用数据库是MySQL,如下是表在数据库逻辑表达:表assembly构造字段名注释类型长度与否主键与否不为空id编号INTEGER11Inbill_id入库单编号VARCHAR20Supplier_id供货商编号VARCHAR20Depot_id库房编号VARCHAR20Number数量INTEGER11Sumof_bad不合格数量INTEGER11Atcheck_date在库货检日期DATE11In_date入库日期DATE11Employee_id货检员编号char5表product构造字段名注释类型长度与否主键与否不为空id
31、编号INTEGER11Makebill_id组装单编号VARCHAR20Depot_id库房编号VARCHAR20Check_id货检编号VARCHAR20Number数量INTEGER11Sumof_bad不合格数量INTEGER11Make_date组装日期DATE11Check_date货检日期DATE11表assembly_product构造字段名注释类型长度与否主键与否不为空id编号INTEGER11Assembly_id部件编号VARCHAR20Product_id成品编号VARCHAR20表customer构造字段名注释类型长度与否主键与否不为空Customer_id客户编号VA
32、RCHAR20name姓名VARCHAR20sex性别VARCHAR20credit信誉度INTEGER11phone电话号码VARCHAR20address地址VARCHAR20remark备注VARCHAR20表depot构造字段名注释类型长度与否主键与否不为空Depot_id库房编号VARCHAR20Employee_id负责人编号VARCHAR20phone电话号码VARCHAR20address地址VARCHAR20remark备注VARCHAR20表employee构造字段名注释类型长度与否主键与否不为空Employee_id人员编号VARCHAR20Inbill_id入库单编号V
33、ARCHAR20Supplier_id供货商编号VARCHAR20Depot_id库房编号VARCHAR20Number数量INTEGER11Sumof_bad不合格数量INTEGER11Atcheck_date在库货检日期DATE11In_date入库日期DATE11Employee_id货检员编号VARCHAR5表supplier构造字段名注释类型长度与否主键与否不为空Supplier_id供货商编号VARCHAR20name姓名VARCHAR20sex性别VARCHAR20credit信誉度INTEGER11phone电话号码VARCHAR20address地址VARCHAR20rema
34、rk备注VARCHAR20表inbill构造字段名注释类型长度与否主键与否不为空In_id入库单编号VARCHAR20Depot_id库房编号VARCHAR20Refer_date入库日期DATE11Wh_id提交人编号VARCHAR20Check_date货检日期DATE11Ch_id货检人编号VARCHAR20Audit_date审核日期DATE11M_id主管编号VARCHAR20In_state入库单状态VARCHAR20表inlist构造字段名注释类型长度与否主键与否不为空id编号INTEGER11In_id入库单编号VARCHAR20Assembly_id部件编号VARCHAR20
35、Supplier_id供货商编号VARCHAR20Number数量INTEGER11Badnumber不合格数量INTEGER11Good_rate合格率VARCHAR20表makebill构造字段名注释类型长度与否主键与否不为空Makebill_id组装单编号VARCHAR20Depot_id库房编号VARCHAR20Product_id成品编号VARCHAR20Number数量INTEGER11Atcheck_date在库货检日期DATE11Make_date组装日期DATE11Manager_id主管编号VARCHAR20表outbill构造字段名注释类型长度与否主键与否不为空Outbi
36、ll_id出库单编号VARCHAR20Depot_id库房编号VARCHAR20Refer_date供货商编号VARCHAR20Refer_id提交人编号VARCHAR20Audit_date审核日期DATE11Out_state出库单状态VARCHAR11Audit_id审核人编号VARCHAR20Customer_id客户编号VARCHAR20表outlist构造字段名注释类型长度与否主键与否不为空id编号INTEGER11Outbill_id出库单编号VARCHAR20Product_id成品编号VARCHAR20Number数量INTEGER11表report构造字段名注释类型长度与否
37、主键与否不为空Reportid报表编号VARCHAR20Reporttype报表类型VARCHAR20Depotid库房编号VARCHAR20beginDate起始日期DATE11endDate结束日期DATE11createTime创立日期DATE11referId提交人编号VARCHAR20checkState审核状态VARCHAR20checkDate审核日期DATE11AuditId审核人编号VARCHAR20表report_detail构造字段名注释类型长度与否主键与否不为空id编号INTEGER11reportId报表编号VARCHAR20Depotid库房编号VARCHAR20g
38、oodsName货品名称VARCHAR40goodsType货品类型VARCHAR30allNumber总数量INTEGER11badNumber不合格数量INTEGER11checkId审核人编号VARCHAR204.3运营环境1. 开发工具:Eclipse,2. 软件环境:Tomcat6.0,JDK5.0以上,3. 硬件环境:cpu:P3 2.0GHZ以上Memory:512M以上第5章 编码5.1登陆实现 5.1.1登陆actionimport javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServ
39、letResponse;import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.javateam3.struts.form.LoginForm;import mon.dao.LoginService;/* * MyEclipse Struts * Creation date:05-30- * * XDoclet def