企业进销存管理系统的设计与实现.docx
- 文档编号:23061517
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:38
- 大小:35.42KB
企业进销存管理系统的设计与实现.docx
《企业进销存管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《企业进销存管理系统的设计与实现.docx(38页珍藏版)》请在冰豆网上搜索。
企业进销存管理系统的设计与实现
毕业设计
(论文)
企业进销存管理系统的设计与实现
学生姓名:
宋泽诚
指导教师:
韩胜菊
专业名称:
计算机科学与技术
所在学院:
信息工程学院
2013年6月
摘要I
ABSTRACTII
第一章前言1
1.1研究目的和意义1
1.2国内外研究现状1
1.3研究内容和方法2
第二章系统的开发环境及技术简介3
2.1系统开发环境3
2.2系统开发的思想与技术4
第三章系统总体设计7
3.1需求分析7
3.2总体功能模块8
3.3系统业务描述8
第四章系统详细设计与实现10
4.1系统和数据库的配置10
4.2概念模型设计10
4.3数据库逻辑模型11
4.4数据库表结构11
4.5平台数据表的设计14
第五章系统功能实现20
5.1程序的类图20
5.2程序的流程图34
5.3系统功能实现的主要框架37
5.4系统功能实现的主要模块41
第六章系统的运行与调试49
6.1创建安装项目49
6.2添加项目输出50
6.3运行项目51
6.4系统测试52
结论54
致谢55
参考文献56
摘要
随着时代的发展,在现代化的商业管理中,需要处理的数据和信息越来越多。
大量的数据和繁杂的数据项使得古老的手工处理数据的方式渐渐显得力不从心。
甚至有些信息处理的方式在手工处理的模式下是根本无法实现的,只能利用计算机的高运行频率来进行迭代计算。
本文的旨意在展示一个平台的框架。
这个平台为现代企业的进、销、存管理提供了一个高度集成化的数据处理空间。
本文所介绍的进销存管理系统为现代企业贸易过程中的进货、销售、库存提供了一个自由灵活的模版。
通过对本系统的进一步业务扩展,可以使企业在管理中进一步降低进货成本,减少盲目进货,合理分配仓库,减少资金占用并增强流通性,提升了企业的市场灵敏度,让企业更具有市场竞争力。
pse,采用了大中型企业常用的开源数据库MySQL,使用JSP技术开发前台界面,JAVA语言进行后台业务处理。
该系统界面简单、操作方便,容易维护。
关键词:
进销存管理系统,S.S.H(Struts,Hibernate,Spring),JAVA,JSP
ABSTRACT
Invoicingmanagementsystemisanimportantpartofbusinessinformationmanagement,facingthemassivecommoditiesinformation,willbedealtwithusinghumanwastealotoftime,manpowerandmaterialresources,andtheaccuracyofdataoperation.ThispaperpresentsaneasyInvoicingmanagementsystemfortheentireprocesstoformsemiautomaticprocessing.Thesystemisdesignedtomanageenterprisespurchase,sales,inventory,accountsandotherprocess.Usersthroughtheuseofthissystemcaneffectivelyreducetheblindfortheenterprisetopurchase,reducepurchasecost,reasonablecontrolinventory,reducecapitaltotakeupandenhancemarketsensitivity,enhancethemarketcompetitivenessofenterprises.
Thecontentofgraduationdesignistodesignandimplementawebbasedsystem,sothesystemismainlytoJ2EEasadevelopmentbase,themainuseofstruts2+spring+hibernateandotherframeusedincombination,usingMyEclipseasadevelopmenttool,usingMYSQLasthedatabase,withMacromedia'sDreamweaverastheinterfacelandscapingtools,theuseofJAVAlanguagedevelopment,pagetaketheJSPdynamichomepagedevelopmenttechnology.Thissysteminterfaceissimple,convenientoperation,easymaintenance.
Keywords:
Invoicingmanagementsystem,Struts,Hibernate,Spring,JAVA,JSP
第一章前言
1.1研究目的和意义
计算机技术的出现,使人类的生产力有了质的飞跃。
计算机技术的出现促成了信息集成化的高度发展,由此进入了知识的经济时代。
在知识经济时代,管理信息系统MIS(ManagementInformationSystem)成为企业的生产和运作不可或缺的管理工具。
管理信息系统是一门新的学科,它跨越了管理科学、系统工程学、运筹学、统计学和计算机科学等,在企业中起到了越来越重要的作用。
我国的中小型企业众多,它在我国的经济发展中占有重要的地位。
我国的中小企业数量多、分布广、行业跨度大。
它面临着国内大型生产企业以及国外进口商品和服务的严峻挑战。
国内的大型国企央企及外资企业有着国内中小企业没有的大量的资金、丰富的管理经验、先进的技术手段和雄厚的政治资源。
而且国内的大型国企央企及外资企业已经将类似于ERP这样的信息管理系统应用在实际生产中。
现状对于中小企业的竞争非常不利。
推出这样一套集成化程度高,扩展自由灵活的进销存管理系统,比较符合中小企业的需求。
较短地开发周期降低了开发成本,也降低了中小企业信息化管理的费用。
在市场经济中,销售是企业运作的重要环节之一。
现在的大部分企业销售网络广,分布在各个省市之间,传统的人工传递信息显然已经不适合这个时代的经济发展。
本课题通过先进的技术手段把进销存管理系统引入现代企业的信息管理中,通过技术手段把企业每天产生的大量抽象数据转化为直观可见的信息,为企业的决策者提供了真实可靠的决策依据。
1.2国内外研究现状
国外目前做的进销存管理系统,虽然现在产品都已经相对成熟,(国外情况具体化)但是由于中西文化的差异的存在,进销存管理系统中的财务管理等模块根本无法在企业中使用。
国外的财务管理流程跟国内的差距很大。
比如说,在国外的财务管理中应收账款和增值税发票是放在一起进行管理的,但是在国内,绝大部分企业都是先产生应收的帐款,然后再进行开票。
而且,有时候需要把几笔应收的帐款合在一起进行增值税发票开票。
如果把增值税发票纳入营收账款进行管理的话,财务人员便无法对财务流程进行正确操作。
而且很多税务报表有由国家财务税务部门的统一标准。
根据目前从网上可以查得到的信息显示,目前国内存在的进销存管理系统花样繁多。
比如美萍商业进销存管理系统9.7,其中包含有商品销售管理系统,库存管理系(仓库管理系统)。
系统界面简洁,操作简单,用户可以轻松上手。
由于系统基于C/S结构,大量的冗余数据存储在本地,数据无法得到实时得更新,而且无论从数据的角度还是版本升级的角度来讲,本地更新的代价都相对较大。
1.3研究内容和方法
研究内容:
如何建立运行web上的项目,也就是如何熟悉MyEcplies。
如何架设可以解析web内容的服务器,并将web项目发布到服务器上。
研究方法:
查找资料,熟悉MyEcplies的使用,如何创建基于web的项目,如何架设Tomcat服务器,如何把基于web的项目发布到Tomcat服务器上。
本系统实现的对各种繁多商品信息的增、删、改、查的功能,完全满足的企业的日常需求。
系统最大限度地实现了易使用性、易维护性。
系统运行稳定,安全可靠。
界面简洁友好,操作简单灵活。
实施规范的进、销、存一体化业务管理。
强大的查询分析功能。
灵活、细分的权限控制功能(待实现)。
本系统是一款将进货、销售、库存进行一体化管理的系统。
由供应商管理、商品管理、入库管理、库存管理、销售管理、款项管理和系统管理(待实现)等模块组成。
第二章系统的开发环境及技术简介
2.1系统开发环境
2.1.1MyEclipse
在开发本系统中所用到的开发的工具就是知名的Java项目的开发工具MyEclipse。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的一种扩展和延伸,利用MyEclipse,我们可以在对数据库和J2EE的开发与发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。
MyEclipse有完整的编码、调试、测试和发布等单元,完美支持HTML、JSP、JavaScript各种语言,是一个功能十分强大的J2EE集成开发环境。
MyEclipse有7个结构单元:
J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器连接器,J2EE项目部署支持,数据库支持,MyEclipse帮助整合。
这7个单元在Eclipse都有相应的插件来实现这些功能。
而在MyEclipse中,这7个单元被模块化设计,使得这7个单元都可以在不影响别的单元的情况下单独进行扩展和升级。
换而言之,MyEclipse其实是Eclipse的一个插件,让J2EE的开发环境集成性更高,开发更加快捷高效的一个插件。
2.1.2数据库简介
数据库使用的是MySQL开源数据库。
MySQL既然是一个开源的数据库,那么显而易见它代码的可移植性很强。
使用C语言和C++编写并且通过多种编译器测试的MySQL支持AIX、FreeBSD、HP-UX、MacOS、OpenBSD、OS/2Wrap、Solaris、Windows等多种的操作系统。
为多种编程语言提供了API查询。
这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
支持多线程并且充分利用CPU资源。
对SQL语句的优化可以有效提高查询速率,支持常见的多种编码格式,既可以做为应用程序在服务器发布又可以作为其他软件的一个库,并且提供了多种多样连接方式。
可以处理拥有上千万条记录的大型数据库。
MySQL与其他的大型数据库比如说Oracle、DB2、SQLServer等相比,MySQL功能有限、规模小,但是由于它开放源码,成本低,而且对于中小企业来讲它的功能绰绰有余,受到了广大中小企业用户的欢迎。
2.1.3Tomcat
Tomcat是一个轻量级的服务器程序,它运行时占用很少的系统资源,有这很好的扩展性。
并且任何一个程序员可以为它扩展自己喜欢的功能,使得它可以被不断地改进和完善。
Tomcat是JSP程序调试的首选服务器。
它是Apache服务器的扩展。
当配置好Apache服务器后便可以对HTML网页进行访问并处理HTML网页的请求。
但是它是独立运行的服务器。
当Tomcat配置正确的时候,Apache为HTML页面服务,而Tomcat为JSP和Servlet容器服务。
另外,Tomcat和IIS、Apache等Web服务器一样,兼备处理HTML页面的强大功能,并且它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat服务器的默认模式。
2.2系统开发的思想与技术
2.2.1JSP技术与MVC模式以及系统的基本框架
本系统采用的是JSP技术,是基于MVC模式的开发,使用的是S.S.H框架(struts2、spring、hibernate)来增加系统的开发速度。
所谓的MVC模式是指"Model-View-Controller"的缩写,中文的翻译为"模式-视图-控制器"。
程序本身就是用struts2和hibernate这两个框架来实现模型层和控制器这两层的代码,jsp实现视图这一层的代码。
一般来说程序就是在数据库和页面之间起桥梁作用的,JSP页面的请求先提交到action,再由传递到dao,再由dao进行数据操作将所得值传回到action,再由action将计算结果传回到jsp页面,action主要处理来自jsp页面的请求,dao主要是处理和数据库的交互操作,struts2主要是用在action,处理来自于jsp页面的请求,处理完请求之后跳转回jsp页面。
Hibernate主要用在dao,包括对数据库的增、删、改、查等操作,spring框架主要是用来控制程序的流程。
2.2.2S.S.H框架的优点
S.S.H框架是J2EE应用中struts2+spring+hibernate三大免费开源框架的综合使用,它可以看成是一种工具,也可以是中间件。
他是可以用来提高我们的开发效率,提高我们的软件产品的可维护性、可扩展性乃至敏捷性的框架。
他们里面有很多的优秀的设计理念及模式的应用。
比如说,struts属于MVC的框架,关键是要了解MVC的概念及大致的原理;而hibernate属于ORM的系统,属于数据持久层的解决方案,同样需要对ORM的概念及原理有一个总体地了解。
而spring属于应用程序的框架,其核心是IOC容器以及AOP,在Spring中还集成了很多适用的东西,比如说对JDBC的封装、自己的MVC框架、对动态语言的简洁访问等等,它由以下3个框架构成:
1.Struts2框架
Struts2是Apache组织的一个开放源码的项目。
Struts2是一个比较好的MVC框架,提供了对开发MVC系统的底层的支持,它采用的主要的技术是Servlet,JSP和Customtaglibrary。
其基本构成如图2.1所示。
图2.1Struts框架工作流程
2.Spring框架
Spring提供对数据持久层、业务事务层的支持,是一个轻量级的容器。
提供了MVC模式的WEB框架,封装了一些常用的企业级服务,提供了一系列封装接口。
整合了各种各样的框架,类似于Struts、JSF、Hibernate等。
Spring框架由以下7个部分组成
图2.2Spring框架构成
3.Hibernate框架
Hibernate是一个开放源码的ORM数据持久层的框架。
Hibernate将关系型数据库实现了面向对象的思想,它是一个将数据库表实例化的工具,每一个数据持久化类对应一个数据库表,表中的每行数据对应一个实例。
用户只是需要直接使用面向对象的方法操作此数据持久化类的实例,即可以完成对数据库表中数据的插入、删除、修改、读取等操作。
图2.3Hibernate框架
第三章系统总体设计
3.1需求分析
3.1.1问题的提出
一个企业赖以生存的根本是企业的产品价值,载体是产品。
企业的采购、生产、销售等主要活动全部是围绕这产品进行的。
当企业还处于创业阶段的时候,这些活动可以用手工或者简单的文档模式进行记录。
随着企业规模地扩大,这些活动产生了大量的信息,如果沿用创业初期记录信息的方式,工作量无疑是巨大的。
大量重复的工作增加的人力成本,而且出错率极高,误差交大。
企业在采购、生产、销售活动中目前有如下几个主要问题。
1.科技时代的现代化产品往往需要多种的原料,不同规格的产品对原料规格的需求也不同,加之市场竞争的激烈,采购部门需要将供应商信息进行商务智能分析,从而取得最优采购方案。
2.现代企业的产品往往经过了十分繁复的工艺进行制造,面向不同需求的客户有着各式各样的规格。
生产是一个中间环节,生产数据承接着库存、销售的数据,需要实时更新。
3.销售部门需要实时了解库存信息,方便调配货物发送。
销售订单需要发送给采购部门,以便采购部门进行原材料的制定。
4.各个部门之间不能再进行人工信息传递,这样做既浪费人力资源又容易产生误差。
需要有统一的平台统计信息,实时为采购部门更新供应商和原材料信息,为生产部门更新生产计划,为销售部门更新销售订单。
5.历史记录准确的查询,可以更准确的分析和预测市场走向,为企业的决策领导提供有效地实时数据依据。
6.商务智能扩展,提供为数据进行智能分析的接口。
7.清晰的采购—>生产—>销售企业活动流程,让各部门人员各司其职,保证信息的准确性、完整性和统一性。
3.1.2问题的分析
将企业采购—>生产—>销售的活动流程转变为软件流程,通过权限的分配和管理让各部门各司其职。
具体流程如下。
销售部门推广产品,下发产品订单。
然后由生产部门定制生产计划,罗列出所需原材料的清单,交给采购部门。
采购部门根据原材料清单,对各个供应商之间的情况进行分析,制定出采购计划。
采购事宜完成后记录入库,交由生产部门进行生产。
生产计划完成后将商品入库,并对销售部门做出提醒可以调配货物。
销售部门从仓库中调配货物后产生以订单为索引的销售记录。
3.2总体功能模块
本系统只有系统管理员这一个角色,系统管理员的功能主要包括供应商管理、商品管理、入库管理、库存管理、销售管理和款项的管理。
总功能图如图3-1所示。
图3-1.系统管理员功能需求分析
3.3系统业务描述
本系统中暂时只有系统管理员这一个角色。
系统管理员可以进行供应商、商品、入库、库存、销售款项等多种管理。
用例图如图3-2所示。
图3-2.系统业务用例图
第四章系统详细设计与实现
4.1系统和数据库的配置
系统按照通用的B/S(浏览器、服务器)模式进行设计,如图4-1所示。
图4-1.系统设计模式
其中数据库的设计在一个信息管理系统中非常重要,数据库结构的设计直接影响了系统实现的效果和运行的效率。
合理的设计可以保证数据库执行的效率,保证其数据的完整和统一。
4.2概念模型设计
概念模型设计指的是实体-联系,即E-R图。
E-R方法是使用E-R图来描述显示世界,E-R图包含三个基本组成成分:
实体、联系、属性。
它可以比较准确地反映现实世界的信息之间的联系,直观易懂,从概念设计上表示一个数据库信息的组织状况。
本系统E-R图如图4-2所示。
图4-2.系统E-R图
4.3数据库逻辑模型
商品表(主键、商品是否删除的标志、商品号、商品名、关联的供应商ID)
库存表(主键、数量、关联的商品ID)
用户表(主键、添加时间、密码、用户权限、真实姓名、用户是否删除标志、用户名)
进货表(主键、添加时间、订单号、备注、进货价格、是否删除、进货数量、是否付款状态、关联的商品ID)
供应商表(主键、供应商是否删除的标志、联系地址、联系方式、供应商名字)
销售表(主键、添加时间、备注信息、价格、数量、付款状态、销售号、是否删除销售记录的标志、关联的商品ID)
4.4数据库表结构
4-1.商品表
名称
类型
空
备注
id
productlock
shangpinhao
shangpinname
gongyingshangid
Bigint(20)
Int(11)
Varchar(255)
Varchar(255)
Bigint(20)
no
no
yes
yes
yes
主键
商品是否删除的标志,0表示未删除,,1表示删除
商品号
商品名
关联的供应商ID,外键
4-2.库存表
名称
类型
空
备注
id
shuliang
productid
Bigint(20)
Int(11)
Bigint(20)
no
no
yes
主键
数量
关联的商品ID,外键
4-3.用户表
名称
类型
空
备注
id
createtime
password
role
turename
userlock
username
Bigint(20)
datetime
Varchar(255)
Int(11)
Varchar(255)
Int(11)
Varchar(255)
no
yes
yes
no
yes
no
yes
主键
添加时间
密码
用户权限,0表示系统管理员
真实姓名
用户是否删除
用户名
4-4.进货表
名称
类型
空
备注
id
createtime
dingdanhao
info
jiage
jinhuolock
shuliang
status
productid
Bigint(20)
datetime
Varchar(255)
Varchar(255)
double
Int(11)
Int(11)
Int(11)
Bigint(20)
no
yes
yes
yes
yes
no
no
no
yes
主键
添加时间
订单号
备注
进货价格
是否删除,0表示未删除,1表示删除
进货数量
是否付款状态
关联的商品ID
4-5.供应商表
名称
类型
空
备注
id
gongyingshanglock
lianxidizhi
lianxifangshi
mingzi
Bigint(20)
Int(11)
Varchar(255)
Varchar(255)
Varchar(255)
no
no
yes
yes
yes
主键
供应商是否删除
联系地址
联系方式
供应商名字
4-6.销售表
名称
类型
空
备注
id
createtime
info
jiage
shuliang
status
xiaoshouhao
xiaoshoulock
productid
Bigint(20)
datetime
Varchar(255)
double
Int(11)
Int(11)
Varchar(255)
Int(11)
Bigint(20)
no
yes
yes
yes
no
no
yes
no
yes
主键
添加时间
备注信息
价格
数量
付款状态,0表示未付款,1表示已付款
销售号
是否删除销售记录的标志,0表示未删除,1表示删除
关联的商品ID,外键
4.5平台数据表的设计
在本平台采用的数据库是MySql数据库。
根据模块的划分,需要设计的数据表有6张,包括:
供应商表t_gongyingshang,进货表t_jinhuo,库存表t_kucun,商品表t_product,销售表t_xiaoshou,用户表t_user。
供应商表t_gongyingshang
图4-3.供应商表
建表语句为:
CREATETABLE`t_gongyingshang`(
`id`bigint(20)NOTNULLauto_increment,
`gongyingshanglock`int(11)NOTNULL,
`lianxidizhi`varchar(255)defaultNULL,
`lianxifangshi`varchar(255)defaultNULL,
`mingzi`varchar(255)defaultNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
进货表t_jinhuo
图4-4.进货表
建表语句为:
CREATETABLE`t_jinhuo`(
`id`bigint(20)NOTNULLauto_increment,
`createtime`datetimedefaultNULL,
`dingdanhao`varchar(255)defaultNUL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 进销存 管理 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)