基于java的小型企业进销存管理系统毕业论文Word文档格式.docx
《基于java的小型企业进销存管理系统毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于java的小型企业进销存管理系统毕业论文Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
第四章系统测试28
4.1系统软件测试28
4.1.1测试的原则28
4.1.2模块测试28
4.1.3集成测试29
4.2测试总结29
4.3系统实施与维护29
结束语30
参考文献31
基于JAVA的企业进销存管理系统
摘要
企业进销存管理系统的主要工作是对企业的进货、销售和库存信息化的方式进行管理,最大限度地减少各环节中可能出现的错误,有效减少盲目、采购降低成本、合理控制库存、减少资金占用并提高市场灵敏度,是企业能够合理安排进、销、存的每个关键步骤,提升企业市场的竞争能力。
本论文将从企业进销存管理系统的发展历程说起,详细介绍系统的开发步骤:
系统分析、系统设计、系统实现以及系统维护。
在系统分析中,先后使用数据流图、系统的功能结构图分析系统所需的各种数据;
系统设计和系统实现并举,说明所需实体、数据库表、表字段等数据库设计,以及介绍系统的各功能模块的设计,并展现相应的功能界面。
本系统采用Java进行开发,数据库采用SQLServer2000进行管理。
关键字:
企业进销存管理系统、Java、SQLServer2000
前言
在信息技术的催化之下,世界经济的变革已经进入了加速状态。
世界经济一体化,企业经营全球化,以及高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企业与供方的关系变得更加密切和复杂。
强化管理,规范业务流程,提高透明度,加快商品资金周转,以及为流通领域信息管理全面网络化打下基础,是销售公司乃至众多商业企业梦寐以求的愿望。
进销存软件概念起源于上世纪80年代,由于电算化的普及,计算机管理的推广,不少企业对于仓库货品的进货,存货,出货管理,有了强烈的需求,进销存软件的发展从此开始。
进入90年代以后,随着进销存软件的应用面越来越广,出现了许多从功能上,从用途上,更为全面的进销存系统,从单纯的货品数量管理,扩展为货品的流程管理,进销存软件对每一批货品的来源,存放,去向,都作仔细的记录,随后并延伸为财务进销存一体化的管理模式。
进入00年以后,各种各样的进销存软件产品应运而生,在仓库进销存管理的基础上,集合了财务管理。
客户管理,业务管理等相关内容,成为进销存财一体化的管理系统。
企业进销存管理系统的不断完善,为企业管理现代化和运营信息化提供了有力的支持。
第一章系统分析
1.1需求分析
需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。
理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。
抽象就是出去问题的表面,提取问题的本质,建立问题的逻辑模型,以便以后阶段的系统的设计实现。
需求分析阶段是软件产品生存命期的一个重要阶段,其根本任务四确定用户对软件系统的需求。
所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能干什么事情,完成什么样的功能,达到什么性能。
通常需求分为两种类型:
一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。
功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类主要的需求。
非功能性需求是指实际使用环境所要求的要求,往往是一些限制要求,例如:
性能要求,可靠性要求,安全保密要求等等。
根据用户方的需求,要求企业进销存管理系统具有以下功能:
(1)界面设计美观大方,操作方便、快捷、灵活。
(2)实现强大的进销存管理,包括基本信息、进货、销售和库存管理。
(3)提供数据库备份与恢复功能。
(4)提供库存盘点功能。
(5)提供技术支持的联系方式,可以使用邮件进行沟通,或者直接连接到技术网站。
1.2可行性分析
企业进销存管理系统必须提供商品信息、供应商信息和客户信息的基础设置;
提供强大的搜索功能和商品的进货、销售和库存管理功能。
系统还必须保证数据的安全性、完整性和准确性。
企业进销存管理系统的目标是实现企业的信息化管理,减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提升企业市场竞争力。
项目主要以企业的进货、销售和查询统计功能为主,对于库存、销售和进货的记录信息应该及时、准确的保存,并提供想要的查询和统计。
由于库存商品数量太多,不易盘点,传统的盘点方式容易出错,系统中的库存盘点功能要准确的计算出各种商品的损益数量,减少企业的不必要的损失。
1.3系统功能结构
企业进销存管理系统功能结构图如图1.1所示。
图1.1企业进销存管理系统功能结构图
1.4系统业务流图
企业进销存管理系统业务流程图如图1.2所示。
图1.2企业进销存管理系统业务流程图
第二章系统运行环境及系统开发技术
2.1系统运行环境环境
硬件环境,CPU(中央处理器):
Intel(R)Pentium(R)E53002.60GHz
RAM(内存):
2G
HDD(硬盘):
500G
软件开发环境,操作系统:
WindowsxpSP3
JDK环境:
JavaSEDevelopmentKIT(JDK)Version6
开发工具:
Eclipse3.2
数据库管理软件:
MicrosoftSQLServer2000SP4
2.2系统开发技术
本系统的开发主要是使用在Eclipse平台下的Java语言,并结合了SQLServer2000数据库技术,使此系统具有强大的查询功能。
2.2.1Java简介
Java语言是一个支持网络计算的面向对象程序设计语言。
Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。
主要特性如下:
(1)Java语言是简单的。
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
(2)Java语言是一个面向对象的。
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
总之,Java语言是一个纯的面向对象程序设计语言。
(3)Java语言是分布式的。
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
(4)Java语言是健壮的。
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
(5)Java语言是安全的。
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
(6)Java语言是体系结构中立的。
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
(7)Java语言是可移植的。
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
(8)Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
(9)Java是高性能的。
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
(10)Java语言是多线程的。
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来构造,thread(Runnable)的构造子类将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(synchronized)。
(11)Java语言是动态的。
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。
这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
[2]
2.2.2SQLServer2000数据库
SQLServer是一个后台数据库管理系统,是一个关系数据库管理系统。
它功能强大、操作简便、日益为广大数据库用户所喜爱。
SQLServer2000,是Microsoft公司推出的SQLServer数据库管理系统。
该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。
SQLServer2000界面友好,易学易用且功能强大,与Windows2000操作系统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业及Internet等大型数据库应用。
SQLServer2000主要具有以下功能特性:
(1)实现了客户机/服务器模式。
客户机/服务器(C/S)模式数据库计算是一种分布式的数据存储、访问和处理技术,它已成为大多数企业计算的标准。
MicrosoftSQLServer是客户/服务器系统应用的完美的例子。
(2)与Internet集成。
SQLServer2000数据库引擎提供完整的XML支持。
具备构造大型Web站点的数据存储组件所需的可伸缩性、可用性和安全性。
(3)具备很强的可伸缩性和可用性。
SQLServer2000包含企业版、标准版、开发版和个人版等4个版本,使同一个数据库引擎可以在不同的操作系统平台上使用,从运行Windows9x的便携式电脑,到运行Windows2000DataCenterServer的大型多处理器的服务器。
增强的图形用户界面管理工具,使管理更加方便。
(4)具备企业级数据库功能SQLServer2000关系型数据库引擎支持当今苛刻的数据处理环境所需的功能,可同时管理上千并发数据库用户,其分布式查询使用户可以引用来自不同数据源的数据,同时具备分布式事务处理系统,保障分布式数据更新的完整性。
(5)易于安装、部署和使用。
SQLServer2000的安装向导可帮助用户方便地实现各种方式的安装,如网络远程安装、多实例安装、升级安装和无人职守安装等。
SQLServer2000还提供了一些管理开发工具,使用户可以快速开发应用程序。
(6)数据仓库功能。
企业在正常的业务运作过程中需要收集各种数据,包含企业的动态历史记录,数据仓库的目的是合并和组织这些数据,以便对其进行分析并用来支持业务决策。
数据仓库是一种高级、复杂的技术。
MicrosoftSQLServer2000提供的强大工具,可帮助您完成创建、使用和维护数据库的任务。
第三章系统设计
3.1数据库与数据库表设计
3.1.1数据库介绍
所谓数据库(Database)就是按一定组织方式存储在一起,相互相关的若干数据的结合,数据库管理系统(DatabaseManagementSystem)就是一种操作和管理数据库的大型软件,简称DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库的建立和维护,与操作系统通信等。
DBMS通常由数据字典,数据描述语言及其编译程序,数据操纵(查询)语言极其编译程序,数据库管理例行程序等部分组成。
关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间关系进行组织和访问的一种数据库,它通过若干表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起,关系数据库提供了成为机构化查询语言(SQL)标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。
3.1.2E-R图
进销存系统主要实现从进货、库存到销售的一体化管理,设计商品信息、商品的供货商、购买商品的客户等多个实体。
下面列举了关键的实体和系统的综合E-R图。
(1)供应商实体属性图
供应商实体包括:
编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系人电话、开户行和E-mail属性,如图3.1所示。
图3.1供货商实体属性图
(2)商品实体属性图
商品实体包括:
编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性。
如图3.2所示。
图3.2商品实体属性图
(3)客户实体属性图
客户实体包括:
客户编号、客户名称、简称、地址、电话、邮政编码、联系人电话、传真、开户行和账号属性。
如图3.3所示。
图3.3客户实体属性图
(4)销售实体属性图
销售实体分为销售主表和销售明细表两个实体,它们是一对多的关系。
其中销售主表包括:
销售票号、品种数、金额、验收结论、客户名称、经手人、结算方式、操作员和销售日期属性。
销售明细表包括:
编号、销售票号、商品编号、数量和单价属性。
如图3.4所示。
图3.4销售实体属性图
3.1.3数据库表设计
数据库在整个管理系统中占据非常重要的地位,数据库结构设计的好坏直接影响着系统的效率和实现效果。
进销存管理系统采用SQLServer2000SP4版本的数据库,数据库名称为db_JXC,因篇幅所限,本论文只给出几个重要数据表的表结构。
(1)供应商信息表
供应商信息表的名称为tb_gysinfo,主要用于存储供应商的详细信息,结构如表3.1所示。
表3.1供应商信息表
字段名称
数据类型
字段大小
是否主键
说明
id
varchar
32
主键
供货商编号
name
50
供货商名称
jc
20
供货商简称
address
100
供货商地址
bianma
10
邮政编码
tel
15
电话
fax
传真
lian
8
联系人
ltel
联系电话
yh
开户银行
mail
30
电子邮箱
(2)商品信息表
商品信息表的名称为tb_spinfo,主要用于存储商品的详细信息,结构如表3.2所示。
表3.2商品信息表
商品编号
spname
商品名称
商品简称
cd
产地
dw
商品计量单位
gg
商品规格
bz
包装
ph
批号
pzwh
批准文号
memo
备注
gysname
供应商名称
(3)入库主表
入库主表的名称为tb_ru_main,主要用于存储入库单据信息,其结构如表3.3所示。
表3.3入库主表
rkID
入库编号
pzs
float
品种数量
je
money
总计金额
ysjl
验收结论
rkdate
datetime
入库时间
czy
操作员
jsr
经手人
jsfs
结算方式
(4)入库明细表
入库明细表的名称为tb_ruku_detail,主要用于存储入库的详细信息,结构如表3.4所示。
表3.4入库明细表
流水号
spid
dj
单价
s1
数量
(5)销售主表
销售主表的名称为tb_sell_main,主要用于存储销售单据的信息,结构如表3.5所示。
表3.5销售主表
字段名称
数据类型
字段大小
是否主键
sellID
销售编号
销售品种数
khname
客户名称
xsdate
销售日期
(6)销售明细表
销售明细表的名称为tb_sell_detail,主要用于存储销售的详细信息,结构如表3.6所示。
表3.6销售明细表
产品编号
销售单价
sl
销售数量
(7)客户信息表
客户信息表的名称为tb_khinfo,主要用于存储客户的信息,结构如表3.7所示。
表3.7客户信息表
长度
客户编号
jian
客户简称
客户地址
客户电话
客户传真
联系人电话
E-mail地址
xinhang
60
开户行
hao
账号
3.2系统功能模块设计
3.2.1公共类设计
公共类也是代码重用的一种形式,他将各个功能模块经常调用的方法提取到共用的Java类中,例如访问数据库的Dao类容纳了所有访问数据库的方法,并同时管理者数据库的连接和关闭。
这样不但实现了项目代码的重用,还提高了程序的性能和代码可读性。
(1)Item公共类
Item公共类是对数据表最常用的id和name属性的封装,用于Swing列表、表格、下拉列表框等组件的复制,该类重写了toString()方法,在该类方法中只输出那么属性,所以Item类在Swing组件现实文本时只包含名称信息,不会连带着id属性。
但是在获取组件的内容时,获取的是Item类的对象,从该对象中可以很容易的获取id属性,然后通过该属性到数据库中获取唯一的数据。
(2)数据模型公共类
数据模型公共类,它对应着数据库中不同的数据表,这些模型将被访问数据库的Dao类和程序中每个模块甚至各个组件所使用。
和Item公共类的使用方法类似,数据模型也是对数据表中所有字段(属性)的封装,但是数据类型是纯粹的模型,它不但需要重写父类的toString()方法,还要重写hashCode()方法和equals()方法(这两个方法分别用于生成模型对象的哈希代码和判断模型对象是否相同)。
模型类主要用于存储数据,并通过想要的getXXX()方法和setXXX()实现不同属性的访问原则。
(3)Dao类
Dao的全称是DataAccessObject,即数据库访问对象。
本项目中应用