企业进销存系统的设计与实现.docx

上传人:b****4 文档编号:6888400 上传时间:2023-05-10 格式:DOCX 页数:27 大小:510.40KB
下载 相关 举报
企业进销存系统的设计与实现.docx_第1页
第1页 / 共27页
企业进销存系统的设计与实现.docx_第2页
第2页 / 共27页
企业进销存系统的设计与实现.docx_第3页
第3页 / 共27页
企业进销存系统的设计与实现.docx_第4页
第4页 / 共27页
企业进销存系统的设计与实现.docx_第5页
第5页 / 共27页
企业进销存系统的设计与实现.docx_第6页
第6页 / 共27页
企业进销存系统的设计与实现.docx_第7页
第7页 / 共27页
企业进销存系统的设计与实现.docx_第8页
第8页 / 共27页
企业进销存系统的设计与实现.docx_第9页
第9页 / 共27页
企业进销存系统的设计与实现.docx_第10页
第10页 / 共27页
企业进销存系统的设计与实现.docx_第11页
第11页 / 共27页
企业进销存系统的设计与实现.docx_第12页
第12页 / 共27页
企业进销存系统的设计与实现.docx_第13页
第13页 / 共27页
企业进销存系统的设计与实现.docx_第14页
第14页 / 共27页
企业进销存系统的设计与实现.docx_第15页
第15页 / 共27页
企业进销存系统的设计与实现.docx_第16页
第16页 / 共27页
企业进销存系统的设计与实现.docx_第17页
第17页 / 共27页
企业进销存系统的设计与实现.docx_第18页
第18页 / 共27页
企业进销存系统的设计与实现.docx_第19页
第19页 / 共27页
企业进销存系统的设计与实现.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

企业进销存系统的设计与实现.docx

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

企业进销存系统的设计与实现.docx

企业进销存系统的设计与实现

 

企业进销存系统的设计与实现

诚信声明

我声明,所呈交的毕业论文是本人在老师指导下进行的研究工作及取得的研究成果。

据我查证,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。

我承诺,论文中的所有内容均真实、可信。

 

毕业论文作者签名:

签名日期:

年月日

企业进销存系统的设计与实现

[摘要]进销存信息管理系统是集产品供应管理、库存管理、销售管理以及帐务管理于一身的企业经营管理的核心系统。

利用计算机来对企业经营进行管理,可以克服传统人工管理的效率低下、数据出入等诸多弊病。

对企业进销存信息管理系统的设计与开发,经历了需求分析、总体设计、详细设计以及具体实现等各个阶段,详细阐述了整个进销存信息管理系统的开发过程。

系统的开发过程与经验可供同类企业参考。

系统的运行和测试表明:

该系统运行可靠、稳定、操作方便,对信息的处理方便快捷,达到了预定目的,满足了企业的实际需求。

[关键词]MFC;SQLServer2000;ADO

ADesignandImplementationofEnterpriseDistributionManagementSystem

Abstract:

TheEnterpriseDistributionManagementSystemisacoreofenterpriseoperationandmanagementsystems,whichincludesproductssupplymanagement,inventoryaccounting,salesmanagementandaccountingmanagement.Utilizationofcomputertomanageenterprise'sbusinesscanovercomethosemaladiessuchaslowefficiency,dataerrorsandsoon,whichcausedbytraditionallabormanagement.BaseonthedevelopmentandapplicationofdesignandimplementationofEnterpriseDistributionManagementSystem,thisarticleelaboratesthefunctionandstructureofthesystemandadvantagescomparedwithtraditionalmanualmethodfromtheinitialstageofrequirementsanalysis,thenoveralldesign,detaileddesigntorealizationportionandtestresult.Thedevelopmentprocessofthesystemandexperiencecanbeareferencetoothersimilarenterprises.Thetrailoperationandtestofsystemshows:

thissystemoperatesreliablyandstably,manipulatesconveniently.Informationprocessingarequickandconvenient,whichhasachievedthepredeterminedpurposeofenterprise'sactualdemand.

Keywords:

MFC;SQLServer2000;ADO

1绪论

1.1引言

市场在不断变化,企业在应对市场变化中所采用的技术与管理也在迅猛发展。

随着计算机技术在近几十年中的不断迅猛发展,其处理信息能力上的优势相对于传统手工的企业管理方式变得越来越明显。

企业要生存,要发展就必须将计算机技术应用到企业内部管理的各个角落,用计算机来运转和流通企业内部的各种信息[1]。

这样既可以实现数据的实时共享,控制共享数据的冗余度,使企业内部的数据信息得到统一的管理,提高数据信息的利用率,又可以实现结构化的整体数据形式,从而极大的提高了企业应对市场做出决策的速度。

这在现今激烈的市场竞争中是极为宝贵的。

商品的流通是每个流通领域的企业所关注的重中之重,而进销存信息管理系统正是为了统一管理商品在企业内部流通的信息而设计出来的。

在职能划分上,一个基本的进销存信息管理系统大致分为采购管理、库存管理以及销售管理。

而这些都是围绕着商品的流通展开的[2]。

采用进销存管理信息系统将给企业管理来了明显的经济效益和社会效益。

主要体现在:

极大提高了工作人员的工作效率,大大减少了以往入货、出库流程繁琐,杂乱,周期长的弊端[3]。

基于进销存管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。

进销存管理的操作自动化和信息的电子化,全面提高了管理水平。

随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,进销存管理的全面自动化、信息化则是其中极其重要的部分。

为了加快进销存管理自动化的步伐,提高管理业务处理效率,建立进销存管理信息系统已变得十分重要。

计算机在商品流通领域的应用在二十一世纪的今天已经十分普及了,但是进销存信息管理软件却仍然并不成熟、规范。

这一状况主要是由于各经营单位多变的经营方式以及各异的运行模式所引起的,也给流通领域的行业人员以及计算机软件开发人员造成了一定的困扰。

在具体开发的过程中,盲目照搬欧美等国的大型商业软件使企业在付出了一定的经济代价的同时却得不到相应的效果,而在一些国内本土软件中半手工的作业流程更是屡见不鲜,这些都没有让计算机的强大功能在降低运营成本,提高经济效益上的最大作用[4]。

在激烈的市场竞争中,流通领域的企业也在不断地应对着市场在积极的改变,这也使得进销存信息管理系统作为一个与管理对象密切相关的有机组成部分,需要长期不断的研究与分析,并在此基础上发现规律,按照规律来打造一个真正适合市场,适合企业本身需求的进销存信息管理系统。

当然这也体现了开发这样一个系统的特点与难点[5]。

具体的应用现状有以下几点:

(1)单项应用多,综合性的系统少。

这些项目往往仅限于作业层的处理和简单的控制,很少设计预测、决策处理,因此只能代替部分重复繁重的人工操作及加快数据的处理速度,不能发挥MIS的提高整个企业效益的作用[6]。

(2)专项开发多,商品化的系统少。

很多系统是针对某企业的具体要求开发的。

工作量大、开发周期长、成本高。

目前能使用某一范围,便于维护的通用性系统少。

(3)开发的系统多,不断维护改进的系统少。

据国外统计,在软件系统的整个生命周期中,维护的费用占系统费用的三分之二,绝大多数软件人员实际上是从事系统维护工作。

我国是重开发、轻维护,系统一旦开发出来后,后期改进的工作就停滞不前[7]。

(4)低水平重复开发的系统多,全面成功,效益显著的系统少。

1.2研究框架

1.2.1研究内容

进销存是商品流通领域的常见经营模式。

而竭其本质就是以商品流通为基础,以票务为主线,以帐务作为补充的三层数据流,而基本的功能则无非商品进货、库存和销售。

在商品进货流程中,系统以企业本身为实体,将进货表述成根据票务的记录,外界实体流入企业的过程。

在这种过程中,又可以分成从供应商正常情况下入库的进货,相关企业之间相互调货而出现的调货,相关企业之间的借贷货物的借入、还入,还有以及入库的商品出现入库退货。

在商品的库存管理中,系统以商品为主要支点,通过与进货、销售模块的数据交换,提供使用者强大的查询功能。

商品在入库时,由质量检验人员对商品进行质检,合格后方入库,而仓库保管人员则记录商品入库的具体信息[8]。

在商品的销售流程中,如果把企业本身作为一个实体,则销售是企业根据票务,对外界实体的流出过程[9]。

其中有企业对客户的正常销售而产生的销售票务的销售管理,各企业互相调货而产生的调出单的调出管理,企业之间借贷而产生的借出单和还出单的借出管理和还出管理,还有销售退货管理[10]

1.2.2研究方法

首先分析目前市场上已有的进销存信息管理系统的功能以及文献,学习其中的优秀的方案及实现技术,同时发现其中的不足和可以改进之处熟悉VisualC++的数据类型和编程方式,然后研究ADO技术和打印操作技术。

ADO技术以其简单高效的特点被越来越多的用于进行数据库操作。

通过设计整个进销存信息管理系统的框架和功能模块,确定每个功能模块实现的技术和方法。

最后编程开发模块、组装系统,安装测试,分析试验结果并优化完善。

1.2.3研究目标

在VisualC++6.0的平台上,利用MFC技术和后台SQLServer2000的数据库支持实现整个进销存信息管理系统。

其中包括实现商品的购进和支出、商品库存盘点、商品查询管理、结款帐务管理和报表打印功能。

还在实现以上功能的基础上使系统尽可能人性化,方便操作和管理。

1.3术语说明

ADO:

微软公司的ADO(ActiveXDataObjects)是一个用于存取数据源的COM组件[7]。

它提供了编程语言和统一数据访问方式OLEDB的一个中间层。

允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。

访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。

2系统总体功能分析

2.1需求分析

软件的需求分析是软件生存周期中非常重要的阶段。

它的好坏直接决定软件的质量。

需求分析的基本任务是要准确地定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。

它的主要用途是明确需求、为用户和开发人员提供一起协商讨论的基础、作为设计和实现的依据。

由于不同的公司使用进销存管理系统的侧重点各不相同,为了使整个需求更具完整性、准确性,为了使获取的用户需求更精确和更完全,能够最大程度的满足用户的需要,故根据本公司特点来定制进销存信息管理系统[11]。

通过对公司日常进销存流程的分析,以及很好的适应中小企业对于一个进销存信息管理系统的需求,总结出以下各点必须满足的功能:

(1)实现商品的购入和销售。

(2)实现商品的盘点。

(3)实现充分的商品查询功能。

(4)实现对于供应商和客户的借款管理。

(5)实现商品的报表打印功能。

2.2功能规划

根据需求分析,适应于企业的实际应用,杭州万太有限公司进销存信息管理系统主要划分为6个功能模块。

(1)基本信息管理

基本信息管理模块包含了操作员信息管理、商品信息管理、供应商信息管理、客户信息管理和商品库存管理5部分,让这些日常基本信息一目了然,方便管理。

(2)商品入库管理模块

商品入库管理模块包含了商品入库管理和商品入库退货管理2部分。

(3)商品销售管理模块

商品销售管理模块包含了商品销售和商品销售退货2部分。

(4)综合查询管理模块

综合查询管理模块包含了商品入库查询、商品入库退货查询、商品销售查询和商品销售退货查询5部分。

(5)帐务管理模块

帐务管理模块包含了供应商结款管理和客户结款管理2部分。

(6)系统管理模块

其功能划分结构图如下图所示

图表21进销存系统功能结构图

2.3设计目标

本系统最终目标是以计算机为工具,通过对公司进销存信息的高效管理。

把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事经营管理政策的研究实施,计划的制定执行和运行质量的监督检查,从而全面提高经济效益[12]。

具体要求如下所列:

(1)实现对商品、供应商、客户三大信息的管理。

(2)实现商品入库、商品入库退货的管理。

(3)实现对商品销售、商品销售退货的管理。

(4)实现对商品进销存各环节中的查询。

(5)实现与客户、供应商之间的结款管理和查询。

(6)系统人性化,界面友好,运行稳定。

另外,本系统的开发环境如下:

(1)前台开发环境:

VISUALC++6.0

(2)后台数据库环境:

MICROSOFTSQLSERVER2000

2.4数据库设计

数据库是指自描述的完整记录的集合。

数据库是自描述的:

它除了包含用户的源数据外,还包含关于它本身结构的描述。

数据库的自描述特点,它提高了程序/数据独立性,它使得检查数据库本身就确定数据库的结构和内容成为可能[4]。

数据库包含用户数据文件和其他内容,数据库在元数据中包含关于自身的描述。

另外,数据库还包含用来表示数据之间的关系和提高数据库应用的性能的索引。

最后,数据库还包含关于使用数据库的应用程序的数据。

数据库基本的功能,主要有三个方面:

(1)信息浏览和查询:

(2)信息的修改、添加和删除;

(3)信息的统计、汇总等。

设计一个数据库需要我们耐心收集和分析数据,仔细理清数据间的关系,消除对数据库应用不利的隐患等等。

在整个设计过程中,我们必须按步骤认真完成。

一个数据库的设计好坏将直接影响将来基于该数据库的应用。

另外,数据库也不是独立存在的,它总是与具体的应用相关的,为具体的应用而建立的。

因此在设计数据库之前我们必须明确应用的目的,在设计数据库的时候也应时刻考虑用户需求,数据库与具体应用之间是相辅相成的关系。

其具体分析后的ER图如下所示。

图表22进销存系统E-R图

3系统详细设计与实现

3.1数据库具体实现

根据数据库的ER图,数据库共设计了18张数据表:

图表31数据表列表

下面对重要数据表做详细说明。

(1)商品信息表(tb_merchandiseinfo)

商品信息表用于保存商品详细信息。

结构如下图所示。

表格31商品信息表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

编号

ID

Varchar

30

商品名称

name

Varchar

50

规格

spec

Varchar

20

助记码

shortname

Varchar

10

默认价格

defaultprice

money

8

厂家

manufacturer

Varchar

30

备注

memo

Varchar

100

(2)操作员信息表(tb_operator)

操作员信息表用于保存操作员详细信息。

结构如下图所示。

表格32操作员信息表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

操作员姓名

name

varchar

30

操作员密码

password

varchar

50

操作员级别

level

smallint

2

(3)供应商信息表(tb_providerinfo)

供应商信息表用于保存供应商详细信息。

结构如下图所示。

表格33供应商信息表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

供应商名称

provider

varchar

50

法人

corporation

varchar

30

负责人

principal

varchar

10

联系电话

phone

varchar

30

详细地址

addr

varchar

50

网址

web

varchar

50

邮箱

e_mail

varchar

30

(4)商品库存表(tb_merchandisestorage)

商品库存表用于保存商品库存详细信息。

结构如下图所示。

表格34商品库存表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

库存编号

merchandiseID

varchar

30

库存名称

storagename

varchar

30

库存数量

storagenum

float

8

(5)商品入库主表(tb_instore_main)

商品入库主表用于保存入库商品的信息。

结构如下图所示。

表格35商品入库主表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

入库单号

ID

varchar

30

供应商

provider

varchar

50

操作员

operator

varchar

50

折扣

rebate

float

8

总计

sumtotal

money

8

应付金额

paymoney

money

8

实付金额

factmoney

money

8

时间

intime

datetime

8

(6)入库退货明细表(tb_cancelinstock_sub)

入库退货明细表用于记录入库退货的详细信息。

结构如下图所示。

表格36入库退货明细表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

退货单号

cancelID

varchar

30

商品编号

merchandiseID

varchar

30

单价

unitprice

money

8

数量

numbers

float

8

折扣

rebate

float

8

应付金额

paymoney

money

8

仓库名称

stockname

varchar

30

(7)商品销售主表(tb_sell_main)

商品销售主表用于记录商品销售的相关信息。

结构如下图所示。

表格37商品销售主表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

销售单号

sellid

varchar

30

客户

customer

varchar

30

操作员

operator

varchar

30

折扣

rebate

float

8

总计

sumtotal

money

8

应付金额

paymoney

money

8

实付金额

factmoney

money

8

时间

intime

datetime

8

(8)销售退货主表(tb_cancelsell_main)

销售退货主表用于记录商品销售退货的相关信息。

结构如下图所示。

表格38销售退货主表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

退货单号

cancelID

varchar

30

客户

customer

varchar

30

操作员

operator

varchar

30

折扣

rebate

float

8

总计

sumtotal

money

8

应退金额

paymoney

money

8

实退金额

factmoney

money

8

时间

intime

datetime

8

(9)供应商结款表(tb_providerpay)

供应商结款表用于记录供应商结款的相关信息。

结构如下图所示。

表格39供应商结款表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

结款编号

payID

varchar

30

供应商名称

provider

varchar

30

结款人

checker

varchar

50

结款金额

paymoney

money

8

时间

paytime

datetime

8

(10)客户往来账表(tb_customeraccount)

客户往来账表用于记录客户往来帐务的相关信息。

结构如下图所示。

表格310客户往来帐表

列名(中文)

列名(英文)

数据类型

宽度

是否允许空

客户

customer

varchar

30

帐务金额

account

money

8

3.2主对话框与系统登录模块

(1)主对话框的实现

作为整个系统的载体,主对话框的设计显得尤为重要,它不仅是人机交互的界面,也是整个信息系统友好性和人性化的最直接的体现。

图表32进销存信息系统的菜单

在让主对话框操作简单明了的同时,一些个性化的设计也非常重要。

为了让系统显得更加的人性化,根据操作员的一些常用操作,制作了专门的工具栏,这样操作员在做一些常用操作时就不用拉开繁杂的菜单,而可以直接点击工具栏中的图标来进行操作。

通常创建工具栏可以引用MSDN中提供的CSTANDARDBAR类或者使用MFC类库中的CTOOLBARCTRL类。

系统中使用后者来创建工具栏。

(2)登陆模块的实现

登录对话框是对整个进销存系统安全性的一个把关,只有系统内登记的操作员才可以登录并进行对应其权限的操作。

用MFCClassWizard为控件定义变量

图表33为对话框上的控件设置变量

登录对话框将用户输入的用户名和密码保存,并跟数据库里的信息进行比对。

voidCDlgLogin:

:

OnButton1()

{

GetDlgItemText(IDC_USER,strUser);

GetDlgItemText(IDC_PASS,strPassWord);

EndDialog(IDOK);

}

3.3操作员信息管理模块

操作员信息管理模块实现操作员的信息添加、修改和删除。

为了整个系统的安全性考虑,进销存信息管理系统添加了系统登录的模块,使得不同权限的操作员可以进行相应的操作。

新建一个类名为COpCtrlDlg的对话框:

图表34操作员信息管理设计窗口

用InitCtrlData成员函数来初始化所有的控件内容和属性:

m_hTabCtrl.InsertItem(0,"操作员基本信息");

m_hTabCtrl.InsertItem(1,"操作员列表");

m_hTabCtrl.ShowWindow

(1);

//InitbuttonCtrl

m_hListOp.InsertColumn(0,"操作员姓名",LVCFMT_CENTER,100);

m_hListOp.InsertColumn(1,"操作员密码",LVCFMT_CENTER,100);

m_hListOp.InsertColumn(2,"操作员级别",LVCFMT_CENTER,100);

m_hListOp.SetExtendedStyle(m_hListOp.GetStyle()|LVS_EX_FULLROWSELECT);

3.4商品进货模块

商品进货模块实现商品入库信息的添加、修改和保存。

新建对话框并设计其控件如下:

图表35商品入库管理设计窗口

其实现过程中的关键技术如下:

(1)切换标签页:

先用case语句判

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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