1、XXX 毕业设计(论文)基于.NET的超市管理系统的设计与实现学 生:学 号:专 业:班 级:指导教师:XXX 计算机学院二 O 一 六年六月I基于.NET的超市管理系统的设计与实现摘 要在市场经济中,销售是超市运作的重要的一个环节,为了能更好地推动销售,获得利益,很多超市都成立了分公司或实行代理制,然后再通过分公司或代理商把各种商品推向最终用户。这些分公司都分散在全国各地,有的甚至是在国外,那么超市间远距离的、频繁的业务信息交流是常态。对于以前的传统方式,主要使用电话、传真等方式传递订货与退货以及其他的业务等信息,总公司需要搜集到各分部的各类信息,并对这些信息加以整理分析,才能更好掌握到整个
2、公司的情况。这种传统的信息传递与管理方式效率比较低,而且可靠性、安全性和保密性等都不能满足超市实现这种高效管理要求,数据统计时间滞后也是一个问题,所以往往是领导发现运营出现问题时,就已经过了问题出现的时间。就算是没有分部的小超市,这种传统的手工方式管理效率也比较低,同样会存在问题。通过超市管理系统,能够使得各管理者可以更及时的发现已经存在的问题并解决它,这样能更高效的管理。基于.NET 的超市管理系统阐述如下:该项目主要包括资料管理与采购管理,销售管理和库存管理,帐务管理和应收款管理,以及应付款管理,经营分析,零售管理和系统管理十大功能模块。关键词:SQL;超市管理;C#.NETIIThe d
3、esign and implementation of supermarket management system based on .NET ABSTRACTIn the market economy, sales are an important link in the operation of the supermarket, in order to better promote sales, access to benefits, many supermarkets established branch or agency system is implemented, and then
4、 through the branches or agents of the various products onto the end user. These branches are scattered all over the country, and some even in foreign countries, so the distance between the supermarket, frequent business information exchange is the norm. For the traditional way before, the main use
5、of telephone and fax information transfer order and returns and other business, the corporation need to collect all kinds of information of each segment, and the information summarized, in order to better grasp the whole company.The traditional information transmission and management efficiency is r
6、elatively low and reliability, security and confidentiality, etc. cannot satisfy the supermarket to achieve the demand of effective management, the statistical time lag is also a problem, and so is often leading to the discovery of operator, has been the problem of time. Even if there is no branch o
7、f small supermarkets, the traditional way of manual management efficiency is relatively low, there will be problems. Through the supermarket management system, can make the managers can more timely found the problems and solve it, so that more efficient management.Supermarket management system . NET
8、 are described as follows: the project mainly includes data management and purchase management, sales management and inventory management. Accounts management and accounts receivable management, and accounts payable management based on, business analysis, retail management and system management and
9、ten functional modules.Keywords: SQL; Invoicing; C#.NETIII目 录第 1 章 绪论 11.1 课题的提出、研究现状及研究意义 11.2 课题的研究内容 11.3 小结 1第 2 章 系统需求分析 22.1 需求分析 22.2 系统 UML 图例 32.3 小结 4第 3 章 系统设计 53.1 系统总体结构 53.2 系统模块设计 53.2.1 资料管理模块详细设计 53.2.2 采购管理模块详细设计 63.2.3 库存管理模块详细设计 63.2.4 销售管理模块详细设计 63.2.5 帐务管理模块详细设计 63.2.6 应收款管理模块详
10、细设计 73.2.7 应付款管理模块详细设计 73.2.8 经营分析模块详细设计 83.2.9 系统管理模块详细设计 83.3 数据库设计 83.3.1 E-R 图 83.3.2 概念设计 93.3.3 逻辑设计 93.4 小结 11第 4 章 系统实现 124.1 搭建系统框架 12IV4.2 系统数据访问层实现 134.3 主要模块实现 134.3.1 资料管理模块实现 134.3.2 采购管理模块实现 144.3.3 经营分析模块实现 144.3.4 库存管理模块实现 154.3.5 系统维护模块实现 154.4 小结 15第 5 章 测试 165.1 测试用例 165.2 测试结果 1
11、65.2.1 用户登录 165.2.2 信息管理 175.2.3 库存管理 195.3 小结 20第 6 章 结论 21致谢 22参考文献 23附 录 24附录 A: 主要源程序 24XXX 毕业设计(论文)1第 1 章 绪论本章主要讲解这个选题的一些情况。1.1 课题的提出、研究现状及研究意义在市场经济中,销售是超市运作的重要环节,为了更好地推动销售,不少超市建立了分公司或实行代理制,通过分公司或代理商把产品推向最终用户。这些分公司或代理商大都分布在全国各地,甚至是在国外,远距离频繁的业务信息交流是它的主要特点。对于以前的传统方式,主要使用电话、传真等方式传递订货与退货以及其他的业务等信息,
12、总公司需要搜集到各分部的各类信息,并对这些信息加以整理分析,才能更好掌握到整个公司的情况。这种信息传递、管理方式效率低下,而且可靠性、安全性和保密性等都不能满足超市实现这种高效管理要求,数据统计时间滞后也是一个问题,所以往往是领导发现运营出现问题时,就已经过了问题出现的时间。即便是没有分部的超市,传统的手工方式管理效率低,也会存在同样的问题。通过超市管理系统,可以更及时的发现并解决问题,把握住机会,更高效的管理。上述的这些问题,不管是信息管理系统本身发展的问题,还是计算机技术应用发展的问题。我们都必须从新的角度,新的技术方法去思考这些问题。从课题的现状来看,近年来兴起NET 技术就给我们带来了
13、极大的便利,我们可以利用 C#和NET 两者相结合来开发该程序,该超市管理系统在响应速度上因为采用的仍是桌面应用程序开发,所以响应速度快,同时NET 的应用,使得可以较好的去实现数据的实时性及共享性,并且NET 的跨平台传输特性使得该软件的通用性好,实用性也更好。1.2 课题的研究内容本课题是设计一个基于NET 的超市管理系统。该软件主要包括帐务管理与应收款管理,资料管理与采购管理,销售管理及库存管理,以及应付款管理,经营分析,零售管理和系统管理十大功能模块。1.3 小结绪论这一章主要是对课题所要研究的内容作了介绍。有了这些,将可以进行后面的需求分析。XXX:基于.NET 的超市管理系统的设计
14、与实现2第 2 章 系统需求分析这一章主要介绍系统的需求分析,然后分析了系统功能需求与系统的 UML 图等。2.1 需求分析 在市场经济中,销售是超市运作的重要的一个环节,为了能更好地推动销售,获得利益,很多超市都成立了分公司或实行代理制,然后再通过分公司或代理商把各种商品推向最终用户。这些分公司都分散在全国各地,有的甚至是在国外,那么超市间远距离的、频繁的业务信息交流是常态。对于以前的传统方式,主要使用电话、传真等方式传递订货与退货以及其他的业务等信息,总公司需要搜集到各分部的各类信息,并对这些信息加以整理分析,才能更好掌握到整个公司的情况。这种传统的信息传递与管理方式效率比较低,而且可靠性
15、、安全性和保密性等都不能满足超市实现这种高效管理要求,数据统计时间滞后也是一个问题,所以往往是领导发现运营出现问题时,就已经过了问题出现的时间。就算是没有分部的小超市,这种传统的手工方式管理效率也比较低,同样会存在问题。通过超市管理系统,能够使得各管理者可以更及时的发现已经存在的问题并解决它,这样能更高效的管理。此超市管理系统的这种新的管理模式是基于软件以及高速、大容量的存储设备基础上的,通过使用集中式的数据库,将超市的日常活动操作有机的结合起来,能较好达到数据共享、提高管理效率、降低运营成本、改进自身服务等目的。利用超市管理系统可以提高超市管理的水平比如:1能够降低运营成本,提高管理效率;2
16、能够降低一些采购成本;3能够及时调整各商品的销售策略,减少不必要的损失;4能够加快资金周转,实现经济效益;5能够强化对于财务的监控,实现经济效益;6能够使一些商业数据智能分析;7能够更高效决策。此作为超市管理系统,首先需要系统管理员运用系统来进行添加用户的功能。添加用户后,部门职员就可以登录了,在登录以后可以根据部门赋予其不同的操作权限等,具体功能描述如下:(1)资料管理模块,用于超市基本资料的维护,包括商品资料,供货商信息,XXX 毕业设计(论文)3客户资料和采购合同与销售合同以及业务员信息等相关基本信息维护。(2)库存管理模块,此模块可用于盘点库存以及查询库存信息,库存量不足时产生库存预警
17、和库存预警参数设置,及时更新超市库存信息,以便获取最新库存资料来提供超市管理者决策使用。(3)采购入库模块,用户进货入库,采购单查询和采购退货的相关处理,在采购的同时应更新应付款信息和增加库存量。(4)销售模块,可用于商品的销售出库,销售退货处理,销售单的查询等的处理,要注意在销售商品时还必须更新应收款以及减少该商品库存量。(5)账务管理模块,用于每月的结账,对超市每月的损溢情况进行分析和计算,结账日期设定。(6)经营分析模块,可动态生成饼图,包括零售量,库存量,销售量和采购量的比例,便于决策者做出正确的商业决策。(7)系统管理模块,此模块可以提供用户管理与相应登录用户的密码修改,以及数据库备
18、份还有还原等相关功能。超市管理系统都是把信息管理当做运营的基础,把经营管理作为最终目标,再利用现有的成熟的、先进的计算机方面的技术,加上领导层的商业模式,再对超市的一些有用的经营数据进行采集、储存、加工、处理和分析,最终得到我们需要的有用信息,为各层管理者提供有效的决策依据。2.2 系统 UML 图例根据此前的系统需求分析,可以得到超市管理系统的用例图如图 2.1 所示:高层领导采购部销售部仓储部系统管理员资料管理库存管理应付款管理应收款管理零售管理账务管理销售管理采购管理经营分析系统维护XXX:基于.NET 的超市管理系统的设计与实现4图 2.1 系统用例图系统基础模块类图如 2.2 所示:
19、+ G e t M a x I D ( ) : i n t+ E x i s t s ( ) : b o o l+ E x e c u t e S q l ( ) : b o o l+ G e t S i n g l e ( ) : i n t+ Q u e r y ( ) : u n s i g n e d c h a r- c o n n e c t i o n S t r i n g : s t r i n gD B H e l p e r S Q+ G e t M a x I D ( ) : i n t+ E x i s t s ( ) : b o o l+ E x e c u t e
20、 S q l ( ) : b o o l+ G e t S i n g l e ( ) : i n t+ Q u e r y ( ) : u n s i g n e d c h a r- c o n n e c t i o n S t r i n g : s t r i n gD B O r a c l e S Q+ G e t M a x I D ( ) : i n t+ E x i s t s ( ) : b o o l+ E x e c u t e S q l ( ) : b o o l+ G e t S i n g l e ( ) : i n t+ Q u e r y ( ) : u
21、n s i g n e d c h a r- c o n n e c t i o n S t r i n g : s t r i n gD b H e l p e r M y S Q+ G e t M a x I D ( ) : i n t+ E x i s t s ( ) : b o o l+ E x e c u t e S q l ( ) : b o o l+ G e t S i n g l e ( ) : i n t+ Q u e r y ( ) : u n s i g n e d c h a rD B U t i l i t yM o d e lI D A LB L LD A L F
22、a c t o r yj x c m g rD A L图 2.2 系统基础模块类图2.3 小结这一章先是简单分析了超市这个行业的情况,以此切入论述了选题所要设计的系统的需求。有了需求,下面进行系统的设计。XXX 毕业设计(论文)5第 3 章 系统设计这一章介绍系统设计,然后再对系统的数据库设计进行了简单分析。3.1 系统总体结构 根据上一章对超市管理系统的需求分析。得出了系统的总体结构如图 3.1 所示:基于 . n e t 的超市联网管理系统资料管理库存管理商品资料维护供应商资料维 护客户资料维 护仓库资料维 护业务员资料维 护库存转库库存查询库存预警上下限设置 采购管理进货入库退货处理进货
23、单查询销售管理销售出库退货处理销售单查询账务管理结账日期设定 模拟结账正式结账历史查询应收款管理预收款管理收款单收款单查询应付款管理付款单查询付款单预收款管理经营分析零售管理零售查询零售退款系统管理数据管理用户管理更改密码采购合同维 护图 3.1 系统总体结构图3.2 系统模块设计3.2.1 资料管理模块详细设计超市管理的基础资料信息是一个超市最基本、也是极其重要的信息,加入缺乏或丢失了基础资料,比如商品资料信息、供货商信息以及客户信息等,超市管理系统很可能就将不能正常运行。这个资料管理功能模块就是用来维护这些基础信息的。其工作流程图如图 3.2 所示:开始选择操作修改 增加查询是否修改修改成
24、功修改失败显示结果是否增加增加成功增加失败结束基于.net 的超市管理系统XXX:基于.NET 的超市管理系统的设计与实现6图 3.2 资料管理3.2.2 采购管理模块详细设计采购管理功能模块用于管理超市的采购业务,包含的进货入库,进货单查询,退货处理。其工作流程图如图 3.3 所示:开始选择操作进货入库采购退货采购查询选择操作确认 放弃查询结果选择操作确认 放弃结束图 3.3 采购管理3.2.3 库存管理模块详细设计库存管理功能模块主要用于管理超市的库存信息,包含了库存查询、库存转库、预警设置以及库存上下限报警。其工作流程图如图 3.4 所示:开始选择操作库存盘点库存预警库存查询选择操作盘点
25、 放弃查询结果选择操作修改预警放弃修改结束图 3.4 库存管理3.2.4 销售管理模块详细设计销售管理功能模块主要用于管理超市的销售,包含了销售出库、销售退货单以及销售单查询。其工作流程图与应收款模块相同(参考图 3.3 所示) 。3.2.5 帐务管理模块详细设计帐务管理功能模块主要用于管理超市的结帐业务。商业型的超市一般每个月都要进行一次结帐的操作,来确定该月份所有商品的收支情况,为财务提供数据。XXX 毕业设计(论文)7其工作流程图如图 3.5 所示:开始选择操作正式结账日期设定账务查询选择操作确认结账放弃查询结果选择操作确认修改放弃修改结束图 3.5 账务管理3.2.6 应收款管理模块详
26、细设计应收款管理功能模块主要用于管理超市的应收款业务,包含了预收款管理和收款单及收款单查询三个模块。其工作流程图如图 3.6 所示:开始选择操作预收款收款单收款单查询选择操作确认收款放弃查询结果选择操作确认 放弃结束图 3.6 应收款管理3.2.7 应付款管理模块详细设计应付款管理功能模块主要用于管理超市的应付款业务,包含了预付款管理、付款单以及付款单查询三个模块。预付款管理:在该模块中输入进货单号,右侧将自动显示相应的预付款信息,选择进货单号后弹出进货单列表窗口,当选择进货项之后,点击确认付款就可以完成预付款。付款单:选择进货单号后弹出进货单列表窗口,选择进货项后,点击确认付款即可完成付款。
27、付款单查询:输入进货单号和供货商名称,查询结果。其工作流程图与应收款模块相同(参考图 3.6 所示) 。XXX:基于.NET 的超市管理系统的设计与实现83.2.8 经营分析模块详细设计经营分析功能模块用于统计和分析超市的经营数据,供超市决策者作为决策依据。经营分析:输入商品条形码和时间段,点击分析即可执行经营分析功能。3.2.9 系统管理模块详细设计系统管理是每个系统都应该必须具备的功能,包括了数据库管理(备份还原) 、用户管理、更改密码模块。其工作流程图如图 3.7 所示:开始选择操作用户管理数据库管理数据库管理选择操作添加 删除查询结果选择操作数据备份数据还原结束图 3.7 系统管理3.
28、3 数据库设计3.3.1 E-R 图ER 图中包含了实体和关系以及属性三种基本成分,通常情况用矩形框代表实体,它们的关系使用连接相关实体的菱形框来表示,一般用圆角矩形或者椭圆形来表示实体之间的属性,然后再用直线把它和它的属性连接起来。此超市管理系统的 E-R 模型如图 3.8 所示XXX 毕业设计(论文)9图 3.8 系统 E-R 图3.3.2 概念设计整个系统涉及的实体和属性比较多,篇幅有限不能也不需要逐一列举。使用Microsoft Visio 的反向工程功能到系统数据库模型图。如图 3.9 所示:销售单明细P K 编 号F K 2 销 售 单 号F K 1 货 号销 售 数 量销售价税价
29、合计扣率税率不含税价税额仓库业务员清单P K 业 务 员 号姓名性别电话手机地址邮编身份证号类别每月结帐日期表P K 月 份全称结 帐 日 期进货单明细P K 编 号F K 1 进货单号F K 2 货 号进 货 数 量进价税价合计扣率税率不含税价税额仓库货物质量采购订单P K 编 号F K 1 供 货 商 号订货日期有效起日有效止日业务员制单人税价合计不含税价税额盘点单P K 编 号F K 2 货 号F K 1 仓 库 号原库存数原库存金额原库存单价新库存数量新库存金额新库存单价制单人调整日期用户清单P K 用 户 编 号部 门姓 名性 别密码应付款P K 编 号发票号填票日期进货单号F K
30、2 货号F K 1 供货商号数量进货单价金额付款日期详细说明进货日期状态减预付销售合同F K 1 客 户 编 号F K 2 货 号售价付款方式帐期签定日期合同期限上下限对照表序 号仓 库F K 1 货 号上限下限最佳存量备注采购合同F K 1 供 货 商 号F K 2 货 号进价付款方式帐期签定日期合同期限进销存汇总表P K 结 帐 编 号年月F K 1 货号上期结帐数量上期结帐金额借方数量借方金额贷方数量贷方金额本期结存数量本期结存金额备注结帐历史结帐编号结帐日期结帐年月初次结帐备注预付款P K 进 货 单 号预付款额F K 1 供货商号预付款日期备注盘点单历史P K 编 号F K 2 货
31、号F K 1 仓 库 号原库存数原库存金额原库存单价新库存数量新库存金额新库存单价制单人调整日期库存库F K 1 货 号仓 库库 存 数 量库 存 金 额库 存 单 价最新进价销退货单P K 编 号销 售 单 编 号F K 1 货 号退 货 数 量销售价税价合计扣率税率不含税价税额仓库销售单P K 编 号F K 1 客 户 编 号销售日期业务员制单人保管员税价合计不含税价税额订单号进货单P K 编 号F K 1 供 货 商 号进货日期业务员制单人验收员保管员税价合计不含税价税额订单号仓库清单P K 仓 库 号仓库名类别备注预收款P K 销 售 单 号F K 1 客 户 编 号预收款总额预收款日
32、期备注零售单P K 交 易 号交易金额用户编号交易日期供货商清单P K 供 货 商 号拼 音 编 码简称名称地址邮编区号地区类型电话传真电报开户行开户行邮编银行帐号税号库房地址库房电话业务员业务部门应收款P K 编 号发票号填票日期销售单号F K 2 货号F K 1 客户编号数量销售价金额收款日期详细说明销售日期状态减预收客户清单P K 客 户 编 号拼 音 编 码简称名称联系人地址邮编区号地区电话传真电报开户行开户行邮编银行帐号税号性质业务员业务部门授信额度商品清单P K 货 号条码拼音编码品名规格单 位产地类别进货价销售价 1销售价 2最低售价零售单明细P K 交 易 号P K 货 号数量
33、图 3.9 数据库模型图3.3.3 逻辑设计逻辑结构设计的主要任务就是把之前概念设计阶段已经设计好的数据库模型图,转换成逻辑结构。转换结果如表 3.1 3.6 所示,其中每张表所包含的字段可参考系统详细设计:表 3.1 商品清单表字段名 类型 主键 外键 备注货号 Char(14) Yes NO 存储货物编号条码 Char(14) NO NO 商品条形码拼音编码 Char(40) NO NO 商品拼音品名 Varchar(80) NO NO 商品名称单位 Char(6) NO NO 商品计量单位产地 Char(20) NO NO 商品生产地类别 Char(20) NO NO 商品所属类别,例如
34、书籍等进货价 Decimal NO NO 商品进货价格销售价 1 Decimal NO NO 商品批发价格销售价 2 Decimal NO NO 商品零售价格XXX:基于.NET 的超市管理系统的设计与实现10表 3.2 供货商表字段名 类型 主键 外键 备注供货商号 Char(14) Yes NO 供货商编号简称 Varchar(80) NO NO 供货商简称拼音编码 Char(40) NO NO 供货商拼音编码地址 Varchar(80) NO NO 供货商单位地址电话 Char(14) NO NO 供货商联系电话开户行 Varchar(40) NO NO 供货商开户的银行银行账号 Char(20) NO NO 开户银行账号业务员 Char(20) NO NO 和该供货商联系的业务员业务部门 Decimal NO NO 该业务员所属部门表 3.3 进货单表字段名 类型 主键 外键 备注编号 Char(14) Yes NO 进货编号供货商号 Char(14) NO Yes 供货商编号做外键进货日期 Dateti