根据我前面两篇博客的需求以及用况图,画了本次实验的分析类类图如下:
感兴趣的可以看看我之前两篇博客:在线购物系统 实验一问题描述、词汇表(再次完善)
根据该类图,我做了以下文档辅助说明:
该部分由以下部分组成:类图综述、类描述、关联描述、继承描述、依赖描述。
1、 类图综述
上述类图主要实现的是在线购物,在整个系统当中,有游客、顾客、商品管理员以及客服等参与者。游客是比较特殊的存在,它没有账号,只能浏览商品,也可以选择注册。除了游客,其他的参与者都可以在登录之后有相应的权限去做相应的操作。在该系统中,顾客作为普通用户,可以搜索商品、购买商品、评价商品、查看购物单以及维护购物车,商品管理员主要是对商品进行管理,同时他可以查看顾客对商品的评价,从而更好地对商品进行维护操作,客服主要任务是对顾客的咨询进行回复,同时他可以查看顾客对商品的评价,对评价做出回复。
特别说明:顾客购买商品之后的付款由于是在第三方平台上进行操作,不属于本系统,不在本系统进行描述,顾客查看订单详情中的物流信息来自于第三方物流平台,物流信息实体不在本系统考虑范围内,但需要有一个物流接口,物流接口属于边界类,由物流接口控制类来控制,故在图中只画出了物流接口,没有物流信息实体。
2、 类描述
该部分包括类整体说明、属性说明、操作说明、关系说明等。
类名 |
游客 |
整体说明 |
在本系统没有注册账号的用户 |
属性说明 |
(private,String)ID:系统在游客搜索商品时临时分配的唯一标识符。 |
操作说明 |
(public,void)注册:游客可以通过注册账号成为顾客; (public,class)搜索商品(关键字):游客可以通过搜索关键字搜索、浏览商品。 |
关系说明 |
该类与注册控制、搜索商品控制关联 |
类名 |
user |
整体说明 |
由顾客、商品管理员、客服泛化出来的实体,拥有这三者的共同属性和操作的一般用户。 |
属性说明 |
(private,String)账号:用户的手机号,用于登录本系统; (private,String)密码:用户设置的登录密码,用于登录和验证。 |
操作说明 |
(public,void)登录:用户可以登录; (public,void)修改个人信息:用户可以修改个人信息,包括账号、密码、邮箱以及地址。 |
关系说明 |
该类作为一般类,顾客、商品管理员、客服三类是其特殊类,该类与登录控制、修改个人信息控制关联。 |
类名 |
商品管理员 |
整体说明 |
在本系统负责管理商品、订单的人员。 |
属性说明 |
无特殊属性 |
操作说明 |
(public,void)管理商品:管理员对商品进行管理; (public,class)查看订单:管理员查看订单详情; (public,class)查看评价:管理员查看顾客对商品的评价。 |
关系说明 |
该类继承user类,与管理商品控制、管理订单控制、管理评价控制关联。 |
类名 |
顾客 |
整体说明 |
在本系统上浏览商品、并有可能购买商品、评价、查看订单的用户 |
属性说明 |
无特殊属性 |
操作说明 |
(public,class)搜索商品:根据关键字搜索商品,返回商品信息类; (public,class)查询订单:顾客通过输入订单号或者直接搜索订单可以返回查看自己的订单; (public,void)维护购物车:顾客可以通过对购物车的操作来维护购物车,比如删除商品、改变商品数量。 (public,void)购买商品:顾客可以自主下单购买所需商品; (public,void)评价商品:顾客可以根据自己的使用以及比对来进行商品的评价。 |
关系说明 |
继承user类,与搜索商品控制、查询订单控制、维护购物车控制、购买控制、商品的评价控制关联。 |
类名 |
客服 |
整体说明 |
对顾客的评价、咨询等作出回复的人员。 |
属性说明 |
无特殊属性 |
操作说明 |
(public,void)管理评价:客服对顾客的评价进行查看或者回复; (public,void)回复咨询:对顾客的提问进行回复; (public,void)管理订单:客服对顾客的订单进行管理,包括查看订单、修改订单、删除订单。 |
关系说明 |
继承user类,与回复咨询控制、管理评价控制、管理订单控制关联。 |
类名 |
个人信息 |
整体说明 |
每一个注册了账号的用户都有个人信息,该类用来保存个人信息。 |