企业进销存管理系统.docx

上传人:b****8 文档编号:12900715 上传时间:2023-06-09 格式:DOCX 页数:17 大小:1.13MB
下载 相关 举报
企业进销存管理系统.docx_第1页
第1页 / 共17页
企业进销存管理系统.docx_第2页
第2页 / 共17页
企业进销存管理系统.docx_第3页
第3页 / 共17页
企业进销存管理系统.docx_第4页
第4页 / 共17页
企业进销存管理系统.docx_第5页
第5页 / 共17页
企业进销存管理系统.docx_第6页
第6页 / 共17页
企业进销存管理系统.docx_第7页
第7页 / 共17页
企业进销存管理系统.docx_第8页
第8页 / 共17页
企业进销存管理系统.docx_第9页
第9页 / 共17页
企业进销存管理系统.docx_第10页
第10页 / 共17页
企业进销存管理系统.docx_第11页
第11页 / 共17页
企业进销存管理系统.docx_第12页
第12页 / 共17页
企业进销存管理系统.docx_第13页
第13页 / 共17页
企业进销存管理系统.docx_第14页
第14页 / 共17页
企业进销存管理系统.docx_第15页
第15页 / 共17页
企业进销存管理系统.docx_第16页
第16页 / 共17页
企业进销存管理系统.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

企业进销存管理系统.docx

《企业进销存管理系统.docx》由会员分享,可在线阅读,更多相关《企业进销存管理系统.docx(17页珍藏版)》请在冰点文库上搜索。

企业进销存管理系统.docx

企业进销存管理系统

 

 

《Java程序设计》

课程设计

 

题目企业进销存管理系统

学院

姓名

专业计算机科学与技术

学号

指导教师

摘要

【摘要】

随着国家的政治经济政策的优化改革,使得国内中小企业得以蓬勃发展。

可是随着企业的发展,客户数量的的为断增多,财务工作繁杂化,库存产品零乱等一系列问题也接踵而至,给企业经营者运作带来了很大的困扰。

信息技术的迅猛发展,科学经营管理观念的迅速传播,使中小企业经营者逐渐认识到转变企业经营管理理念,改善企业经营管理模式是企业适应时代的发展急需解决的问题。

现代管理,应该建立在真实、有效的数据信息基础之上,应该是一种科学的、理性的管理体制,而这种管理与经营的联系与互助,又必须依赖于计算机的强大的数据统计功能,计算机管理系统便是实际的企业进销问题与计算机强大数据统计功能相结合的产物。

管理系统解决的了商业企业商品的进、销、存、退、换、盘、损、残、调、借、赠等一系列操作流程中的数据信息的处理问题,提供一系列的数据分析,帮助经营者合理的调整各个经营运作环节的运作节奏,并对商品流转过程进行了全程跟踪管理、相应款项流通的全程记录管理和票据信息统计的管理。

因此进销存管理系统的全面应用,规范业务流程、提高了企业的管理水平,提高资金流动的透明度,加快商品资金周转速度,进而全面提高了企业的经营水平、进而全面提升了企业的经济效益。

【关键词】企业进销存管理系统

引言

企业经营如逆水行舟不进则退。

每一个努力发展的企业都明白,先进管理的重要作用,引进先进管理系统使企业经营变得规范、合理。

进销存管理系统无论是在功能设计还是业务流程上都尽可能做到满足经营管理运作流程的需求,并且操作方便、功能强大,即使操作者对计算机知识一窍不通也能一用就会。

它强化库存管理,规范业务流程,提高资金管理的透明度,加快商品资金周转,是企业经营管理中数据分析中必不可少的管理工具。

1系统需求分析

根据市场的需求,要求系统具有以下功能:

⏹系统操作简单,界面友好。

⏹规范、完善的基础信息设置。

⏹支持多人操作,要求有权限分配功能。

⏹为了方便用户,要求系统支持多条件查询。

⏹对销售信息提供销售排行。

⏹支持销售退货和入库退货功能。

⏹批量填写进货单及销售单。

⏹支持库存价格调整功能。

⏹当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。

2总体设计

2.1项目规划

根据需求分析,设计系统框架。

销进销存管理系统由等8部分组成。

设计各部分具体功能如下:

❑基础信息模块

基础信息模块包括商品信息、员工信息、供应商信息和客户信息4部分。

❑销售模块

销售模块由销售登记、销售退货、销售查询、销售退货查询4部分。

❑入库模块

入库模块主要由入库登记、入库退货、入库查询、入库退货查询4组成。

❑调货模块

调货模块包含调货登记和调货查询两部分。

❑库存模块

库存模块由库存盘点、库存查询、仓库管理3部分组成。

❑结账模块

结账模块主要包括销售结账、销售退货结账、入库结账、入库退货结账。

❑系统管理模块

系统管理模块由修改用户密码、修改用户权限、修改用户3部分组成。

2.2系统功能结构

进销存管理系统的功能结构如图所示。

进销存管理系统功能架构图

2.3设计目标

本系统是根据中小企业的实际需求而开发的,完全能够实现商品入库、销售管理,通过本系统可以达到以下目标:

⏹界面设计简洁、友好、美观大方。

⏹操作简单、快捷方便。

⏹数据存储安全、可靠。

⏹信息分类清晰、准确。

⏹强大的查询功能,保证数据查询的灵活性。

⏹提供销售排行榜,为管理员提供真实的数据信息。

⏹提供灵活、方便的权限设置功能,使整个系统的管理分工明确。

⏹对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。

3系统设计

3.1开发及运行环境

●操作系统:

Windows7(SP1)。

●Java开发包:

JDK1.7。

●数据库:

MySql5.6。

●分辨率:

最佳效果为1024×768像素。

3.2数据库设计

1.数据库概要说明

本系统采用MySQL5.6数据库,系统数据库名为db_jxc,中共包含20个表。

数据存储表:

tb_gysinfo、tb_jsr、tb_kcdb、tb_khinfo、tb_kucun、tb_rkdd_detail、tb_rkdd_main、tb_rkth_detail、tb_rkth_main、tb_ruku_detail、tb_ruku_main、tb_sell_detail、tb_sell_main、tb_spinfo、tb_user、tb_xsqd_detail、tb_xsqd_main、tb_xsth_detail、tb_xsth_main、tb_yginfo。

企业进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉及商品信息、商品的供应商、购买商品的客户等多个实体。

下面简单介绍几个关键的实体E-R图。

●客户实体E-R图

企业进销存管理系统将记录所有的客户信息,在销售、退货等操作时,将直接引用该客户的进销存实体属性。

客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、传真、开户行和账号等属性,客户实体E-R图如图所示。

●供应商实体E-R图

不同的供应商可以为企业提供不同的商品,在商品信息中将引用商品供应商的实体属性。

供应商实体包括编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和E-mail属性,供应商实体E-R图如图所示。

●商品实体E-R图

商品信息是进销存管理系统中的基本信息,系统将维护商品的进货、退货、销售、入库等操作。

商品实体包括编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性,商品实体E-R图如图所示。

2.主要数据表的结构

3.数据库对象命名规则

Ø数据库命名规则

数据库命名以字母“db”开头(小写),后面加数据库相关英文单词或缩写。

下面将举例说明,如表1所示。

表1数据库命名

数据库名称

描述

db_jxc

企业进销存管理系统数据库

注意:

在设计数据库时,为使数据库更容易理解,数据库命名时要注意大小写。

Ø数据表命名规则

数据表以字母“tb”开头(小写),后面加数据库相关英文单词或缩写和数据表名,多个单词间用“_”分隔。

下面将举例说明,如表2所示。

表2数据表命名

数据表名称

描述

tb_sell_main

销售主表

tb_sell_detail

销售明细表

Ø字段命名规则

字段一律采用英文单词或词组(可利用翻译软件)命名,如找不到专业的英文单词或词组可以用相同意义的英文单词或词组代替。

下面将举例说明,如表3所示。

表3字段命名

字段名称

描述

ID

流水号

Name

名称

ProductInfo

商品信息

注意:

在命名数据表的字段时,应注意字母的大小写。

4.业务编码规则

Ø供应商编号

供应商的ID编号是进销存管理系统中供应商的唯一标识,不同的供应商可以通过该编号来区分。

该编号是供应商信息表的主键。

在本系统中对该编号的编码规则:

以字符串“gys”为编号前缀,加上4位数字作编号的后缀,这4位数字从1000开始。

例如(gys1001)。

Ø客户编号

和供应商编号类似,客户的ID编号也是客户的唯一标识,不同的客户将以该编号进行区分。

该编号作为客户信息表的主键,有数据的唯一性的约束条件,所以,在客户信息表中不可能有两个相同的客户编号。

企业进销存管理系统对客户编号的编码规则:

以字符串“kh”为编号的前缀,加上4位数字

作编号的后缀,这4位数字从1000开始。

例如(kh1002)。

Ø商品编号

商品编号是商品的唯一标识,它是商品信息表的主键,用于区分不同的商品。

即使商品名称、单价、规格等信息相同,其ID编号也是不可能相同的,因为主键约束不可以存在相同的ID值。

商品编号的编码规则和客户编号、供应商编号的编码规则相同,但是前缀使用了“sp”字符串。

例如(sp2045)。

Ø销售单编号

销售单编号用于区分不同的销售凭据。

销售单编号的命名规则:

以“XS”字符串为前缀,加上销售单的销售日期,再以3位数字作后缀。

例如(XS20071205001)。

Ø入库编号

入库编号用于区分不同的商品入库信息。

入库编号的命名规则:

以“RK”字符串为前缀,加上商品的入库日期,再以3位数字作后缀。

例如(RK20071109003)。

Ø入库退货编号

入库退货编号用于区分不同的入库退货信息。

入库退货编号的命名规则:

以“RT”字符串为前缀,加上商品入库的退货日期,再以3位数字作后缀。

例如(RT20071109001)。

4功能模块设计

4.1主窗口设计

进销存管理系统主窗口由菜单、工具栏、客户区域和状态栏四部分组成,效果如图所示。

1.菜单设计

(1)创建MainDaohangFrame类,在类中创建并初始化窗体对象,为窗体添加桌面面板,并设置背景图片。

(2)编写initComponents()方法,在该方法中初始化背景标签,背景设置了主窗体的背景图片,该图片将随主窗体的大小自动缩放。

(3)在MainDaohangFrame类中编写launch()方法,在该方法中创建选项卡面板对象。

为突出选项卡的立体效果,设置该选项卡使用边框效果,然后依次创建基本信息管理、入库管理、销售管理、退货管理、库存管理和系统维护的选项卡。

(4)同上,可以设计其他主菜单及菜单项。

最后得到如图所示的菜单界面。

2.客户区设计

主窗体界面也是该系统的欢迎界面。

应用程序的主窗体必须设计层次清晰的系统菜单和工具栏,其中系统菜单包含系统中所有功能的菜单项,而工具栏主要提供常用功能的快捷访问按钮。

企业进销存管理系统采用导航面板综合了系统菜单和工具栏的优点,而且导航面板的界面更加美观,操作更快捷。

主窗体的运行结果如图所示。

4.2系统登录管理

1.实现目标

程序启动后,首先进入系统登录程序验证用户密码。

系统登录程序主要实现如下功能。

❑输入密码的控件采用文本框。

密码如果输入正确,取得用户权限并进入系统,否则,将提示错误,并返回密码输入框。

❑记录错误次数,录入密码错误3次将自动退出系统。

❑用户按下〈Enter〉键,控制焦点的移动。

系统登录程序运行结果如图所示。

系统登录窗口

4.3基础信息管理

企业进销存管理系统中的基础信息模块主要包括客户管理、商品管理和供应商管理3部分,由于它们的实现方法基本相似,以供应商管理部分为主,介绍基础信息模块对本系统的意义和实现的业务逻辑。

1.供应商添加

供应商添加功能主要负责为系统添加新的供应商记录。

在企业进销存管理系统中,商品是主要的管理对象,而系统中所有的商品都由不同的供应商提供,这就需要把不同的供应商信息添加到系统中,在商品信息中会关联系统中对应的供应商信息。

供应商添加功能的程序界面如图所示。

2.供应商修改与删除

供应商的修改与删除功能主要用于维护系统中的供应商信息。

在供应商的联系方式发生改变时,必须更新系统中的记录,以提供供应商的最新信息。

另外,当不再与某家供应商合作时,需要从系统中删除供应商的记录信息。

程序运行界面如图所示。

3.基础信息模块技术分析

基础信息模块中使用了JavaSwing的JTabbedPane选项卡面板组件分别为客户信息管理、商品信息管理和供应商信息管理提供了多个操作界面,例如供应商信息管理中分别存在供应商添加和供应商修改与删除界面,而这两个界面都存在于一个窗体中,可以通过选择顶部的两个选项卡,在不同的界面中来回切换。

4.4采购入库管理

1.实现目标

企业进销存管理系统中的库存管理模块包括库存盘点和价格调整两个功能。

价格调整功能主要用于调整库存中指定商品的单价,当用户选择了指定的商品,价格调整功能的界面会显示该商品在库存中的单价、库存数量、库存金额、单位、产地等信息。

程序界面如图所示。

用户可以修改商品价格并单击“确定”按钮,调整该商品在库存中的单价。

❑系统自动生成入库时间及入库票号。

❑确定用户输入数据完毕后,可提交给数据库。

❑自动核算入库金额。

❑删除当前指针所对应的记录信息。

入库登记模块运行结果如图所示。

2.设计步骤

企业进销存管理系统中的库存管理模块包括库存盘点和价格调整两个功能,其中库存盘点涉及的技术比较简单,它将库存信息显示在表格中,由操作员输入盘点的商品数量,然后程序自动计算损益值。

价格调整功能涉及下拉列表框的选择事件监听和事件处理技术,这在使用JavaSwing技术进行程序开发的过程中,非常重要。

为防止用户的错误输入,程序界面经常需要将可枚举的输入内容封装在下拉列表框中,限制用户的输入。

但是,要知晓下拉列表框的改变,还需要为下拉列表框添加相应的事件监听器。

进货管理模块使用JDBC实现事务操作,因为进货和退货的业务逻辑涉及到3个数据表,为保证数据的完整性,将3个数据表的操作放在事务中实现,如果对任何一个数据表的操作出现错误或是不可执行的操作,那么整个事务中的所有操作都将取消,并恢复到事务执行之前的数据状态;否则3个数据表的操作全部执行。

使用JDBC实现事务操作的关键方法。

1

2

3

4

4.1

4.2

4.3

4.4

4.5单元测试

在现代软件开发过程中,测试不再作为一个独立的生命周期,单元测试成为与编写代码同步进行的开发活动。

单元测试能够提高程序员对程序的信心,保证程序的质量,加快软件开发速度,使程序易于维护。

1.单元测试概述

单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立工作单元将在与程序的其他部分相隔离的情况下进行测试。

在一种传统的结构化编程语言中,如Java语言,要进行测试的工作单元一般是方法。

在像C++这样的面向对象的语言中,要进行测试的基本单元是类。

单元测试不仅仅是作为无错编码的一种辅助手段,在一次性的开发过程中使用,单元测试还必须是可重复的,无论是在软件修改或是移植到新的运行环境的过程中。

因此,所有的测试都必须在整个软件系统的生命周期中进行。

2.什么是单元测试

●它是一种验证行为。

程序中的每一项功能都可以通过单元测试来验证其正确性。

它为以后的开发提供支持。

就算是开发后期,也可以轻松地增加功能或更改程序结构,而不用担心这个过程中会破坏重要的东西。

而且它为代码的重构提供了保障。

这样,我们就可以更自由地对程序进行改进。

●它是一种设计行为。

编写单元测试将使我们从调用者的角度观察、思考。

特别是先写测试(test-first),迫使我们把程序设计成易于调用和可测试的,即迫使我们解除软件中的耦合。

●它是一种编写文档的行为。

单元测试是一种无价的文档,它是展示函数或类如何使用的最佳文档。

这份文档是可编译、可运行的,它永远保持与代码同步。

3.越到项目后期,单元测试为何越难进行

在很多项目的初期,项目中的大部分程序员都能够自觉地编写单元测试。

随着项目的进展、任务的加重,离交付时间越来越近,不能按时完成项目的风险越来越大,单元测试就往往成为牺牲品了。

项目经理因为进度的压力也不重视了,程序员也因为编码的压力和无人看管而不再为代码编写单元测试了。

笔者亲身经历的项目都或多或少地发生过类似这样的事情。

越是在项目的后期,能够坚持编写单元测试的程序员在整个项目组中所占比例越来越低。

为了追赶项目进度,多数程序员将没有经过任何测试的程序代码上传到版本控制系统,项目经理也不再追问,照单全收。

这样做的结果就是在项目后期,技术骨干人员只好加班加点进行系统集成。

集成完了之后,下发给测试人员测试时,Bug的报告数量翻倍增长。

程序员开始修改Bug,但有非常多的Bug隐藏得很深,一直潜伏到生产环境中去。

附录参考文献

1.程杰.大话设计模式[M].清华大学出版社

2.王家华.软件工程[M].东北大学出版社

3.Brown.JAVA编程指南(第二版)[M].电子工业出版社

4.清宏计算机工作室.JAVA编程技巧[M].机械工业出版社

5.赛奎春.JAVA工程应用与项目实践[M].机械工业出版社

6.林邦杰.彻底研究java[M].电子工业出版社

7.毕广吉.Java程序设计实例教程[M].冶金工业出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2