在线购物系统 实验三分析类类图
根据我前面两篇博客的需求以及用况图,画了本次实验的分析类类图如下:
感兴趣的可以看看我之前两篇博客:在线购物系统 实验一问题描述、词汇表(再次完善)
根据该类图,我做了以下文档辅助说明:
该部分由以下部分组成:类图综述、类描述、关联描述、继承描述、依赖描述。
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类,与回复咨询控制、管理评价控制、管理订单控制关联。 |
类名 | 个人信息 |
整体说明 | 每一个注册了账号的用户都有个人信息,该类用来保存个人信息。 |
属性说明 |
(private,String)账号:用户的手机号; (private,String)密码:用户注册时设置的密码; (private,String)邮箱:用户的个人邮箱; (private,String)地址:用户的收货地址。 |
操作说明 | (public,void)保存个人信息:修改完成之后,对修改后的个人信息进行保存。 |
关系说明 | 与登录验证控制、修改个人信息界面关联。 |
类名 | 商品信息 |
整体说明 | 该类存储了商品各种信息,包括商品价格、使用方法、适用范围等等。 |
属性说明 |
(public,double)价格:存储商品的单价; (public,String)商品名:商品的名字; (public,String)商品类型:商品的类型便于搜索商品时使用,如钢笔和铅笔都属于学习用品; (public,String)使用方法:存储商品的使用方法; (public,String)适用范围:存储商品的适用范围; (public,String)规格:存储商品的重量或者体积等; (public,String)条形码:每样商品的唯一标识,如铅笔盒钢笔的条形码不一样。 |
操作说明 | (public,void)保存商品信息 |
关系说明 | 是搜索商品界面类、购买界面类、商品的评价界面、管理商品界面的依赖。 |
类名 | 订单信息 |
整体说明 | 存储订单信息。 |
属性说明 |
(private,String)订单号:订单的唯一标识; (public,String)商品条形码:订单对应商品的条形码; (public,String)商品数量:每样商品对应的数量; (public,String)物流号:订单对应的物流号,可查询到订单的物流信息; (public,String)地址:订单的收货地址; (public,String)手机号:订单的联系方式。 |
操作说明 | (public,void)保存订单信息 |
关系说明 | 是查询订单界面、商品的评价界面、管理订单界面的依赖,依赖物流接口控制。 |
类名 | 购物车 |
整体说明 | 存储顾客购物车信息 |
属性说明 |
(public,String)购物车ID:购物车唯一标识。对应一个顾客; (public,String)账号:顾客的账号,与购物车一一对应; (public,String)商品条形码:与商品信息相对应; (public,int)商品数量:对应商品的数量。 |
操作说明 | (public,void)保存购物车信息 |
关系说明 | 是维护购物车界面的依赖 |
类名 | 评价信息 |
整体说明 | 存储顾客对商品的评价 |
属性说明 |
(public,String)商品条形码:商品的唯一标识,即评价对应的商品; (public,String)评价ID:评价的唯一标识,与商品一一对应; (public,String)评价内容:顾客对商品评价的内容。 |
操作说明 | (public,void)保存评价信息 |
关系说明 | 是管理评价界面、回复咨询界面的依赖 |
类名 | 注册界面 |
整体说明 | 游客注册时的界面 |
属性说明 | 无 |
操作说明 | (public,void)注册:输入个人信息之后直接注册 |
关系说明 | 与注册控制关联 |
类名 | 登录界面 |
整体说明 | 顾客、商品管理员、客服的登录界面,登录之后才可进行其他操作 |
属性说明 | 无 |
操作说明 | (public,void)登录:输入账号和密码,登录 |
关系说明 | 与登录验证控制关联 |
类名 | 修改个人信息界面 |
整体说明 | 用于用户修改个人信息时的可视化界面 |
属性说明 | 无 |
操作说明 | (public,void)修改:修改个人信息 |
关系说明 | 依赖个人信息类,与修改个人信息控制关联 |
类名 | 搜索商品界面 |
整体说明 | 游客、顾客通过搜索关键字浏览商品 |
属性说明 | 无 |
操作说明 | (public,class)搜索商品:输入关键字,搜索,返回商品信息类 |
关系说明 | 依赖商品信息类 |
类名 | 查询订单界面 |
整体说明 | 顾客登录之后可以查询自己的订单 |
属性说明 | 无 |
操作说明 |
(public,class)查看订单:输入订单号,搜索,返回订单信息类; (public,class)查看订单:输入账号、密码登录后查看自己所有的订单,返回订单信息类 |
关系说明 | 与查询订单控制关联,依赖订单信息 |
类名 | 维护购物车界面 |
整体说明 | 用于顾客维护购物车时的界面 |
属性说明 | 无 |
操作说明 |
(public,void)修改购物车商品数量:顾客可以增加或减少某商品的数量; (public,class)查看购物车:顾客可以查看自己的购物车,返回购物车类信息; (public,void)删除购物车商品:顾客可以从购物车上直接删掉不满意的商品。 |
关系说明 | 与维护购物车控制关联,依赖购物车 |
类名 | 购买界面 |
整体说明 | 顾客可以在该界面中确认购买商品种类、数量、地址、联系方式等再进行下单购买 |
属性说明 | 无 |
操作说明 | (public,void)购买商品:顾客可以自主下单购买所需商品; |
关系说明 | 与购买控制关联,依赖商品信息 |
类名 | 商品的评价界面 |
整体说明 | 顾客可以通过该界面评价已购买的商品 |
属性说明 | 无 |
操作说明 | (public,void)评价商品:顾客可以根据自己的使用以及比对来进行商品的评价。 |
关系说明 | 与商品的评价控制关联,依赖商品信息 |
类名 | 管理商品界面 |
整体说明 | 商品管理员通过该界面对商品进行管理 |
属性说明 | 无 |
操作说明 |
(public,void)增加商品:管理员上架商品; (public,void)删除商品:管理员将商品下架; (public,class)查看商品:管理员查看所有或者有选择地查看商品; (public,void)修改商品:管理员修改商品信息; |
关系说明 | 与管理商品控制关联,依赖商品信息 |
类名 | 管理订单界面 |
整体说明 | 商品管理员、客服可以通过该界面对顾客订单进行相应操作 |
属性说明 | 无 |
操作说明 |
(public,class)查看订单:管理员、客服可查看订单详情; (public,void)修改订单:客服根据顾客的意愿修改订单上的信息; (public,void)删除订单:客服根据顾客的要求取消订单。 |
关系说明 | 与管理订单控制关联,依赖订单信息 |
类名 | 管理评价界面 |
整体说明 | 商品管理员、客服可以通过该界面对顾客的评价进行相应操作 |
属性说明 | 无 |
操作说明 |
(public,class)查看评价:管理员、客服可查看顾客对商品的评价,返回评价信息类; (public,void)回复评价:客服对顾客的评价做出回复; |
关系说明 | 与管理评价控制关联,依赖评价信息 |
类名 | 回复咨询界面 |
整体说明 | 客服通过该界面对顾客的咨询、评价进行回复 |
属性说明 | 无 |
操作说明 |
(public,void)回复咨询:对顾客的提问进行回复; (public,void)查看咨询:客服对顾客的咨询进行查看。 |
关系说明 | 与回复咨询控制关联,依赖评价信息 |
类名 | 物流接口 |
整体说明 | 用于订单信息与物流信息的关联,及时更新订单物流 |
属性说明 |
(public,String)订单ID:物流信息与订单一一对应; (public,String)物流信息:物流信息内容,显示当前物流最新状态 |
操作说明 | 无 |
关系说明 | 与物流接口控制关联 |
类名 | 注册控制 |
整体说明 | 通过该控制类转到注册界面进行注册操作 |
属性说明 | 无 |
操作说明 | (public,void)注册:点击注册之后转到注册界面进行注册 |
关系说明 | 与注册界面、游客关联 |
类名 | 登录控制 |
整体说明 | 通过该控制类转到登录界面进行登录操作 |
属性说明 | 无 |
操作说明 | (public,void)登录:点击登录之后转到登录界面进行登录 |
关系说明 | 与登录界面、user关联 |
类名 | 登录验证控制 |
整体说明 | 用于登录验证,验证成功才可以顺利登录 |
属性说明 | 无 |
操作说明 | (public,void)登录验证:根据输入的账号,在个人信息中查找对应的登录密码,与输入密码进行比对,匹配成功则可以登录,否则无法登录 |
关系说明 | 与登录界面关联,依赖个人信息 |
类名 | 修改个人信息控制 |
整体说明 | 通过该控制类转到修改个人信息界面进行对应操作 |
属性说明 | 无 |
操作说明 |
(public,class)查看个人信息:,返回个人信息类到修改个人信息界面 (public,void)修改密码:根据账号跳转到对应的个人信息修改界面进行修改; (public,void)修改邮箱:根据账号跳转到对应的个人信息修改界面进行修改; (public,void)修改地址:根据账号跳转到对应的个人信息修改界面进行修改。 |
关系说明 | 与修改个人信息界面、user关联 |
类名 | 搜索商品控制 |
整体说明 | 通过该控制类转到对应的搜索商品界面,进行对应操作 |
属性说明 | 无 |
操作说明 | (public,class)搜索商品:转到对应的搜索界面进行搜索 |
关系说明 | 与游客、搜索商品界面关联 |
类名 | 查询订单控制 |
整体说明 | 通过该控制类转到对应的查询订单界面,查看顾客订单 |
属性说明 | 无 |
操作说明 | (public,class)查询订单:转到查询订单界面进行查询 |
关系说明 | 与查询订单界面、顾客关联 |
类名 | 维护购物车控制 |
整体说明 | 通过该控制类转到对应的维护购物车界面,进行相应购物车操作 |
属性说明 | 无 |
操作说明 |
(public,void)修改购物车商品数量:转到维护购物车界面,顾客可以增加或减少某商品的数量; (public,class)查看购物车:转到维护购物车界面,顾客可以查看自己的购物车,返回购物车类信息; (public,void)删除购物车商品:转到维护购物车界面,顾客可以从购物车上直接删掉不满意的商品; |
关系说明 | 与维护购物车界面、顾客关联 |
类名 | 购买控制 |
整体说明 | 通过该控制类顾客可以转到购买界面进行购买 |
属性说明 | 无 |
操作说明 | (public,void)购买商品:转到购买界面,顾客可以自主下单购买所需商品; |
关系说明 | 与购买界面、顾客关联 |
类名 | 商品的评价控制 |
整体说明 | 通过该控制类转到评价界面方便顾客评价商品 |
属性说明 | 无 |
操作说明 | (public,void)评价商品:转到评价界面,顾客可以根据自己的使用以及比对来进行商品的评价。 |
关系说明 | 与商品的评价界面、顾客关联 |
类名 | 管理商品控制 |
整体说明 | 通过该控制类转到管理商品界面,管理员对商品进行一系列操作 |
属性说明 | 无 |
操作说明 |
(public,void)增加商品:转到管理商品界面,管理员上架商品; (public,void)删除商品:转到管理商品界面,管理员将商品下架; (public,class)查看商品:返回商品信息,转到管理商品界面显示; (public,void)修改商品:转到管理商品界面,管理员修改商品信息。 |
关系说明 | 与管理商品界面、商品管理员关联 |
类名 | 管理订单控制 |
整体说明 | 通过该控制类转到管理订单界面 |
属性说明 | 无 |
操作说明 |
(public,class)查看订单:在管理订单界面返回订单详情; (public,void)修改订单:转到管理订单界面,客服根据顾客的意愿修改订单上的信息; (public,void)删除订单:转到管理订单界面,客服根据顾客的要求取消订单。 |
关系说明 | 与管理订单界面、商品管理员、客服关联 |
类名 | 管理评价控制 |
整体说明 | 通过该控制类商品管理员、客服可以对评价进行操作 |
属性说明 | 无 |
操作说明 |
(public,class)查看评价:返回评价信息类,转到管理评价界面进行显示; (public,void)回复评价:转到管理评价界面,客服对顾客的评价做出回复; |
关系说明 | 与管理评价界面、商品管理员、客服关联 |
类名 | 回复咨询控制 |
整体说明 | 通过该控制类转到回复咨询界面,客服可以回复咨询 |
属性说明 | 无 |
操作说明 |
(public,void)回复咨询:转到回复咨询界面,对顾客的提问进行回复; (public,class)查看咨询:返回咨询信息到回复咨询界面进行显示。 |
关系说明 | 与回复咨询界面、客服关联 |
类名 | 物流接口控制 |
整体说明 | 通过该控制类与物流接口取得联系,方便获取物流信息 |
属性说明 | 无 |
操作说明 | (abstract,void)联系物流接口 |
关系说明 | 与物流接口关联,是订单信息的依赖 |
3、 关联描述
在本系统中,存在的关联关系有:
关联名称:user登录
关联类型:二元关联
关联连接类:user、登录界面
关联端点:user1..1登录界面,public
关联名称:user拥有个人信息
关联类型:二元关联
关联连接类:user、个人信息
关联端点:user1..1个人信息,public
关联名称:商品信息拥有评价
关联类型:二元关联
关联连接类:商品信息、评价信息
关联端点:商品信息1..*评价信息,public
关联名称:订单信息拥有商品信息
关联类型:二元关联
关联连接类:订单信息、商品信息
关联端点:订单信息1..(1..*)商品信息,public
关联名称:购物车拥有商品信息
关联类型:二元关联
关联连接类:购物车、商品信息
关联端点:购物车1..*商品信息,public
关联名称:顾客拥有购物车
关联类型:二元关联
关联连接类:顾客、购物车
关联端点:顾客1..1购物车,public
4、 继承描述
顾客、商品管理员、客服分别继承user,其中:
一般类:user
特殊类:顾客、商品管理员、客服
5、 依赖描述
搜索商品依赖商品信息;
依赖名称:搜索已有商品
涉及的类:搜索商品界面、商品信息
类型:包含
附加说明:搜索商品该商品必须存在
查询订单依赖订单信息;
依赖名称:查询已有订单
涉及的类:查询订单界面、订单信息
类型:包含
附加说明:查看订单必须该订单存在
订单信息依赖物流接口;
依赖名称:查询订单物流
涉及的类:订单信息、物流接口控制
类型:包含
附加说明:订单信息必须有一一对应的物流信息
维护购物车依赖购物车;
依赖名称:维护已有购物车
涉及的类:维护购物车界面、购物车
类型:包含
附加说明:维护的购物车信息必须是当前购物车中存在的
购买依赖商品信息;
依赖名称:购买已有商品
涉及的类:购买界面、商品信息
类型:包含
附加说明:购买的商品在系统中存在
商品的评价依赖商品信息;
依赖名称:评价已有商品
涉及的类:商品的评价界面、商品信息
类型:包含
附加说明:只有商品存在才可以评价
管理商品依赖商品信息;
依赖名称:管理已有商品
涉及的类:管理商品界面、商品信息
类型:扩展
附加说明:执行管理商品之后选择是否对商品进行操作
管理订单依赖订单信息;
依赖名称:管理已有订单
涉及的类:管理订单界面、订单信息
类型:扩展
附加说明:选择是否管理订单
管理评价依赖评价信息;
依赖名称:管理已有评价
涉及的类:管理评价界面、评价信息
类型:扩展
附加说明:选择是否管理评价
回复咨询依赖评价信息;
依赖名称:回复已有评价
涉及的类:回复咨询界面、评价信息
类型:扩展
附加说明:选择是否回复