在线购物系统——分析类
1.图形文档
2.文字说明
1.1类图综述
在线购物系统分析类图主要是分析整个系统运作的大致流程和细节,每个对象具有的属性特征和操作,以及对象之间关系。该系统总共有12个类,其中包用户、游客、客户、管理员、高级管理员、商品管理员、客服、订单管理员、物流系统、商品、商品仓库以及物流信息接口,
1.2类描述
1.2.1用户类
整体说明:用户类是游客类和客户类的父类
属性说明:无属性
操作说明:无操作
关系说明:用户类被游客类和客户类继承
1.2.2游客类
整体说明:游客类是游客对象的集合和用户类的子类,类名为游客
属性说明:无属性
操作说明:包括搜索浏览商品、注册账号两个操作
(1)搜索浏览商品操作
作用:搜索相关商品,并浏览商品的信息
可见性:public
参数列表:无
返回类型:返回与关键字相关的商品对象数组
操作方法:在搜索栏输入商品关键字搜索相关商品
其他说明:搜索浏览商品的前提是已经登录系统
(2)注册账号操作
作用:用手机号或者邮箱注册一下属于自己的账号,注册之后成为客户
可见性:public
参数列表:手机号或者邮箱、账号密码
返回类型:返回一个客户对象
操作方法:点击登录界面的注册账号连接,输入个人信息后即可注册账号
其他说明:每个手机号或者邮箱只能注册一个账号
关系说明:游客类继承于用户类
1.2.3客户类
整体说明:客户类是所有客户对象的集合和用户类的子类,类名为客户,为
主动类
属性说明:包括姓名、手机号、邮箱、登录密码、收货地址以及订单记录
(1)姓名
属性名:姓名
属性含义:表明客户的姓名
数据类型:字符串
可见性:private
(2)手机号
属性名:手机号
属性含义:表明客户的手机号
数据类型:字符串
可见性:private
(3)邮箱
属性名:邮箱
属性含义:表明客户的邮箱
数据类型:字符串
可见性:private
(4)登录密码
属性名:登录密码
属性含义:表明客户账号的登录密码
数据类型:字符串
可见性:private
(5)收货地址
属性名:收货地址
属性含义:表明客户所购买商品的收货地址
数据类型:字符串数组
可见性:private
(6)订单记录
属性名:订单记录
属性含义:存储客户在该在线购物系统所有的订单记录
数据类型:字符串数组
可见性:private
操作说明:包括注册账号、登录、修改个人信息、搜索浏览商品、购买商品、维护购物车、取消订单、查看订单、查看物流信息、确认收货、申请退货、评价、咨询、投诉、找回密码、找回账号、查看订单
(1)注册账号
作用:用手机号或者邮箱注册一下属于自己的账号,注册之后成为客户
可见性:public
参数列表:手机号或者邮箱、账号密码
返回类型:返回一个客户对象
操作方法:点击登录界面的注册账号连接,输入个人信息后即可注册账号
其他说明:每个手机号或者邮箱只能注册一个账号
(2)登录
作用:以客户的身份登录进去在线购物系统
可见性:public
参数列表:手机号或者邮箱、账号密码
返回类型:无返回值
操作方法:在系统登录界面输入账号和密码进行登录(选择以客户身份
登录)
其他说明:当输入的账号或者密码错误时,会有相应的提示
(3)修改个人信息:
作用:修改客户手机号、邮箱、密码等个人信息
可见性:public
参数列表:客户对象
返回类型:客户对象
操作方法:在客户个人中心处点击修改个人信息的连接即可
其他说明:修改个人信息的前提是要已经登录系统;填写新的个人信息后
要保存信息才能修改成功
(4)搜索浏览商品
作用:搜索相关商品,并浏览商品的信息
可见性:public
参数列表:无
返回类型:返回与关键字相关的商品对象数组
操作方法:在搜索栏输入商品关键字搜索相关商品
其他说明:搜索浏览商品的前提是已经登录系统
(5)购买商品
作用:购买购物车中的商品
可见性:public
参数列表:购物车中的商品对象
返回类型:一条订单记录
操作方法:将需要购买的商品加入购物车,修改商品的数量后,即可点击
购买
其他说明:购买商品的前提是,该商品有库存或者满足商品购买的数量要
求
(6)维护购物车
作用:删除购物车中的商品或修改购物车中商品的数量
可见性:public
参数列表:购物车中的商品对象及其数量
返回类型:购物车中新的商品对象及其数量
操作方法:在购物车中,选择某商品那一栏,进行删除或修改数量操作
其他说明:维护购物车的前提是购物车里有商品
(7)取消订单
作用:在购买商品之后会生成一条订单,取消订单操作可以取消该条商品
订单
可见性:public
参数列表:某条订单记录
返回类型:整数类型,“1”表示取消订单成功,“0”则表示失败
操作方法:在系统个人中心可以查看订单记录,选择你要取消的订单
其他说明:订单只会在购买商品之后产生,而且只能在确认收货前取消
订单
(8)查看订单
作用:查看以往的订单记录
可见性:public
参数列表:无
返回类型:用于记录订单的字符串数组
操作方法:在系统的个人中心可以查看订单记录
其他说明:不能查看之前取消过的订单
(9)查看物流信息
作用:查看已经购买商品的物流信息
可见性:public
参数列表:某商品对象
返回类型:存储某商品物流信息的字符串
操作方法:在该商品的订单处可以查看物流信息
其他说明:物流信息是由第三方物流系统提供的,要想查看物流信息,必
须有该系统提供的接口
(10)确认收货
作用:向商家确认收到所购买的商品
可见性:public
参数列表:某商品对象
返回类型:无返回值
操作方法:客户检查收到的商品没问题后,在对应商品的订单记录处确认
收货
其他说明:确认收货的前提是商品送达客户手里,并检查无误
(11)申请退货
作用:到货处理包括确认收货和申请退货
可见性:public
参数列表:某商品对象
返回类型:无
操作方法:如果客户对所购买商品不满意,可在对应商品的订单记录处选
择申请退货
其他说明:申请退货后,要等商家核实批准后,才能退货成功
(11)评价
作用:客户可对已经确认收货的商品进行评价
可见性:public
参数列表:某商品对象
返回类型:用于存储客户对商品评价的字符串数组
操作方法:除了用文字评价商品,还可以上传商品的照片
其他说明:对商品评价的前提是已经确认收货
(12)咨询
作用:客户可以咨询
可见性:public
参数列表:某客户对象
返回类型:无
操作方法:在个人中心进去客服系统进行咨询
其他说明:向客服咨询的前提是已经登录进入在线购物系统
(13)投诉
作用:如果客户不满意商品或者服务,可以向管理员投诉
可见性:public
参数列表:某客户对象
返回类型:无
操作方法:在个人中心进入客服系统进行投诉
其他说明:投诉的前提是已经登录进入在线购物系统
(14)找回密码
作用:通过验证直接设置新的密码
可见性:public
参数列表:客户账号
返回类型:存储新密码的字符串
操作方法:在登录界面点击找回密码,通过手机号或者邮箱验证,即可设
置新的密码。
其他说明:同一个账号一天最多修改5次密码
(15)找回账号
作用:通过手机验证找回邮箱或者通过邮箱验证找回手机
可见性:public
参数列表:手机或者邮箱
返回类型:存储手机或者邮箱的字符串
操作方法:在登录界面点击找回密码,通过手机号或者邮箱验证,即可重
新绑定手机或者邮箱
其他说明:若忘记手机号,则通过邮箱验证重新绑定新的手机号,忘记
邮箱也类似
(16)查看订单
作用:客户可在个人中心查看以往的订单记录
可见性:public
参数列表:某客户对象
返回类型:存储订单记录的字符串数组
操作方法:在个人中心点击查看订单即可查看
其他说明:查看订单的前提是已经登录在线购物系统
关系说明:客户类继承于用户类,与高级管理员类、商品类、订单处理员类
、物流信息接口类以及客服类有联系
1.2.4管理员类
整体说明:管理员类是高级管理员类、商品管理员类、客服类以及订单处理
员类的父类,封装了这些子类的公共属性和操作
属性说明:包括姓名、手机号、邮箱、登录密码四个属性
(1)姓名
属性名:姓名
属性含义:表明管理员的姓名
数据类型:字符串
可见性:private
(2)手机号
属性名:手机号
属性含义:表明管理员的手机号
数据类型:字符串
可见性:private
(3)邮箱
属性名:邮箱
属性含义:表明管理员的邮箱
数据类型:字符串
可见性:private
(4)登录密码
属性名:登录密码
属性含义:表明管理员的登陆密码
数据类型:字符串
可见性:private
操作说明:包括登录、找回密码、找回账号三个操作
(1)登录
作用:以管理员的身份登录进去在线购物系统
可见性:public
参数列表:手机号或者邮箱、账号密码
返回类型:无返回值
操作方法:在系统登录界面输入账号和密码进行登录(选择以管理员身
份登录)
其他说明:当输入的账号或者密码错误时,会有相应的提示
(2)找回密码
作用:通过验证直接设置新的密码
可见性:public
参数列表:客户账号
返回类型:存储新密码的字符串
操作方法:在登录界面点击找回密码,通过手机号或者邮箱验证,即可设
置新的密码。
其他说明:同一个账号一天最多修改5次密码
(3)找回账号
作用:通过手机验证找回邮箱或者通过邮箱验证找回手机
可见性:public
参数列表:手机或者邮箱
返回类型:存储手机或者邮箱的字符串
操作方法:在登录界面点击找回密码,通过手机号或者邮箱验证,即可重
新绑定手机或者邮箱
其他说明:若忘记手机号,则通过邮箱验证重新绑定新的手机号,忘记
邮箱也类似
关系说明:管理员类被高级管理员和商品管理员继承
1.2.5高级管理员类
整体说明:高级管理员类既是主动类也是被动类,主动在于可管理商品管
理员、订单处理员以及客服,被动在于可受理客户的投诉
属性说明:无
操作说明:只有受理投诉一个操作
(1)受理投诉
作用:受理客户的投诉,并反映给其他管理员
可见性:public
参数列表:要进行投诉的客户对象
返回类型:无
操作方法:在个人中心查看投诉记录,并予以回应
其他说明:投诉会以消息的形式通知高级管理员
关系说明:高级管理员类是管理员累的子类,与客户类、客服类、订单处
理员类以及商品管理员类有关联
1.2.6商品管理员类
整体说明:商品管理员类既是主动类也是被动类,主动在于可以管理商品
,负责商品的出售、进货等操作,被动在于高级管理员可以管
理商品管理员
属性说明:无
操作说明:包括上下架商品、修改商品信息、出售商品和进货商品几个操作
(1)上下架商品
作用:受理客户的投诉,并反映给其他管理员
可见性:public
参数列表:某一个商品对象
返回类型:整数类型,“1”表明操作成功,“0”表明操作失败
操作方法:若下架商品,则在商品列表中选择指定商品下架;若上架商
品,则先填写商品的信息,然后上架商品
其他说明:只有商品管理员才有上下架商品的权限,且必须先登录系统
(2)修改商品信息
作用:修改已经上架的商品的信息,信息包括商品名称、价格、出产地等
等
可见性:public
参数列表:某一个商品对象
返回类型:整数类型,“1”表明操作成功,“0”表明操作失败
操作方法:在商品列表中选择指定商品,查看并修改商品信息
其他说明:只有商品管理员才有修改商品信息的权限,且必须先登录系统
(3)出售商品
作用:出售某个商品,也即客户购买了这个商品
可见性:public
参数列表:出售的商品对象、购买商品的客户对象
返回类型:整数类型,“1”表明操作成功,“0”表明操作失败
操作方法:从商品仓库中取出客户要购买的商品,并寄给该客户
其他说明:客户购买该商品后,系统会发消息通知商品管理员
(4)进货商品
作用:如若发现商品仓库中某商品库存不足,则进货该商品
可见性:public
参数列表:某一个商品对象
返回类型:整数类型,表明进货某种商品的数量
操作方法:通知生产商,进货一定数量该商品
其他说明:只有商品管理员才有进货商品的权限
关系说明:商品管理员类是管理员类的子类,与高级管理员类、商品类以及
商品仓库类有关联
1.2.7订单管理员类
整体说明:订单处理员类既是主动类也是被动类:订单管理员管理客户购买
商品生成的订单,而且被高级管理员所管理
属性说明:无
操作说明:包括查看物流信息和处理订单两个操作
(1)查看物流信息
作用:查看指定商品的物流信息
可见性:public
参数列表:某一个商品对象
返回类型:存储商品物流信息的字符串数组
操作方法:在订单列表中查看某订单中商品的物流信息
其他说明:该操作的前提是已经登录系统
(2)处理订单
作用:可以添加或删除订单、修改订单的信息等
可见性:public
参数列表:某一个订单
返回类型:整数类型,“1”表明操作成功,“0”表明操作失败
操作方法:在订单列表中选择指定订单进行处理
其他说明:只有订单处理员才有处理订单的权限
关系说明:订单处理员类是管理员类的子类,与客户类、高级管理员类以及
物流信息接口类有关联
1.2.8客服类
整体说明:客服类是被动类,负责解答客户的咨询,并被高级管理员管理
属性说明:无
操作说明:包括查看物流信息和与客户交流两个操作
(1)查看物流信息
作用:查看指定商品的物流信息
可见性:public
参数列表:某一个商品对象
返回类型:存储商品物流信息的字符串数组
操作方法:在订单列表中查看某订单中商品的物流信息
其他说明:该操作的前提是已经登录系统
(2)与客户交流
作用:与客户交流,解答客户的疑问
可见性:public
参数列表:某一个客户对象
返回类型:整数类型,“1”表明与客户连接成功,“0”表明连接失败
操作方法:与客户直接进行线上交流
其他说明:客户咨询时会以消息的方式通知客服
关系说明:客服类是管理员类的子类,与客户类、高级管理员类以及物流信
息接口类有关联
1.2.9商品类
整体说明:商品类为被动类,每一个商品对象代表一个商品
属性说明:包括名称、类型、价格和库存几个属性
(1)名称
属性名:商品名称
属性含义:表明商品的名称
数据类型:字符串
可见性:private
(2)类型
属性名:商品类型
属性含义:表明商品的类型,例如生活用品、电子产品等
数据类型:字符串
可见性:private
(3)价格
属性名:商品价格
属性含义:表明商品的价格
数据类型:整型
可见性:private
(4)库存
属性名:商品库存
属性含义:表明商品的库存
数据类型:整型
可见性:private
操作说明:无
关系说明:商品类与客户类、商品管理员类以及商品仓库类有关联
1.2.10商品仓库类
整体说明:商品仓库类是被动类,商品管理员从商品仓库中存取货物
属性说明:只有商品库存一个属性
(1)商品库存
属性名:商品库存
属性含义:表明每个商品的库存数量
数据类型:整型数组
可见性:private
操作说明:无
关系说明:商品仓库类与商品管理员类和商品类有关联
1.2.11物流系统类
整体说明:物流系统类为主动类,提供物流信息给物流信息接口类
属性说明:无
操作说明:包括提供物流信息以及更新物流信息两个操作
(1)提供物流信息
作用: 向物流信息接口类提供物流信息
可见性:public
参数列表:无
返回类型:整数类型,“1”表明操作成功,“0”表明操作失败
操作方法:每更新一次物流信息,物流系统自动向物流信息接口提供一次
物流信息
其他说明:物流系统是第三方系统,对不同的对象提供不同的物流信息,
无法提供所有商品的物流信息
(2)更新物流信息
作用:实时更新商品的物流信息,方便他人及时得到最新的 物流信息
可见性:public
参数列表:无
返回类型:整数类型,“1”表明与客户连接成功,“0”表明连接失败
操作方法:实时跟踪商品的位置
其他说明:无
关系说明:物流系统类与物流信息接口类有关联
1.2.12物流信息接口类
整体说明:物流信息类是一个接口类
属性说明:无
操作说明:只有提供物流信息一个操作
(1)提供物流信息
作用: 向客户类、客服类以及订单处理员类提供物流信息
可见性:public
参数列表:某个客户对象或者客服对象或者订单处理员对象、某个商品对
象
返回类型:整数类型,“1”表明操作成功,“0”表明操作失败
操作方法:每更新一次物流信息,物流信息接口自动向服务对象提供一次
物流信息
其他说明:物流系统是第三方系统,对不同的对象提供不同的物流信息,
无法提供所有商品的物流信息
关系说明:物流信息接口类与客户类、客服类、订单处理员类以及物流系
物流系统类有关联
1.3关联描述
(1)客户——商品
关联名称:购买
关联类型:二元关联
关联所连接的类:客户类、商品类
关联端点:多重性
关联说明:客户类为主动类,商品类为被动类;每个客户都可以购买任意数
量的商品,而每个商品只能被一个客户购买
(2)客户——高级管理员
关联名称:受理投诉
关联类型:二元关联
关联所连接的类:客户类、高级管理员类
关联端点:多重性
关联说明:客户类为主动类,高级管理员为被动类;每个客户可以向一个或
多个高级管理员投诉,高级管理员可以受理任意数量客户的投诉
(3)客户——订单处理员
关联名称:管理订单
关联类型:二元关联
关联所连接的类:客户类、订单处理员类
关联端点:多重性
关联说明:客户类为主动类,订单处理员员为被动类;每个客户的订单由一
个或多个订单管理员来管理订单,每个订单管理员可以管理任意
数量客户的订单
(4)客户——客服
关联名称:咨询
关联类型:二元关联
关联所连接的类:客户类、客服类
关联端点:多重性
关联说明:客户类为主动类,客服类为被动类;每个客户可以向一个或
多个客服进行咨询,客服可以向任意数量的客户进行解答
(5)客户——物流信息
关联名称:查看物流信息
关联类型:二元关联
关联所连接的类:客户类、物流信息接口类
关联端点:
关联说明:客户类主动类,物流信息接口类为被动类;每个客户可以通过物
流信息接口查看物流系统提供的物流信息
(6)高级管理员——商品管理员
关联名称:管理
关联类型:二元关联
关联所连接的类:高级管理员类、商品管理员类
关联端点:多重性
关联说明:高级管理员类为主动类,商品管理员为被动类;每个高级管理员
管理任意数量的商品管理员,每个商品管理员被唯一一个高级管
理员管理
(7)高级管理员——订单处理员
关联名称:管理
关联类型:二元关联
关联所连接的类:高级管理员类、订单处理员类
关联端点:多重性
关联说明:高级管理员类为主动类,订单处理员为被动类;每个高级管理员
管理任意数量的订单处理员,每个订单处理员被唯一一个高级管
理员管理
(8)高级管理员——客服
关联名称:管理
关联类型:二元关联
关联所连接的类:高级管理员类、客服类
关联端点:多重性
关联说明:高级管理员类为主动类,客服为被动类;每个高级管理员管理任
意数量的客服,每个客服被唯一一个高级管理员管理
(9)订单处理员——物流信息
关联名称:查看物流信息
关联类型:二元关联
关联所连接的类:订单处理员类、物流信息接口类
关联端点:
关联说明:订单处理员类为主动类,物流信息接口类为被动类;每个订单处
理员可以通过物流信息接口查看物流系统提供的物流信息
(10)客服——物流信息
关联名称:查看物流信息
关联类型:二元关联
关联所连接的类:客服类、物流信息接口类
关联端点:
关联说明:客服类为主动类,物流信息接口类为被动类;每个客服可以通过
物流信息接口查看物流系统提供的物流信息
(11)物流系统——物流信息接口
关联名称:查看物流信息
关联类型:二元关联
关联所连接的类:物流系统类、物流信息接口类
关联端点:
关联说明:物流系统类为主动类,物流信息接口类为被动类;物理信息系统
在每次更新物流信息时,都会提供物流信息给物流信息接口
(12)商品管理员——商品
关联名称:管理商品
关联类型:二元关联
关联所连接的类:商品管理员类、商品类
关联端点:多重性
关联说明:商品管理员类为主动类,商品类为被动类;每个商品管理员可以
管理任意数量的商品,每个商品被至少一个商品管理员管理
(13)商品管理员——商品仓库
关联名称:存取货物
关联类型:二元关联
关联所连接的类:商品管理员类、商品仓库类
关联端点:多重性
关联说明:商品管理员类为主动类,商品类为被动类;每个商品管理员可以
从至少一个商品仓库存取货物,每个商品仓库至少被一个商品管
理员管理
1.4继承描述
(1)用户类——游客类
一般类:用户类
特殊类:游客类
(2)用户类——客户类
一般类:用户类
特殊类:客户类
(3)管理员类——高级管理员类
一般类:管理员类
特殊类:高级管理员类
(3)管理员类——商品管理员类
一般类:管理员类
特殊类:商品管理员类
(4)管理员类——订单处理员类
一般类:管理员类
特殊类:订单处理员类
(5)管理员类——客服类
一般类:管理员类
特殊类:客服类
1.5依赖描述
(1)商品仓库→商品
依赖名称:存放
所涉及的类:商品仓库类、商品类
依赖类型:包含
附加说明:商品仓库存放商品,商品的购买、进货等会影响商品仓库的库存