《本科毕业设计-基于c#的超市管理系统(统计管理与系统管理).doc》由会员分享,可在线阅读,更多相关《本科毕业设计-基于c#的超市管理系统(统计管理与系统管理).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、AbstractAlong with the service industry fast development, needs to want to be in the invincible position in the competition, must in aspects and so on management, service raise the service management consciousness.Facing current supermarket profession universal questions and so on existence manageme
2、nt method, management technology backwardness, uses the computer management to be possible to help the supermarket to a great extent to overcome these difficulties. The computer management system may enhance the supermarket the management level, saves the massive manpower, the physical resource and
3、the financial resource, causes a management and operation more scientific order, the management physical distribution to be clear, the management condition is detailed, is accurate. As a computer application part, uses the computer to carry on the management for the supermarket information, is havin
4、g the merit which the manual administration center is unable to compare. For example: Retrieves, the search rapidly convenient, the reliability high, the reserves big, the secrecy good, the life long, the cost low status. These merits can enhance the supermarket management enormously the efficiency,
5、 also is the supermarket development scientific style, the standardized management, with world trail connection important condition.Therefore, develops this kind of set of management software to become has the necessity matter very much, its development mainly includes the backstage database the est
6、ablishment and the maintenance as well as the onstage application procedure development two aspects.Establishes the data uniformity and complete regarding the former request, the data security good storehouse. But requests the application procedure function regarding the latter to be complete, easy
7、to use and so on the characteristics.After the choice, I use C#.NET to take the backstage as onstage SQL2005.Is in the Windows platform one of splendid simple development kits.Along with computer technology and so on the network, automation, digitization rapid development, we are facing the traditio
8、n business management to transform the modern digitization business management transformation.Must realize the enterprise modernization management, utilizes the computer technology in among, with irresistible force.Key word: Supermarket management; Computer application; C#.NET; SQL2005.引言随着超市商品的大量增加
9、,其管理难度越来越大。在计算机技术飞速发展的今天,将计算机这一信息处理利器应用于超市的日常管理已是势所必然,于是,超市进销存管理系统便应运而生。这为超市管理带来前所未有的改变,同时为企业带来意想不到的经济效益和社会效益,这主要体现在以下几个方面:(1)极大的提高了超市工作人员的工作效率,避免了以往入出存流程繁琐、杂乱、周期长的弊端。(2)超市管理实现了操作自动化和信息电子化,全面提高了超市的管理水平。(3)基于超市管理的全面自动化,可以大大减少入库管理、出库管理及库存管理中的漏洞,可以节约大量管理开支,增加企业的收入。 1.系统概述1.1项目简介在21世纪,人类将步入知识经济时代,知识经济时代
10、是科技发展日新月异和知识、信息呈爆炸膨胀的时代。有所谓信息威胁之说,这是指人类面临的要处理的信息量大到难以处理的地步,以至造成混乱的结果。 计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。随着计算机技术的飞速发展,计算机在信息管理中应用的普及,利用计算机实商品的管理势在必行。目前超市订购与销售管理部分大多数还是手工管理,工作效率很低,并且不能及时了解商品的种类和需求者比较需求的商品等,不能更好的适应当前需求者的查询及购买要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信
11、息及时快捷,因此我们利用计算机提供给我们的信息对需求者的查询及购买过程形成一整套动态的管理能够极大地提高超市订购与销售管理的效率,这也是超市管理系统的科学化、正规化管理,与世界接轨的重要条件。超市管理系统是典型的信息管理系统。系统介绍了超市订购与销售管理系统的开发过程,设计中遇到的问题及解决方法以及提高当前应用程序或系统开发进度和改善工作性能. 利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。信息的高速发展以及高科技的普及,人们的生产、生活越来越离不开信息,因此信息管理的重要性就日渐现形了,谁拥有
12、了更多更有效的信息,谁就将在竞争中处于有利地位。当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。随着计算机技术的迅猛发展,特别是网络技术数码存储与传输技术等的全面普及,使得人们对知识有了更新的要求。因此,超市进销存管理系统也就应运而生。它是我国社会发展的必然产物。1.2系统开发环境 在众多的开发语言
13、中,本系统选用c#,c#语言的设计目的是简化网络应用。是有c#语言能够迅速构建基于windows操作系统和Internet的应用程序和组件。设计者可以用c#语言编写多种类型的应用程序。c#语言几乎综合了目前所有高级语言的优点。该系统的开发环境如下:系统开发操作系统:windows xp系统开发平台:vs2005系统开发语言:c#系统开发数据库系统:sql20051.3 系统功能概述 整个系统主要包括进货管理, 销售管理, 库存管理, 销售统计, 系统管理模块。其中,本人负责登陆模块,销售统计和系统管理三个模块。销售统计模块的主要功能有:登陆模块主要功能就是不同用户类型具有不同的管理权限:a、进
14、货人员b、销售人员c、管理员销售统计模块的主要功能有:a、销售人员的营业历史b、商品分类统计排行 c、业务人员业绩排行日常管理模块的主要功能有:a、商品信息管理b、员工信息管理c、供货商信息管理d、集团客户管理e、会员管理1.4 系统的特点 不同的用户可拥有不同的权限密码一套软件可以有多个使用者共用,每个使用者都会根据其职责不同而拥有不同的权限。比如销售员的权限是与销售相关的内容;进货员主要的权限是进货管理和库存等相关的内容;管理员是超级用户,拥有添加、修改、删除系统中所有的内容的权限。那么一套系统就可以分为几块,分别交给不同的人员管理,这就相当于分工合作,如果某个环节出了错,就很容易查找出来
15、是属于哪个用户的权限范围之内,这样就减少了要“从一查到十”的大工程,同时也有效地制止了某些员工的一些不良习惯,让企业逐步走向系统化、完善化,让每位经营者都可以放心经营场所的一切大小事务做到无纸化运作。 2、系统需求分析2.1 需求分析的目的:尽早地对软件项目的可行性做出细致而谨慎的评估,以避免在项目开发过程中浪费大量的人力、物力、财力。2.2 项目背景:进入二十一世纪,信息化的进程进一步加快,向着网络化、智能化方向发展,计算机行业飞速向前发展,信息化深入到社会的各行各业。微机化管理的广泛应用,使工作效率显著提高。通过可行性分析,我决定开发一个进销存管理系统,经过详细调查,收集各种资料,得到以下
16、有关情况。中小型超市每天有大量的进货、出货、库存等业务,随着企业规模的不断扩大,规模不断扩大,销售业务也随之猛增,手工管理纷繁复杂的销售数据已经不能满足需要。所以销售管理的规范化、自动化已经是必然的要求。2.3 需求分析2.3.1 问题定义及可行性研究在讨论具体的需求分析之前,我想先对两个问题给予简单的说明。这两个问题虽然简单,但却是软件开发周期中不可缺少的两个阶段。2.3.1.1 问题定义问题定义阶段必须回答的关键问题是“要解决的问题是什么?”。显然,这个问题解决整个软件开发周期中起着指导性作用。软件开发应该有这样一条鲜明的线索贯穿始终,否则我们的所有工作都是盲目的。现在我们应该明确问题定义
17、阶段的主要任务:我们要建立一个进销存管理系统,以解决企业进货、销售、库存事务的基本情况,来摆脱传统的手工管理,实现管理自动化,从而提高工作效率。同时该系统应不可避免的涉及到库存商品基本信息、供应商信息、客户信息的维护和处理及进货统计、销售统计等统计及查询处理。2.3.1.2 可行性研究这个阶段要解决的关键问题是“对上一阶段所确定的问题有无行得通的解决办法”。从而导出系统的逻辑模型,然后从系统逻辑模块出发探索若干种可供选择的系统实现方案。由于实际条件的制约,对可行性研究我们不再多说,但我们必须明确,现在我们所讨论的问题从各方面来说都行得通。在明确 了这两个简单问题之后,我们的问题应该步入正题了。
18、需求分析阶段是软件定义时期的是后一个阶段,这一阶段的中心任务是准确的回答“ 系统必须做什么?”这个问题。其结束的标准是通过需求分析应该得出有数据流程图、E-R图、数据字典等描绘的精确的系统逻辑模型。下面我们就紧紧围绕需求分析阶段的中心任务和目标展开计论。1、技术方面可行性分析1)软件分析由于WindowsXP操作系统是有人机变互的友好界面,很容易掌握及操作,程序界面相对较容易实现等特点,加之目前基于WindowsXP操作系统的软件开发工具也很多,易于学习、开发及应用。同时由于进销存管理业务事务种类繁多,结合中小型超市的实际情况,销售业务量及管理人员的素质等因素,WindowsXP操作系统易学易
19、用,而且可以满足需求,故决定采用WindowsXP平台开发。采用Microsoft SQL SERVER2005 型数据库系统作为销售管理系统的后台数据库,SQL SERVER2005数据库使用与WindowsXP完全统一的风格,采用面向对象的方式对数据库进行管理与操作,大大简化了用户的开发与维护工作,另外小型数据库的灵活性、安全性、易用性为数据库编程提供了良好的条件。由于Microsoft公司的Visual Studio 2005具有面向对象可视化编程的特点,是创建WindowsXP应用程序最简便、最快捷的开发工具之一,是集先进性、实用性于一体的现代化软件开发工具,故采用Visual Stu
20、dio 2005为开发工具。2、 人员分析此系统操作简单,使用人员无需具有专业的计算机操作基础,因此对一般的工作人员来说应用此系统是不成问题的。3、 经济方面可行性分析本系统开发经费并不是很多。对于规模不很大,经费有限的单位在经济上是可以接受的,并且本系统实施后可以显著提高效率,很快就可以体现经济效益。综上所述,无论是从技术方面还是经济方面看开发此系统均是可行的。2.3.2 用户需求分析系统的功能要求即用户对目标系统数据处理功能所提出的要求,主要考虑以下进货、销售、库存管理需求:进货时入库登记,以便日后查看和统计进货情况。销售时把相应数量的商品从现存商品库中减去,并记录于另外的一个销售库中,以
21、便日后查看和统计销售信息。是销售就难免会有顾客退货情况发生,因此还需建立一个相应的退货管理,把退回来的货加入现存商品库,再从销售库中减去,进行退货登记。还要能够随时查看各种信息表,如员工信息、进货信息、销售信息、退货信息等。除了以上一些基本的需求外,实际上公司用来进行决策和管理分析的数据才是用得最多的数据。因此还需要有一些相应的关于以上基本信息的统计信息。如希望看各个时间段(如今日、本月、本和度、本年度等)的进货或销售情况,以便对一个的动作进行一个准确的预测和正确的决断。数据流程图如下:操作员P1出入库处理D1库存台账P3打印程序P2查询条件用户进货单销售单报表查询结果查询条件 图2-13、系
22、统的总体设计总体设计阶段的基本目的是用比较抽象概括的方确定系统如何完成参定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段由两个小阶段组成。首先需要进行系统设计,从数据流图出发设想完成系统功能的若干种合理的物理方案,最后选择一个最佳方案。然后进行软件结构设计,确定软件由那些模块组成以及这些模块之间的动态调用关系。3.1 系统架构程序登陆主界面进货管理销售管理库存管理销售统计日常管理进退货登记进退货查询销售及退货处理退货查询库存查询盘点库存下限预警库存报损报溢商品销售排行销售员业绩排行销售员营业历史商品信息管理员工信息管理供货商信息管理会员管
23、理集团客户管理总体框架图3-1本人主要负责以下三个模块:登陆模块:a、进货人员b、销售人员c、管理员不同用户类型具有不同的管理权限。销售统计模块:(1)商品销售排行:该功能主要是对不同类别的商品在一段时间里的销售统计,如食品类、日用品类等。 (2)销售员业绩排行:该功能是对不同的销售员在一段时间内的销售业绩的排行比较,该功能有利于对销售员进行评优比较。 (3)销售员营业历史:该功能可以查询到每个销售员在一段时间内所销售出去的产品,这样就可以看出销售员对于销售什么商品比较有心得。日常管理模块:(1)商品信息管理:管理员用户可以看到库存等有关商品的情况,这样就可以了解到超市的运作情况。 (2)员工
24、信息管理:该功能就是对系统用户的管理,可以增加用户,修改用户的权限的等。 (3)供货商信息管理:运用该功能就能一目了然的了解到超市是从哪里进货的和供货商的基本情况。 (4)集团客户管理:该功能就是记录一些集团公司客户的信息,这些客户都是VIP级的,是超市的大客户。 (5)会员管理:该功能是对一些超市的熟客而制定的,只要顾客在本超市购买了一定金额的商品,超市就可以给他们一个会员的身份,以后对购买的商品就能给予一定得折扣。3.2 系统设计进销存管理系统不简单的是一个软件,它覆盖了企业进销存管理的职能,是企业管理事务中关键环节。是一个将进销存管理思想以及当今最新计算机技术完美统一起来,实现科学化、自
25、动化管理的集成应用系统。.在功能方面,系统面向企业各个层次用户的需求,即企业领导和管理人员以及保障系统运行的系统管理员。为企业进销存管理提供全面、及时、准确的信息和可靠的依据。.在通用性设计方面,以标准化为基础,通过信息流程和管理过程的合理模型化、管理对象的模型化,使得系统具有一定的通用性和规范性。.在系统开放性方面,按照软件工程开发规范实现系统的开放性,既便于扩充又便于升级,以适应今后企业管理发展及销售体系改革的需求。.在系统和数据的安全性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色的用户管理手段,通过数据库系统的数据安全机制,具有完善的系统和数据安
26、全的保障体系。.在操作性方面,采用图形用户界面技术,使系统能够以多得图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。3.3数据库设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对系统应用的效率,以及实现效果产生影响。合理的数据结构设计可以提高数据存储的效率,保证数据库设计的完整和一致。3.3.1数据库概念结构设计根据上面对系统的需求分析,就可以设计出各种实体及它们之间的关系,为后面的逻辑结构设计打下基础。主要实体联系模型(ER图)如图3-3、3-4年示。单位供应商商品员工日期单号地址名称联系人电话供应名称型号总价单价数量 进货登记图
27、3-2销售员商品日期单号地址名称编号人电话销售名称型号总价单价数量客户地址名称联系人电话单位 销售图3-3仓库商品员工日期员工编号地址名称存放名称型号总价单价数量单价 库存图3-43.3.2数据库逻辑设计 上面提到的各种功能的实现都离不开数据库的支持,因此数据库设计作为本系统设计的一部分不可缺少。数据库设计在整个程序设计过程中占据非常重要的地位,也是整个程序设计的基础。把数据库从整个程序中分离出来,单独进行,有很大的好处,即使程序设计分工明确,也方便程序员在详细设计师不必考虑数据库的结构,只需知道数据名及表名和表中的字段名就能进行编码设计,体现面向对象设计的思想。其实在需求分析阶段,我们的很大
28、一部分讨论始终都没离开用户所要求的数据。如果把前面的讨论看成是数据库的逻辑设计,下面的问题将是数据库的具体物理实现。从上面的功能分析看出本系统需要建立以下几个数据表:BackgroundSell,Bill,Employee,Goods,LGoodsReport,SuperMarketBranch等。数据表设计如下图:A、employee表(员工表)中包括有员工编号、员工姓名、员工类型等字段,具体设置如表3-1所示。表3-1 Employee表B、goods表(现存货表)中包拓有商品编号、商品名、型号、预设进价、进货单价、数量、库存下限等字段。具体设置如表3-2所示。表3-2 Goods表C、I
29、nputBill表(进货表)中包拓有进货单号、商品编号、商品名、型号、进货单价、数量、总金额、计量单位等字段。具体设置如表3-3所示。表3-3 InputBill表D、SelBilll表( 销售表)中包括有销售单号、客户名称、销售日期、应付金额、实付金额、超市名称、数量、业务员编号等字段。具体设置如表3-4所示。表3-4 Bill表E、BackbroundSell表(退货表)中包括有销售单号、商品编号、商品名、型号、单价、数量、总金额、业务员编号等字段。具体设置如表3-5所示。表3-5 BackgroundSell表F、SSuperAgent表(供应商表)中包括超市的供应商、供应商名字、供应商
30、类型、联系人、电话、地址等字段。具体设置如表3-6所示。表3-6 SuperAgent表其它表的设计也差不多,这里就不再多述了。4、系统的详细设计4.1系统模块设计及程序流程图此系统的采用划分独立模块,自顶向下逐步求精的方法设计。这里仅列举两个典型程序流程图。退货登记过程比较复杂,退货登记模块的程序流程图如下图4-1所示: 退货登记流程图4-1开始选择客户名称、生产厂商名称、商品名称、输入商品型号、数量、单价、单位、退货日期、退货商品好坏等以上数据送入后台数据库中是否销售过此种商品?从销售商品中减去退货商品输出退货成功信息退货成功输出错误信息是否取消清空重填结束否否是是登录模块的流程图如下图4
31、-2所示:输入用户编号、密码、选择权限、点击登陆核对user表信息用户是否存在?信息是否正确正确登陆结束退出登陆窗口取消否输出错误信息开始否否是 登陆流程图4-24.2 应用程序设计具体包括如下功能模块:(1)登陆模块:不同的用户具有不同的管理权限。(2)进货管理模块:进货登记;退货登记;进货查询;退货查询功能。(3)销售管理:商品销售处理;销售退货处理;销售查询;退货查询。(4)库存管理:库存查询盘点;库存下限预警;库存报损报溢;库存调拨。(5)销售统计:商品不同类之间统计排行;业务人员业绩排行;个人营业情况。(6)系统管理,商品信息管理;员工信息管理;供货商信息管理;集团客户管理;会员管理
32、。5、功能界面设计在这个界面设计里,我主要介绍本人所负责开发的几个模块,具体如下:5.1登陆窗口不同的用户具有不同的登陆权限;5.2销售人员之间营业对比该功能是根据一定的时间段统计销售员的业绩排名情况(主要是按营业额排名)实现代码:select distinct e.Employee,t.Num,t.sumMoney from SellBill s,(select BSeller,Count(*) as Num,Sum(BRealpay) as sumMoney from SellBill where BSellDate between + dtgStart.Value + and + dtp
33、End.Value + Group by BSeller) t,Employee e where s.BSeller=t.BSeller and s.BSeller=e.EId order by sumMoney desc5.3不同种类商品的销售对比实现代码:select distinct gt.GoodsType,t.Num,t.sumMoney from SellBill s,(select gt.GoodsTypeNo,Count(*) as Num,Sum(BRealpay) as sumMoney from SellBill s,GoodType gt,Goods g where s
34、.BSellBranch=g.GoodNo and g.GoodTypeNo=gt.GoodsTypeNo and s.BSellDate between + dtgStart.Value + and + dtpEnd.Value + Group by gt.GoodsTypeNo) t,GoodType gt,Goods g where gt.GoodsTypeNo=t.GoodsTypeNo5.4销售员的个人销售情况实现代码:select s.*,g.GoodName,1 as Num from SellBill s,Goods g,GoodType gt where s.BSellBra
35、nch=g.GoodNo and g.GoodTypeNo=gt.GoodsTypeNo and gt.GoodsTypeNo= + cboCategory.SelectedValue.ToString() + and s.BSellDate between + dtgStart.Value + and + dtpEnd.Value + ;5.5商品信息管理实现代码:/修改按钮 private void button3_Click(object sender, EventArgs e) List lv = new List();int rows = listView1.SelectedItem
36、s.Count; if (rows != 1) MessageBox.Show(请选择一行!); return;int cols = listView1.Columns.Count; for (int a = 0; a 0) MessageBox.Show(删除成功!, 系统提示, MessageBoxButtons.OK, MessageBoxIcon.Information); this.renew(); dbh.getClose(); catch (ArgumentOutOfRangeException) MessageBox.Show(请选择用户, 系统提示!, MessageBoxB
37、uttons.OK, MessageBoxIcon.Information); 5.7供应商管理实现代码:实现查询select supplyname,sperson,sphone,sadress from supplyagent where supplyno=0 查询提示 MessageBox.Show(没有采购记录, 系统提示, MessageBoxButtons.OK, MessageBoxIcon.Information)5.8集团客户管理实现代码:update customer set customerName=0,clinkman=1,cphone=2,cAddress=3,crem
38、ark=4 where customerno=5,mc.CustomerName,mc.CLinkman,mc.CPhone,mc.CAddress,mc.CRemark,mc.CustomerNo);5.9会员管理实现代码:select u.userid,u.username,u.userpwd,ut.usertype from users as u inner join userType as ut on(u.usertype=ut.usertypeid)6系统运行与测试软件在运行过程中可能会产生各种各样的问题,也可能带来不同程序的严重后果。软件测试是保证软件质量的最重要的手段。软件测试的
39、概念IEEE定义为:使用人工或自动手段来运行或测定某个系统过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。典型的面向对象程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变。封装是对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是
40、面向以对程序的重要特点,继承使得代码的重用率提高,同时也使错误传播的概率提高。多态性使得面向对象程序对外呈现出强大的处理能力。但同时去使得程序内“同一”函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生 的行为。功能测试:测试是否满足开发要求,是否能够提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。强度测试及性能测试:测试系统的能力最高实际限度,即软件在一些超负荷的情况,功能实现情况,如要求软件某一行为的大量重复、输入大量的数据、对数据库大量复杂性的查询等。测试软件的运行性能。这种测试常常与强度测试结合进行
41、,需要事先对被测试软件提出性能指标,如传输连接的最长时限、传输的错误率、计算的精度 、记录的精度、响应的时限和恢复时限等。本系统在经过编译运行之后进行了以上测试,例如:我们为了测试系统的安全机制,而采采不同应用权限级别的用户进行登录,结果验证了系统的安全性;当我们以具有系统管理员身体的用户名称和密码登录系统时,则我们会享爱管理系统的一切权限,可以进行的有管理工作,包括添加新用户、修改用户密码、修改数据库数据等;当我们以进货员权限的用户名称和密码登录系统时,我们只能进行进货管理模块和库存管理模块的操作;当我们以销售员权限的用户名称和密码登录系统时,我们只能进行销售管理模块和库存管理模块的操作;这样我们的系统具有了一定的安全性。7. 结论经过三个多月的开发和设计,进销售管理系统基本开发完成,能够完成进货管理、销售管理及销售统计等功能,以及按不同方式实现检索,并提供部分系统维护功能,使用户方便进行资料修改、更新、删除、业绩统计等。但是由于本人水平所限,此系统只能初步运用Visual C#强大功能的一些基本控件,在创建这个系统时也遇到过一些困难,操作过程复杂,是几经调试才能正常运行的。因此在设计过程中可能有漏洞或不尽如人意的地方,这有待于以后进一步完善,请老师和同学们体谅并多提宝贵意见。通过本次毕业设计,我基本掌握了V
限制150内