pos系统UML报告.docx
- 文档编号:25614522
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:22
- 大小:116.26KB
pos系统UML报告.docx
《pos系统UML报告.docx》由会员分享,可在线阅读,更多相关《pos系统UML报告.docx(22页珍藏版)》请在冰豆网上搜索。
pos系统UML报告
一需求分析说明
1系统的参与者
收银员
超市员工,负责帮顾客处理销售
经理
负责管理收银员和处理一些突发的事情
顾客
购买本公司商品或服务
系统管理人员
负责管理POS机系统
售货员
负责管理的公司商品
2系统用例
UC1:
处理销售
范围:
NextGenPOS应用
级别:
用户目标
主要参与者:
收银员
前置条件:
收银员必须经过确认和认证。
后置条件:
存储销售信息。
准确计算税金。
更新账务和库存信息。
记录提成。
生成票据。
记录支付授权的标准。
主成功场景:
1.顾客携带所购商品或服务到收银台通过POS机付款。
2.收银员开始一次新的销售交易。
3.收银员输入商品条码。
4.系统逐条记录出售的商品,并显示改商品的描述、价格和累计额。
价格通过一组价格规则来计算。
收银员重复3~4步,直到输入结束。
5.系统显示总额和所计算的税金。
6.收银员告知顾客总额,并请顾客付款。
7.顾客付款,系统处理支付。
8.系统记录完整的销售信息,并将销售和支付信息发送到外部的账务系统和库存系统。
9.系统打印票据
10.顾客携带商品和票据离开
扩展:
*a.系统在任意时刻失败:
为了支持恢复和更正账务处理,要保证所有的交易的敏感状态和事件都能够从场景的任何一步中完全恢复。
1.收银员重启系统,登录,请求恢复上次状态
2.系统重建上次状态
1a.客户或经理需要回复一个中断的销售交易。
1.收银员执行回复操作,并且输入ID以提取对应的销售交易。
2.系统显示被恢复的销售交易状态及其小计。
2a.未发现对应的销售交易。
1.系统向收银员提示错误。
2.收银员可能会开始一个新销售交易,并重新输入所有商品。
3.收银员继续该次销售交易(可能输入更多的商品或处理支付)。
3a.无效商品ID(在系统中未发现)
1.系统提示错误并拒绝输入该ID。
2.收银员响应该错误。
2a.商品ID可读
1.收银员手工输入商品ID
2.系统显示商品项目的描叙和价格。
2a.无效商品ID:
系统提示错误。
收银员尝试其他方式
2b.系统内不存在该商品ID,但是该商品附有价签:
1.收银员请求经理执行超控操作。
2.经理执行相应的超控操作。
3.收银员选择手工输入价格,输入价签上的价格,并且请求对该价目进行标准计税。
2c.收银员通过执行寻找其他产品帮助以获取正确的商品ID及其价格。
2d.另外,收银员可以向其他员工询问商品ID或价格,然后手工输入ID或价格
3b.当有多个商品项目属于同一类别的时候(如5个汉堡包),不必记录每个商品项目的唯一标识:
1.收银员可以输入类别的标识和商品的数量。
3-6a.顾客要求收银员从所购商品中去掉一项:
所去除商品的价格必须小于收银员的权限,否则需要经理执行超控操作。
1.收银员输入商品ID并将其删除。
2.系统删除该项目并显示更新后的累计额。
2a.商品价格超过了收银员权限:
1.系统提示错误,并建议经理超控。
2.收银员请求经理超控,完成超控后,重做该操作。
3-6b.顾客要求收银员取消销售交易:
1.收银员在系统中取消销售交易
5a.系统检测到与外部税务计算系统服务的通信故障:
1.系统在POS机节点上重启此服务,并继续操作。
1a.系统检测到该服务无法重启。
1.系统提示错误。
2.收银员手工计算和输入税金,或者取消该销售交易。
5b.顾客声称他们符合打折条件(例如,是雇员和重要顾客):
1.收银员提出打折请求。
2.收银员输入顾客ID。
3.系统按照打折规则显示折扣总计。
5c.顾客要求兑现账号积分,用于此次销售交易:
1.收银员提交积分请求。
2.收银员输入顾客ID。
系统应用积分直到价格为0,同时扣除结余积分。
7a.现金支付:
1.收银员输入收取的现金额。
2.系统显示找零金额。
3.收银员放入收取的现金,并给顾客找零、
4.系统记录该现金支付。
9c.打印票据。
1.如果系统能够检测到错误,给出提示。
2.收银员更换纸张。
3.收银员请求打印其他票据。
UC2:
处理退货
范围:
NextGenPOS应用
级别:
用户目标
主要参与者:
收银员
涉众及其关注点:
--收银员:
希望查找和核对用户所退货物的销售记录,帮助顾客退货。
--售货员:
希望顾客成功退掉得商品放回货架或者仓库里
--顾客:
希望完成退货并得到快速服务。
--经理:
希望能够快速执行超控操作,并易于更正收银员的不当操作。
前置条件:
收银员必须经过确认和认证,并接收到退货信息的通知。
成功保证:
存储退货信息。
更新账务和库存信息。
生成票据。
主成功场景:
1.顾客携带所购商品以及票据到指定的收银台通过POS机进行退货。
2.收银员开始一次新的退货操作。
3.收银员输入需要退货商品的条码。
4.系统逐条记录退货的商品,并显示该商品的描述、价格和累计额。
价格通过一组价格规则来计算。
收银员重复3~4步,直到输入结束。
5.系统显示退货总额。
6.收银员告知顾客退货商品的总额,并请顾客确认信息。
7.顾客确认,系统处理退货。
8.系统记录完整的退货信息,并将退货信息发送到外部的账务系统和库存系统。
9.系统打印退货票据。
扩展:
1a.客户之前购买的票据丢失
1.收银员请求经理执行超控操作
2.经理执行相应的超控操作。
3a.无效商品ID(在系统中未发现)
1.系统提示错误并拒绝输入该ID。
2.收银员响应该错误。
2a.商品ID可读。
1.收银员手工输入商品ID。
2.系统显示商品项目的描叙和价格。
2a.无效商品ID:
系统提示错误。
收银员尝试其他方式。
2b.系统内不存在该商品ID,但是该商品附有价签:
1.收银员请求经理执行超控操作。
2.经理执行相应的超控操作。
3.收银员选择手工输入价格,输入价签上的价格,并且请求对该价目进行标准计税。
2c.收银员通过执行寻找其他产品帮助以获取正确的商品ID及其价格。
2d.另外,收银员可以向其他员工询问商品ID或价格,然后手工输入ID或价格
UC3:
收款
范围:
NextGenPOS应用
级别:
用户目标
主要参与者:
收银员
前置条件:
收银员必须经过确认和认证,且完成了销售
成功保证:
成功收款,将财务信息统计起来
主成功场景:
1.收银员将工作卡放到POS机的外部检测器上。
2.POS机弹出存放现金的卡口。
3.收银员将现金分类放到对应的卡口中,并给顾客找零
4.系统记录并显示入款的信息,统计财务信息。
5.收银员关闭卡口
扩展:
1a.POS机外部检测器失效,无法通过验证。
1.可以采取输入工作卡账号等相关信息,手动通过验证。
1.提示仍然无法通过验证,则需要请求经理通过超控操作
2a.验证之后,POS机无法自动弹出卡口。
1.可以用手按POS机的弹出按钮
1.仍然不能弹出,需要经理通过超控操作或现场指导
UC4:
增加用户
范围:
NextGenPOS应用
级别:
用户目标
主要参与者:
系统管理人员
前置条件:
系统管理人员通过账号密码登录POS机后台管理系统
成功保证:
成功的对POS机系统实现增加用户的操作
主成功场景:
1.系统管理人员进入POS系统管理后台
2.系统管理人员选择增加用户
3.填写该用户的信息以及权限
4.外部设备器生成对应的工作卡并弹出
5.系统更新用户信息
扩展:
1a.登录失败
1.重新输入账号密码
2.通过提示信息找回密码
4a.外部设备器不能弹出工作卡
1.手动操作进行处理
2.寻找修理外部设备的相关人员
3补充规格说明
修订历史
版本
日期
描述
作者
初始草案
2011年12月9日
第一个草案。
主要在细化阶段中进行精化
Chen
简介
本文档记录了NextGenPOS所有未在用例中描述的需求。
功能性
(通常跨越多个用例的功能性.)
1.日志和错误处理
在持久性存储中记录所有错误。
2.可插拔规则
在几个用例的不同场景点执行任意一组规则,以支持对系统功能的定制。
3.安全性
任何使用都需要经过用户认证。
可用性
人性因素
顾客将能够看到POS大屏幕显示器的显示。
因此:
1.应该在1米外轻松看到文本
2.避免使用一般色盲人群难以辨认的颜色。
快捷、无错的销售交易处理极为重要,因为购买者希望快速离开,否则会给他们的购买体验(和对销售人员的评价)带来负面影响。
收银员的视线通常停顿在顾客或商品,而不是计算机显示器上。
因此。
提示和警告应该通过声音传递而不仅仅通过图像传递。
可靠性
1.可恢复性
如果在使用外部服务(支付授权,账务系统)时出现错误,为了完成销售交易,需要尝试采用本地方案(入存储和转发)加以解决。
对此需要更深入的分析….
2.性能
正如“人性因素“一节中所提及的,购买者希望非常快速地完成销售处理过程。
外部的支付授权是瓶颈之一。
我们的目标是:
90%的情况下,能够在1分钟之内完成授权。
可支持性
1.适应性
NextGenPOS的不同客户在处理销售时有其特有的业务规则和处理需求。
因此,在场景中的预订之处(例如,当开始新的销售交易时,当增加新的商品时),需要能够启用可拔插的业务规则。
2.可配置性
不同的客户对其POS系统有不同的网络配置需求,例如,采用胖客户端或瘦客户端,两层或多层物理结构等等。
除此之外,他们还要求具备修改配置的能力,以便适应其变更业务和性能的需求。
因此,系统应该具备一定的可配置能力以适应这些需求。
对此需要进一步分析,以发现哪些地方需要灵活性和灵活性的程度,以及实现这种灵活性所需的工作。
实现约束
NextGen的领导层坚持采用Java技术的解决方案,他们认为采用Java技术除了易于开发外,还能够提高远期的移植和可支持性能力。
购买构件
税金计算器。
必须支持用于不同国家的可拔插计算器。
免费开源构件
一般而言,我们建议在该项目中尽可能地使用免费得Java技术开源构件。
尽管现在对确定的最终设计和选择构件来说为时尚早,但是我们建议采用以下构件:
JLog日志框架
接口
1.重要硬件和接口
触摸屏
条形码激光扫描仪
票据打印机
信用卡/借记卡读卡器
签名读取装置
2.软件接口
由于存在众多外部协作系统我们需要采用不同的接口,介入不同的系统。
二领域对象分析
1领域类图
2领域类说明
ProductCatalog:
产品目录,记录商店里的商品
ProductSpecification:
产品说明,单个产品的信息
Store:
商店
Item:
条目
SalesLineItem:
销售条目
Ledger:
总账
Register:
登记控制类
Sale:
货品清单
Cashier:
收银员,主要负责处理销售Register(登记控制类)
CashPayment:
现金支付
Customer:
顾客,即购买本公司的商品或服务
三架构设计说明
1逻辑架构包图
2各层的职责
UI层:
用户界面。
每个用例的界面类处于该层中。
在一些实现中,一个界面类通常带有一个控制类,也处于该层。
界面类负责与用户交互,控制类负责与业务逻辑层通信
BusinessLayer层:
业务逻辑层。
负责将用户从UI层交互的数据传送到数据访问层中,然后再把数据访问层的返回的数据送到用户界面中。
DataLayer层:
数据访问层。
定义一系列的方法,接口,通过从业务逻辑层中接收数据根据对应的方法访问数据库,将对应的数据返回到业务逻辑层中。
BaseStructure层:
实体类层。
将数据库中表,字段具体为实体类,方便调用和增加开发速度。
DataAccess层:
数据访问层:
有时候也称为是持久层,其功能主要是负责数据库的访问。
四用例实现
1处理销售
参与用例实现的对象
界面类:
UISale
控制类:
Register
实体类:
Sale,SalesLineItem,Payment,ProductCatalog,ProductDescription,Ledger
参与对象动态关联
顺序图
2处理退货
参与用例实现的对象:
界面类:
UIRefund
控制类:
Refund
实体类:
ReturnLineItem,ReturnPayment,ProductCatalog,ProductDescription
参与对象动态关联:
顺序图:
3收款
参与用例实现的对象:
界面类:
UIReceipt
控制类:
Receipt
实体类:
Financial,CasherClass
参与对象动态关联:
顺序图:
4:
增加用户
参与用例实现的对象:
界面类:
UIAddUser
控制类:
AddUser
实体类:
UserManageDepartment,UserClass
参与对象动态关联:
参与对象动态关联:
顺序图:
五设计类字典
1Sale
说明:
此类实现销售业务有关职责,对应于同名的领域对象。
属性:
序号
属性名
类型
值域
初始值(缺省值)
1
ID
int
自增
2
isComplete
bool
false
3
time
DateTime
操作:
intgetTotal():
获取本销售总金额;
intmakePayment(Moneyamount):
完成付款。
amount为付款金额。
返回值为1表示成功,0表示失败;
2ProductCatalog
说明
产品清单类,包括了一系列的产品,对应同名的领域对象
属性
序号
属性名
类型
值域
初始值(缺省值)
1
id
String
2
quantity
String
3
productName
String
操作:
StringgetProductSpec(intitemId);
获取产品信息
3ProductSpecification
说明:
产品描述类,对应同名的领域对象
属性:
序号
属性名
类型
值域
初始值(缺省值)
1
ID
int
2
name
string
3
address
string
5
ProductionDate
Date
6
validity
Date
7
description
text
操作:
intgetProduct(intID):
通过ID获取当前商品的信息
4SalesLineItem
说明
一件销售产品的条码,对应同名的领域对象
属性
序号
属性名
类型
值域
初始值(缺省值)
1
id
String
2
item
String
操作
intcreate()
新建一个销售产品条码
5.UserManage
说明:
用户管理类,子类,继承UserClass,系统管理员管理着收银员、经理登录信息
属性:
序号
属性名
类型
值域
初始值(缺省值)
1
SystemManagerID
String
2
SystemManagerPwd
String
3
user
User
操作:
ManageUser()系统管理员管理着收银员以及经理的登陆信息
6User
说明:
此类实现用户有关职责,对应于同名的领域对象。
属性:
序号
属性名
类型
值域
初始值(缺省值)
1
ID
int
自增
2
userID
int
3
pwd
string
操作:
intgetCasherUser():
获取当前收银员的工号
7Ledger
说明
总账类,计算一次销售的总账,对应同名的领域对象
属性
序号
属性名
类型
值域
初始值(缺省值)
1
id
String
2
amount
float
操作
intRegisterLedger(Salesale);
注册一个总账,对应一个Sale
8Return
说明
退货类,对应相应的领域类
属性
序号
属性名
类型
值域
初始值(缺省值)
1
isComplete
Boolean
2
time
DateTime
操作
intmakeNewReturn();
开始一次退货
intresetReturn();
重置一次退货
intreturnLineItem();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pos 系统 UML 报告