超市销售管理及系统管理知识分析.docx
《超市销售管理及系统管理知识分析.docx》由会员分享,可在线阅读,更多相关《超市销售管理及系统管理知识分析.docx(39页珍藏版)》请在冰豆网上搜索。
超市销售管理及系统管理知识分析
XXXX大学
综合实践报告书
课程名:
系统分析与设计
实践项目:
超市销售管理系统
学院:
专业班级:
学生学号:
学生姓名:
指导教师:
年月日
第一章引言
1.1目的及范围
为了提高超市运作效率,方便进行超市管理,辅助提高超市的决策水平,降低经营成本,提高效益,增强超市扩展力,提供有效的技术保证。
本系统适用范围中小型超市
1.2术语
参与者:
系统的参与者
UI:
界面
POS:
销售终端
1.3文档结构
根据UML设计方法,该文档有引言,系统需求设计,系统视图,用例实现,设计类说明
第二章需求说明
2.1系统参与者
总经理:
超市负责人,负责管理员工,和管理销售
销售经理:
负责管理部分商品类型,上下架商品
收银员:
只负责处理销售
前台服务员:
负责办理会员卡与兑换礼品
2.2系统用例
用例名:
处理销售
参与者:
收银员
前置条件:
收银员必须经过确认和认证。
后置条件:
存储销售信息。
准确计算税金。
更新账务和库存信息。
生成票据。
记录支付授权的批准。
主成功场景:
1.顾客携带所购的商品到收银台通过POS机存款。
2.收银员开始一次新的销售交易。
3.收银员输入商品条码。
4.系统逐条记录出售的商品,并显示该商品的描述、价格和总额。
价格通过一组价格规则来计算。
收银员重复3~4步,直到输入结束
5.系统显示总额和所计算的税金,并显示总额给顾客核对。
6.收银员告知顾客总额,并请顾客付款。
7.顾客付款,系统处理支付。
8.系统记录完整的销售信息,并将销售和支付信息发送到外部的账务系统和库存系统。
9.系统打印票据。
替代流程:
3a.无效商品ID:
1.系统提示错误并拒绝输入该ID。
2.收银员相应该错误。
2a.商品ID可读
1.收银员手工输入商品ID。
2.系统显示商品项目的描述和价格。
3b.当有多个商品项目属于同一类别的时候,不必记录每个商品项目的唯一标识:
1.收银员可以输入类别的标识和商品的数量。
3c.需要手工输入类别和价格:
1.收银员收输入特定的类别代码及其价格。
3-6a.顾客要求收银员从所购商品中去掉一项:
1.收银员选择商品并将其删除。
2.系统删除该项目并显示更新后的总额。
3-6b.顾客要求收银员取消销售交易:
1.收银员在系统中取消销售交易。
5a.系统检测到与外部税务计算系统服务的通信故障:
1.系统在POS机节点上重启此服务,并继续操作。
5b.顾客符合打折条件:
1.收银员提出打折请求。
2.收银员输入顾客ID。
3.系统按照打折规则显示折扣总计额。
5c.顾客要求兑现账户积分,用于此次销售交易;
1.收银员提交积分请求。
2.收银员输入顾客ID。
3.系统应用积分直到价格为0,同时扣除结余积分。
6a.收银员询问顾客是否要塑料袋:
1.收银员收输入塑料袋特定的代码。
2.系统显示总额。
6b.顾客要求现金付款,但所携现金不足:
1.顾客要求使用其他支付方式。
1a.顾客要求取消此次交易,收银员在系统上取消该销售交易。
7a.现金支付:
1.收银员输入收取的现金额。
2.系统显示找零金额,并弹出现金抽屉。
3.收银员放入收取的现金,并找零。
4.系统记录该现金支付。
7b.信用卡支付:
1.顾客拿出信用卡
2.收银员确认。
2a.收银员取消付款步骤。
1.系统回复到“商品输入”模式。
3.系统向外部支付授权服务系统发送支付授权请求,并请求批准该支付。
3a.系统检测到与外部系统写作时的故障:
1.系统向收银员提示错误。
2.收银员请求顾客更换支付方式。
4.系统受到批准支付的应答并提示收银员,同时弹出现金抽屉。
4a.系统受到拒绝支付的应答:
1.系统向收银员提示支付被拒绝。
2.收银员请求顾客更换支付方式。
5.系统记录信用卡支付信息,期中包括支付批准。
6.系统显示信用卡支付的签名输入机制。
7.收银员请求顾客签署信用卡支付。
8.如果在纸质票据上签名,则收银员将该票据放入现金抽屉并关闭抽屉。
用例名:
管理员工
参与者:
总经理
前置条件:
总经理必须经过确认和认证。
后置条件:
系统保存已修改的员工信息,能安排上班时间。
主成功场景:
1.总经理管理(添加,删除,修改,查询)员工信息、权限。
2.系统保存员工信息。
返回主菜单,总经理继续操作。
3.总经理修改用户权限
4.系统保存用户权限。
返回主菜单,总经理继续操作。
5.总经理找到班次,选择员工ID。
6.系统保存班次信息。
重复以上操作,直到安排完成。
替代场景:
2a.系统无响应:
1.总经理重新进入系统。
2.总经理继续进行操作。
2b.系统已有该员工:
1.系统返回主菜单。
2.总经理继续操作。
2c.系统响应信息填写不正确:
1.系统提示不正确内容。
2.总经理继续操作。
4a.系统无响应:
1.总经理重新进入系统。
2.总经理继续进行操作。
6a.系统无响应:
1.总经理重新进入系统。
2.总经理继续操作。
6b.系统响应该班次已安排员工:
1.总经理重新安排员工。
用例名:
管理销售
参与者:
销售经理
前置条件:
总经理或销售经理必须经过确认和认证。
根据登陆信息,已经知道是总经理或是销售经理登录,销售经理只能负责其负责的商品
后置条件:
系统显示销售信息,系统修改销售信息,返回主菜单。
主成功场景:
1.总经理或销售经理选择查询某商品销售信息。
2.系统显示出该商品详细的销售信息。
3.总经理或销售经理对该商品信息进行修改。
4.系统保存销售信息。
5.返回菜单页面继续其他操作。
替代场景:
2a.系统提示无权限:
1.销售经理寻找总经理获得权限。
2.总经理或销售经理重新操作。
2b.系统无响应:
1.总经理重新进入系统。
2.总经理或销售经理重新操作。
4a.系统提示错误:
1.总经理重新进入系统。
2.总经理或销售经理重新操作。
4b.系统无响应:
1.总经理重新进入系统。
2.总经理或销售经理重新操作。
5a.系统无法返回主菜单。
1a.总经理重新进入系统。
2.总经理或销售经理重新进行操作。
用例名:
上架商品
主要参与者:
销售经理
前置条件:
销售经理必须到达活动地点或超市。
后置条件:
所销售的商品上架、下架,系统登记商品。
主要场景:
1.销售经理到达活动地点或超市。
2.销售经理从仓库提取所销售的商品,将商品上架。
3.销售经理进入管理系统,登记商品上架信息。
4.系统保存上架信息。
替代场景:
4a.系统无响应:
1.总经理重新进入系统。
2.总经理继续进行操作。
4b.系统提示没有该类商品。
1.销售经理输入该类商品信息。
2.系统保存上架信息。
用例名:
下架商品
主要参与者:
销售经理
前置条件:
销售经理必须到达活动地点或超市。
后置条件:
所销售的商品下架。
主要场景:
1.销售经理到达活动地点或超市。
2.销售经理将所销售的商品下架。
3.销售经理进入管理系统,删除商品信息。
4.系统保存信息。
替代场景:
4a.系统无响应:
1.总经理重新进入系统。
2.总经理继续进行操作。
用例名:
办理会员卡
参与者:
前台服务员
前置条件:
前台服务员必须经过确认和认证。
后置条件:
完成会员卡办理
主成功场景:
1.顾客把会员信息填好,申请会员卡。
2.前台服务员把信息输入,保存信息。
3.系统保存信息,记录会员卡编号
4.服务员把会员卡给顾客。
替代场景:
3a.系统无响应:
1.系统返回上一层,重新保存。
3b.系统无法记录信息:
1a.服务员重新记录。
1b.服务员用纸记录。
用例名:
兑换礼品
参与者:
前台服务员
前置条件:
前台服务员必须经过确认和认证,顾客是会员
后置条件:
根据积分兑换礼品
主成功场景:
1.顾客拿出会员卡兑换礼品。
2.前台服务员在系统中查找该会员的消费积分
3.顾客根据系统所显示的消费积分,提出想兑换的礼品
4.顾客获得礼品,系统在会员积分减掉本次用于兑换礼品所花费的积分
5.更新系统的会员信息记录
替代场景:
3a.消费积分不足以兑换礼品:
1a.该会员的消费积分小于最少的礼品所需要的积分。
1.前台服务员告知顾客,当前您的消费积分不足以兑换礼品。
2.顾客离开。
1b.该会员的消费积分小于想要兑换的礼品所需要的积分。
1.前台服务员告知顾客,当前您的消费积分不足以兑换礼品。
2.顾客重新选择礼品。
2.3补充规格说明
功能性:
1.日志和错误处理
在持久性存储中记录所有错误
2.安全性
任何使用都需要经过用户认证
可用性:
人性因素
顾客将能够看到POS屏幕显示器的显示。
因此:
应该在一米外轻松看到文本。
避免使用一般色盲人群难以辨认的颜色。
快捷、无错的销售交易处理极为重要,因为购买者希望快速离开,否则会给他们的购买体验(和对销售员的评价)带来负面影响。
收银员的视线通常停留在顾客或商品,而不是计算机显示器上。
因此,提示和警告应该通过声音传递而不仅仅是通过图像传递。
可靠性:
1.可恢复性
如果在使用外部服务(支付授权、账务系统、……)时出现错误,为了完成销售交易,需要尝试采用本地方案加以解决。
2.性能
需要快速完成销售处理过程。
实现约束:
采用Java技术的解决方案,采用Java技术除了易于开发外,还能够提高远期的移植和可支持性能力。
购买构件:
税金计算器。
必须支持用于不同国家的可插拔计算器。
免费开源构件:
尽可能地使用免费的Java技术开源构件
接口:
1.重要硬件和接口
计算机
条形码扫描仪
票据打印机
信用卡/借记卡读卡器
2.4业务规则
ID
规则
可变性
来源
规则1
购买者折扣规则。
示例:
员工:
20%折扣额
会员:
10%折扣额
高
每个零售商有不同规则
零售商政策
规则2
生鲜食品每日5点促销
20%折扣额
高
每个零售商有不同规则
零售商政策
规则3
节假日促销
高
每个零售商有不同规则
零售商政策
2.5领域对象分析
2.5.1领域类图
图2.5.1
图2.5.2
2.5.2领域类说明
顾客:
在超市消费的主体,可以申请会员卡。
收银员:
负责使用收银机的员工。
收银员=员工ID+员工密码+职位+性别+年龄+电话+地址+
付款方式:
有现金付款和信用卡付款
超市:
具有名称和地址,用于打印票据。
购买的商品描述:
商品ID,价格,销售总额,用于打印票据。
商品:
顾客购买的商品,具有商品ID,商品数量属性,用于打印票据。
总额:
顾客需要支付商品总额,
销售业务:
有销售时间,用于打印票据。
总经理:
管理员工以及超市销售。
销售经理:
管理某商品销售
员工权限:
登录系统的权限。
员工描述=员工ID+员工名+职位+性别+身份证+权限
前台服务员:
负责办理会员卡,兑换礼品。
会员:
能够享受折扣或积分优惠。
会员描述=会员ID+姓名+积分+电话
上班时间:
安排员工班次。
第三章架构设计说明
3.1逻辑视图
图3.1.1
GUILayer层:
用户界面。
每个用例的界面类处于该层中。
在一些实现中,一个界面类通常带有一个控制类,也处于该层。
界面类负责与用户交互,控制类负责与业务逻辑层通信
BizLogicLayer层:
对从UI层输入的数据进行操作。
DomainLayer层:
实体类。
DataBase:
数据库类
3.2进程视图
图3.2.1
图3.2.1为进程视图,其中公用客户端以及收银机进程作为外部数据录入的进程,必须依赖应用服务器数据库客户端进行操作,最后保存在数据库里。
而人员管理和销售信息进程必须依赖内部电脑数据库服务端进行操作,调用数据库里的数据。
3.3开发视图
图3.3.1图3.3.2
图3.3.3图3.3.4
图3.3.1表示处理销售开发,图3.3.2表示管理销售开发,图3.3.3表示管理员工开发,图3.3.4表示会员类开发。
3.4物理视图
图3.4.1
3.5用例视图
图3.5.1
第四章用例实现
4.1处理销售
参与用例实现的对象
界面类:
GUISale
控制类:
Register
实体类:
Sale,SalesLineItem,Payment,ProductCatalog,ProductDescription,SalesLedger
参与对象动态关联
图4.1.1
顺序图
图4.1.2
4.2管理员工
参与用例实现的对象
界面类:
GUIManage
控制类:
Manage
实体类:
EmployeeEmployeedescTimeTable
参与对象动态关联
图4.2.1
顺序图
图4.2.2
4.3管理销售
参与用例实现的对象
界面类:
GUIItem
控制类:
CtrlItem
实体类:
ProductTypeProductCatalogProductDescription
参与对象动态关联
图4.3.1
顺序图
图4.3.2
4.4办理会员卡
参与用例实现的对象
界面类:
GUICard
控制类:
transactCard
实体类:
membermenberDesc
参与对象动态关联
图4.4.1
顺序图
图4.4.2
4.5兑换礼品
参与用例实现的对象
界面类:
GUICard
控制类:
transactCard
实体类:
membermenberDesc
参与对象动态关联
图4.5.1
顺序图
图4.5.2
4.6上架商品
参与用例实现的对象
界面类:
GUIItem
控制类:
CtrlItem
实体类:
Shelves
参与对象动态关联
图4.6.1
顺序图
图4.6.2
4.7下架商品
参与用例实现的对象
界面类:
GUIItem
控制类:
CtrlItem
实体类:
Shelves
参与对象动态关联
图4.7.1
顺序图
图4.7.2
第五章设计类说明
5.1设计类字典
1Sale
说明:
此类实现销售业务有关职责,对应于领域对象的销售业务。
属性:
序号
属性名
类型
初始值
1
isComplete
bool
0
2
time
DateTime
3
操作:
intgetTotal();//获取本销售总金额;
intmakePayment(Moneyamount);//完成付款。
amount为付款金额。
返回值为1表示成功,0表示失败;
2ProductCatalog
说明:
此类实现得到商品目录,对应领域对象的产品目录。
属性:
序号
属性名
类型
初始值
1
itemID
long
2
itemName
String
3ProductDescription
说明:
此类实现销售业务有关职责,对应于领域对象的产品描述。
属性:
序号
属性名
类型
初始值
1
itemID
String
2
itemName
String
3
itemPrice
double
4
itemNum
int
5
SalesProPrice
double
6
SalesProDateS
String
7
SalesProDateE
String
4GUISale
说明:
此类实现界面显示
操作:
voidMakeNewSales()//新建一个销售业务
voidmakePayment(amt)//付款
5CtrlSale
说明:
此类是控制器,对实体类进行操作,对应领域对象的收银机。
操作:
voidresetSale()//重置销售业务
descgetProductDesc(id)//得到产品目录
descgetId(id)//得到产品描述
doublemakeLineItem(desc)//得到货物总价
diplay(desc,total)//显示商品描述和总价
diplay(change)//显示找零
6EmployeeDesc
说明:
此类实现EmployeeDesc信息,对应于领域对象的员工描述。
属性:
序号
属性名
类型
初始值
1
EmpID
String
2
Empwd
String
3
Authority
boolean
3
EmpName
String
4
EmpSex
String
5
Identity
String
6
EmpPhone
String
7
7Casher
说明:
此类Casher信息,继承EmployeeDesc类,对应于领域对象的收银员。
属性:
序号
属性名
类型
初始值
1
EmpID
String
2
EmpName
String
3
position
String
收银员
操作:
voidMakeNewSales()//新建销售
voidEnterItem(id,qty)//商品id数量,开始销售处理
voidMakePayment(amt)//收款
8SalesManager
说明:
此类实现SalesManager操作,继承EmployeeDesc类,对应于领域对象的销售经理。
属性:
序号
属性名
类型
初始值
1
EmpID
String
2
EmpName
String
3
position
String
销售经理
操作:
voidEnterItem()//进入销售管理界面
9GUIItem
说明:
此类实现管理销售界面。
操作:
voidEnterItem()//进入管理销售操作
descgetType(id)//得到产品类型
descgetProductDesc(id)//得到产品目录
descget(id)//得到产品描述
10CtrlItem
说明:
此类实现销售业务有关职责,对应于领域对象的销售业务。
操作:
intupdateSales(desc)//更新销售信息
intquerySales(id)//查询销售信息
voidshowSales(desc)//显示销售信息
intrecordItem(id,qty)//记录上架信息
intdeleteItem(id)//商品下架
11Shelves
说明:
此类记录上架信息,对应于领域对象的架
属性:
序号
属性名
类型
初始值
1
ItemID
String
2
ItemName
String
3
quantity
String
总经理
12Manager
说明:
此类实现Manager操作,对应于领域对象的总经理。
属性:
序号
属性名
类型
初始值
1
EmpID
String
2
EmpName
String
3
position
String
总经理
操作:
voidEnterManage()//进入员工管理界面
13GUIManage
说明:
此类显示管理员工界面。
操作:
voidEnterManage()//
14Manage
说明:
此类管理员工。
操作:
descgetEmployee(id)//显示员工列表
descget(id)
voidshowEmpDesc(desc)//显示员工信息
intupdateEmp(desc)//更新员工信息
intqueryEmp(id)//查询员工信息
intdeleteEmp(id)//删除员工信息
add(id)//修改员工工作时间表
voidshowTable()//显示上班员工安排
15TimeTable
说明
此类上班时间表,继承EmployeeDesc类对应于领域对象的上班时间。
属性:
序号
属性名
类型
初始值
1
EmpID
String
0
2
EmpName
String
3
timeS
String
4
timeE
String
16Server
说明:
此类为前台服务员,办理会员卡与兑换礼品有关职责,继承EmployeeDesc类对应于领域对象的前台服务员。
属性:
序号
属性名
类型
初始值
1
EmpID
String
2
EmpName
String
3
position
String
前台服务员
操作:
voidEnterCard()//进入界面
17GUICard
说明:
此类为办理会员卡界面。
操作:
voidEnterCard()//进入界面
18transactCard
说明:
此类办理会员卡与兑换礼品有关职责。
操作:
descgetMember(Cid)//显示会员列表
descget(Cid)//显示会员名单
intupdateCustomer(desc)//修改会员信息
intdeleteCustomer(id)//删除会员
intqueryCustomer(id)//查询会员
showCusDesc()//显示会员资料
intdecrease(id).//减少会员积分
19Member
说明:
此类为会员,对应于领域对象的会员。
属性:
序号
属性名
类型
初始值
1
CID
String
20MemberDesc
说明:
此类为会员描述,对应于领域对象的会员描述。
属性:
序号
属性名
类型
初始值
1
CID
String
2
CName
String
3
Cphone
String
4
points
String
5.2物理包设计
图3.3.1图3.3.2
图3.3.3图3.3.4
图3.3.1为Sales包表示处理销售开发,图3.3.2为ItemManage包表示管理销售开发,图3.3.3为Manage包表示管理员工开发,图3.3.4为Member包