本科毕业论文---基于cs结构的仓库智能管理系统设计.doc
《本科毕业论文---基于cs结构的仓库智能管理系统设计.doc》由会员分享,可在线阅读,更多相关《本科毕业论文---基于cs结构的仓库智能管理系统设计.doc(77页珍藏版)》请在咨信网上搜索。
本科毕业设计(论文) 题目名称: 基于c/s 的仓库智能管理系统 摘 要 本文主要阐述了采用面向对象思想开发基于C/S的仓库智能管理系统的方法和过程,包括从可行性研究到系统投入使用的主要相关文档。本系统主要完成对仓库的库存管理,包括入库、出库、库存、员工信息、供应商信息以及密码管理等6个方面。系统可以完成对各类信息的浏览、查询、添加、删修改、报表等功能。 系统的开发环境为mysql+Myeclipse。使用Myeclipse时限逻辑代码。系统实现了系统设置,单据填开,库存查询,报表导出等功能。其中系统设置包括:管理员的增加,修改,删除,以及权限管理;仓库内货物的基本资料的增加,修改,删除;商家的基本资料的增加,修改,删除。单据填开模块包括:出库单,入库单,等单据的填开级作废操作。库存查询系统包括:库存情况的查询,各项明细的查询。 该系统是对仓库的智能管理,并进行相应的采购管理、入库管理、出库管理、报表管理等一些仓库方面的管理。 该系统可以方便地实现商品的入库操作和出库操作、以及报表输出等功能,这些功能的实现对该公司的仓库管理从以往的手工管理过渡到计算机的信息化管理,从而大大提高了工作效率。 关键词:数据库;sql语言;Myeclipse;数据库组建;仓库管理 Abstract The system mainly refers to warehousing management,which includes the folllowing fields:stock in and out,inventory,staff data,suppliers data and password management.It also offers the funcions as data browse, adding,deleting,modification and report,etc. The System development environment is mysql and Myeclipse.It contains 3 modules,system management,receipts management and inventory query.System management module is used to conduct operater adding.modification.deleting and authoirties assignmentmin addition,inventory,staff andcustomer data adding,modification and deleting;the second part refers to stock in and out,receipts fill-in cancellation; thelast maodule contends to warehousing query,staff salary query,monthly,quarterly,yearly report query.. As stated previously,the sysrem is an intelligent warehousing management solution.which includes:purchasing management,stock in and our management,report management,etc. The system can expediently carry out the merchandise to store in warehouse the operation and a database operation, and the statement print etc. function, the realization of these functions manages to the stock of that company to manage to transfer the information-based management of the calculator from the former handicraft, raising the work efficiency thus and consumedly. Key words:database; SQL;Myeclipse ;Database module; Database management III 目 录 摘 要 I Abstract II 第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 课题应解决主要问题 本系統使用Core java技术开发的基于c/s的仓库智能管理系统。后台数据库使用mysql,windows XP作为平台,可以有效管理各种数据信息。 客户方面,要做的尽可能人性化点,一般用户登录时就能进行基本的操作,如一般的查看各种信息。 1.5 指导思想 1. c/s结构。客户端/服务器结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 2. Java JDBC技术。JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。 3. Eclipse环境。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.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、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。 虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。 Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。 Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。 4. MySQL数据库。MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。 MySQL是一个数据库管理系统。一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。 MySQL是一个关系数据库管理系统。关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。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、java JDBC技术。 我做的程序持久层所采用的技术是JDBC技术。 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 但java语言当中比较主流的持久层框架还是Hibernate。Hibernate操作包含主外键关系的表非常便捷,一定程度上可以减少程序员的代码量。但我并没有采用Hibernate技术,原因有以下两点: (1) 本程序比较小,数据库中表的结构并不复杂,所以代码中需要的sql语句也相对简单,JDBC技术完全可以胜任。 (2) Hibernate技术虽然功能强大,但由于其功能太多,体积太大,显得过于“臃肿”,从而降低了系统的工作效率。如果是商务系统,主要是对业务处理能力要求高,对数据访问能力要求不高。所以为减少程序的开发周期、减少模块之间的耦合性、以及智能高效的处理复杂数据,hibernate应运而生。但其复杂的内核,还有对多数据库支持的扩展包令其工作效率低缓,这是hibernate致命的缺点。所以hibernate技术广泛应用于商务系统以及各类网站。仓库管理系统对数据的访问量大,频繁的增删改查对系统效率的要求非常高。 由以上几点总结,我最后选择了JDBC技术当做本程序的持久层技术。 2.1.2 经济可行性研究 基于c/s的仓库智能管理系统开发过程中用到了mysql数据库软件、Myeclipse开发工具。这两个软件均为开源软件,完全可以在正规网站上免费下载。设计过程中通过网络和购买书籍查阅的相关信息,因此设计过程中所需的花费有:上网费、购书费。从经济可行性方面分析,具有经济可行性。 2.2 需求分析 2.2.1 理解需求 根据以上初步的分析需求分析得出数据流图,如图2-1所示。 命令处理 增加命令 删除命令 更改命令 查询命令 用户 数据库 更新的信息 显示信息 子系统显示 增加命令 删除命令 更改命令 查询命令 增加的数据 删除的数据 更改的数据 要查询的数据 数据信息 图2-1 数据流图 用户用例图如图2-2所示: 图2-2 用户用例图 系统的类图如图2-3所示: 图2-3 程序类图 用户添加商品的活动图如2-4所示: 图2-4 用户添加商品的活动图 用户添加商品的顺序图如图2-5所示: 图2-5 用户添加商品的活顺序图 2.2.2 分析需求 简单来说,本程序的开发分为以下几个模块:用户登录认证模块、仓储 管理模块、数据传输模块、库存管理模块。每一个模块拥有自己的数据表ActionForm 和自己的处理Action。登录模块用来验证登录者信息的准确性,仓库信息模块用来维护数据,仓储模块用来处理货物,数据运输模块用来处理数据运输过程。 2.2.3 数据处理需求 E-R图为实体-联系图,对于每个模块的构建和如何进行模块之间数据的传递,是重要的依据。 构成E-R图的基本要素是实体型、属性和联系,其表示方法为实体型用矩形表示,矩形框内写明实体名;属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。如图2-6所示。 数量 存库日期 用户 仓库 商品 管理 储存 用户名 密码 最大容量 目前商品数 1 N 1 N 名称 单价 供应商 仓库地址 N N 图2-6 E-R图 第3章 概要设计 3.1 总体构想 首先明确的是本程序的开发主要分为前台和后台的设计,前台的设计分为几个功能模块功能,主要实现会员的登录查看各类信息的作用。后台就对各个功能模块进行管理,有主要的数据库的增、删、改、查的作用。 3.2 据库设计模块 3.2.1 数据库结构设计 根据本程序的需求,为了能更直观和满足功能的需求,经过分析在开发过程中主要使用的表结构如表3-1所示。 表3-1 所有数据库表 序号 表名 简单说明 1 Goods 商品信息表 2 Manager 用户信息表 3 Manager_warehouse 用户与仓库关系表 4 Shop 供应商信息表 5 Warehouse 仓库信息表 商品信息表主要用于保存所有商品,结构如表3-2所示: 表3-2 goods表 字段名 数据类型 长度 是否为主键 可以为空 描述 Id Int 11 Yes No 商品编号,可自动生成 Name Varchar 20 No 商品名称 Count Int 11 No 商品数量 Price Medimutext — No 商品单价 Warehouse_id Int 11 No 所在仓库 Save_date Date — No 存库日期 Shop_id Int 11 No 供应商编号 state varchar 5 No 库存状态 用户信息表主要用于保存用户的账号,结构如表3-3所示: 表3-3 manager表 字段名 数据类型 长度 是否为主键 可以为空 描述 Id Int 11 Yes No 用户编号,可自动生成 Name Varchar 20 No 用户账号 Password Varchar 10 No 用户密码 用户与仓库关系表主要用户记录仓库与用户之间的所属关系,他们之间是多对一的关系。比如一个用户可以拥有多个仓库,但一个仓库只能属于一个用户。此表作为辅助表,该表的结构如表3-4所示: 表3-4 Manager_warehouse表 字段名 数据类型 长度 是否为主键 可以为空 描述 Manager_id Int 11 Yes No 用户编号 Warehouse_id Int 11 Yes No 仓库编号 供应商信息表主要用于保存商品供应商家的基本信息,结构如表3-5所示: 表3-5 shop表 字段名 数据类型 长度 是否为主键 可以为空 描述 Id Int 11 Yes No 商家编号,可自动生成 Name Varchar 20 No No 商家名称 Address Varchar 20 No Yes 商家地址 Email Varchar 20 No Yes 电子邮箱 telephone Varchar 20 No Yes 商家电话 仓库信息表主要用于保存所有仓库的基本信息,结构如表3-6所示: 表3-6 warehouse表 字段名 数据类型 长度 是否为主键 可以为空 描述 Id Int 11 Yes No 仓库编号,可自动生成 Area Varcahar 20 No 仓库所属区域 Dept_id Int 11 No 所属用户编号 Volume Int 11 No 最大容量 Count Int 11 No 目前库存容量 3.2.2 连接数据库 public class JdbcUtil { private static Connection con = null; static {try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e) { e.printStackTrace(); }} public static Connection getConnection() { try {con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/shen?useUnicode=true&characterEncoding=utf8", "root",""); } catch (SQLException e) { e.printStackTrace(); } return con;}} 由以上代码,对JdbcUtil数据库巩固类进行实例化,调用JdbcUtil().getConnection()即可获得数据库连接。 3.3 功能模块设计 在概要设计阶段,必须设计出系统的概念模型,这是实现系统功能的必经之路。在此过程中,根据各表的分析和对各种数据和系统功能进行综合,可得到软件初始结构图如图3-1所示、图3-2所示。 注册用户 用户登录 添加仓库 查看仓库 查看商品 删除商品 增加商品 设置商品属性 编辑商家信息 选择供应商 统计数据 仓库管理 商品管理 商家管理 用户账号 客户端 图3-1 客户端功能结构图 服务器 商品信息 仓库信息 用户信息 商家信息 增加仓库信息 查询仓库信息 增加商品信息 删除商品信息 修改商品信息 查询用户信息 查询供应商信息 增加供应商信息 新增用户信息 图3-2 服务器功能结构图 3.3.1 客户端的基本功能 用户端主要功能都是面对用户的操作,根据用户的需求,想用户端发出请求,将用户所需要的或所编辑的信息显示出来。其主要功能模块如下: 登用户管理模块:用户登陆,用户注册。 仓库查看模块:查看仓库,新建仓库,快速查询商品功能 商品查看模块:查看已入库商品,查看已出库商品,查看全部商品,查看商品具体信息,删除商品,修改商品信息,将商品入库,将商品出库。 数据发送模块:对商品等信息进行打包,发送数据包,接受数据包。 3.3.2 服务器的基本功能 服务器断主要是接受客户端发来的信息,识别信息类型后,对信息分类,再对处理客户端所需要的业务。其主要功能模块如下: 数据存储模块:主要包括数据库中的商品的进行增、删、改、查。 数据查询模块:判断用户的账号密码是否正确,查找某个用户所拥有的所有仓库及仓库内商品信息。 信息识别模块:解压客户端发送的数据包,判断业务类型。 数据发送模块:对数据库中得到的信息进行打包,发送数据包。 第4章 详细设计及实现 4.1 程序主体框架设计 程序分为客户端和服务器两个部分,两个部分均能够独立存在,但运行时又必须相互支持。客户端的操作界面均采用java.swing包下的可视窗体控件,服务器则采用纯后台系统。 客户端和服务器在Myeclipse中分别是两个项目,为了两个项目能够正确读取网络数据流发送的数据包,所以在客户端程序中需要添加一个服务器生成的.j- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 基于 cs 结构 仓库 智能 管理 系统 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文