超市收费系统的设计与实现论文.docx
- 文档编号:14117670
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:35
- 大小:464.87KB
超市收费系统的设计与实现论文.docx
《超市收费系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《超市收费系统的设计与实现论文.docx(35页珍藏版)》请在冰点文库上搜索。
超市收费系统的设计与实现论文
超市收费系统的设计与实现
摘要
随着现代科学技术的迅猛发展,计算机技术已渗透到各个领域,成为各行业必不可少的工具。
在当今激烈的市场竞争中,让顾客享受既实惠又快捷的购物服务是商战中制胜的一大要素。
改革开放的今天,各种大型超市林立,超市已成为消费者日常活动的主要场所。
而超市商品也非常之多,建立一套方便快捷的超市收费系统是企业必然要解决的一个问题。
系统采用的编程工具是Delphi7.0版本与Access作为数据库。
系统分为前台系统和后台系统,其中,前台系统提供了很方便的商品销售收费功能,这其中包括会员卡用户可享受八折优惠。
而后台系统则提供了一些商品管理功能,如采购入库,库存盘点,出库明细等模块。
本文主要介绍超市收费系统的运行环境、功能作用、设计的方案等各方面的内容。
论文共分为五大部分。
第一部分简要叙述了系统的基本概况。
第二,三部分分别从软件工程的要求出发,首先进行问题的定义,其次进行可行性研究,分别从技术可行性,经济可行性和操作可行性进行分析,然后进行总体设计和详细设计,并阐述了如何实现具体功能。
第四部分为系统调试,其中包括子模块测试和总体测试。
关键词:
收费;销售;超市
TheDesignandRealizationofSupermarketChargingSystem
Abstract
Withtherapiddevelopmentofmodernscienceandtechnology,computertechnologywhichhaspenetratedintoallfieldsbecomesindispensableforeveryindustry.Beneficialandeffectiveservicesforcustomersareakeypointtowinincommercialtradeinmarketcompetition.Underthepolicyofreformandopening-up,differentkindsofsupermarketloomsolarge,whichmakethesupermarkets,bethemainplacetoactiveindailylife.Butduetovariousandnumerousgoods,howtobuildaconvenientandfastchargingsystemisaproblemwhichismustresolve.TheprogrammingtoolofthesystemadoptsDelphi7.0andusesAccessasdatabase.Thesystemdividesintotwoparts,theforegroundandthebackground.Theforegroundoffersconvenientfunctionforgoodssalefeeandthemembercarduserswhocanenjoya20%discount.Atthesametime,thebackgroundsystemgivessomefunctionforgoods'management,suchaspurchasingandwarehousing,stock-taking,andthedetailsabouttheouthousingandsoon.Thissystemrunsunderthepracticabilityofsoftwareandtheconvenientoperatefromthebeginningtotheend.
Thisthesismainlyintroducestheenvironment,functionanddesignplanofthesupermarketchargesystem.Itistotallydividedintofiveparts.Thefirstpartsynopsisdescribedthebasicgeneralsituationofthissystem.Tobeginwiththesoftwareengineeringrequirements,Ifirstmakeadefinitionofthequestioninthesecondandthirdpart,thendosomepracticableresearch,analysisfromtechnical,economicandoperationalfeasibility,anddesignforthetotalityanddetailed,withexpoundinghowtoachieveitsconcretefunction.SystemadjustingisdiscussedinthefourthpartwhichstillincludestheSub-moduletestandoveralltest.
Keywords:
charging;sale;supermarket
目录
论文总页数:
27页
1引言1
1.1课题背景及意义1
1.2课题研究内容1
2项目特色及方案选择1
2.1项目特色1
2.2方案选择2
3系统需求分析2
3.1系统模块构建2
3.1.1系统整体结构功能模块2
3.1.2前,后台功能模块3
3.2数据流图3
4数据库设计4
4.1数据库选择方案论证4
4.2E-R图和关系图5
4.3数据库表设计5
5系统实现9
5.1系统对软硬件配置的要求9
5.2开发语言介绍9
5.3系统模块10
5.3.1前台模块10
5.3.2后台模块16
6结果测试,性能分析23
6.1模块测试23
6.1.1前台模块的测试23
6.1.2后台模块的测试24
6.2整体测试24
结论24
参考文献25
致谢26
声明27
1引言
1.1课题背景及意义
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态。
随着超市的高速发展,其经营管理也变的愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的思想技术和管理技术进入到超市管理之中。
超市形态具有种种优点,但在目前状况下,它仍存在零售业商业企业所共有的落后的一面。
如:
收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率底等。
而且,在超市日常管理中,随着超市形态的高速发展,其经营管理也变的愈加复杂,竞争也日益激烈,拥有一套快捷,方便,实用的超市收费系统是必须的。
为此,在本次设计之中选择了超市收费系统的设计与实现这个题目。
依靠现代化的计算机信息处理技术来对超市销售进行收费,从而节省了大量的人力、减轻了劳动强度,并且能够快速反映出商品的各种反馈信息。
1.2课题研究内容
综合运用以前所学的专业知识,设计开发一个超市收费系统软件,本设计要求实现功能——采购入库,条形码数据的输入,会员卡号的输入,进行货品销售。
具体包括以下内容:
(1)在设计与开发中,重点放在简单地进行货品销售,会员卡打折。
(2)在设计与开发中,既探讨前台的销售,又能实现后台的采购入库,会员卡设置等功能。
(其中前台只负责输入条码,输入会员卡号,实现收费。
其他的所有功能和设置均放在后台进行)
实现超市货品的入库,会员卡用户资料的录入,以及进行货品销售的收费,而前台的收费分为会员卡用户和非会员卡用户两种收费,对于有卡用户,在输入卡号后,可实现商品价格按八折价格进行收费,若要取消销售某商品,则直接点删除,总价格也会相应的扣除.
2项目特色及方案选择
2.1项目特色
本项目的特色在于,它的操作能基本实现智能化,减少了人操作人员的大量工作,节约了时间和空间、人力和财力。
此外,本系统清晰的功能模块的划分也使得它的应用性和移植性将会更加广泛,再加上前后台的分别管理,使得整个系统的设计也更为人性化和安全化。
2.2方案选择
本系统之所以使用Delphi 7.0 ,主要是因为Delphi的方便性和灵活性。
我们几乎可以用Delphi作任何事情,还可以撰写种各种类型的应用程序,动态链接库(DLL)、CON、或CORBA对象,CGI/ISAPI程序,Microsoft Back Office应用程序。
程序的规模,小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用Delphi进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。
尤其是Delphi对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期。
并且Delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。
3系统需求分析
数据库应用系统是以数据库为基础的信息管理系统,它一般包含两个方面内容,一个数据库设计,二是程序设计。
数据库应用系统的开发是一个软件工程,应按照软件工程的开发方法进行分析,设计,编程和调试。
在建立数据库应用系统之前,一般应先进行系统的需求分析,了解用户对系统的要求,然后进行系统的总体设计,最后编写程序代码和调试程序。
数据库应用系统的开发过程,需求分析包括了对数据本身的需求分析和对功能的需求分析。
两个分析的结果将分别作为数据库设计和程序设计的依据。
实际上在设计数据库应用系统时,这两个需求分析是紧密相关的,不论是数据库设计,还是程序设计都需要考虑这两个方面的因素。
3.1系统模块构建
3.1.1系统整体结构功能模块
系统整体结构功能模块图如图3-1:
根据系统整体结构功能模块分析,系统分为前台和后台两部分;前台主要提供给收银员使用,进行销售收费;后台提供给管理员使用,主要执行系统维护、商品管理、厂家管理和销售数据管理以及会员卡用户管理等工作。
3.1.2前,后台功能模块
本系统是多用户系统,用户可分为管理员和收银员两类,登录或者未登录情况下判断当前使用人员的权限,避免安全性问题。
收银员登录系统,系统自动清空销售临时数据,进入系统,对于非会员用户收银员首先录入商品编码,然后输入数量,而对于会员卡用户,收银员选择会员类型,输入会员卡号,系统自动将折扣转为80%,然后系统自动汇总金额,同时列表显示销售商品的流水数据,收银员可以删除需要退掉的商品,然后点击结账,完成交易过程。
前台功能模块图如图3-2:
图3-2前台功能模块图
后台管理员登录系统以后,可以对供货商资料进行添加、删除、修改、查询操作,可以对商品单位进行添加、删除、修改、查询操作,可以对会员资料进行添加、删除、修改、查询操作,可以进行采购入库操作,进行库存盘点操作,进行进货统计操作,进行出库明细查询操作,和退出系统操作。
后台功能模块如图3-3所示:
3.2数据流图
数据流图如图3-4:
图3-4数据流图
4数据库设计
4.1数据库选择方案论证
建立一个数据库我们有多种选择,现在市场上有各种各样的数据库,而且每一种数据库都有其自身的特点,不能说哪一种更好,只是在其中寻找一种能更好地适应系统需求、更好地满足用户的要求以及适应开发人员的习惯。
在本系统中,作为小型超市的收费系统是一个比较小的应用系统,它所产生和处理的数据量也比较小。
因此,没有必要使用像SQL Server和Oracle这样的大型数据库。
我首先想到的数据库是Microsoft Office中的Access数据库,因为它在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以,在本系统中我选择了Access数据库。
Access作为一个数据库管理系统,它被集成在Microsoft Office中。
Access数据库处理的基本结构,采取关系型数据库模式。
与其他的数据库系统相比,Access更加简单易学,一个普通的计算机用户可以很快地掌握它。
Access 的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与Office其他组件交流数据,这些功能对一个一般用户而言已经足够了。
4.2E-R图和关系图
供应商,商品关系模型E-R图如图4-1所示:
图4-1供应商,商品关系模型E-R图
各个表之间的关系图如图4-2:
图4-2 各个表之间的关系图
4.3数据库表设计
由数据模型利用Access进行数据库的详细设计,其基本表的设计如下:
1.供应商表
供应商信息表:
存储供应商信息.如表4-1:
表4-1供应商信息表
字段名称
数据类型
说明
ID
自动编号
FeederID
文本
供应商编号
FeederName
文本
供应商名称
LinkMan
文本
联系人
Address
文本
地址
Zipcode
文本
邮编
Tel
文本
电话
Fax
文本
传真
2.操作用户表
操作用户表:
存储操作系统的管理员信息.如表4-2:
表4-2操作用户表
字段名称
数据类型
说明
ID
自动编号
UserID
文本
用户编码
UserName
文本
用户名
UserPass
文本
密码
Address
文本
地址
Tel
文本
电话
Remark
文本
备注
3.商品进货表
商品进货表:
存储商品进货信息.如表4-3:
表4-3商品进货表
字段名称
数据类型
说明
ID
自动编号
InvoiceID
文本
单号
BarCode
文本
商品条码
GoodsName
文本
商品名称
FeederName
文本
供应商名称
PurchaseScalar
数字
购入数量
PurchasePrice
数字
进价
Unit
文本
商品计量单位
EnterFiag
是/否
是否已完成交易
PurchaseDate
日期/时间
日期时间
UserName
文本
使用的管理员用户名
Remark
文本
备注
4.销售主表
销售主表:
存储销售情况的大体清单(即总金额等).如表4-4:
表4-4销售主表
字段名称
数据类型
说明
ID
自动编号
InvoiceID
文本
单号
AR
数字
购买总金额
PU
数字
进价总金额
Hang
是/否
是否已完成交易
SellDate
日期/时间
日期时间
UserName
文本
使用的管理员用户名
Remark
数字
备注
5.销售从表
销售从表:
存储销售的详细情况.如表4-5:
表4-5销售从表
字段名称
数据类型
说明
ID
自动编号
InvoiceID
文本
单号
BarCode
文本
商品条码
GoodsName
文本
商品名称
Unit
文本
商品计量单位
SellScalar
数字
卖出数量
Agio
数字
折扣
PurchasePrice
数字
进价
SellPrice
数字
卖出价格
Subtotal
数字
总金额
UntreadFlag
文本
已交易
6.库存表
库存表:
存储库存情况.如表4-6:
表4-6库存表
字段名称
数据类型
说明
ID
自动编号
BarCode
文本
商品条码
GoodsName
文本
商品名称
Unit
文本
商品计量单位
PurchasePrice
数字
进价
SellPrice
数字
卖出价格
SellScalar
数字
卖出数量
7.计量单位表
计量单位表:
存储计量单位资料,方便入库等操作时的使用.如表7:
表4-7计量单位表
字段名称
数据类型
说明
ID
自动编号
UnitName
文本
计量单位名称
8.会员资料表
会员资料表,存储有卡会员的资料,以便结账时给予折扣.如表4-8:
表4-8会员资料表
字段名称
数据类型
说明
ID
自动编号
Name
文本
会员姓名
Address
文本
住址
Tel
文本
联系电话
VipID
文本
会员卡号
Remark
文本
备注
State
文本
状态
UserName
文本
管理员用户名
9.会员销售单据表
会员销售单据表:
存储会员的销售单据。
如表4-9:
表4-9会员销售单据表
字段名称
数据类型
说明
ID
自动编号
VipID
文本
会员卡号
InvoiceID
文本
单号
Money
数字
消费金额
UserName
文本
管理员用户名
5系统实现
5.1系统对软硬件配置的要求
建议用户的计算机使用以下配置(或更高):
CPU:
Intel或兼容机PentiumPentium4或更高
硬盘:
7200转/分,剩余空间>100M
内存:
建议512MB或更多
鼠标:
3D光电鼠
键盘:
标准104键
5.2开发语言介绍
Delphi类可以粗略地分成两部分:
一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。
组件在Delphi程序的开发中是最显眼的角色。
ADO数据访问组件就是本系统所采用的方式,下面对此概述一下。
ADO数据对象(Active Data Objects)实际是一种提供访问各种数据类型的链接机制。
ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口中,可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。
ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
ADO使您的客户端应用程序能够通过OLE DB提供访问和操作在数据库服务器中的数据。
ADO支持用于建立C/S和Web的应用程序的主要功能。
其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。
ADO同时具有远程数据服务(RDS)功能,通过RDS可以在一次往返过程中实现将数据从服务器移动到客户端应用程序和Web页、在客户端对数据进行处然后将更新结果返回服务器的操作。
利用ADO数据访问组件,在系统中我主要使用的是ADOTablet和ADOQuery两个组件。
5.3系统模块
5.3.1前台模块
前台程序流程图如图5-1
图5-1前台程序流程图
登录模块:
功能:
本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统。
其窗体如图5-2:
图5-2用户登录界面
在进行系统登录过程中,登录模块将调用数据库里的用户数据表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登录才会成功。
并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或错误操作,以便用户进行正确的登录。
其提示错误输入或错误操作如图5-3所示:
图5-3登录错误界面
输入项、输出项:
输入项为用户名和密码。
用户名和密码均为字符串,最大长度为16个字符,密码以“*”号显示(英文和数字算一个字符,汉字算两个字符)。
接口:
本模块为顶级模块,按确定按钮时,如果输入的用户名和密码正确,将调用系统主窗体模块,进入系统主窗体。
存储分配:
在用户按下确定按钮时,将读取存储用户名和密码的数据表,以对用户名和密码进行验证。
测试要点:
本模块有如下几个测试要点,按下确定按钮时,是否能正确读取存储用户名和密码的数据表;如果用户名和密码正确,是否能进入系统主窗体;当输入用户名或密码错误时,是否能弹出信息框,给用户提示。
主要代码:
vIniFile:
=TIniFile.Create(ExtractFilePath(ParamStr(0))+'Config.Ini');
//联接数据库
Data:
='Provider='+vIniFile.Readstring('System','Provider','')+';
Data:
=Data+'DataSource='+vIniFile.Readstring('System','DataSource','')+';';
Data:
=Data+'PersistSecurityInfo=False';
ADOQuery1.ConnectionString:
=Data;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select*fromManager');
ADOQuery1.Active:
=True;
创建了一个TIniFile类型的对象实例,来连接操作连接数据库的ini配置文件。
销售模块:
功能:
本模块的主要功能是把销售信息写入销售清单,同时对库存数据进行更新,以备用户将来对销售信息和库存信息进行查询。
商品销售:
将销售信息录入数据库销售表中,进行销售查询和统计。
输入项、输出项:
本模块的数据输入项主要为销售清单,其中包括单据编号、商品条码、计量单位、单价、数量、金额、销售日期、操作员等相关信息。
存储分配:
商品销售模块主要的是进行商品销售情况统计并登记入库,当商品销售业务发生后,营业员将打开销售管理模块对商品销售情况进行登记入库,调用数据库中的销售表,等待数据录入,等营业员将相应数据输入后,点提交按扭,即可完成数据的存储。
取消按扭,将取消此次操作,不进行数据存储。
测试要点:
对销售管理模块进行测试,利用测试用例填入表单,对其进行数据库数据存储测试,看看所填数据能否存入数据表中。
销售查询:
对各查询要求分别进行测试,查看测试结果。
销售模块分为非会员用户和会员用户两类,若消费者为非会员则进入销售页面后直接录入商品条码和数量点击添加,然后系统自动汇总金额,同时列表显示销售商品的流水数据,对于非会员的销售界面如图5-4:
图5-4 前台非会员销售界面
主要代码如下:
//计算合计数
ADOQuery1.Edit;
//单条记录求合:
小计=售价*数量*折扣/100
ADOQuery1.FieldByName('Subtotal').AsCurrency:
=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 收费 系统 设计 实现 论文
![提示](https://static.bingdoc.com/images/bang_tan.gif)