基于JAVA的陶瓷工厂进销存管理系统的设计与实现
摘 要
时代在进步,我们的生产生活方式当然也要相对应的做出改变了。在今天这样一个信息化的时代,计算机软件已经广泛的被用于日常的办公,仓库的库存管理,企业的人员以及资产管理,文字的编辑处理,电子表格的广泛应用以及各种人事管理,财务管理等等方面,可以说计算机软件已经是我们日常生活中不可或缺的一部分了。使用计算机来完成工作效率远比传统的人工作业高得多。众所周知,中国是世界上四大文明古国之一,在英语中中国和瓷器有着相同的拼写这样足可以见陶瓷是我国文明的发展史上一个极为重要的组成部分,这样的发明不仅仅对于中国来说,对于世界来说也做出了极大的贡献,有着非常独特和重要的意义,但是我国的陶瓷生产企业仍是以传统的人工管理模式进行,这样工作容易出错且效率极低。所以根据XXX陶瓷工厂提供的需求,设计此XXX陶瓷工厂的进销存管理系统,以帮助陶瓷工厂达到自动化办公,节约管理成本,提高效率的目的。
本XXX陶瓷工厂的进销存管理系统是基于eclipse开发环境,前台采用的是Swing 和 AWT 相关组件进行的GUI设计,后台使用的是SQL Server数据库。且该XXX陶瓷工厂的进销存管理系统共分为六大模块,分别为基础信息管理模块,进货模块,销售模块,查询统计模块,库存管理模块和系统管理模块,其中基础信息管理模块涉及到客户,原料商品,供应商,产品信息的管理和维护;进货模块涉及到原料商品的进货和退货;销售模块是负责产品的销售和销售退货;查询统计模块则负责查询一些基础信息;库存管理模块完成原料商品的出库,产品的入库,库存盘点和价格修改;系统管理模块涉及到操作员管理和密码修改。总体而言,该六大功能模块设计合理,功能全面,同时界面友好,非常符合我国陶瓷工厂的进销存管理需求。
关键词: XXX陶瓷工厂的进销存管理系统;java;SQL Server数据库
目录
摘要 i
Abstract ii
1 绪 论 1
1.1本课题的研究背景 1
1.2国内外研究现状 1
1.3本课题的重要工作 2
1.4选题意义 3
2 开发工具的选择 4
2.1开发工具Eclipse的介绍 4
2.2 SQLServer数据库介绍 4
2.3 swing组件与功能 5
3 可行性分析 6
3.1经济可行性 6
3.2技术可行性 6
3.3管理可行性 6
3.4法律可行性 7
4 需求分析 8
4.1功能需求 8
4.2性能需求 8
4.3 需求分析的结果 10
5 系统总体设计 11
5.1业务流程 11
5.2系统功能模块图 12
5.3系统流程 13
5.4系统类图 13
6 数据库设计 15
6.1数据库的逻辑设计 15
6.2数据库的物理设计 17
7 详细设计与系统实现 20
7.1系统的流程图 20
7.2登陆模块的实现 20
7.3基础信息管理模块的实现 22
7.4进货管理模块 23
7.5销售管理模块 26
7.6查询统计模块 27
7.7库存管理模块 29
7.8系统管理 31
8 系统测试 33
8.1登陆功能测试: 33
8.2进货功能测试 34
8.3查询统计功能测试 36
8.4库存管理功能测试 37
8.5系统管理功能测试 38
总 结 40
致 谢 42
附录一:外文原文 43
附录二:中文翻译 49
1 绪 论
1.1本课题的研究背景
伴随着全球化的经济的发展,世界上陶瓷产品的需求量与日俱增,而我国作为陶瓷生产的大国自然不能放过这样一个时代的机遇,陶瓷产品的订单越来愈多,同时我国的陶瓷工业的规模逐年扩大,再这样的情况下,传统的陶瓷工厂的进销存管理模式却已经成为整个陶瓷工业的重要组成部分,成为了我国陶瓷工厂进一步成长,进一步扩大规模,获取利益的绊脚石。旧的管理经营模式已经无法满足我国陶瓷工厂日益扩大的生产需求了。伴随着现代计算机技术的飞快普及和各种软件的不断发展,几乎所有的陶瓷企业和工厂已经无法忽视计算机这种辅助工具为自己带来的经济效益了。陶瓷工厂可以利用计算机来提升自己的工作效率、对工厂产品和原材料的库存进行管理,也可以通过不同的产品的效率来判断哪一种产品才是最畅销的,针对性的生产产品,避免不必要的浪费,从而增加工厂的效益,因此,尽快建立一个功能齐备的专门为陶瓷工厂设计的进销存管理系统,完善一个现代陶瓷企业的信息化管理机制,使现代陶瓷工厂库存管理和维护工作变的更加规范,更加系统,更加有效率是十分必要的。
这个课题是在我研究了我国众多的陶瓷生产及加工企业的现实需求,同时结合了工厂生产中所遇到的一些实际的问题还有收获来设计的。基于这些,我针对XXX陶瓷工厂 的进销存管理系统在系统设计还有开发等方面做了重点的研究。主要是研究了开发系统的过程中将会涉及到的一系列软件和硬件的平台的国际化的规范,系统的数据库的结构和完整性的设计。我这样做的主要目的是为了能够从技术手段的角度来阐述怎样解决我国现代的陶瓷生产厂家如何从原来传统的人工管理模式向现代化的信息化的管理模式的转变,除此之外还有陶瓷工厂的进销存系统在陶瓷工厂管理信息化中所起到的重要作用。
1.2国内外研究现状
目前,国外陶瓷企业的信息化状况的分布是这样的:在大型陶瓷企业中,一般都会使用进销存管理系统来进行管理;在中型陶瓷企业中,进销存管理系统正在被重视并在实际生产中创造价值,在这种陶瓷企业中,进销存管理已经不再是传统的分散的单店式的非常分散的管理模式了,它越来越向着更加集中的更加方便管理的模式靠拢;对于小型的企业来说,很少有企业涉足这块,即便是有所了解也是仅仅处在表面的层次,无论是思想观念还是信息系统的建设都非常的不成熟,还需要一些时间来慢慢的探索,认识,进步。国外的这些进销存管理系统的使用情况对应着各种不同的企业,有着丰富的经验可供借鉴,但是,这些国外的软件和生产管理经验并不是能够完全符合我国的国情的,而且我国自主研发的一系列进销存管理软件大都是功能单一的,很少有这种专门为了我国陶瓷工厂量身定制的,建立适合我国的陶瓷工厂特点的进销存管理系统,是工厂以高效率,低成本立足市场,为其自身的发展提供条件的重要课题。
1.3本课题的重要工作
伴随着我国经济的快速发展,中国陶瓷工厂的规模逐年扩大,传统的进销存管理模式使得陶瓷工厂的管理越来越复杂和繁重。本陶瓷工厂的进销存管理系统是面向国内陶瓷工厂,为了加强产品和原料管理,从而更好地对库存进行科学的监督和管理,使陶瓷工厂员工的工作更加高效和轻松而开发。该陶瓷工厂的进销存管理系统是以精确、实际、真实的陶瓷生产体系为基础,提供了对陶瓷生产原材料数量、类型、批号等的全面管理。系统能随时提供产品的库存、进销存的详细信息,还能非常好的管理和维护供应商,客户的信息。从而提高资源的利用率,方便快捷的对各种重要信息进行更新和维护等。
陶瓷工厂的进销存管理系统主要设计和实现以下内容:
(1) 基础信息管理:该模块主要负责对系统中的基础信息进行更新和维护。主要包括四个功能。其一,客户信息管理,此功能可以将客户的基本信息进行保存,之后还可以对其进行维护。其二,商品信息管理,此功能可以对商品即原材料进行保存和维护,还完成了将不同的商品与其各自的对应供应商进行匹配的功能需求。其三,供应商的信息的管理,此功能可以将供应商的基本信息进行保存,之后还可以对其进行维护。其四,产品信息管理,此功能可以对工厂生产的产品进行定义和维护。
(2)进货管理:进货管理这个模块又分为两个小模块,分别是进货单和进货退货功能这两个小功能。其中进货单功能是本模块的核心功能,主要完成了从对应的供应商处进入原材料,这里面还维护了经手人等字段,可以在将来需要的时候查明每一笔入库的来龙去脉。而进货退货功能也是在研究了大量的现实中陶瓷工厂的具体进货流程后提出的这样一个个性化,实用性极高的小功能。主要是考虑到了在现实进货中不可能每一次的进货都尽如人意,出现残次品的概率是极高的,所以一定会有将原材料退货的需求的,在这个功能中可以将第一步通过进货单入库的原材料再次出库。
(3)销售管理:在销售管理这个大模块中也是分为了两个小的功能,分别是销售单,销售退货功能。销售单指的是将生产好的产品卖给对应的有需求的客户,从而获取效益,这个功能也是本系统中最重要的一个功能,没有这个功能,整个系统的收益将无从谈起。相应的说,销售退货功能完成的功能主要是将卖出去的产品通过退货的渠道再次入库。这么做的原因是考虑到了各个客户需求是有很大的可能会变更的,或者我们的产品出现了残次品,无法满足客户的需求,在这两种情况下就需要用到这个功能,将销售出去的产品再次入库。
(4)查询管理:该模块主要负责对工厂核心信息的查询,因为在实际生产中,无论客户,供应商,原料还是产品都会有很多,所以将基础信息的查询功能拿出来专门做成一个模块,这么做是符合实际的生产场景的。具体来说,主要完成了各个具体信息的模糊查询和完全匹配查询,除此之外比较有特色的是我给每一种基础信息都维护了一个对应的简称字段。而且简称字段也提供了模糊查询和完全匹配查询这两种功能,更加方便也更加的人性化,利于日常工作的开展。
(5)库存管理:该模块是本系统中最重要的功能,因为本系统是一个陶瓷工厂的进销存管理系统,和传统的仓库管理系统区别很大,本系统中我们要对原材料进行加工后销售陶瓷成品所以在本模块中加入了商品出库,产品入库,库存盘点,价格修改等功能。
(6)系统管理:该模块是对工厂中的所有操作员进行管理的模块,在使用这个模块的时候我将会对此操作进行鉴权,具体的来说就是,所有的角色都可以修改自己的密码,但是只有系统管理员才有权限增加新的操作员。
1.4选题意义
现代计算机技术的进步,不仅仅改变了我们的生活方式,同时我们的工作方式也变得更加科学和高效,怎样才能够让我国传统的陶瓷企业更快速的,更准确的获取到市场的需求,更好的反应市场的变化,已是中国陶瓷工厂首当其冲的必须要面对的问题,因此设计和实现一整套完整的针对性更强的实用的现代陶瓷工厂进销存管理系统就显得刻不容缓了,在本次毕业设计中我秉承了良好的治学之风,除了严格按照毕业设计进度表来进行我的系统设计工作,我还与指导老师进行了非常深刻的讨论,老师的建议让我的系统功能更加的完善,性能更加的卓越。同时这个项目也是一个会对实际生产生活产生很大的影响的真正能够创造效益优化企业管理的项目,所以对基层生产厂家的调研、研究工作就成了重中之重,我要为最终能够完成一个成功的软件而努力。
2 开发工具的选择
2.1开发工具Eclipse的介绍
2.1.1Eclipse简介
Eclipse 这个工具是我开始接触编程就一直使用的工具,它本身也是开源的,在在校学习和日常的实习工作中,使用最为广泛。Eclipse这个工具可扩展性是非常好的,工作中可以通过安装不同的插件来引入各种的实用的功能,让开发与测试变得更加紧密,也更加的方便。最值 得一提的是,Eclipse 工具本身还附带了Java语言的JDK工具(Java Development Kit,JDK)这是一个标准的插 件的集合。Eclipse的主要项目包括三个组成的部分,分别是Eclipse项目、Eclipse技术项目还有Eclipse工具项目。更具体的来说,Eclipse Platform、CDT、JDT以及PDE这四个部分共同组成了现在这个成熟的Eclipse工具。JDT主要是可以支持Java的开发测试工作,CDT主要是用来完成C语言的开发及测试、PDE则是可以用来支持插件的开发和测试,最后Eclipse Platform是一个有很好的开放性的可扩展的IDE工具,它提供了一个通用的开发平台,同时提供了一个让建造模块和构造模块集成,并行对的软件开发工具的基础。
2.2 SQLServer数据库介绍
2.2.1SQLServer数据库的简介
SQLServer 数据库是我现在在实习工作中使用的一个数据库。它是由美国的Microsoft 微软公司推出的一款应用广泛的关系型的数据库系统。SQL Server是一个可以根据每一个用户的个性化需求完成定制、性能在众多的数据库中也算是非常的卓越的、为分布式客户机/服务器计算需求来 设计的数据库管理系统,通过使用SQLServer数据库我们还能完美的使用WindowsNT,应为他与SQL Server完成了非常好的有机结合,提供了一种可靠的基于事 务的企业级的信息管理系统方案。同时,因为之前在校期间学习的时候学习过SQLServer 数据库,比较熟悉,所以此次毕业设计我选择用SQLServer作为后台的数据库。
2.2.2 SQLServer数据库的优势
1.SQLserver数据库拥有高性能的设计,这样做我们就可以非常充分的利用WindowsNt的各种优势来优化我们数据。
2.SQLserver数据库的系统管理模式十分的先进,它可以运行Windows图形化管理工具,除此之外,它还支持本地的还有远程的系统管理和配置。
3.事务处理功能非常的先进,它采取了各种办法来保证了数据的完整性还有数据库的安全,让我们可以更方便的处理数据。
4.SQLServer数据库可以对多处理器结构进行解析,它的存储结构也更加的科学,能完美的运行ODBC,除此之外,它还拥有自主的SQL语言。他的各种强大的,实用的功能为广大开发者和用户提供了一个安全,性能出众的数据库平台。.
2.3 swing组件与功能
Java. awt 包含用于创建用户界面和绘制图形图像的所有类。在AWT术语中,诸如按钮或滚动条之类的用户界面对象称为组件。Component 类是所有AWT组件的父类。当用户与组件交互时,一些组件激发事件。AWTEvent 类及其子类用于表示AWT 组件能够激发的事件。容器是一个可以包含组件和其他容器的组件。容器还可以具有布局管理器,用来控制容器中组件的可视化布局。AWT 包带有几个布局管理器类和一个接口,此接口可用于构建自己的布局管理器。而swing组件则是在awt组件基础上优化出来的轻量级组件。Swing组件位于javax.swing包中,此包提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。此次毕业设计,我便采用Swing组件在进行前台的GUI界面设计,并用java.awt.event事件监听实现系统用户与本系统的动态交互。
3 可行性分析
3.1经济可行性
经济可行性研究是对我国众多的陶瓷工厂的经营状况和是否愿意为此系统来进行投资完成了详细的分析,对此为我国陶瓷工厂量身定做的系统的建设及运行还有后期维护的费用做了大致的估算,同时还对系统建 成后可能和一定会取得的经济和社会的效益进行评估。再加上本系统是为现实中实际的陶瓷工厂员工提供实用性强,可操作性强的自动化的办公内容,登陆了本系统后,就可以使用对应权限的系统功能了,系统的成本大部分都集中在了系统工程软件的开发工作上了,当这个系统投入到实际的运行中后即可以为人们节约大量的宝贵时间和精力,完成的工作也更加的安全,准确。它所能够带来的方便及效益远远大于系统软件的开发成本。在经济上完全可行。
3.2技术可行性
本系统采用Eclipse开发工具等当今使用最广的开源框架等技术应用到模块制作当中,结合陶瓷工厂的进销存管理系统的特点,设计基于java (swing组件)开发的。其中:前台用Swing 组件技术以及awt event事件响应实现前台GUI界面的开发以及相应得事件响应,后台采用了SQL Server数据库来完成相关数据的存储,二者之间的联系则采用SQL相关增删改语句编写成java类来实现,这三大部分尽量发挥各自的特点充分协调工作。再此基础上,我对本系统的各个模块进行了详细的分析,尽可能让它们做到模块独立,高内聚低耦合,让今后的维护工作更加的可行,所以在技术层面是可行的。
3.3管理可行性
本陶瓷工厂的进销存管理系统是由六大各具特色,缺一不可的模块共同组建完成的,开发完成并实际投入运行后,日常工作中的维护与管理也是非常简单快捷的。于此同时,系统开发中我将不同的功能分为不同的模块,在一个模块中功能尽可能的单一,这样会使后期维护工作成本更低且更容易完成,代码编写中我严格的遵守了代码的编写的规范,让本系统的代码更容易让人理解。对于完成同样工作的进程来说,采用启动一个程序,同时开启多个子进程的设计模式。值得一提的是在本系统中,具体的设计是将所有的对功能的操作都让操作员来完成,系统管理员很少,或者完全不参与系统的日常运行。将系统管理员的功能独立出来,让他全心全意的投入到对操作员的管理之中去。这种将两个角色分开的做法,使得整个系统更易于维护和管理,可以保证每一个操作员都是管理员仔细挑选之后的,而且如果出了问题,系统管理员也可以快速地定位到是哪一个操作员,让责任更明确具体。
3.4法律可行性
因为这个系统如果投入使用的话,一定会产生资金上的来往,这样有可能会让人钻空子违反法律法规。所以,在本系统的需求分析,代码开发,功能测试,包括之后的运行维护过程中,我都严格的遵守了我国的所有的相关法律法规。在此基础上,我还积极的相应国家的号召,让这个系统完全的贴合了我国的经济现状,让它为我国众多的陶瓷工厂做出贡献。所以在法律层面,它是完全可行的。
4 需求分析
4.1功能需求
- 基础信息管理:该模块主要负责对系统中的基础信息进行更新和维护。
1.1客户信息管理,通过这个功能,我们可以实现对所有客户信息的增删改查,可以查看每一个客户的详细信息,利用这些信息,从而更有针对性的推荐我们的产品,这样的成功率一定是更高的。
1.2商品信息管理,此功能可以对商品即原材料进行保存和维护,还可以将不同的原材料和不同的供应商进行匹配。
1.3供应商信息管理,此功能可以将供应商的基本信息进行保存,之后还可以对其进行维护。
1.4产品信息管理,使用此功能我们可以对工厂中新增的产品进行添加,在这里添加后我们就可以实际进行生产操作了。 - 进货管理:该模块主要负责对工厂所需原材料资源的维护工作,包括进货、退货等,实现了进货阶段对原材料入库的增删操作。
- 销售管理:该模块主要管理工厂对陶瓷产品的销售,和退货,实现了销售阶段对产品出入库的增删操作。
- 查询管理:该模块主要负责对基础信息的查询,因为在实际生产中,无论客户,供应商,原料还是产品都会有很多,所以将基础信息的查询功能拿出来专门做成一个模块,符合实际的生产场景。
- 库存管理:该模块是本系统最核心的功能,因为本系统是一个工厂的进销存管理系统,和传统的进销存管理有些不同,本系统中我们要对原材料进行加工后销售陶瓷成品所以在本模块中加入了商品出库,产品入库,库存盘点,价格修改等功能。
6. 系统管理:该模块是对工厂中的员工进行管理的模块,在这个模块中希望将基础功能的操作和操作员的管理分离开来。在本系统中的所有的角色都是可以对自己的密码进行修改的,但是如果想添加新的操作员的话,只能通过系统管理员来完成,也只有他有这个权限。
4.2性能需求
进过仔细的调研后,我发现一个满足一下几条需求的系统才可以长期,稳定,安全,高效的运行起来:
1、要及时的和准确的处理系统信息
在设计一个陶瓷工厂的进销存管理系统的时候,我最先考虑的就是这个系统处理信息要及时更要准确。这是每一个系统都需要做到的最基础的性能。在本系统设计之初,我就已经充分的考虑到了这个系统现在的和将来的需要承受的最大的和平时的工作量,本系统的性能是完全能够满足我国陶瓷工厂的对信息处理的需求的。
2、要可以扩充系统功能
陶瓷工厂的进销存管理系统在开发过程中,我已经充分考虑到了以后系统的可扩充性。举个例子来说,陶瓷工厂的规模随着需求的增长会变得越来越大,程序的查询需求也在不断地变化,要对应的设计全称查询和简称查询,还有模糊查询等等。所有这些,都要求系统提供很多的可以进行功能的调整和扩充的接口。而要实现这一点,要利用系统的开放性来实现,就是说系统应是一个开放系统,可以自己分析需求,根据需求来对系统模块进行增加和替换,如果当前的功能不能满足实际的需要的话,也是可以对原有系统进行升级换代的。
3、所有的功能都必须易于操作上手
陶瓷工厂的进销存管理系统是直接为工厂的操作员服务的,要考虑到这些员工并不了解程序的流程,要设计易用的界面,让各位操作员更有效率的为工厂服务,而不是把时间浪费在熟悉系统上。
4、系统的标准性
陶瓷工厂的进销存管理系统,在具体的设计和部署时需要用到很多的软件和硬件产品,这些必须要符合国际标准。只有符合了国际的统一的标准,我们的工程才能更好的运转,也有利于后期的测试以及运行维护等等工作的开展。
5、系统的响应速度
考虑到实际生产中操作员的需求,本陶瓷工厂的进销存管理系统的数据库对信息处理的响应时间设为秒级。因为日常出入库工作不能马虎,如果系统的响应时间非常的长就有产生脏数据的风险。同时,在进行数据查询的时候,数据库的响应时间应该更短,这样才能拿到最新的数据,更全面,更准确。
6、系统要足够的安全
我们这个系统是为了现实中的陶瓷工厂使用而设计的,所以系统要足够的安全才能让人们放下心来使用,安全性包括多个方面,在这个系统中,我们最注重的有两个方面。一个就是,数据要易于维护,且不能产生脏数据,这个问题我们通过SQLserver数据库的良好的性能解决了,另一个问题就是要避免SQL注入攻击,这个问题我通过前后台的数据的校验来解决了。所以说我们这个系统的安全性很高,是一个能够让人方心使用的系统。
4.3 需求分析的结果
经过详细的需求分析后,我得出这样的结论:
在本XXX陶瓷工厂的进销存管理系统中,我们需要的主要的用户有两个,一个是系统操作员,在日常的工作中也是系统管理员来对系统进行操作,还有数据的维护。另一个角色是系统管理员,这个角色也可以进行系统的操作,但是一般不这么做,基础的功能全部交给操作员来完成,它拥有系统操作员的所有权限,但是,他也可以对操作员进行管理,这个是操作员不具备的权限,只有系统管理员才有权限进行此操作。
下面是系统的用例图:
5 系统总体设计
5.1业务流程
根据需求分析得到的陶瓷工厂进销存业务处理流程,经过我的仔细研究后,首先确定了目标系统的业务流程,其处理流程如图5.1
图5.1 XXX陶瓷工厂的进销存管理系统的业务流程
针对整个系统的业务流程,现具体描述其主要的功能如下:
1、用户登录:当前系统对当前的登录的用户做合法性的检查同时完成系统的鉴权工作,让不同的角色完成不同的工作。
2、基本信息维护:维护供应商,客户,商品,产品等系统的基础信息,这些是完成整个系统的最基础的数据,缺一不可。
3、进货:生产陶瓷产品所必须的原材料将通过这个功能从其对应的供货商处买来,在设置好对应的信息后将其入库。
4、原材料出库:原材料放在仓库中是不能生产产品的,所以我们要先将原材料从库存中拿出来需要的数量,去完成陶瓷产品的生产工作。
5、产品入库:生产了不同的产品后将其分类入库。
6、库存管理:查看库存并对其进行管理,可以更改产品的价格。
7、销售:生产产品就是为了将其销售产生效益,通过这个功能可以将对应的产品买个各自需要的客户,如果产品有缺陷的话,也可以通过这个功能完成产品的退货。
5.2系统功能模块图
本系统主要分为基础信息管理模块,进货管理模块,销售管理模块,查询统计模块,库存管理模块,系统管理模块等六大模块。基础信息管理能够维护客户,商品,供应商,产品的基本信息进货管理能够进行商品的购买入库和退货;销售管理能够进行产品的出库和退货;查询统计能够对基础信息进行查询;库存管理能够进行原材料出库,产品入库,库存盘点,价格调整;系统管理能够新增操作员和修改密码。
下面是本系统的功能模块图: