C#超市进销存销管理系统论文.doc

上传人:土8路 文档编号:11064114 上传时间:2021-06-24 格式:DOC 页数:34 大小:522.50KB
返回 下载 相关 举报
C#超市进销存销管理系统论文.doc_第1页
第1页 / 共34页
C#超市进销存销管理系统论文.doc_第2页
第2页 / 共34页
C#超市进销存销管理系统论文.doc_第3页
第3页 / 共34页
C#超市进销存销管理系统论文.doc_第4页
第4页 / 共34页
C#超市进销存销管理系统论文.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《C#超市进销存销管理系统论文.doc》由会员分享,可在线阅读,更多相关《C#超市进销存销管理系统论文.doc(34页珍藏版)》请在三一文库上搜索。

1、郑郑 州州 科科 技技 学学 院院 C#课 程 设 计 课程设计名称:课程设计名称:超市进销存销售管理系统 专专 业业 班班 级级 : 10 级计科 2 班 学学 生生 姓姓 名名 : 汪明鑫 学学 号号 : 201015063 指指 导导 教教 师师 : 王玉萍 摘 要 超市进销存管理系统是目前应用于公司或是企业进销存管理系统中的 典型代表,涉及到了商品或货物管理中主要的 6 个方面,即进货、销售、 钱流、库存、统计及查账。通过一个典型超市进销存管理系统的例子,介 绍了现代企业进销存管理信息化的一般解决方案,其重要性不言而喻。但 是,目前超市在具体的业务流程处理过程中仍然使用手工操作的方式来

2、实 施,不仅费时、费力、效率低下,而且无法达到理想的效果。 本系统是根据企业的特点,集进、销、存于一体,为企业量身定做 的进销存管理软件。在设计过程中最大限度满足用户的要求,因此,该系 统具有较强的实用性和针对性。本系统界面友好,操作简单,可维护性强, 功能完备。本论文介绍了进销存管理信息系统开发的全过程,详细介绍了 系统的分析、系统的开发与设计说明等内容,最后给出了系统的使用说明 和系统设计的心得体会。 目目 录录 1.引言引言.1 1.1 问题的提出.1 1.2 课题的研究目的.2 1.3 课题的研究意义.2 2.概要设计概要设计.3 2.1 设计目的.3 2.2 设计内容.3 3.系统分

3、析系统分析.3 3.1 需求分析.3 3.2 可行性分析 .4 4.系统设计系统设计.4 4.1 系统运行环境.4 4.2 系统设计.4 4.3 概念结构设计.6 4.4 逻辑结构设计.8 4.5 窗体设计.9 5.主要功能模块设计主要功能模块设计.12 5.1 员工基本信息窗体.12 5.2 供应商信息窗体.16 5.3 商品进货窗体.20 5.4 商品查询窗体.27 总总 结结.28 参考文献参考文献.30 1.引言引言 超市进销存管理系统是超市商品销售及货物管理的主要控制部分,直 接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要 求日益提高,企业经营涉及进、销、存多个环节

4、,涉及商品种类繁多,业务 量大,库存管理复杂,使用手工管理已无法胜任,因而软件控制销售和管理 已经取代了传统全手工方式。如何采用先进的计算机系统管理进货、库存、 销售等诸多环节也已成为趋势及必然。超市具有自身的特点:商品要求一 般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据 较少,对存储和速度要求不高。但正由于员工较少,使用软件控制成为必 须。 1.1问题的提出问题的提出 目前,大量的中小超市企业中,存在这样的现象:分散的、不连贯 的进销存信息使超市管理者或相关管理人员无法看到进销存的全部资料及 相关报表,信息的分散使得产生的结果也无法保持一致和完整性,造成中 小超市在进销存

5、管理上存在如下问题: 1) 无法统计销售信息? 2) 无法准确全面掌握各业务进展状态? 3) 对销售人员工作过程掌握不够? 4) 业务人员对产品没有一定认识? 5) 销售及市场流程不清晰,流程变动较大? 6) 对市场信息、竞争的资讯掌握程度较不完善? 7) 无结构统一销售及市场情况报表?基本销售及市场费用统计较不 完备? 8) 销售人员辞职时失单现象严重?等等。 加之,现在顾客的期望值越来越高,顾客需要更好的服务(产品及个 性化服务)。企业的竞争已逐渐从产品的竞争转变为服务的竞争,因此中 小企业要发展就必须需要进一步优化业务流程以提高企业竞争能力。因此, 加强超市进销存管理是企业发展的必然,通

6、过计算机来大量完成本来由工 作人员手工完成的工作,真正达到合理和充分利用现有资源,减轻工作压 力。 1.2课题的研究目的课题的研究目的 研究该课题是为了通过对“超市进销存管理系统”的设计与实现,熟 悉这类的信息管理系统的开发原理及流程。在设计过程,能够深入地理解 面向对象设计方法的优越性,获得这些方面的相关经验。对一个即将毕业 的计算机专业本科生来说,又想在软件行业领域里有所发展,研究并应用面 向对象设计方法是百益无一害的,可以使其走向社会后能够快速地适应行 业需求。这正是本次设计的根本目的所在。 1.3课题的研究意义课题的研究意义 首先,该课题属于管理信息系统范畴。而管理信息系统 (Mana

7、gement Information System,简称 MIS)在现代社会已深入到各行各 业,是一个不断发展的新学科,是由人和计算机设备或其他信息处理手段 组成并用于管理信息的系统。再加上行业信息化的热潮才刚刚开始,特别 是中小型企业的信息化建设步伐刚刚迈出第一步。管理信息系统的开发的 市场将是非常庞大的。这种需求对开发人员在数量上和素质上的要求也是 非常迫切的。为了满足市场的需求以及能在竞争中取胜,系统设计人员就 不仅仅是单纯地满足用户对功能的要求,还要从设计方法上来加以改进。 其次,面向对象方法是一种非常实用的软件开发方法,它一出现就受 到软件技术人员的青睐,现在已经成为计算机科学研究的

8、一个重要领域, 并逐渐成为软件开发的一种主要方法。面向对象的程序设计将数据及对数 据的操作方法封装在一起,作为一个互相依存、不可分离的整体。采用这 种方法来设计系统,可以增加系统的安全性。同时通过继承与多态性,使程 序具有很高的可重用性,使软件的开发和维护带来了方便。由于面向对象 方法的突出优点,它才被广大用户所爱好。 2.概要设计概要设计 2.1 设计目的设计目的 根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据 库管理信息系统,进行系统的需求分析,系统设计,数据库设计,编码, 测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库管理信 息系统的目的。 2.2 设计内容设计

9、内容 题目可根据自己熟悉的物品填充,例如图书进销存系统、电脑设备进 销存系统、药品进销存系统等等,下面以超市进销存系统为例完成功能: 1)商品信息、供应商信息 2)商品进货、商品查询 以上功能可根据自己对不同物品主要的管理需求进行调整,可以增加或减 少相应功能。 3.系统分析系统分析 3.1 需求分析需求分析 对普通超市来讲,涉及原材料的进货渠道、销售情况及库存等方面的 管理,管理的好与坏对超市的持久性至关重要。概括地说,用户对进销存 系统的需求具有普遍性。超市进销存销售管理系统适用于超市采购、销售 和仓库部门,对超市采购、销售及仓库的业务全过程进行有效控制和跟踪。 使用超市进销存销售管理系统

10、可有效减少盲目采购、降低采购成本、合理 控制库存、减少资金占用并提高市场灵敏度,提升超市的市场竞争力。 3.2 可行性分析可行性分析 开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因 此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和 资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力 的浪费。 本系统数据库采用目前比较流行的 Microsoft SQL Server,该数据库 系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量 大,效率高;开发工具采用 Delphi7,Delphi7 是目前应用最广泛的数据库 系统开发工具,可以快速开发

11、Windows 应用程序。 4.系统设计系统设计 4.1 系统运行环境系统运行环境 系统开发平台:Microsoft Visual Studio 2008 系统开发语言:C# 数据库管理软件:SQL Server 2005 运行平台:Win7 运行环境:Microsoft.NET Framework SDK v2.0 4.2 系统设计系统设计 超市进销存管理系统 销售管理进货管理库存管理系统维护基本档案 员 工 信 息 供 应 商 信 息 商 品 进 货 商 品 查 询 商 品 销 售 商 品 退 货 库 存 警 报 库 存 查 询 数 据 备 份 数 据 还 原 图表 1 超市进销存销售管理

12、系统功能结构图 否 是 系统 登 录 是否登录 系统主窗体 销售管理进货管理库存管理系统维护基本档案 4.3 概念结构设计概念结构设计 图表 3 供应商信息表 图表 2 系统业务流程图 供应商信息表 备注 地址加入时间 传真是否发布 供应商编号 供应商姓名联系人姓名 联系电话 图表 4 进货信息表 员工信息表 家庭电话 员工职位手机号码 员工生日是否发布 员工编号 员工姓名登录密码 员工性别 所属部门家庭住址 登录 ID 进货信息表 应付金额 销售单价 实付金额 商品数量 删除标记 操作员编号 员工姓名库存名称 货物名称 进货单价 备注 进货公司名称 商品计量单位进货时间 4.4 逻辑结构设计

13、逻辑结构设计 根据设计好的 E-R 图在数据库中建立各表,系统数据库中各表的逻 辑结构如下: 供应商信息表: 字段名字段名数据类型数据类型长度长度主键主键描述描述 CompanyIDvarchar50 否供应商编号 CompanyNamenvarchar100 否供应商姓名 CompanyDirectornvarchar50 否联系人姓名 CompanyPhonenvarchar20 否联系电话 CompanyFaxnvarchar20 否传真 CompanyAddressnvarchar200 否地址 CompanyRemarknvarchar400 否备注 ReDateTimedateti

14、me8 否加入日期 Falgint4 否是否发布 员工信息表: 字段名字段名数据类型数据类型长度长度主键主键描述描述 EmpIDnvarchar20 是员工编号 EmpNamenvarchar20 否员工姓名 EmpLoginNamenvarchar20 否登录 ID EmpLoginPwdnvarchar20 否登录密码 EmpSexnvarchar4 否员工性别 EmpBirthdaydatetime8 否员工生日 EmpDeptnvarchar20 否所属部门 EmpPostnvarchar20 否员工职位 EmpPhonenvarchar20 否家庭电话 EmpPhoneMnvarch

15、ar20 否手机号码 EmpAddressnvarchar200 否家庭住址 EmpFalgint1 否是否发布 商品信息表: 字段名字段名数据类型数据类型长度长度主键主键描述描述 GoodsIDnvarchar20 是商品编号 EmpIdnvarchar20 否操作员编号 JhCompNamenvarchar100 否进货公司名称 DepotNamenvarchar20 否仓库名称 GoodsNamenvarchar50 否货物名称 GoodsNumint4 否商品数量 GoodsUnitnvarchar20 否商品计量单位 GoodsJhPricenvarchar8 否进货单价 Goods

16、SellPricenvarchar8 否销售单价 GoodsNeedPricenvarchar8 否应付金额 GoodsNoPricenvarchar8 否实付金额 GoodsRemarknvarchar200 否备注 GoodTimedatetime8 否进货时间 Falgint4 否删除标记 4.5 窗体设计窗体设计 图表 3 登录窗口 图表 4 主窗口 图表 5 员工基本信息窗体 图表 6 进货信息表 图表 7 商品进货信息 5.主要功能模块设计主要功能模块设计 5.1 员工基本信息窗体员工基本信息窗体 1.通过对员工信息的录入,修改,删除,保存进行操作,在对员工的 信息录入时候,员工姓

17、名,登录名称和登录密码的相关操作是必须的 , 因为涉及到了下次登录时候身份的鉴定,相关代码如下: public int getPan() int intFalg1 = 0; if (intFalg != 3) if (txtEmpName.Text = ) MessageBox.Show(员工姓名不能为空!, 提示); txtEmpName.Focus(); return intFalg1; if (txtEmpLoginName.Text = ) MessageBox.Show(登录名称不能为空!, 提示); return intFalg1; if (intFalg != 2) if (tx

18、tEmpLoginPwd.Text = ) MessageBox.Show(登录密码不能为空!, 提示); return intFalg1; 2.通过对员工的查询,可以知道员工的信息,查询可根据很多方面 的信息而查到所向知道的员工的信息,所一就需要输入查询条件,根据查 询条件而知道所向知道的信息,比如员工姓名,性别,所属部门,员工职 位,姓名查询是最准确并且速度的方法,性别,所属部门,职位这些查询 条件是比较含糊的查询,客户通过自己想要的方式查到员工的信息,相关 的代码如下: private void txtOK_Click(object sender, EventArgs e) string

19、 P_Str_selectcondition = this.cbxCondition.Text; /Itemsthis.cbxCondition.SelectedIndex.ToString(); if (P_Str_selectcondition = null) MessageBox.Show(请选择查询条件!); return; if (this.txtKeyWord.Text = ) MessageBox.Show(输入查询条件!); return; switch (P_Str_selectcondition) case 员工姓名: tbMenthod.tb_EmpInfoFind(tx

20、tKeyWord.Text,1,dataGridView1); break; case 员工性别: tbMenthod.tb_EmpInfoFind(txtKeyWord.Text, 2, dataGridView1); break; case 所属部门: tbMenthod.tb_EmpInfoFind(txtKeyWord.Text, 3, dataGridView1); break; case 员工职位: tbMenthod.tb_EmpInfoFind(txtKeyWord.Text, 4, dataGridView1); break; default: break; 如果客户 查询到

21、员工的信息之后,想做一些的修改 删除,添加之 类的修改,如果添加员工信息的话,则要录入新员工的详细信息,如修改 的员工信息的话可根据某方面的信息进行相关的修该,如删除员工信息的 话,则要对员工的信息进行全部的删除,并相应的保存到数据库里面,方 便下次客户对员工的信息进行相关的操作,具体修改 ,删除,添加的操 作代码如下: private void toolSave_Click(object sender, EventArgs e) if (getPan() = 1) if (intFalg = 1) if (tbMenthod.tb_EmpInfoFind(txtEmpLoginName.Te

22、xt,1) = 1) MessageBox.Show(登录名称已被占用!!); txtEmpLoginName.Text = ; txtEmpLoginName.Focus(); return; if (tbMenthod.tb_EmpInfoAdd(EmpClass) = 1) MessageBox.Show(添加成功); intFalg = 0; tbMenthod.tb_EmpInfoFind(, 5, dataGridView1); ClearControls(); ControlStatus(); else MessageBox.Show(添加成失败); intFalg = 0; /

23、tbMenthod.tb_EmpInfoFind(2,dataGridView1); ClearControls(); ControlStatus(); if (intFalg = 2) if (tbMenthod.tb_EmpInfoUpdate(EmpClass)=1) MessageBox.Show(修改成功); intFalg = 0; tbMenthod.tb_EmpInfoFind(, 5, dataGridView1); ClearControls(); ControlStatus(); else MessageBox.Show(修改成失败); intFalg = 0; /tbM

24、enthod.tb_EmpInfoFind(2,dataGridView1); ClearControls(); ControlStatus(); if (intFalg = 3) if (tbMenthod.tb_EmpInfoDelete(EmpClass) = 1) MessageBox.Show(删除成功); intFalg = 0; tbMenthod.tb_EmpInfoFind(, 5, dataGridView1); ClearControls(); ControlStatus(); else MessageBox.Show(删除失败); intFalg = 0; ClearC

25、ontrols(); ControlStatus(); 5.2 供应商信息窗体供应商信息窗体 2. 对控件的清零状态,方便进行相关的操作,即信息初始化,代码 如下: private void ClearControls() txtCompanyDirector.Text = ; txtCompanyAddress.Text = ; txtCompanyFax.Text = ; txtCompanyName.Text = ; txtCompanyPhone.Text = ; txtCompanyRemark.Text = ; 2.1 通过对供应商的信息录入,并保存到数据库里面,此外应注意的是 供

26、应商的名称,联系电话,地址是必须的填写的,否则不不可以录入并进 行相关操作的,如少填写一项,会弹出相应的对话框,代码如下: public int GetCount() int intReslult = 0; if (intFalg = 1 | intFalg = 2) if (txtCompanyName.Text = ) MessageBox.Show(供应商名称不能为空!, 提示); return intReslult; if (txtCompanyPhone.Text = ) MessageBox.Show(联系电话不能为空!, 提示); return intReslult; if (t

27、xtCompanyDirector.Text = ) MessageBox.Show(地址不能为空!, 提示); return intReslult; 2.2客户对相关的信息进行操作之后,需要保存到数据库,但是应注意的 是相关的信息必须是准确的,避免下次信息调出的时候出现差错,因为数 据库是共同享有的,所以必须保证供应商资料的准确性,通过保存之前的 添加,修改,删除操作并保存到数据库的代码如下: private void toolSave_Click(object sender, EventArgs e) if (GetCount() = 1) if (intFalg = 1) if (Com

28、panyMenthod.tb_CompanyMenthodAdd(Company) = 1) if (intReturn = 1) frmGonYingShang frmCop= (frmGonYingShang)this.Owner; jhgood.filltProd(frmCop.treeView1,frmCop.imageList1); ClearControls(); ControlStatus(); intFalg = 0; this.Close(); MessageBox.Show(添加成功); intFalg = 0; CompanyMenthod.tb_CompanyFind(

29、, 3, dataGridView1); ClearControls(); ControlStatus(); else MessageBox.Show(添加失败); intFalg = 0; CompanyMenthod.tb_CompanyFind(, 3, dataGridView1); ClearControls(); ControlStatus(); if (intFalg = 2) if (CompanyMenthod.tb_CompanyMenthodUpDate(Company) = 1) MessageBox.Show(修改成功); intFalg = 0; CompanyMe

30、nthod.tb_CompanyFind(, 3, dataGridView1); ClearControls(); ControlStatus(); else MessageBox.Show(修改失败); intFalg = 0; CompanyMenthod.tb_CompanyFind(, 3, dataGridView1); ClearControls(); ControlStatus(); if (intFalg =3) if (CompanyMenthod.tb_CompanyMenthodDelete(Company) = 1) MessageBox.Show(删除成功); in

31、tFalg = 0; CompanyMenthod.tb_CompanyFind(, 3, dataGridView1); ClearControls(); ControlStatus(); else MessageBox.Show(删除失败); intFalg = 0; CompanyMenthod.tb_CompanyFind(, 3, dataGridView1); ClearControls(); ControlStatus(); 2.3客户对供应商的信息做好相关的操作之后,则方便其他客户对供应商 的资料查询,可根据的供应商的名称,负责人姓名而知道所想知道的相关 信息,相关的代码如下:

32、 private void txtOK_Click(object sender, EventArgs e) string P_Str_cmdtxt = String.Empty; string P_Str_selectcondition = this.cbxCondition.Text; if (P_Str_selectcondition = null) MessageBox.Show(请选择查询条件!); return; if (this.txtKeyWord.Text = ) MessageBox.Show(输入查询条件!); return; switch (P_Str_selectcon

33、dition) case 供应商名称: CompanyMenthod.tb_CompanyFind(txtKeyWord.Text,1,dataGridView1); break; case 负责人姓名: CompanyMenthod.tb_CompanyFind(txtKeyWord.Text, 2, dataGridView1); break; default: break; 5.3 商品进货窗体商品进货窗体 3.定义方法 getIntCount() ,用于获取表单的信息,在具体的实现上,将 通过 if 语句验证各字段的输入的数据不为空,对应放入实现代码如下: public int get

34、IntCount() int intReslut = 0; if (intFalg = 1) if (txtGoodsID.Text = ) MessageBox.Show(商品编号不能为空!); return intReslut; if (txtGoodsName.Text = ) MessageBox.Show(商品名称不能为空!); return intReslut; if (txtJhCompName.Text = ) MessageBox.Show(供应商名称不能为空!); return intReslut; if (txtEmpId.Text = ) MessageBox.Show(进货人姓名不能为空!); return intReslut; if (txtGoodsNum.Text = ) MessageBox.Show(数量不能为空!); return intReslut; if (txtGoodsName.Text = ) MessageBox.Show(进货单价不能为空!); return intReslut; if (intFalg = 2)

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1