本科毕业论文基于cs结构的仓库智能管理系统.docx
《本科毕业论文基于cs结构的仓库智能管理系统.docx》由会员分享,可在线阅读,更多相关《本科毕业论文基于cs结构的仓库智能管理系统.docx(95页珍藏版)》请在冰豆网上搜索。
![本科毕业论文基于cs结构的仓库智能管理系统.docx](https://file1.bdocx.com/fileroot1/2023-2/4/c9ffae48-0357-4882-8691-0a0e053a83f3/c9ffae48-0357-4882-8691-0a0e053a83f31.gif)
本科毕业论文基于cs结构的仓库智能管理系统
本科毕业设计(论文)
题目名称:
基于c/s的仓库智能管理系统
摘要
本文主要阐述了采用面向对象思想开发基于C/S的仓库智能管理系统的方法和过程,包括从可行性研究到系统投入使用的主要相关文档。
本系统主要完成对仓库的库存管理,包括入库、出库、库存、员工信息、供应商信息以及密码管理等6个方面。
系统可以完成对各类信息的浏览、查询、添加、删修改、报表等功能。
系统的开发环境为mysql+Myeclipse。
使用Myeclipse时限逻辑代码。
系统实现了系统设置,单据填开,库存查询,报表导出等功能。
其中系统设置包括:
管理员的增加,修改,删除,以及权限管理;仓库内货物的基本资料的增加,修改,删除;商家的基本资料的增加,修改,删除。
单据填开模块包括:
出库单,入库单,等单据的填开级作废操作。
库存查询系统包括:
库存情况的查询,各项明细的查询。
该系统是对仓库的智能管理,并进行相应的采购管理、入库管理、出库管理、报表管理等一些仓库方面的管理。
该系统可以方便地实现商品的入库操作和出库操作、以及报表输出等功能,这些功能的实现对该公司的仓库管理从以往的手工管理过渡到计算机的信息化管理,从而大大提高了工作效率。
关键词:
数据库;sql语言;Myeclipse;数据库组建;仓库管理
Abstract
Thesystemmainlyreferstowarehousingmanagement,whichincludesthefolllowingfields:
stockinandout,inventory,staffdata,suppliersdataandpasswordmanagement.Italsooffersthefuncionsasdatabrowse,adding,deleting,modificationandreport,etc.
TheSystemdevelopmentenvironmentismysqlandMyeclipse.Itcontains3modules,systemmanagement,receiptsmanagementandinventoryquery.Systemmanagementmoduleisusedtoconductoperateradding.modification.deletingandauthoirtiesassignmentminaddition,inventory,staffandcustomerdataadding,modificationanddeleting;thesecondpartreferstostockinandout,receiptsfill-incancellation;thelastmaodulecontendstowarehousingquery,staffsalaryquery,monthly,quarterly,yearlyreportquery..
Asstatedpreviously,thesysremisanintelligentwarehousingmanagementsolution.whichincludes:
purchasingmanagement,stockinandourmanagement,reportmanagement,etc.
Thesystemcanexpedientlycarryoutthemerchandisetostoreinwarehousetheoperationandadatabaseoperation,andthestatementprintetc.function,therealizationofthesefunctionsmanagestothestockofthatcompanytomanagetotransfertheinformation-basedmanagementofthecalculatorfromtheformerhandicraft,raisingtheworkefficiencythusandconsumedly.
Keywords:
database;SQL;Myeclipse;Databasemodule;Databasemanagement
目录
摘要I
AbstractII
第1章绪论1
1.1选题背景1
1.2国内外发展概况及存在的问题2
1.3选题目的、意义2
1.4课题应解决主要问题3
1.5指导思想3
第2章系统分析6
2.1可行性研究6
2.1.1技术可行性研究6
2.1.2经济可行性研究7
2.2需求分析8
2.2.1理解需求8
2.2.2分析需求10
2.2.3数据处理需求10
第3章概要设计12
3.1总体构想12
3.2据库设计模块12
3.2.1数据库结构设计12
3.2.2连接数据库13
3.3功能模块设计14
3.3.1客户端的基本功能15
3.3.2服务器的基本功能15
第4章详细设计及实现16
4.1程序主体框架设计16
4.2程序流图16
4.3客户端窗口及相关功能18
4.4服务器功能实现24
4.4.1多线程监听功能的实现24
4.4.2数据传输功能的实现25
4.4.3数据库持久层功能的实现27
4.4.4数据统计的实现32
第5章系统测试34
5.1单元测试34
5.1.1白盒测试34
5.1.2黑盒测试34
5.2功能测试35
5.2.1仓库管理的功能测试35
5.2.2商品管理模块的测试35
5.2.3数据传输模块的测试35
5.2.4数据库仓储模块的测试35
5.3集成测试与系统测试35
5.4程序的异常处理36
5.5调试37
结论38
致谢39
参考文献40
附录41
第1章绪论
1.1选题背景
随着社会发展,物流行业已经成为一个与我们的生活息息相关的行业。
该行业最大的特点就是数据量极大,每日的进销量都是一个惊人的数字,传统的纸质记录方法既浪费人力物力,又缺乏准确性、安全性。
但在信息时代的今天,这种庞大的数据采集记录工作只需交给一台电脑,一两个管理人员操作即可。
所以,我们有必要开发一个完整、安全、便捷、高效率的仓库智能管理系统,来配合管理人员完成数据采集。
我国物流市场潜力巨大是不争的事实,随着加入WTO后开放的步伐逐步加快,我国的“世界工厂”的雏形已经显现,世界主要的跨国公司均在我国部署了他们的研发基地、生产基地,这将吸引更多的国内外物流企业进入这个市场。
但是国内物流企业规模小、数量多,缺少竞争优势,并且技术含量低,要想在这个大市场下取得优势,必须减少成本,增强企业效率,提供更具信息化、人性化、快速化、便捷化的服务,电子商务不免是一个明智的选择,电子商务给企业带来的效益不言而喻。
仓储管理在物流管理中占据着核心的地位。
传统的仓储业是以收保管费为商业模式的,希望自己的仓库总是满满的,这种模式与物流的宗旨背道而驰。
现代物流以整合流程、协调上下游为己任,静态库存越少越好,其商业模式也建立在物流总成本的考核之上。
由于这两类仓储管理在商业模式上有着本质区别,但是在具体操作上如入库、出库、分拣、理货等又很难区别,所以在分析研究必须注意它们的异同之处,这些异同也会体现在信息系统的结构上。
随着制造环境的改变,产品周期越来越短,多样少量的生产方式,对库存限制的要求越来越高,因而必须建立及执行供应链管理系统,借助电脑化、信息化将供应商、制造商、客户三者紧密联合,共担库存风险。
仓储管理可以简单概括为8个关键管理模式:
追-收-查-储-拣-发-盘-退。
设计模式提供了一种共享经验的方式,可以使团体受益和避免不断的重复发明。
设计模式通常捕捉问题的描述、问题的语境、推荐的问题解决方案以及使用解决方案后可以预见到的结果。
为了具有最广泛的适用性(从而对更多的读者有用),设计模式通常从取决于环境的精确细节中抽象而来。
这种抽象性产生了一些把设计模式应用到现有的案例中所必需的译码。
C/S(客户端/服务器)结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快,降低服务器的运行数据负荷量。
方便快捷,让使用者拥有更高的自由性和灵活性。
本次毕业设计,利用c/s结构来实现一个仓库智能管理系统。
1.2国内外发展概况及存在的问题
当今的主流仓库管理系统主要是以“便捷、高效、智能、安全”作为设计理念。
传统的仓库管理系统只注重“进、销、存”三项基本功能,在其他方面显的用心不足,技术比较落后,工作效率也低。
致使很多优秀的仓库管理系统都在不断的提高自身性能。
从国外的经验来看,一个优秀的仓库管理系统应该具备以下几点:
1、有效的人工管理。
2、通过智能系统和布局使柔性最大化。
3、与合作伙伴的仓储管理系统一体化。
4、不要只局限于收货、储存和运送
5、在仓库内安装逆向传动装置。
6、在仓库内建设一个中枢指挥中心。
7、准确测量,快速反应。
8、无线射频与语音技术的结合。
9、最优化供应链中的仓库。
10、不要被技术所迷惑。
从我们国内的实际脚步出发,在汲取以上经验的同时,我们还要注意一下几点:
1、我们市场比较大,所以应扩大服务器的网络覆盖面积(支持多线程客户端)。
2、加强系统的便捷性。
3、完善系统自身,对数据做好保护,避免由于外界原因而造成的数据损坏或丢失。
目前市场上出现的仓库管理系统都十分优秀,功能丰富,界面美观。
例如中小企业最常用的“管家婆”软件。
但这些软件仍然有需要问题要解决,最明显的就是操作复杂。
绝大部分用户只需要出库、入库的记账功能,花哨的界面、臃肿的结构和复杂的操作使得很多用户都抱怨软件不好用。
所以我们需要开发一种功能全面,但操作简单的仓库管理软件。
1.3选题目的、意义
随着我国经济迅猛发展,各类商品流动及其频繁,复杂的供应链编织着我国的经济市场。
仓储在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控制及发货,将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力。
传统简单、静态的仓储管理已无法保证企业各种资源的高效利用。
如今的仓库作业和库存控制作业已十分复杂化多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大损失。
仓库存放的货物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。
针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。
系统主要的实现目标是监控整个仓库的运转情况;提供完善的任务计划功能,由整个操作的指令中心来安排进出任务,确认任务的开始,进货管理和出货管理按其指令执行即可;实时监控所有货物的在线运动情况,实时提供库存变化的信息。
仓储管理及精确定位在企业的整个管理流程中起着非常重要的作用,如果不能保证及时准确的进货、库存控制和发货,将会给企业带来巨大损失,这不仅表现为企业各项管理费用的增加,而且会导致客户服务质量难以得到保证,最终影响企业的市场竞争力。
所以我们提出了全新基于射频识别的仓库系统方案来解决精确仓储管理问题。
1.4课题应解决主要问题
本系統使用Corejava技术开发的基于c/s的仓库智能管理系统。
后台数据库使用mysql,windowsXP作为平台,可以有效管理各种数据信息。
客户方面,要做的尽可能人性化点,一般用户登录时就能进行基本的操作,如一般的查看各种信息。
1.5指导思想
1.c/s结构。
客户端/服务器结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。
这也就是目前应用系统的发展方向。
2.JavaJDBC技术。
JDBC(JavaDatabaseConnectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。
3.Eclipse环境。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。
2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。
2007年6月,稳定版3.3发布。
2008年6月发布代号为Ganymede的3.4版。
2009年7月发布代号为GALILEO的3.5版。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。
例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
EclipseSDK(软件开发者包)是EclipsePlatform、JDT和PDE所生产的组件合并,它们可以一次下载。
这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到EclipsePlatform中的工具。
EclipseSDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。
Eclipse项目生产的软件以CPL发布,第三方组件有各自自身的许可协议。
4.MySQL数据库。
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。
MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。
MySQL是MySQLAB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
MySQL是一个数据库管理系统。
一个数据库是一个结构化的数据集合。
它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。
如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。
从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。
MySQL是一个关系数据库管理系统。
关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。
“MySQL”中的SQL代表“StructuredQueryLanguage”(结构化查询语言)。
SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。
SQL标准发展自1986年以来,已经存在多个版本:
SQL-86,SQL-92,SQL:
1999,SQL:
2003,其中SQL:
2003是该标准的当前版本。
MySQL是开源的。
开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。
如果你愿意,你可以研究其源代码,并根据你的需要修改它。
MySQL服务器是一个快的、可靠的和易于使用的数据库服务器。
如果这是你正在寻找的,你可以试一试。
MySQL服务器还包含一个由用户紧密合作开发的实用特性集。
MySQL服务器原本就是开发比已存在的数据库更快的用于处理大的数据库的解决方案,并且已经成功用于高苛刻生产环境多年。
尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。
它的连接性、速度和安全性使MySQL非常适合访问在Internet上的数据库。
MySQL服务器工作在客户/服务器或嵌入系统中。
MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。
MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。
第2章系统分析
2.1可行性研究
2.1.1技术可行性研究
1、C/S(客户端/服务器)结构。
C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。
客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。
这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。
C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
缺点主要有以下几个:
只适用于局域网。
而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。
这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
客户端需要安装专用的客户端软件。
首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。
特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。
还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
同时,我采用多线程服务器,可以允许多个客户端同时访问服务器。
并对数据库进行加锁,使得多个客户端同时访问的时候,只有一人具有管理数据的权限
2、javaJDBC技术。
我做的程序持久层所采用的技术是JDBC技术。
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
JDBC扩展了Java