基于java的企业进销存管理系统方案_第1页
基于java的企业进销存管理系统方案_第2页
基于java的企业进销存管理系统方案_第3页
基于java的企业进销存管理系统方案_第4页
基于java的企业进销存管理系统方案_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、54/54毕业论文(设计)题目:基于java的企业进销存管理系统学院本科毕业论文(设计)基于java的企业进销存管理系统摘要企业进销存管理系统的工作是对企业进货、销货和库存进行管理,最大程度的减少各环节中可能出现的错误。有效减少盲目采购、合理控制库存、减少资金占用,提升企业市场的竞争力。本文将详细介绍企业进销存管理系统的开发步骤:系统分析、系统设计、系统实现。在系统分析中,现后使用数据流图、系统功能结构图分析系统所需的各种数据;系统设计和系统实现并举:说明数据库表、表中字段等数据库设计和实体类的java结构设计,以与介绍系统各功能模块的设计。本系统采用java开发,数据库采用MySQL进行管理

2、。关键词:企业进销存管理系统;Java;MySQL-学院本科毕业论文(设计)TheEnterpriseEntersSellsSavestheManagementSystemBasedonJavaAbstractEnterpriseenterssellssavesthemanagementsystemsjobistopurchase;salesandinventorymanagementoftheenterprise;thegreatestdegreeofreduceerrorsthatmayoccurineachlink.Effectivelyreduceblindprocurement;re

3、asonablecontrolinventoryandreducecapitaltakesup;improvethecompetitivenessoftheenterprisemarket.Thispaperwilldetailenterpriseenterssellssavesthemanagementsystemofdevelopmentsteps:systemanalysis,systemdesign,systemimplementation.Insystemanalysis,nowafterusingdataflowdiagram,systemfunctionstructuredraw

4、inganalysissystemforallkindsofdata;Systemdesignandsystemimplementation:thedatabasetablesandfieldsinthetable,thedatabasedesignandthedesignoftheJavastructureentityclass,andintroducesthedesignofthesystemeachfunctionmoduleThissystemUSESJavadevelopment,usingMySQL.Keywords:enterpriseenterssellssavestheman

5、agementsystem;Java;MySQL-I-目录摘要IAbstractII HYPERLINK l 6 第 HYPERLINK l 6 1 HYPERLINK l 6 章绪论1 HYPERLINK l 6 1.1 HYPERLINK l 6 项目背景1 HYPERLINK l 7 1.2 HYPERLINK l 7 可行性分析2 HYPERLINK l 8 第 HYPERLINK l 8 2 HYPERLINK l 8 章 HYPERLINK l 8 系统分析3 HYPERLINK l 8 2.1 HYPERLINK l 8 需求分析3 HYPERLINK l 8 2.2 HYPER

6、LINK l 8 可行性分析3 HYPERLINK l 9 2.3 HYPERLINK l 9 本章小结4 HYPERLINK l 10 第 HYPERLINK l 10 3 HYPERLINK l 10 章 HYPERLINK l 10 系统运行环境与系统开发技术5 HYPERLINK l 10 3.1 HYPERLINK l 10 系统运行环境5 HYPERLINK l 10 3.2 HYPERLINK l 10 系统开发技术5 HYPERLINK l 10 3.2.1 HYPERLINK l 10 Java HYPERLINK l 10 简介5 HYPERLINK l 12 3.2.2

7、HYPERLINK l 12 My HYPERLINK l 12 SQL HYPERLINK l 12 数据库7 HYPERLINK l 12 3.3 HYPERLINK l 12 本章小结7 HYPERLINK l 13 第 HYPERLINK l 13 4 HYPERLINK l 13 章 HYPERLINK l 13 系统设计8 HYPERLINK l 13 4.1 HYPERLINK l 13 数据库与数据库表设计8 HYPERLINK l 13 4.1.1 HYPERLINK l 13 数据库介绍8 HYPERLINK l 13 4.1.2 HYPERLINK l 13 实体属性8

8、HYPERLINK l 14 4.1.3 HYPERLINK l 14 数据库表设计9 HYPERLINK l 18 4.2 HYPERLINK l 18 系统功能模块设计13 HYPERLINK l 18 4.2.1 HYPERLINK l 18 公共类设计13 HYPERLINK l 18 4.2.2 HYPERLINK l 18 系统登录模块设计13 HYPERLINK l 18 4.2.3 HYPERLINK l 18 进货单模块设计13 HYPERLINK l 22 4.2.4 HYPERLINK l 22 销售单模块设计17 HYPERLINK l 24 4.2.5 HYPERLI

9、NK l 24 库存盘点模块设计19 HYPERLINK l 26 4.3 HYPERLINK l 26 本章小结21 HYPERLINK l 27 第 HYPERLINK l 27 5 HYPERLINK l 27 章 HYPERLINK l 27 系统测试22 HYPERLINK l 27 5.1 HYPERLINK l 27 系统软件测试22 HYPERLINK l 27 5.1.1 HYPERLINK l 27 测试原则22 HYPERLINK l 27 5.1.2 HYPERLINK l 27 模块测试22 HYPERLINK l 28 5.2 HYPERLINK l 28 本章小结

10、23结论24 HYPERLINK l 30 参考文献25附录26致32学院本科毕业论文(设计)基于java的企业进销存管理系统第1章绪论1.1项目背景计算机技术作为现代科学技术的基础和核心,已经而且将继续对人类文明社会进步与发展产生深刻影响。在我们生活的21世纪里计算机技术已经在各行各业中发挥着不可替代的作用。当前越来越多的商业、企事业单位已经将计算机技术应用于日常的管理工作。科学的运用计算机技术进行管理工作不仅可以使管理工作规化、系统化、自动化而且可以节省相当的人力、物力。它能够使用户的管理工作走上良性运转轨道,从而为其快速发展奠定基础。因此各单位对与本行业相关管理软件的需求也十分迫切。当今

11、世界上,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式。信息资源已经成为国民经济和社会发展的战略资源,信息资源管理水平也已成为现代化水平和综合国力的重要标志。管理信息系统就是我们常说的MIS(ManagementInformationSystem),在强调管理,强调信息的现代社会中它越来越普与。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学以与计算机科学。在这些学科的基础上,形成信息收集加工的方法,从而形成一个纵横交织

12、的系统。随着我国经济的发展,为了抓住机遇,在竞争中占的先机,作为生产企业的一个必不可少的重要环节进销存管理的信息化也迫在眉睫了。开发进销存管理系统即可以顺应时代的信息化,现代化潮流,提高经济效益:又可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率,增加单位效益。现实意义在市场经济中,销售是企业运行的重要环节。为了更好地推动销售,不少企业建立了分公司和代理制,通过分公司或代理把产品推向最终用户。这些分公司或代理商大都分布在不同的地理位置,跨时空,跨时间的频繁业务信息交流是这些企业业务的活动的主要特点。在这种形式下,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的

13、业务需求了。在信息技术的催化之下,世界经济的-0-学院本科毕业论文(设计)变革已经进入了加速状态。世界经济一体化,企业经营全球化,以与高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企业与供方的关系变得更加密切和复杂。强化管理,规业务流程,提高透明度,加快商品资金周转,以与为流通领域信息管理全面网络化打下基础,是销售公司乃至众多商业企业梦寐以求的愿望。1.2可行性分析进销存软件概念起源于上世纪80年代,由于电算化的普与,计算机管理的推广,不少企业对于仓库货品的进货,存货,出货管理,有了强烈的需求,进销存软件的发展从此开始。进入90年代以后,随着进销存软件的应用面越来越广,出现了许多

14、从功能上,从用途上,更为全面的进销存系统,从单纯的货品数量管理,扩展为货品的流程管理,进销存软件对每一批货品的来源,存放,去向,都作仔细的记录,随后并延伸为财务进销存一体化的管理模式。进入00年以后,各种各样的进销存软件产品应运而生,在仓库进销存管理的基础上,集合了财务管理。客户管理,业务管理等相关容,成为进销存财一体化的管理系统。企业进销存管理系统的不断完善,为企业管理现代化和运营信息化提供了有力的支持。-1-学院本科毕业论文(设计)第2章系统分析2.1需求分析需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题。需求分析

15、就是给系统分析、设计人员一个和用户交流来理解问题的机会进而了解用户究竟需要什么。需求分析也是一个建模的过程,就是以市场运作中的业务定义为基础,重新定义一个业务在业务系统中的概念、业务流程、数据流程、业务间关系、数据间关系等,以便于计算机高效的实现这个业务。需求分析既可以用于一个业务的具体分析,也可以用于一类业务的分析和整个业务支撑系统的分析。需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是出去问题的表面,提取问题的本质,建立问题的逻辑模型,以便以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期的一个重要阶段,其根

16、本任务四确定用户对软件系统的需求。所谓需指用户对软件的功能和性能的要求,就是用户希望软件能干什么事情,完成什么样的功能,达到什么性能。通常需求分为两种类型:一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。功能性需指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类主要的需求。非功能性需指实际使用环境所要求的要求,往往是一些限制要求,例如:性能要求,可靠性要求,安全要求等等。根据用户方的需求,要求企业进销存管理系统具有以下功能:界面设计简洁大方,操作方便、快捷、灵活。实现进销存管理,包括基本信息、进货、销售和库存管理。提供库存盘点功能。2.2可行性分析软件充分结合现代

17、管理理论达到企业与管理人员与企业业务流程的合理分配,结合企业现有的管理方式、规章制度以与原始数据达到软件与企业融合的目的。承受现代管理知识比较容易,加之软件是根据MIS、ERP现代管理原理开发的。经调查大多部门经理认为软件有必要开发也是必须开发的。企业进销存管理系统必须提供商品信息、供应商信息和客户信息的基础设置;提-2-学院本科毕业论文(设计)供强大的搜索功能和商品的进货、销售和库存管理功能。系统还必须保证数据的安全性、完整性和准确性。企业进销存管理系统的目标是实现企业的信息化管理,减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提升企业市场竞争力。项目主要以企业的进货、销售和查询统

18、计功能为主,对于库存、销售和进货的记录信息应该与时、准确的保存,并提供想要的查询和统计。由于库存商品数量太多,不易盘点,传统的盘点方式容易出错,系统中的库存盘点功能要准确的计算出各种商品的损益数量,减少企业的不必要的损失。2.3本章小结本章容为进销存管理系统的软件需求分析,分析了系统的功能需求、环境需求、系统数据采集概念,随后建立了进销存管理系统的数据流程。-3-学院本科毕业论文(设计)第3章系统运行环境与系统开发技术3.1系统运行环境硬件环境,CPU(中央处理器):INTEL酷睿I5-5200U,RAM(存):4GB,HDD(硬盘):500G软件开发环境:操作系统:Windows10;JDK

19、环境:JavaPlatformSE8U60;开发工具:Eclipse8.0;数据库管理软件:MySQL5.53.2系统开发技术本系统的开发主要是使用在Eclipse平台下的Java语言,并结合了MySQL数据库技术,使此系统具有强大的查询功能。3.2.1Java简介Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C+语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+中很

20、少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为存管理而担忧。Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),

21、它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得-4-学院本科毕业论文(设计)Java更具健壮性。Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防机制(类ClassLoa

22、der),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。

23、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子()类来构造,thread(Runnable)的构造子类将一个实现了Runnable接口的

24、对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(synchronized)。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。-5

25、-学院本科毕业论文(设计)Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算与电子商务应用系统提供了有关技术和丰富的类库。3.2.2MySQL数据库MySQL是一个后台数据库管理系统,是一个关系数据库管理系统。它功能强大、操作简便、日益为广大数据库用户所喜爱。MySQL,是SUN

26、公司推出的MySQL数据库管理系统。该版本具有使用方便、可伸缩性好、与相关软件集成程度高等优点。MySQL界面友好,易学易用且功能强大,与Windows操作系统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业与Internet等大型数据库应用。3.3本章小结本章根据前面课题研究的背景现状分析与基本容要求基础上,介绍了系统设计所给予的MVC架构,详细的介绍了MVC架构的概念和技术特点,介绍了系统开发的技术路线,分析了系统采用的SQL数据库开发环境。-6-学院本科毕业论文(设计)第4章系统设计4.1数据库与数据库表设计4.1.1数据库介绍所谓数据库(Database)就是按一定组织方

27、式存储在一起,相互相关的若干数据的结合,数据库管理系统(DatabaseManagementSystem)就是一种操作和管理数据库的大型软件,简称DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库的建立和维护,与操作系统通信等。DBMS通常由数据字典,数据描述语言与其编译程序,数据操纵(查询)语言极其编译程序,数据库管理例行程序等部分组成。关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间关系进行组织和访问的一种数据库,它通过若干表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起,关系数据库提供了

28、成为机构化查询语言(SQL)标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。4.1.2实体属性进销存系统主要实现从进货、库存到销售的一体化管理,设计商品信息、商品的供货商、购买商品的客户等多个实体。(1)供应商实体属性图供应商实体包括:编号、名称、简称、地址、邮政编码、 、联系人、联系人、开户行和属性。如图4-1。名称简称地址编号邮政编码供应商开户行联系人联系人图4-1供货商实体属性图(2)商品实体属性图商品实体包括:编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性。如图4-2。-7-学院本科毕业论文(设计)名称简称产地单

29、位编号规格商品供应商包装简介批准文号图4-2商品实体属性图批号(3)客户实体属性图客户实体包括:客户编号、客户名称、简称、地址、邮政编码、联系人电话、 、开户行和账号属性。如图4-3。编号名称简称地址客户邮政编码账号开户行联系人联系人图4-3客户实体属性图(4)销售实体属性图销售实体分为销售主表和销售明细表两个实体,它们是一对多的关系。其中销售主表包括:销售票号、品种数、金额、验收结论、客户名称、经手人、结算方式、操作员和销售日期属性。销售明细表包括:编号、销售票号、商品编号、数量和单价属性。如图4-4。销售票号品种数金额验收结论客户名称销售票号商品编号销售主表1归属N销售详细表编号经手人结算

30、方式操作员销售日期数量单价图4-4销售实体属性图4.1.3数据库表设计数据库在整个管理系统中占据非常重要的地位,数据库结构设计的好坏直接影响着系统的效率和实现效果。进销存管理系统采用MySQL5.5版本的数据库,数据库名-8-学院本科毕业论文(设计)称为ERP,因篇幅所限,本论文只给出几个重要数据表的表结构。(1)供应商信息表供应商信息表的名称为tb_gysinfo用于存储供应商的详细信息。如表4-1。表4-1供应商信息表字段名称数据类型字段大小是否主键说明Idvarchar32主键供货商编号namevarchar50供货商名称Jcvarchar20供货商简称addressvarchar100

31、供货商地址bianmavarchar10邮政编码Telvarchar15Faxvarchar15Lianvarchar8联系人ltelvarchar15联系Yhvarchar50开户银行mailvarchar30电子(2)商品信息表商品信息表的名称为tb_spinfo,主要用于存储商品的详细信息。如表4-2。表4-2商品信息表字段名称数据类型字段大小是否主键说明Idvarchar32主键商品编号spnamevarchar50商品名称Jcvarchar30商品简称Cdvarchar50产地Dwvarchar10商品计量单位Ggvarchar10商品规格Bzvarchar20包装Phvarchar

32、32批号pzwhvarchar50批准文号memovarchar100备注-9-学院本科毕业论文(设计)gysnamevarchar50供应商名称(3)入库主表入库主表的名称为tb_ru_main,主要用于存储入库单据信息。如表4-3。表4-3入库主表字段名称数据类型字段大小是否主键说明rkIDvarchar32主键入库编号Pzsfloat8品种数量Jemoney8总计金额ysjlvarchar50验收结论gysnamevarchar100供货商名称rkdatedatetime8入库时间Czyvarchar30操作员Jsrvarchar30经手人Jsfsvarchar10结算方式(4)入库明细

33、表入库明细表的名称为tb_ruku_detail,主要用于存储入库的详细信息。如表4-4。表4-4入库明细表字段名称数据类型字段大小是否主键说明Idvarchar50主键流水号rkIDvarchar0入库编号spidvarchar50商品编号Djvarchar8单价s1float8数量(5)销售主表销售主表的名称为tb_sell_main,主要用于存储销售单据的信息。如表4-5。表4-5销售主表字段名称数据类型字段大小是否主键说明sellIDvarchar30主键销售编号-10-学院本科毕业论文(设计)Pzsfloat8销售品种数Jemoney8总计金额ysjlvarchar50验收结论khn

34、amevarchar100客户名称xsdatedatetime8销售日期Czyvarchar30操作员Jsrvarchar30经手人jsfsvarchar10结算方式(6)销售明细表销售明细表的名称为tb_sell_detail,主要用于存储销售的详细信息。如表4-6。表4-6销售明细表字段名称数据类型字段大小是否主键说明Idvarchar50主键流水号sellIDvarchar50销售编号spidvarchar50产品编号Djmoney8销售单价Slfloat8销售数量(7)客户信息表客户信息表的名称为tb_khinfo,主要用于存储客户的信息。如表4-7。表4-7客户信息表字段名称数据类型

35、长度是否主键说明idvarchar50主键客户编号khnamevarchar50客户名称jianvarchar50客户简称addressvarchar100客户地址bianmavarchar50邮政编码telvarchar50客户faxvarchar50客户 lianvarchar50联系人ltelvarchar50联系人mailvarchar50地址-11-学院本科毕业论文(设计)xinhangvarchar60开户行haovarchar60账号4.2系统功能模块设计4.2.1公共类设计公共类也是代码重用的一种形式,他将各个功能模块经常调用的方法提取到共用的Java类中,例如访问数据库的Da

36、o类容纳了所有访问数据库的方法,并同时管理者数据库的连接和关闭。这样不但实现了项目代码的重用,还提高了程序的性能和代码可读性。4.2.2系统登录模块设计系统登录也是项目必须开发的模块,主要由两部分组成,一部分是登录窗体,另一部分是窗体中带背景图片的容面板。它是系统的安全门,只有提供正确的用户名和登录口令之后,才能进入企业进销存管理系统进行进销存管理工作。创建登录界面login.jsp:使用html、css来设计页面js实现动态效果。创建LoginAction类进行相关的登录验证操作。4.2.3进货单模块设计进货单模块负责添加企业的进货信息,他根据进货人员提供的单据,将采购商品的名称、编号、产地

37、、规格、单价和数量等信息记录到数据的库存表中。(1)添加进货商品:“在进货单船体点击“添加”按钮,会在表格中添加一个空行可以再该空行的第一个字段选择商品名称,其他的字段信息会根据选择的商品自动填充。这就需要为“添加”按钮编写ActionListener动作监听器,在该监听器中实现相应的操作。添加”按钮的初始化由getTiButton()方法完成,该方法在初始化“添加”按钮时,为按钮添加了动作事件监听器。其关键代码如下:privateJButtongetTjButton()if(tjButton=null)tjButton=newJButton();tjButton.setText(添加);-1

38、2-学院本科毕业论文(设计)tjButton.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)/初始化票号java.sql.Datedate=newjava.sql.Date(jhsjDate.getTime();jhsjField.setText(date.toString();StringmaxId=Dao.getRuKuMainMaxId(date);idField.setText(maxId);/完毕表格中没有编写的单元stopTableCellEditing();/如果表格中不包含

39、空行,就添加新行for(inti=0;i=table.getRowCount()-1;i+)if(table.getValueAt(i,0)=null)return;DefaultTableModelmodel=(DefaultTableModel)table.getModel();model.addRow(newVector(););returntjButton;(2)进货统计:当table表格发生属性改变事件是,事件监听器首先会检测发生的事件类型,也就是判断发生了那种更改属性的事件,如果事件类型是tableCellEditor则说明术语表格编辑事件,这时应该针对表格的修改事件去调用Comp

40、uteInfo()方法执行产品进货的统计业务并将结果显示在相应的组件上。(3)商品入库:再添加了进货单中的所有商品后,单机“入库”按钮可以将这些商品添加到数据库中。这需要在“入库”按钮的初始化方法中,为按钮添加ActionListener动作监听器,在监听器中实现商品入库的业务逻辑。-13-学院本科毕业论文(设计)其关键代码如下:privateJButtongetRukuButton()if(rukuButton=null)rukuButton=newJButton();rukuButton.setText(入库);rukuButton.addActionListener(newjava.aw

41、t.event.ActionListener()publicvoidactionPerformed(java.awt.event.ActionEvente)stopTableCellEditing();/完毕表格中没有编写的单元StringpzsStr=pzslField.getText();/品种数StringjeStr=hjjeField.getText();/合计金额StringjsfsStr=jsfsComboBox.getSelectedItem().toString();StringjsrStr=jsrComboBox.getSelectedItem()+;/经手人Stringcz

42、yStr=jsrComboBox.getSelectedItem()+;StringrkDate=jhsjField.getText();/入库时间StringysjlStr=ysjlField.getText().trim();/验收结论Stringid=idField.getText();/票号StringgysName=gysComboBox.getSelectedItem()+;if(jsrStr=null|jsrStr.isEmpty()JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,请填写经手人);return;if(ysjl

43、Str=null|ysjlStr.isEmpty()JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,填写验收结论);return;if(table.getRowCount()=0)-14-学院本科毕业论文(设计)JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,填加入库商品);return;TbRukuMainruMain=newTbRukuMain(id,pzsStr,jeStr,ysjlStr,gysName,rkDate,czyStr,jsrStr,jsfsStr);Setset

44、=ruMain.getTabRukuDetails();introws=table.getRowCount();for(inti=0;irows;i+)TbSpinfospinfo=(TbSpinfo)table.getValueAt(i,0);if(spinfo=null|spinfo.getId()=null|spinfo.getId().isEmpty()continue;StringdjStr=(String)table.getValueAt(i,6);StringslStr=(String)table.getValueAt(i,7);Doubledj=Double.valueOf(d

45、jStr);Integersl=Integer.valueOf(slStr);TbRukuDetaildetail=newTbRukuDetail();detail.setTabSpinfo(spinfo.getId();detail.setTabRukuMain(ruMain.getRkId();detail.setDj(dj);detail.setSl(sl);set.add(detail);booleanrs=Dao.insertRukuInfo(ruMain);if(rs)JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,入库完成)

46、;DefaultTableModeldftm=newDefaultTableModel();table.setModel(dftm);pzslField.setText(0);-15-学院本科毕业论文(设计)hpzsField.setText(0);hjjeField.setText(0););returnrukuButton;4.2.4销售单模块设计商品销售时进销存管理中的重要环节之一,进货商在入库之后就可以开始销售。销售单模块主要负责根据经手人的销售单据,操作进销存管理系统的库存商品和记录销售信息,方便以后查询和统计。(1)添加销售商品:”在销售单窗体中单击“添加,将向table表格中添加

47、新的空行,操作员可以在空行的第一列字段的商品下来列表中选择销售的商品,这儿下拉列表框和进货单窗体的不同,它不是根据供货商字段确定选择框容,而是包含了数据库中所欲可以销售的商品。要实现添加商品的功能,需要为“添加”按钮添加动作监听器,在监听器种实现相应的业务逻辑。(2)销售统计:和进货单的统计功能类似,销售单也需要统计功能,统计的容包括货品数量、品种数量、合计金额等信息,实现方式也是通过table表格的事件监听器来处理相应的统计业务(3)商品销售:在销售单窗体中添加完销售商品之后,单击“销售”按钮,将完成本次销售单的销售业务。系统会记录本次销售信息,并从库存表中扣除销售的商品数量其关键代码如下:

48、/单击销售按钮保存进货信息JButtonsellButton=newJButton(销售);sellButton.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)-16-学院本科毕业论文(设计)stopTableCellEditing();/完毕表格中没有编写的单元clearEmptyRow();/清除空行StringhpzsStr=hpzs.getText();/货品总数StringpzsStr=pzs.getText();/品种数StringjeStr=hjje.getText();/合

49、计金额StringjsfsStr=jsfs.getSelectedItem().toString();/结算方式StringjsrStr=jsr.getSelectedItem()+;/经手人StringczyStr=czy.getText();/操作员StringrkDate=jhsjDate.toLocaleString();/销售时间StringysjlStr=ysjl.getText().trim();/验收结论Stringid=piaoHao.getText();/票号StringkehuName=kehu.getSelectedItem().toString();/供应商名字if(

50、jsrStr=null|jsrStr.isEmpty()JOptionPane.showMessageDialog(XiaoShouDan.this,return;if(ysjlStr=null|ysjlStr.isEmpty()JOptionPane.showMessageDialog(XiaoShouDan.this,return;if(table.getRowCount()=0)JOptionPane.showMessageDialog(XiaoShouDan.this,return;TbSellMainsellMain=newTbSellMain(id,pzsStr,jeStr,ysj

51、lStr,kehuName,rkDate,czyStr,jsrStr,jsfsStr);Setset=sellMain.getTbSellDetails();introws=table.getRowCount();for(inti=0;irows;i+)TbSpinfospinfo=(TbSpinfo)table.getValueAt(i,0);StringdjStr=(String)table.getValueAt(i,6);-17-学院本科毕业论文(设计)StringslStr=(String)table.getValueAt(i,7);Doubledj=Double.valueOf(dj

52、Str);Integersl=Integer.valueOf(slStr);TbSellDetaildetail=newTbSellDetail();detail.setSpid(spinfo.getId();detail.setTbSellMain(sellMain.getSellId();detail.setDj(dj);detail.setSl(sl);set.add(detail);booleanrs=Dao.insertSellInfo(sellMain);if(rs)JOptionPane.showMessageDialog(XiaoShouDan.this,销售完成);Defau

53、ltTableModeldftm=newDefaultTableModel();table.setModel(dftm);initTable();pzs.setText(0);hpzs.setText(0);hjje.setText(0););4.2.5库存盘点模块设计“库存盘点模块主要负责计算库管理人员的商品盘点数量和库存数量的损益。程序界面将提示当前日期好库存产品的品种数量,并在表格中显示所有库存产品,在表格的“盘点数量”一列中输入相应产品的盘点数量,损益数量”字段会自动计算该商品的剩余产品数量,如果该数量为整数,说明库存数量多于盘点数量。(1)读取库存商品:本模块窗体的商品表格table

54、组件用于显示库存中的所有商品信息,这需要在initTable()方法中初始化表格字段名,并调用Dao类的getKucunInfos()方法读取库存数据总的所有商品列表,添加到table商品表格组件中。-18-学院本科毕业论文(设计)(2)统计损益数量:商品表格组件需要在用户输入盘点数量时,自动计算并更新损益单元的容,也就是使用库存商品实际数量减去商品输入的盘点数量,实现自动计算功能的最好方式,就是为表格组件的“盘点数量”编辑器的编辑组添加按键监听器,使用该按键监听器可以限制用户只能输入数字信息同时还可以在按键事件发生时进行损益统计。其关键代码如下:/盘点字段的按键监听器privateclass

55、PanDianKeyAdapterextendsKeyAdapterprivatefinalJTextFieldfield;privatePanDianKeyAdapter(JTextFieldfield)this.field=field;publicvoidkeyTyped(KeyEvente)if(0123456789+(char)8).indexOf(e.getKeyChar()+)=0)kcStr=(String)table.getValueAt(row,7);tryintpdNum=Integer.parseInt(pdStr);intkcNum=Integer.parseInt(k

56、cStr);if(row=0)table.setValueAt(kcNum-pdNum,row,10);if(e.getKeyChar()!=8)-19-学院本科毕业论文(设计)field.setEditable(false);catch(NumberFormatExceptione1)field.setText(0);4.3本章小结本章研究的是进销存管理系统的设计部分,首先介绍了系统的结构设计,完成系统模块的功能设计,本章共设计了四个系统模块,分别是:(1)登录模块(2)进货单模块(3)销货单模块(4)库存盘点模块最后设计系统的数据库E-R图和数据库表。-20-学院本科毕业论文(设计)第5章

57、系统测试5.1系统软件测试软件测试是保证软件正确性与可靠性的重要环节。测试工作涉与到软件工程的各个开发阶段。5.1.1测试原则在测试中我们遵守以下各项原则:(1)预先估计输出结果(2)编程人员不测试本人程序。(3)测试例题的设计兼顾有效与无效输入,正确与错误输入。(4)检查一个程序是否完成了所有的工作只是测试工作的一半,另一半是要检查程序是否还有预料之外的副作用。(5)在假设系统有错的情况下进行测试。5.1.2模块测试依据传统的方法,将系统测试作为软件丌发的一个阶段,系统测试执行工作将在系统开发完成后开展,很明显,这样做不利于BUG的与时暴露。有些缺陷可能会埋藏至后期发现,这时的修复成本将大大

58、提高。我们依据“全过程测试”的测试理念,在本系统中我们将软件的开发和软的测试紧密的结合在一起,要求要充分关注开发过程,对开发过程的各种变化与时做出响应。例如开发进度的调整可能会引起测试进度与测试策略的调整,需求的变更会影响到测试的执行等等;要求对测试的全过程进行全程的跟踪,例如建立完善的度量与分析机制,通过对自身过程的度量,与时了解过程信息,调整测试策略模块测试主要对软件产品的每个模块单独的进行测试。(1)登录测试,如表5-1所示。表5-1登陆测试测试测试用例期望结果实际结果登录模块用户名:tsoft密码:111能以此账户登陆,并具有所应有的权限能以此账户登陆,并进行相关操做(2)进货单测试,

59、如表5-2进货测试表所示。-21-学院本科毕业论文(设计)表5-2进货测试测试测试用例期望结果实际结果进货单模块测试添加商品名为:长亮台灯,数量:100,单价:能使用上述能编辑信息进货单模块可以完成进货信息的添加50的进货信息并入库(3)销售单测试,如表5-3所示。表5-3销售单测试测试测试用例期望结果实际结果销售单模块测试向明日科技公司销售商品长亮台灯50台完成金额的核算,并完成相关信息的变动完成期望结果(4)库存盘点测试,如表5-4所示。表5-4库存盘点测试测试测试用例期望结果实际结果库存盘点模块测试查看长亮台灯的库存信息长亮台灯库存50台与期望结果一致5.2本章小结明确了系统测试的目标与

60、计划,对课题的设计与实现进行测试,依据软件工程的测试流程,采用软件测试方法,先制定了测试功能与性能标准,进行测试,通过测试过程中得到的数据,说明该课题研究的进销存管理系统符合分析要求-22-学院本科毕业论文(设计)结论毕业设计开始时,没有一点想法,毕竟设计一个好的WEB项目,并不是一个容易的事情。一些Dao模式、框架的概念都比怎么懂,所以在第一个月主要投身于框架的的学习上面。经过3个月的学习与思考。最后将其完成。由于自身能力的限制,这个企业进销存管理系统仍有很多不完善的地方。在学习期间,我学到了很多东西,之前只是刚刚接触java,从未想过自己能够实现这么多的功能,各种界面的设计,数据的连接,发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论