北京理工大学珠海学院计算机学院
《系统分析与设计》期末考核报告
系统名称:
POS 系统
专业班级:
09 软件工程 5 班
学生学号:
学生姓名:
张光辉
一 需求分析说明
1 系统的参与者
Customer
顾客:携带商品到收银台购买商品或者退货。
Casher
收银员:处理销售,处理退货,负责收款,出款等。
Store Manager
经理:负责整个系统的运作,管理库存,启动和关闭。
System Administrator
系统管理员:负责系统安全性,管理用户和系统表。
2 系统用例
UC1:处理销售
主要参与者:收银员
前置条件:收银员必须经过确认和认证
主成功场景:
1、 顾客携带所购商品或服务到收银台通过 POS 机付款。
2、 收银员开始一次新的销售交易
3、 收银员输入商品条码。
4、 系统逐条记录出售的商品,并显示该商品的描述、价格和累计额。价格通过一组价格规
则来计算。
收银员重复 3~4 步,知道输入结束。
5、 系统显示总额和所计算的税金。
6、 收银员告知顾客总额,并请顾客付款。
7、 顾客付款,系统处理支付。
8、 系统记录完整的销售信息,并将销售和支付信息发送到外部的账务系统(进行账务处理
和提成)和库存系统(更新库存)。
顾客携带商品和票据离开(如果有)。
9、 系统打印票据。
10、
扩展:
*a、经理在任意时刻要求进行超控操作
1、系统进入经理授权模式。
2、经理或收银员执行某一经理模式的操作。例如,变更现金结余,恢复其他登录者中
断的销售交易,取消销售交易等
3、系统回复到收银员授权模式。
1
*b、系统在任意时刻失败:
为了支持恢复和更正账务处理,要保证所交易的敏感状态和事件都能够从场景的任何一
步中完全恢复。
1、 收银员重启系统,登录,请求恢复上次状态。
2、 系统重建上次状态。
2a、系统在恢复过程中检测到异常:
1、 系统同收银员提示错误,记录此错误,并进入一个初始状态
2、 收银员开始一次新的销售交易。
1a、客户或经理需要恢复一个中断的销售交易
1、 收银员执行恢复操作,并且输入 ID 以提取对应的销售交易
2、 系统显示被恢复的销售交易状态及其小计
2a、未发现对应的销售交易。
1、 系统向收银员提示错误。
2、 收银员可能会开始一个新销售交易,并重新输入所有商品。
3、 收银员继续该次销售交易(可能要输入更多的商品或处理支付)。
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 或价格
(参见以上内容)
3b、当有多个商品项目属于同一类别的时候(例如 5 个汉堡),不必记录每一个商品项目的
唯一标识:
1、 收银员可以输入类别的标识和商品的数量
3c、需要手工输入类别和价格(例如:花卉或纸牌及其价格):
1、 收银员手工输入特定的类别代码及其价格。
3-6a、顾客要求收银员从所购商品中去掉一项:
所去除商品的价格必须小于收银员权限,否则需要经理执行超控操作。
1、 收银员输入商品 ID 并将其删除。
2、 系统删除该项目并显示更新后的累计额
2a、商品价格超过了收银员权限:
1、 系统提示错误,并建议经理超控。
2
2、 收银员请求经理超控,完成超控后,重做该操作。
3-6b、顾客要求收银员取消销售交易:
1、收银员在系统中取消销售交易。
3-6c、收银员延迟销售交易:
1、系统记录销售交易信息,使其能够在任何 POS 登录中恢复操作。
2、系统显示用来恢复销售交易的“延迟票据”,其中包含商品项目和销售交易 ID。
4a、系统定义的商品价格不是顾客预期的价格(顾客对此产生抱怨并要求减价):
1、 收银员请求经理批准
2、 经理执行超控操作。
3、 收银员手工输入超控后的价格。
4、 系统显示新价格。
5a、系统检测到与外部税务计算系统服务的通信故障:
1、 系统在 POS 机节点上重启此服务,并继续操作。
1a、系统检测到该服务无法重启。
1、 系统提示错误。
2、 收银员手工计算和输入税金,或者取消该销售交易。
5b、顾客声称他们符合打折条件(例如,是雇员或重要顾客)
1、 收银员提出打折请求。
2、 收银员输入顾客 ID。
3、 系统按照打折规则显示折扣总计。
5c、顾客要求兑现帐户积分,用于此次销售交易:
1、 收银员提交积分请求。
2、 收银员输入顾客 ID。
3、 系统应用几分直到价格为零,同时扣除结余积分。
6a、顾客要求现金付款,但携带的现金不足:
1、 顾客要求使用其他支付方式。
1a、顾客要求取消此次销售交易,收银员自傲系统上取消该销售交易。
7a、现金支付:
1、 收银员输入收取的现金额。
2、 系统显示找零金额,并弹出现金抽屉。
3、 收银员放入收取的现金,并给顾客找零。
4、 系统记录该现金支付。
7b、信用卡支付:
1、 顾客输入信用卡帐户信息。
2、 系统显示其支付信息以备验证
3、 收银员确认。
3a、收银员取消付款步骤。
1、系统回复到“商品输入”模式
4、 系统向外部支付授权服务系统发送支付授权请求,并请求批准该支付
4a、系统检测到与外部系统协作时的故障:
1、 系统向收银员提示错误
2、 收银员请求顾客更好支付方式
5、 系统收到批准支付的应答并提示收银员,同时弹出现金抽屉(以便放入签名后的信
用卡支付票据)
3
5a、系统收到拒绝支付的应答:
1、 系统向收银员提示支付被拒绝。
2、 收银员请求顾客更换支付方式。
5b、应答超时
1、系统提示收银员应答超时
2、收银员重试,或者请求顾客更换支付方式。
6、 系统记录信用卡支付信息,其中包括支付批准。
7、 系统显示信用卡支付的签名输入机制。
8、 收银员请求顾客签署信用卡支付。顾客输入签名。
9、 如果在纸制票据上签名,则收银员将该票据放入现金抽屉并关闭抽屉。
7c、支票支付……
7d、记账支付……
7e、收银员取消支付步骤:
1、系统回到“商品输入”模式。
7f、顾客出示优惠券:
1、 在处理支付之前,收银员记录每张优惠券,系统扣除相应金额。系统记录已使用的
优惠券以备账务处理之用。
1a、输入的优惠券不适用于所购商品:
1、系统向收银员提示错误。
9a、存在产品回扣:
1、系统对每个具有回扣的商品给出回扣表单和票据
9b、顾客索要赠品票据(不显示价格)
1、收银员请求赠品票据,系统给出赠品票据。
9c、打印票据
1、 如果系统检测到错误,给出提示
2、 收银员更换纸张
3、 收银员请求打印其他票据
特殊需求:
使用大尺寸平面显示器触摸屏 UI。文本信息可见距离为 1 米。
90%的信用卡授权响应时间小于 30 秒。
由于某些原因,我们希望在访问远程服务(如库存系统)失败的情况下具有比较强的恢
复功能。
支持文本显示的语言国际化
在步骤 3 和步骤 7 中加入可插拔的业务规则
……
技术与数据变元表:
*a、经理超控需要刷卡(由读卡器读取超空卡)或在键盘上输入授权码。
3a、商品 ID 可以用条码扫描器(如果有条形码)或键盘输入
3b、商品 ID 可以使用 UPC(通用产品代码)、EAN(欧洲物品编码)、JAN(日本物品编码)或
SKU(库存单位)等任何一种编码方式。
7a、信用卡帐户信息可以用读卡器或键盘输入
7b、记录在纸质票据上的信用卡支付签名。但我们预测,两年内会有许多顾客将希望使用数
字签名。
发生频率:可能会不断地发生
4
未决问题:
税法如何变化?
研究远程服务的恢复问题
针对不同的业务需要怎样进行定制
收银员是否必须在从系统注销后带走他们他们现金抽屉?
顾客是否可以直接使用读卡器,还是必须由收银员完成?
UC2:处理退货
主要参与者:收银员
前置条件:收银员必须经过确认和认证。
后置条件:存储退货信息,记录货款出款,更新账务和库存信息。
主成功场景:
1. 顾客携带票据和商品到收银台。
2. 收银员检查商品和票据。
3. 收银员开始一次新的退货操作。
4. 收银员输入商品条码。
5. 系统逐条记录要退货的商品,并显示该商品的描述,价格,和出售日期。
6. 系统退款总额。
7. 收银员告知顾客可以退款的总额,并向顾客退款。
8. 系统记录完整的退货信息。并将退款和退款信息发送到外部的账务系统和库存系统。
9. 顾客携带退款金额离开。(如果有)
变化流程:
2a. 超过退货期限或者商品已经用过拒绝退款。
3b.商品如果是赠品拒绝退货
4a。商品库中不存在商品 ID。则手工录入。
3-7a。顾客要求从要退款的货物中减去一项。
3-7b,顾客要求取消本次退货。
7a,如果之前用户用信用卡付款,而信用卡退款交易被拒绝,则向用户退现金。
UC3:添加用户
主要参与者:系统管理员
前置条件:系统管理员必须经过经理和系统确认和认证。
后置条件:向系统中添加用户。
主成功场景:
1. 管理员获取新用户资料。
2. 新用户资料录入系统。
3. 设置用户类型。
4. 设置默认用户密码。
5. 添加用户到用户表并激活账号
6. 告知新用户账号和密码。
5
变化流程:
1a,用户资料不全
1.告知新用户提交完整的资料
2a,用户资料格式不规范
1.要求用户从新提交规范格式的资料
3a,设置新用户自定义用户密码(如果有)。
UC4:删除用户
主要参与者:系统管理员
前置条件:系统管理员经过经理批准和经过系统确认和认证,
后置条件:删除系统中的用户
主成功场景:
1. 根据用户名查找用户
2. 系统显示该用户的类型,状态,以及个人资料。
3. 找到用户并从用户表删除用户
变化流程:
1a,用户不存在,
1. 从新确认该用户用户名正确性
2a,发现用户资料不是于目标用户不符,取消操作。
UC5:添加库存
主要参与者:经理
前置条件:经理经过确认和认证登陆系统
后置条件:更新库存资料
主成功场景:
1.输入商品条码
2.系统显示出该商品的描述,价格以及当前库存数量。
3.经理输入商品要增加的数量。
4.,系统显示更新后的最新库存。
5 经理确定系统把数据更新到库存表
变化流程:
1a,商品 ID 可读。
1,经理手工输入商品 ID。
2,系统显示商品的描述和价格。
1b.系统内部不存在改商品 ID,
1. 经理手工录入产品描述,价格,并且对该价目进行标准计税。
2a,经理要更改该商品价格。
6
1,经理输入新的商品价格。
2,确定并把更改后的内容更新到数据库。
2-5a,因为某些原因取消本次添加更新操作。
4a,发现还没添加完毕返回第四步继续添加
3 补充规格说明
功能性:
1, 日志和错误处理
在持久性存储中记录所有错误
2, 可插入规则
在几个用例的不同场景点执行任意一组规则,以支持对系统功能的定制。
3, 安全性
任何使用都需要经过用户验证。
可用性:
1. 人性因素
顾客将能够看到 POS 大屏幕显示器的显示。因此
-应该能在 1 米外轻松看到文本。
-避免使用一些色盲人群难以辨认的颜色。
快捷,无错的销售交易处理极为重要,因为购买者希望快速离开,否则会给他
们购买体验带来付负面影响。
收银员的视线通常停留在顾客或商品,而不是计算机显示器上。因此,提示和
告警应该通过声音和传递而不仅仅是通过图像传递。
可靠性:
1. 可恢复性
如果在使用外部服务时出现错误,为了完成销售交易,需要尝试采用本地方案
加以解决。
2. 性能
正如“人性因素”一节中所提及的,购买者希望非常快速地完成销售处理过程。
外部的支付授权是瓶颈之一。我们的目标是:90%的情况下,能够一分钟之内
完成授权。
可支持性:
1. 可适应性
Next POS 的不同客户处理销售时有其特有的业务规则和处理需求。因此,在场
景中的几个预定之处,需要能够启用可插拨的业务规则。
2. 可配置性
不同的客户对其 POS 系统有不同的网络配置需求。例如。采用胖客户或瘦客户
端。两层或多层物理结构等等。除此之外,他们还要求具备修改配置的能力。
以便适应其变更业务和性能的需求。因此,系统应该具备一定的可配置能力以
适应这些需求。对此需要进一步分析,以发现哪些地方需要灵活性和灵活性的
程度。以及实现这种灵活性所需要的工作。
实现约束:
NextGen 的领导层坚持采用 JAVA 技术的解决方案,他们认为采用 JAVA 技术除了
7