华南理工大学计算机学院
POS 系统的分析与设计
姓 名 :
吴大海
学 院 : 计 算 机 科 学 技 术
专 业 :
软 件 工 程
班 级 :
05 级 1 班
学 号 :
05 0 3 2 1 1 0 4 2
完成日期:2008年7月12日
一、任务描述
为了更好地完成整个系统的预定目标,我们需要做出充
分的体系分析与设计,以确保整个开发过程能够顺利进行。
系统开发阶段的目标是根据系统规划所确定的系统总
体结构方案和项目开发计划,按拟定的项目,开发成可以运
行的实际系统。 在规划完系统后就要进行系统分析,系统
设计,系统实施,系统运行和维护等一系列工作。
系统分析是保证系统质量的第一步,它的任务是艰巨
的、复杂的。切合实际应用自顶向下逐层分解、由粗到细、
由复杂到简单的方法能更好细分任务,各个击破。先把大问
题分解成若干个小问题,然后分别解决。抓住主要问题忽略
次要问题,集中精力先解决主要问题。
在设计方面,强调的是满足需求的概念上的解决方案。
用面向对象的设计思想结合用例图、领域模型、系统顺序图,
合理关联各个部分。做到设计结构清晰明了,易于计算机系
统实现。
1
二、系统需求
1. 用例与用例目标列表
UC1:处理销售
范围: POS 系统应用
级别:用户目标
主要参与者:收银员
涉众及其关注点:
--收银员:希望能够准确、快速地输入,而且没有支付错误,因为如
果少收货款,将其薪 水中扣除
--售货员:希望自动更新销售
--顾客:希望以最小代价完成购买活动并得到快速服务。希望便捷、
清晰地看到所输的商品项目和价格。希望得到购买凭证,以便退货。
--公司:希望准确地记录交易,满足顾客需求。希望确保记录了支付
授权服务的支付票据。希望有一定的容错性,即使在某些服务器构建
不可用时(如远程信用卡验证),也能够完成销售。希望能够自动、
快速地更新账务和库存信息。
--经理:希望能够快速地执行超空操作,并易于更正收银员的不正当
操作。
2
--政府税收代理:希望能才能够每笔交易中抽取税金。可能存在多级
税务代理,比如国家级、州级和县级
--支付授权服务:希望接收到格式和协议正确的数字授权请求。希望
准确计算对商店的应付款。
前置条件:收银员必须经过确认和认证。
后置条件:存储销售信息。准确计算税金。更新账务和库存信息。记
录提成。生成票据。记录支付授权的批准。
主成功场景:
1、 顾客携带所购商品或服务到收银台通过 POS 机付款。
2、 收银员开始一次新的销售交易
3、 收银员输入商品条码。
4、 系统逐条记录出售的商品,并显示该商品的描述、价格和累计
额。价格通过一组价格规则来计算。
收银员重复 3~4 步,知道输入结束。
5、 系统显示总额和所计算的税金。
6、 收银员告知顾客总额,并请顾客付款。
7、 顾客付款,系统处理支付。
8、 系统记录完整的销售信息,并将销售和支付信息发送到外部的
账务系统(进行账务处理和提成)和库存系统(更新库存)。
9、 系统打印票据。
10、 顾客携带商品和票据离开(如果有)。
扩展:
3
*a、经理在任意时刻要求进行超控操作
1、系统进入经理授权模式。
2、经理或收银员执行某一经理模式的操作。例如,变更现金结余,
恢复其他登录者中断的销售交易,取消销售交易等
3、系统回复到收银员授权模式。
*b、系统在任意时刻失败:
为了支持恢复和更正账务处理,要保证所交易的敏感状态和事件
都能够从场景的任何一步中完全恢复。
1、 收银员重启系统,登录,请求恢复上次状态。
2、 系统重建上次状态。
2a、系统在恢复过程中检测到异常:
1、 系统同收银员提示错误,记录此错误,并进入一个
初始状态
2、 收银员开始一次新的销售交易。
1a、客户或经理需要恢复一个中断的销售交易
1、 收银员执行恢复操作,并且输入 ID 以提取对应的销售交易
2、 系统显示被恢复的销售交易状态及其小计
2a、未发现对应的销售交易。
1、 系统向收银员提示错误。
2、 收银员可能会开始一个新销售交易,并重新输入所
有商品。
3、 收银员继续该次销售交易(可能要输入更多的商品或处理
4
支付)。
2-4a、顾客告诉收银员其免税状况(例如:年长者,本国人等)。
1、收银员进行核实,并输入免税状态编码。
2、系统记录该状态编码(在计算税金时使用)
3a、无效商品 ID(在系统中未发现):
1、 系统提示错误并拒绝输入该 ID。
2、 收银员响应该错误。
2a、商品 ID 可读(例如,数字型的 UPC(通用商品代码)):
1、 收银员手工输入商品 ID。
2、 系统显示商品的价格和描述。
2a、无效商品 ID:系统提示错误。收银员尝试其它方
式。
2b、系统内不存在该商品 ID,但是商品附有价签:
1、 收银员请求经理执行超控操作。
2、 经理执行相应的超控操作。
3、 收银员选择手工输入价格,输入价签上的价格,并
请求对该价目进行标准计税。(因为没有产品信息,计
税引擎无法确定如何计税)。
2c、收银员通过执行寻找产品帮组以获取正确的商品 ID 及其
价格。
2d、另外,收银员可以向其他员工询问商品 ID 或价格,然后
手工输入 ID 或价格
(参见以上内容)
5
3b、当有多个商品项目属于同一类别的时候(例如 5 个汉堡),不必
记录每一个商品项目的唯一标识:
1、 收银员可以输入类别的标识和商品的数量
3c、需要手工输入类别和价格(例如:花卉或纸牌及其价格):
1、 收银员手工输入特定的类别代码及其价格。
3-6a、顾客要求收银员从所购商品中去掉一项:
所去除商品的价格必须小于收银员权限,否则需要经理执行超控操
作。
1、 收银员输入商品 ID 并将其删除。
2、 系统删除该项目并显示更新后的累计额
2a、商品价格超过了收银员权限:
1、 系统提示错误,并建议经理超控。
2、 收银员请求经理超控,完成超控后,重做该操作。
3-6b、顾客要求收银员取消销售交易:
1、收银员在系统中取消销售交易。
3-6c、收银员延迟销售交易:
1、系统记录销售交易信息,使其能够在任何 POS 登录中恢复操作。
2、系统显示用来恢复销售交易的“延迟票据”,其中包含商品项
目和销售交易 ID。
4a、系统定义的商品价格不是顾客预期的价格(顾客对此产生抱怨并
要求减价):
1、 收银员请求经理批准
6
2、 经理执行超控操作。
3、 收银员手工输入超控后的价格。
4、 系统显示新价格。
5a、系统检测到与外部税务计算系统服务的通信故障:
1、 系统在 POS 机节点上重启此服务,并继续操作。
1a、系统检测到该服务无法重启。
1、 系统提示错误。
2、 收银员手工计算和输入税金,或者取消该销售交易。
5b、顾客声称他们符合打折条件(例如,是雇员或重要顾客)
1、 收银员提出打折请求。
2、 收银员输入顾客 ID。
3、 系统按照打折规则显示折扣总计。
5c、顾客要求兑现帐户积分,用于此次销售交易:
1、 收银员提交积分请求。
2、 收银员输入顾客 ID。
3、 系统应用几分直到价格为零,同时扣除结余积分。
6a、顾客要求现金付款,但携带的现金不足:
1、 顾客要求使用其他支付方式。
1a、顾客要求取消此次销售交易,收银员自傲系统上取消该销
售交易。
7a、现金支付:
1、 收银员输入收取的现金额。
7