C#程序设计论文.docx
《C#程序设计论文.docx》由会员分享,可在线阅读,更多相关《C#程序设计论文.docx(8页珍藏版)》请在冰豆网上搜索。
C#程序设计论文
河南机电高等专科学校
题目:
超市管理系统的设计与实现
系别:
计算机科学与技术系
专业:
网络技术
学生姓名:
王根
学号:
091014106
年月
1系统需求分析
1.1系统功能概述
本系统主要完成超市管理(商品信息管理、供货商管理、进货管理、退换货管理、商品销售管理、客户管理、客户退货管理、仓库设置、库存管理)等功能。
通过以上功能实现简单、便捷的超市管理系统。
1.1.1系统功能需求
1、商品信息管理:
管理员可以对商品进行添加、修改和查询操作。
添加库存商品时候要填入:
商品名称、入库价格(即进货价格,进货价格的查询只能是以管理员身份登录才能查看)、商品卖价(同入库价格一样)、单位、预警量(及库存下限)。
最主要的是对商品信息进行查询:
商品信息查询可以根据商品类型查询(类型一般分为:
日用品、食品、药品、电器、衣物、床上用品),还可以精确查找(需要输入商品编号、商品类型),还可以模糊查询(需要输入商品名称、商品价格)查询结果包括:
商品编号、商品名称、商品类型、商品售价、商品数量。
2、供货商管理:
供货商管理可以对厂商信息进行查询。
供货商信息查询可以根据厂商名称查询、负责人查询和最近联系厂商查询。
查询结果包括:
供货商。
3、进货管理:
进货管理需要对每次的进货进行登记,登记需要填写:
(订单信息):
单号(随机产生流水号)、收货仓库、进货时间、供货商名称、经办人(所有的经办人都是登录的用户)、总金额、应付金额、实付金额、备注(订单信息):
商品编号、商品名称、单位、规格型号、颜色、单价、数量。
进货查询可以根据进货时间、供货商、商品类型、负责人查询。
进货的同时需要进行入库登记:
商品名称、进货价格、出售价格、商品数量、商品类型、供货商、经办人、商品总价。
4、退换货管理:
退换货管理是但进货产品出现质量问题、货物迟到等原因超市和供货厂商协商要求退货或换货进行详细登记。
退货方式有两中:
一种是整单退货,一种是部分退货。
登记内容包括:
(订单信息):
单号(随机产生流水号,是唯一的)、出货仓库、退货时间、供货商名称、总金额、应退金额、实退金额、经办人、备注(订单信息):
商品编号、商品名称、单位、规格型号、颜色、单价、数量。
退货查询可以根据单据号、供货商和开单时间查询。
查询结果包括:
单号、开单时间、供货商名称、仓库名称、经办人、总金额(单据详细信息):
商品编号、商品名称、单位、规格型号、颜色、单价、数量。
5、商品销售管理:
销售登记需要登记:
(单据信息):
单号、客户名称、出货仓库、销售日期、总金额、应收金额、实收金额、经办人、备注(订单信息):
商品编号、商品名称、单位、规格型号、颜色、单价、数量。
需要出库登记:
商品名称、出库数量、经办人、出库时间。
6、客户管理:
客户管理主要是对与本超市的有过交易记录的人群的信息进行登记和查询。
登记客户信息包括:
客户名称、负责人、联系地址、联系电话。
查询可以通过时间来查询(查询最近联系的客户)、客户名,查询最近联系的客户。
7、客户退货管理:
客户退货管理是在本超市购买商品之后,但产品出现质量问题、货物迟到等原因超市和客户协商要求退货或换货的制度。
客户退货需要登记:
单号、(订单信息)客户名称、收货仓库、收货日期、总金额、应退金额、实退金额、经办人、备注(订单信息):
商品编号、商品名称、单位、规格型号、颜色、单价、数量。
销售退货查询可以根据:
客户名称、单据号、开单日期查询。
需要注意的是:
客户退货之后是退回到仓库,所以要进行入库登记。
8、仓库设置:
仓库设置也包括添删改的操作:
仓库名称、负责人、联系电话、仓库地址、仓库信息备注。
9、库存管理:
库存出入登记及商品在进出仓库的时候都需要登记。
入库的情况包括:
商品的采购、客户退货。
出库的情况包括:
商品销售、采购退货。
库存的出入查询可以根据:
单据号、时间来查询。
查询结果包括:
(单据信息)单号、出入的仓库、出入仓库的日期、经办人。
添加库存商品及添加商品种类,添加是需要登记:
商品名称、入库价格、商品卖价、单位、及库存下限。
同时还具有库存商品预警查询功能。
1.2系统性能要求
对系统性能的要求包括对系统时间要求,灵活性,数据管理能力等的要求。
12.1系统时间特性要求
系统的速度要在用户可接受的范围内,但考虑到需要实时检测商品的数量和库存情况,对资源实时搜索的速度可以有较低的要求。
1.2.2系统灵活性
系统要有良好的接口,以适应增加商品信息,增加商品类型,增加相关的商品录入功能的需求;增加商品信息的更改和更新功能。
1.2.3数据管理能力要求
系统要有较高的管理能力,本系统采用的是SQLServer2005数据库。
具有较强的数据处理能力,数据库引擎增强、分析服务增强等。
记录的个数随用户多少不定,数据及其分量的存储量为10G,但能保证注册的用户都能登录进来,没有延时。
1.3可行性分析
可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。
任何一个工程的立项都需要进行项目的可行性分析。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。
根据调查分析,系统设计方案有以下三个可行性。
1.3.1技术可行性
根据前期的市场调查与对下列系统功能、性能及实现系统的各项所需技术的约束条件的分析来看,本系统程序开发应是一个集数据库管理和查询为一身的系统,依据现有的开发技术,开发硬件、开发软件的性能要求及环境条件等来看,各项条件良好,同时,考虑给予的开发期限较为充裕,预计可以在规定期限内完成预定功能地开发与实现。
1.3.2经济可行性
本超市管理系统,其前期的投入比较小,主要是系统的设计费用:
其中包括软件开发费用、管理和维护费等。
而后续的投入相对较小,很长时间内都不会需要进一步投资,管理和维护费用也很少,而系统实际能够起到的作用会远远大于投入的开发费用,相信会有十分可观的前景。
因此这个系统很有开发价值。
1.3.3操作可行性
本系统界面清晰直观、易于操作。
由于它能够准确记录、检索和管理有关超市各类商品信息和用户信息,帮助超市经营者掌握和分析营销情况,及时做出正确决策,并且便于超市相关内部人员对商品的管理,因而大大提高了超市的管理水平与效率。
综上所述,从经济可行性、技术可行性和操作可行性来说,系统开发是完全可行的。
2系统概要设计
本阶段完成系统的大致设计并明确系统的数据结构与软件结构。
在软件设计阶段主要是把一个软件需求转化为软件表示的过程。
在概要设计阶段的指导思想是结构化指导思想,是指用一组标准的规则和图表工具确定系统有哪些模块,怎么连接,从而形成新系统的结构,然后再进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。
2.1系统总体设计方案
本系统采用了C/S模型。
系统前台采用C#语言来设计,访问数据库服务器;后台采用Microsoft公司的SQLServer2005。
SQLServer2005开发后台数据库,用于提供数据服务。
SQLServer2005是一种典型关系型数据库管理系统,该系统具有数据一致性好,完整性强,安全性高的优点,系统采用结构化设计方法,按超市实际工作内容来确定所需,将整个系统作为一个大模块自顶向下,以模块化结构设计技术进行模块分解,然后再自底向上,按照系统的结构将整个模块进行组合,最终完成本超市管理系统的开发。
本系统有四个整体模块,其包含着以下子模块。
具体的模块功能划分如下:
用户登录模块:
商品信息管理模块:
厂商管理模块:
进货管理模块:
进货退换管理模块:
商品销售管理模块:
客户退货管理模块:
客户管理模块:
库存管理模块:
本系统详细功能模块图如图3.1所示。
图3.1系统功能模块图
2.2系统数据流图
本系统操作流程,操作员根据不同的身份账号进入登录模块,在登录栏处输入用户名和密码,系统进行验证操作员身份,若系统没有检索到用户名,则不允许进入,进去后根据所拥有的权限进行操作。
超级管理员拥有所有权限可选择某种商品种类,点击进入商品信息管理模块,查看商品细售价等信息,销售模块和进货模块可以修改进货和销售清单。
3系统的详细设计
详细设计的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该的出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某个设计的语言书写的程序。
本系统所包括的几大模块如下:
登录模块、进货模块、库存管理模块、销售管理等多个模块。
3.1系统主要功能模块设计
3.1.1登录模块流程
本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统。
在进行系统登录过程中,登录模块将调用数据库里的用户清单,并对账号和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。
并在输入了错误的或者是不存在的账户和密码时,系统会提示出错信息,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。
系统登录模块流程如图4.1所示。
3.1.2进货管理流程
功能:
该模块主要是实现进行进货信息查询功能。
进货信息查询:
该模块为超市提供整个超市的进货情况查询,也可以进行进货信息的明细查询。
输入项、输出项:
该模块的输入项为超市的进货单,其中包括进货单的编号、商品的编号、供货商号、进货价、数量、金额进货日期和备注。
进货管理流程如图4.2示:
3.1.3销售管理流程
功能:
本模块的主要功能是把销售信息写入销售清单,同时对库存清单进行更新,以备用户将来对库存信息进行查询和打印,此外还可以对销售信息进行查询和盘点功能。
销售信息查询:
根据商品销售情况,按需要对销售情况进行查询。
在该查询模块中,可以按照商品的编号、销售日期等多种方式进行商品销售信息查询。
销售信息盘点:
可以按照需要对在一定时期内的销售情况进行盘点。
输入项、输出项:
本模块的数据输入项主要是商品的销售单号和商品编号。
其中还包括销售数量和销售日期。
销售管理流程如图4.3所示。
3.1.4库存管理流程
功能:
本模块的主要功能是商品信息的查询和更新,库存信息的查询和更新。
查询商品信息:
主要功能查询商品的明细信息,和它的库存信息。
添加商品信息:
主要功能添加新进的商品。
修改商品信息:
主要功能是修改商品的信息,包括他的库存数量。
删除商品信息:
主要功能是删除不再销售的商品信息。
输入项、输出项:
本模块的数据输入项主要是商品编号。
3.2系统主要功能模块实现
3.2.1登录模块实现
在登录界面中实现中通过BindAllUsers()来绑定用户类型,MemorizePwd()来记住密码。
当登录窗体加载的时候就进行查询,如果LoginJilu表中最大ID的state=0的时候就表示上次登录的用户选中了,否则没有选中,如果选中了就根据用户ID到users表中把用户姓名和密码查找出来。
如果用户名或密码不正确,则记载输入错误密码的次数,如果密码错误次数多余系统设置的数据,则会自动退出系统。
DataTablecishu=um.GetTime();为了便于鼠标点击输入。
调用电脑的虚拟键盘代码如下:
System.Diagnostics.Process.Start("osk.exe")。
3.2.2进货管理模块实现
建立采购购物车,然后给购物车绑定数据,并调用购物车的数据。
将购物车的商品显示到采购窗体上面,并将商品类型绑定到树形控件上,实例化树节点,保存商品的编号,用递归调用方法添加子节点,并展开所有节点。
详细流程如下:
如果已经采购了商品,添加采购订单详表的数据,for(inti=0;i并对输入的数