《超市收银管理系统....软件工程课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《超市收银管理系统....软件工程课程设计实验报告.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录1问题定义12可行性研究22.1 项目概述22.2 可行性分析的前提22.2.1 项目的目标22.2.2 项目的环境22.3 可选的方案22.3.1 方案一22.3.2 方案二32.4 所建议的系统32.4.1 系统说明32.4.2 高层数据流图32.5 经济可行性42.6 技术可行性52.7 操作可行性53需求分析63.1 需求概述63.2 需求模型63.2.1 数据模型632.2功月匕模型73.2.3 行为模型83.2.4 数据字典84总体设计114.1 系统体系结构114.2 模块详细说明124.3 数据库设计124.3.1 数据库选择方案论证134.3.2 数据库表设计135详细设
2、计145.1 人机界面设计145.2 过程设计146时 i/176.1 白盒测试176.2 黑盒测试177M.一198参考文献20本系统的数据字典包括以下容。1数据元素(1)数据元素名称:eno别 名:货物号简 述:货物的编号数据类型:字符串型长 度:10取值围:“000000001”- “999999999”(2)数据名称:用户名别名:用户名简 述:某用户的名称数据类型:文本型长 度:50取值围:000.001 - 999.999 ”2数据流(1)数据流名称:货物号简述:货物的编号(2)数据流名称:销售日期简述:货物卖出的日期(3)数据流名称:数量简述:货物卖出的数量(4)数据流名称:进货信
3、息简述:货物信息、库存数量信息、进货时间信息数据流组成:进货信息=货物信息+库存数量信息+进货时间信息(5)数据流名称:出货信息简述:货物信息、卖出数量信息、卖出时间信息数据流组成:货物信息+卖出数量信息+卖出时间信息3处理逻辑条目(1)处理逻辑名称:登陆简述:根据用户名称、密码和权限登陆到系统主菜单输入的数据流:用户名、密码处理:根据用户权限来实现对货物管理输出的数据流:货物信息(2)处理逻辑名称:进货管理简述:入库货物的货物号来实现入库管理输入的数据流:货物号处理:根据所入库货物的货物号,增加此商品的库存输出的数据流:库存信息(3)处理逻辑名称:出货管理简述:出库货物的货物号来实现出库管理
4、输入的数据流:货物号处理:根据所出库货物的货物号,减少此商品的库存输出的数据流:更新完的库存信息4数据存储数据存储名称:商品信息表简述:记录商品的信息数据存储结构:货物号,货物名称,库存数量,进出货时间, 关键字:库存数量4总体设计4.1系统体系结构系统整体功能层次图,如图 4.1超市收费系统3后台管理图4.1整体功能层次图前台功能层次图,如图4.2梢 密 收 费合 员 苦 理 七图4.2前台功能层次图后台功能层次图,如图4.3值班信息苴询.图4.3后台功能层次图4.2模块详细说明IPO表系统:作者:林超市收银管理系统日期:3月6号模块:商品销售模块编号:2被调用:调用:数据库输入:商品条形码
5、输出:商品信息处理:注释: 商品条形码 商品名称 售价 操作员计算商品总额局部数据元素:GNumGNameSellPriceUserAccount4.3数据库设计商品信息表记载的是商品的详细信息,含商品编号、名称、售价、库存量。具体的 各字段属性说明和类型如下表2o表4.1商品信息表(Goods)序号属性名字段名类型长度NULL1商品编号GoodsIDI nt4X2商品名称GNamevarchar50X3商品条形码GNumvarchar30X4进价BuyPricemoneyX5售价SellPricemoneyX6库存量StockNumint4X7厂家Producernvarchar100V订单
6、细节表记载的是商品的销售信息,含订单号、流水线编号、商品条形码、商品 销售数量。具体的各字段属性说明和类型如下表4.2表4.2订单细节表(Sale Detail)序号属性名字段名类型长度NULL1订单编号Didint4X2流水线编号SaleAccountvarchar20X3商品条形码JoinTimevarchar30X4商品销售数量SaleNumInt4X4.3.1 数据库选择方案论证建立一个数据库我们有多种选择,现在市场上有各种各样的数据库,而且每一种数据 库都有其自身的特点,不能说哪一种更好,只是在其中寻找一种能更好地适应系统需求、 更好地满足用户的要求以及适应开发人员的习惯。在本系统中
7、,作为小型超市的收费系统 是一个比较小的应用系统,它所产生和处理的数据量也比较小。因此,没有必要使用像SQL Server和Oracle这样的大型数据库。首先考虑的数据库是开源的Mysql数据 库,因为它在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以, 在本系统中我选择了 Mysql数据库。Mysql作为一个数据库管理系统,采取关系型数据库模式。与其他的数据库系统相 比,Mysql简单易学,并且功能强大,利用它可以方便地实现对信息保存、维护、查询、 统计、交流、发布,这些功能对一个一般用户而言已经足够了。4.3.2 数据库表设计用户的需求具体体现在对商品信息,销售信息,折
8、扣信息,客户信息的更新和查询, 以及由此涉及到的财务数据的更新、查询和保存。这就要求数据库结构充分满足各种信 息的输出和输入。搜集基本数据、数据结构和数据处理的流程,组成一个详尽的数据字 典,为后面的具体设计打下基础。通过上述系统功能分析,总结出如下的需求信息:1.用户分为管理员、和收银员。管理员具有管理和查询表项的功能,收银员结账 并维护vip客户表信息;2,涉及到的数据有商品信息表、供应商表、销售情况表、雇员表、值班表、vip客户 表,折扣表;3 .管理员和收银员具有不同的操作权限;4 .管理员具有新建用户和分配权限的权力。经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下面
9、所示的 数据项和数据结构。L商品看息表,是实体表,包括:商品编号、商品名、供应商编号、单价、数量。 商品编号是主键。2、供应商表,是实体表,包括:供应商编号、地址、联系。供应商编号是主键。3、销售情况表,是关系表,包括:商品编号、销售日期、销售数量。商品编号 是主键。4、雇员表,是实体表,包括:员工编号、密码、员工。员工编号是主键。5、值班表,是关系表,包括:员工编号、值班日期。这两个一起作为主键。6、vip客户表,是实体表,包括:会员编号、积分、联系。会员编号是主键。7、折扣表,是关系表,包括:商品编号、折扣、打折日期。商品编号是主键。5详细设计5.1 人机界面设计商品销售模块商品销售界面如
10、图5.1或收金额图5.1商品销售界面5.2 过程设计商品销售模块其中按商品条形码查询商品信息用数据库查询完成。代码如下 : private void AddGoods_Click( object sender, EventArgs e) (string goodsNum = this .txtGoodsNum.Text.Trim();GoodsBII goodsBII= new GoodsBII (); if (goodsNum =)(MessageBox.Show(请输入商品条形码!H); return ;)else int goodsCount=1;Goods goods = goodsB
11、II.GetGoodsByNum(goodsNum); if (goods != null)(if (IvGoods.Items.Count 0) ( bool exist = false ; foreach ( ListViewltem goodsltem in IvGoods.Items) (if (goodsltem.Subltems1.Text = goodsNum) ( exist =true ;goodsltem.SubltemsO.Text =(int .Parse(goodsltem.Subltems0.Text) + 1).ToString(); goodsltem.Subl
12、tems4.Text =string .Format( n0:F2 , ( int .Parse(goodsltem.Subltems0.Text) * goods.SalePrice);sumGoods += 1; ) ) if (exist)( ListViewltem Ivltem =IvGoods.Items.Add(goodsCount.ToStringO);Ivltem.SubItems.Add(goods.GNum);Ivltem.Subltems.Add(goods.GName);Ivltem.Subltems.Add(string .Format( H0:F2,goods.S
13、alePrice); Ivltem.Subltems.Add(string .Format( 0:F2,goods.SalePrice * goodsCount);Ivltem.SubItems.Add(CashierLogin .m_cashier.llserAccount);Ivltem.Subltems.Add(goods.lD.ToStringO);sumGoods += 1; ) else( ListViewltem Ivltem =IvGoods.Items.Add(goodsCount.ToStringO);Ivltem.Subltems.Add(goods.GNum);Ivlt
14、em.Subltems.Add(goods.GName);Ivltem.Subltems.Add(string .Format( 0:F2” ,goods.SalePrice);Ivltem.Subltems.Add(string .Format( H0:F2H ,goods.SalePrice * goodsCount);Ivltem.SubItems.Add( CashierLogin .m_cashier.UserAccount);Ivltem.Subltems.Add(goods.lD.ToStringO); sumGoods += 1;)this .txtGoodsNum.Text
15、=;)else(MessageBox.Show(n该商品不存在! ”); this .txtGoodsNum.Text =;return ;)this .IblSumMoney.Text = getSumMoney().ToString();this .IblSumCount.Text = sumGoods.ToString();this .txtSumMoney.Text = this .IblSumMoney.Text;)计算商品总金额。代码如下:private decimal getSumMoney() (decimal totalMoney = 0;foreach ( ListView
16、ltem Ivltem in this .IvGoods.Items) (totalMoney +=Decimal .Parse(lvltem.Subltems4.Text);)return totalMoney;)6测试6.1 白盒测试目的:是否能通过商品条形码正常查询展示商品信息 结果:查询正常。如图6.1 o图6.1商品销售测试图6.2 黑盒测试目的:商品销售模块是否正常查询商品并计算总额收银。结果:商品销售模块可以正常收银。如图 6.2 o沌成与门以稷系统图6.2商品收银测试图1问题定义21世纪是已经是一个信息化时代,超市经营管理机制正在发生着根本性的变化,商 场要想在激烈的市场竞争环
17、境下求得生存,就必须有效地利用人才、时间、信息结合的优 势,进行有效的超市部改革和加强收银管理。借助现代信息技术和管理理论,超市收 银管理信息系统已经普及到了大多数超市中。本系统针对商品销售管理的业务围及工作特点,设计了基于智能客户端架构的超市 收银系统,可以全面实现对商品销售、付款、收款和库存等业务的计算机管理,大大减轻 了超市收银工作人员的工作量,全面提高了超市收银管理的管理效率以及服务质量,使管 理水平和业务水平跃上了一个新的台阶。本文论述了基于智能客户端的超市收银系统的设 计和实现过程,并对其数据安全进行了深入研究。7结论由于时间仓促,加上个人能力、经验存在局限性,软件还存在些许的不足
18、需要改善。 如用户界面单一,控件的摆放不美观。还有有些业务逻辑存在着明显的不合理,如收银 员在输入商品条形码时,不能控制商品的数量,只能一个个输入,和麻烦费事。还有汇 总统计时只以表格的形式显示,查看商品销售状况时不直观。并且没有统计超市的营业 额。这样不合理。我觉得永远不会有完美的代码,在做项目过程中要尽可能贴近用户的 需求,用户感觉好,软件的质量才高。因此在做之前要做好需求分析。8参考文献1王立福,麻志毅。软件工程(第二版)。北京:北京大学,2001。2 Thomas M.Connolly,Carolyn E.Eegg 著.数据库设计教程(第 2版).北京:机械工业.2003.43怀勇。数
19、据结构与算法分析-C+描述(第3版).北京:人民邮电.2007.14海藩著.软件工程导论(第4版).北京:清华大学.2003.112可行性研究2.1 项目概述本系统针对商品销售管理的业务围及工作特点,设计了基于智能客户端架构的超市 收银系统,可以全面实现对商品销售、付款、收款和库存等业务的计算机管理,大大减轻 了超市收银工作人员的工作量,全面提高了超市收银管理的管理效率以及服务质量,使管 理水平和业务水平跃上了一个新的台阶。本文论述了基于智能客户端的超市收银系统的设 计和实现过程,并对其数据安全进行了深入研究。2.2 可行性分析的前提2.2.1 项目的目标综合运用以前所学的专业知识,设计开发一
20、个超市收费系统软件,本设计要求实现 超市收费的主要流程。具体包括以下容:1在设计与开发中,重点放在简单地进行货品销售和会员积分优惠上。2在设计与开发中,既要实现前台的收银员的销售,又要实现后台的管理员的功能, 如商品信息管理、职员(收银员)信息管理以及销售情况查询。2.2.2 项目的环境本系统是在下列环境下完成的:1硬件环境:(1)操作系统:Microsoft Windows 8(2)中央处理器(CPU): Inter(R) Pentium(R) 4 CPU2.40GHz Prescott Processor(3)主板:P4I65PE-M(4)显卡:NVIDIA GeForce FX 5200
21、 ( 显存 128M)(5)硬盘:SAMSUNG SP0812C 80G 7200 转/ 分(6)存:DDR 400(PC3200) 512MB2开发环境:(1)应用程序开发环境:Visual studio 2010, MyEclipse(2)后台数据库开发工具:Microsoft SQL Server 2000(3)文档开发环境:Microsoft Office Word 20102.3 可选的方案2.3.1 方案一本系统采取C/S模式,这是由于本系统用于一般的超市,而非用于网上购物,C/S模 式利于移植,避免了 B/S模式应用程序所要求的服务器相关软件环境配置的复杂性,而且无 需借助网络,
22、能够以更快的速度进行操作和响应,相对也显得安全一些。编程语言采用Java,图形界面用Java Swing ,尽管Java的程序效率不是最高的,而 且Swing的界面跟Windows风格不太符合,但Java有一点是不可比拟的,即用其开发的程 序具有跨平台性,由于是C/S模式的桌面应用程序,跨平台性就显得特别重要。数据库采用MySQL,其体积小、速度快、总体拥有成本低,而且开放源码,其可 靠性也丝毫不逊色。这种轻量而强大的数据库是开发这种中小型桌面软件系统的绝佳选 择。开发环境用的是MyEclipse ,它对Java Swing的支持尤其好,实现了所见即所得的 开发方式。2.3.2 方案二本课题采
23、用visual c的技术实现,VC是面向对象的语言,同时,微软在其中提供了 大量的可用控件,使得我们在搭建页面时能够方便使用,而省去了大量代码的使用。此编 程工具与数据库的连接也很完善。数据库采用MySQL,其体积小、速度快、总体拥有成本低,而且开放源码,其可 靠性也丝毫不逊色。这种轻量而强大的数据库是开发这种中小型桌面软件系统的绝佳选 择。开发环境用的是Visual studio 2010。2.4 所建议的系统2.4.1 系统说明采用与Microsoft SQL Server 2000的连接,经过对于超市收银管理系统的分析后,系统所涉及到的数据包括:货物名称、 货物货号、货物数量、供应商名称
24、、 入库单、 系统管理、销售业绩管理等。具体如下:1进货功能的数据需求主要包括:进货货号,进货名称,收货人,供货商,进货日期,进货单位,进货数 量等。2库存信息的数据需求主要包括:货物库存数量,货物名称,货物货号等。3出货功能的数据需求主要包括:销售日期,商品货号,商品名称,销售单价,销售数量,收银员编号等。4销售业绩的数据需求主要包括:销售起止时间,销售员编号,货物名称,货物货号和总销售额等。2.4.2 高层数据流图图2.1高层数据流图2.5 经济可行性成本包括:开发项目的费用支出和时间消耗,服务器的配置,硬件设备的更新和升 级,系统管理维护费用。其中服务器的配置、硬件设备的更新和升级都是一
25、次性投资。项 目取得的收益:通过提升工作效率带来的销售收益以及减少工作人员带来的成本收益。从 长远看来,这是一项可观的收益,相对于项目支出的一次性较大费用来说,一个成功的收费管理系统获得的收益将是长期的、持续性的,因此,构建收费管理系统在经 济上可行。2.6 技术可行性随着软件编程技术的不断增加,功能的不断加强,和网络技术的不断成熟,信息安 全的不断完善以及开发工具的日益进步,采用计算机系统来管理超市要求数据的采集、 更新能够完整、准确和及时,所以开发通用的超市收银系统已经完全可以做到。2.7 操作可行性当今社会,计算机对人们来说已并不陌生,它已经走进千家万户,即使是并没有太高 文化水平的人也
26、能够熟练操作计算机。对于此套超市管理系统,它拥有简洁的界面,能让 人熟练操作,因此面对超市的普通员工,它的操作是完全可行的。对于超市的管理员,熟 悉这套系统就更加容易,利用这套系统,使得超市管理的工作将变得简单快捷。3需求分析3.1 需求概述本系统主要分成四个功能模块,每个模块都独立的完成了自己的功能,以下是对各 功能模块的说明:(1)用户信息管理功能。该功能模块可以实现系统用户对自己基本信息的修改,不 过只限于对登录密码的修改,因为用户帐号都是超市为了方便管理而事先分配好了的, 是不能改变的。出于对用户信息的安全性考虑,只能修改当前登录的用户的密码。(2)商品入库信息管理功能。该功能模块是实
27、现对即将入库的商品的统计,由于商 品信息的庞大、复杂,在入库前需要对其进行详细地记录管理,为商品的库存管理打下 良好的基础。需要记录的容有:入库商品的商品号、名称、类型、价格、同类商品的数 量、采购员、验收员、生产厂商、产地、入库时间等。同时能够实现对商品入库信息的 添加、修改、删除和查询功能。(3)商品库存信息管理功能。该功能模块是当入库的商品放入超市后,对库存商品 进行统计管理,主要入库信息来源于(2)中的商品入库信息记录。需要记录的容有:库存 商品的名称、类型、入库价格、销售价格、库存量、入库时间、有效期等,同时能够实 现对商品库存信息的添加、修改、删除和查询功能。在商品批量销售后,在表
28、中能够同 时删除相应的商品的数量。(4)商品销售信息管理功能。该功能模块是把要销售的商品从超市中取出来,并对 库存商品进行相应的记录管理,并且把顾客的购买信息打印下来给顾客做凭证。需要记 录的容有:出售商品的名称、类型、销售价格、数量、销售时间等,同时能够实现对商 品销售信息的添加、修改、删除和查询功能。3.2 需求模型3.2.1 数据模型为了把系统的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的 数据模型(E-R图)。它描述了从用户角度看到的数据,它反映了用户的显示环境,而且 与在软件中的实现方法无关。本系统的E-R图,如图3.13.2.2 功能模型超市收银管理系统功能模型图,如图 3.2图3.2超市收银管理系统功能模型图3.2.3 行为模型(a)(b)图3.3超市收银管理系统行为模型图3.2.4 数据字典在对数据库需求分析后,得到一个数据字典。数据字典则是系统中各类数据描述的 集合,是进行详细的数据手机和数据分析获得的主要成果。数据字典通常包括数据项、 数据结构、数据流、数据存储。其中数据项是数据最小组成单位,若干个数据项可以组 成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储和 逻辑容,.专业.整理.