超市收银系统开发文档_第1页
超市收银系统开发文档_第2页
超市收银系统开发文档_第3页
超市收银系统开发文档_第4页
超市收银系统开发文档_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上超市收银系统作者发布范围版本发布日期发布日期版本说明作者目 录一、 项目目标熟悉Java基本语法,面向对象编程思想,JDBC技术,数据库开发,MSSQL2005使用,T-SQL编程,存储过程开发。二、 开发语言Java三、 开发环境JDK5.0,MyEclipse5.5,MSSQL2005,Windows2003四、 需求分析文档1引言1.1编写目的此需求规格说明书对“超市收银系统”做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本

2、说明书的预期读者为客户、业务或需求分析人员、开发人员、测试人员、用户文档编写者、项目管理人员。1.2背景XX超市是一家小型的社区连锁超市,在各个社区都有一家门店,总部向各个门店统一配货,门店负责销售,商品价格由总部制订,门店销售收入统一上缴总部,滞销商品也退还总部。为了便于管理门店,尤其是对营业情况的及时掌握和分析,调整经营策略,同时减少人为的错误,避免中间环节的贪污行为,每个社区门店的进货,滞销商品退回总部,销售,货物盘点,销售统计,营业分析,会员管理等都由计算机系统来管理,系统具有强制、安全、保密等措施,并且与总部的软件系统相连。本系统是销售子系统中的收银部分,与进退货,盘点,销售统计,营

3、业分析,会员管理等子系统有关联,使用的是同一个数据库。本系统的正式名称为“XX超市收银系统”,委托XX开发,其使用者是社区超市的营业员。1.3定义(1)商品条形码:每种商品具有唯一的编号,商品价格由商品条形码确定(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。(4)会员号:每个会员都有一个唯一的编号(3)会员价:对会员的优惠价格,比正常的商品销售价格低,具体价格由总部确定,不是所有的商品同一个折扣1.4参考资料 2任务概述2.1目标 通过扫描条形码或者直接输入商品条形码(对于同类多件商品采用一次录入加数量的方式)自动计算

4、本次交易的总金额。在顾客付款后,自动计算找零,同时保存销售记录,打印交易清单(包括交易的流水账号、每类商品的商品名、数量、总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行会员价优惠,并将所购物品的总金额累计到该会员的总消费金额中。² 系统还应有登陆、注销、操作锁定等功能。 2.2用户的特点 本系统的用户为门店的营业员,对计算机熟练程序一般,同时为避免出现顾客买单排队等候时间过长的问题,系统界面应尽可能友好,操作简单,最好是一键式操作,以便营业员快速为顾客服务。同时系统应该有一定的错误识别和预防功能,以防止营业

5、员的错误操作。2.3假定和约束已有的约束条件包括:A本系统所采用的数据库是现成的(mssql2005,运行于门店数据库服务器上,收银系统通过网络与数据库服务器连接),不能重新设计新的数据库,只能查询或更新现有数据B本系统的开发周期为2周C因为门店众多,各个门店的计算机设备系统不一致,本系统要具备跨平台的特点D本系统不应对门店其他管理系统产生干扰其他无3需求规定3.1对功能的规定311登录系统启动后,显示欢迎界面,提醒收银注意事项,然后提示营业员输入员工编号和正确的密码。如果输入错误,则系统停留在欢迎界面,不能进行其他操作,直到输入正确的员工编号和密码为止。员工编号和密码都是数字类型,不能输入其

6、他字符。312顾客买单 首先提示输入会员卡号,对输入的卡号进行检测,如果输入错误提示重新输入,也可以不输入卡号(非会员),以非会员单价结算。 然后逐一输入所购商品的条形码(扫描输入或手工输入等效),输入条形码后及时显示商品的名称和单价(会员显示会员价),如果条形码输入错误,则提示重新输入,直到正确为止。输入正确的条形码,显示商品名称单价后,提示输入商品的数量,商品数量默认是1。每一种商品输入后,及时显示商品总数和总金额。买单过程中可以对已经输入的商品进行退货处理,但是买单结束后不能退货,要退货必须找门店负责人通过其他途径退货,本系统需支持这类退货功能。所有商品的条形码,数量输入结束后,提示输入

7、顾客的付款,顾客付款一定要大于或等于应付款,否则应重新输入,直到正确为止。输入顾客付款后,更改数据库中商品的库存信息,将销售信息保存到数据库的销售表和销售明细表中,将会员的消费金额累计到会员总消费金额中。以上操作全部正确完成后,显示应付款,顾客付款和找零,并打印销售清单。如果以上操作中途出现意外,系统应恢复到重新开始买单的初始界面。不应对数据库有任何更新。本次销售结束后,即可进行下一次销售。销售过程中可随时选择终止,直接进行一下次销售,不会更新数据库。因为顾客都是拿着商品来结帐,不存在实际有商品而数据库中库存没有的情况,系统对此应该有检测机制。313挂帐 某一次买单进行过程中,因为顾客的原因(

8、需要临时增加商品或其他原因)暂时无法进行,为不影响后面排队顾客的结帐,系统可以暂时将该次买单挂帐,先处理后面的买单,当前面顾客回来继续买单时,可以将挂帐信息及时调出。同一时刻只能有一个挂帐。314锁定/开锁营业员可能暂时离开收银台,可以锁定系统,在锁定状态下,系统不能执行任何操作。营业员可以通过输入自己的密码,解除锁定,解除锁定后,系统回到开始买单的初始界面。315营业员注销营业员结束收银后,可以注销系统,注销前系统将本营业员的员工编号,本次收银开始时间,结束时间,收银次数,销售总数,销售总金额保存在数据库中。之后系统恢复到欢迎界面。3.2 对性能的规定3.2.1精度商品的单价精确到分。对时间

9、的记录精确到分。数据库中的数据应始终保持准确,不能因为添加,修改或其他操作而产生错误,不一致的数据。 3.2.2时间特性要求当输入会员卡号后要及时判断是否正确,时间不超过1秒;当输入商品条形码后要及时显示商品信息,时间不超过1秒;当输入顾客付款后,开始更新数据库,生成销售清单,此过程到打印清单开始前时间不超过3秒。3.2.3灵活性一般情况下,营业员只需要使用回车键就可以,不需要多余的操作。其他操作一般一键即可调出,按ESC即可结束。整个买单过程可随时终止,直接进行下一次买单,不影响数据库中数据的正确性。3.3输入输出要求输入员工编号,固定为9位数字,密码为8-12位数字。输入会员编码,固定为1

10、0位数字。输入商品条形码,为8-13位数字。时间以数据库的时间为准,不以门店收银的系统为准。对于不合法的输入,系统应该拒绝。输出要求按数据库需要的格式进行,打印的销售清单格式如下:*第23号*会员: 2007年01月04日 14时05分产品编号 产品名称 数量单价 金额45adidas运动鞋 12270.03240.065Nike运动T-Shirt 3 450.01350.045九阳JY 3 180.0540.032海尔洗衣机 1 540.0540.0*总计: 19 5670.0 RMB收款:6000.00元,找零:330.00元营业员:100033.4数据管理能力要求系统使用现有的数据库,只

11、根据需要查询或更新现有数据,本身对数据管理无要求。3.5故障处理要求A、在用户输入一些不合理的数据的时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统的错误,或者程序停止运行;B、程序运行时,对数据库服务器和网络通信故障能够识别并提示,当故障排除后,程序恢复正常运行,不影响数据库中数据的准确性;C、如果系统本身出现故障,或出现停电等特殊情况,要保证数据库中数据的正确性,并在故障排除后可恢复继续运行。3.6其他专门要求A.安全性,除了正常买单之外,不允许对数据库中的数据进行更改,不允许查看数据库中的原始数据,B可扩展性,系统应该考虑到未来数据库可能升级到ORACLE,系统本身可能增加的

12、功能包括模糊查询商品信息;销售清单可以任意设定纸张及打印的格式;可自定义操作键,方便营业员的操作习惯;其他功能包括支持各种外设:条形码扫描枪、客户显示屏、POS小票打印机、钱箱、电子条码称、盘点机等。C健壮性,系统应保证一次开机后稳定运行24小时,性能不能下降。4运行环境规定 4.1设备具有 Pentium III 处理器且满足以下要求的计算机:最低 512 MB 内存最小 5 GB 硬盘鼠标,键盘,标准显示器4.2支持软件 Windows2000 以上的操作系统,JDK5.0以上4.3接口硬件接口:与打印设备和条形码输入设备的接口软件接口:通过JDBC与数据库连接4.4控制无五、 系统开发说

13、明1. 系统功能图n 营业员登录n 顾客买单u 挂帐n 锁定/开锁n 营业员注销n 系统设置功能2. 各功能开发详细说明n 营业员登录营业员登录后修改数据库,将登录时间记录在数据库(使用数据库服务器的时间)。为了提高响应速度,系统在登录后,将商品的编号,名称,单价,会员价等信息读入到内存中,保存在HASHMAP集合中,便于买单的时候及时查询,而不是频繁的访问数据库,因为这些信息很少更新,不需要每次都查询数据库。如果有新的商品入库,只需要调用输入新商品这个功能,把商品编号,名称,单价,会员价追加到MAP中即可。如果某种商品因为某些原因,现在不能销售,只需要调用删除商品这个功能,把它从MAP中去掉

14、即可,不需要访问数据库。把会员编号也全部读到内存,保存在HASHSET中,便于及时查询。以上操作,不会影响到数据库中的数据,所以是安全的。(注:在填充MAP前,还应检查是否有未更新到数据库的销售记录,如果有,先更新本地的销售记录到数据库。见买单功能)店长登录显示设置功能菜单。n 顾客买单A 为提高响应速度,买单时将销售信息暂时保存在本地,先结帐,然后更新数据库,更新数据库的操作在一个事务中,要么全部成功,要么全部不成功,更新数据库放在一个单独的线程中。B 更新结束后,将保存在本地的销售记录删除。为提高响应速度,可以在数据库中设计存储过程。C 销售清单的流水号由本机的时间(精确到千分之一秒)组成

15、,流水号保存在数据库中,可以通过流水号判断该清单是否被更新到数据库。D 每一次买单后将本次营业的收银次数加1,总金额追加。该信息也应该保存到本地,以便发生故障时恢复。u 挂帐挂帐信息不需要保存到本地,如果发生故障后,重新开始即可。n 锁定/解锁n 营业员注销更新数据库,将营业员结束营业时间,本次共收银次数,总金额等保存到数据库。n 系统设置功能输入店长的信息,可以输入暂时不销售商品的编号,从MAP中删除,不需更新数据库,输入新增加的商品同样操作。其他的设置功能暂不提供(后续版本可能会扩展)。3. 系统设计思路n 数据库设计图本系统使用现有数据库,不需要设计新的数据库。现有数据库结构如下:n 系

16、统体系结构图数据库界面层和控制层数据处理层n 类图n 公用模块设计类图:无n 每个具体模块的设计类图 :无 六、 开发计划a) 工作分解及进度阶段具体内容里程碑(阶段控制点)时间理解需求看需求说明文档,与项目经理,同事一起讨论,找出技术盲点先学习,并就如何完成该系统形成大致的思路明确功能需求,并且正式开始项目的设计工作10天概要设计1.将系统按功能划分成模块。2.确定每个模块的功能。3.确定模块之间的调用关系。4.确定模块之间的接口,即模块之间传递的信息。5.评价模块结构的质量(本系统无数据库设计部分)形成概要设计文档2天详细设计1为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。2为模块内的数据结构和函数进行设计。3其他设计:输入/输出格式设计,人机对话设计(本系统不需要数据库物理设计)相成详细设计文档2天编码实现及单元测试按照详细设计文档,编写结构体,各函数,并测试函数的正确性(白盒测试)各模块编码,单元测试完成10天测试根据需求说明测试系统,看功能是否实现(黑盒测试)系统测试完成1天部署本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论