作者有话说:原创不易,仅供参考,大家发现有什么错误欢迎在评论区留言,也可以给作者小白一些鼓励。其次,请不要直接搬运或抄袭,文章内容仅用于参考和交流学习,感谢理解~
目录
一、用例图
网上购物系统有如下描述:
1、系统管理员负责系统的管理维护工作,维护工作包括商品的添加、删除和修改,对顾客基本信息的添加、修改、查询和删除。
2、顾客通过客户机浏览器根据账号和密码进入选购商品的界面,在这里顾客可以查询已购买的商品,继续选购商品,查询自己的基本信息。
根据以下描述绘制用例图:
外部参与者:顾客、系统管理员
顾客用例
- 查询商品信息。顾客可以在查询界面了解可供自己选择的商品信息。
- 登录网上购物系统。顾客能够根据自己的账号和密码登录购物系统,如果身份验证失败,不得进行下一步操作。通过身份认证才能够进入下一个操作页面。
- 选择根购买的商品。在选择商品的界面选择自己想购买的商品并确认提交。
- 查询个人信息。可以通过查询界面查询自己的基本信息。
系统管理者用例
- 登录购物系统。系统管理员使用账号和密码登录系统进行本系统的管理和维护工作。
- 添加顾客信息。将新注册的顾客的基本信息录入到本系统,并在数据库中保存。
- 修改顾客信息。对于个人基本信息发生变化的顾客,修改数据库中相关顾客的个人信息并保存。
- 删除顾客信息。将不再需要保存的顾客个人信息从数据库中删除。
- 查询顾客信息。根据顾客的姓名对顾客的个人基本信息进行相关的查询。
- 添加商品信息。将新的商品添加到购物系统中并保存到数据库中。
- 修改商品信息。对数据库中原有的商品信息进行修改并保存到数据库中。
- 删除商品信息。将不再出售的商品从数据库中删除。
网上购物系统——用例图
解析:
画用例图第一步是先找出参与者和用例。在本题的网上购物系统中,参与者有系统管理者和顾客,系统管理员的用例有登录购物系统、添加顾客信息、修改顾客信息、删除顾客信息、查询顾客信息、添加商品信息、删除商品信息、修改商品信息。顾客的用例有登录、查询个人信息、查询商品信息、选择购买商品。
第二步是找出用例之间的关联关系,关联关系主要有扩展、包含、泛化等。首先系统管理者登录系统这个用例行为必须包含另一个用例行为,就是验证账号和密码。我把有关顾客信息操作的用例都包含于管理顾客信息这个用例里面,把对商品信息的操作也都包含于管理商品信息这个用例中,简化一下图的分支。然后查询顾客信息这个用例还必须包含查询顾客姓名这个用例,才能够查询到。顾客登录系统用例也是一样的道理,不同之处在于如果身份验证失败要重新验证账号和密码,直到验证成功,这里用的是扩展更新,因为重新进行身份验证这个扩展用例可能不需要用到。
网上购物系统用例图如下图所示:
图1 网上购物系统用例图
二、时序图和协作图
根据以下描述绘制网上购物系统的时序图和协作图
- 顾客进入选择商品界面SelectForm,在界面中确定选择的商品并提交请求。
- 选择商品界面SelectForm将顾客所选商品信息传递到控制对象Control,控制对象将商品信息与数据库中的商品信息进行比较,判断是否可以购物。
- 如果可以,执行选择商品操作,将购物结果保存到数据库中。
- 控制对象返回购物成功信息到选择商品界面SelectForm。
- 顾客从界面得到购物成功的信息
1、网上购物系统——时序图
解析:
画时序图第一步是找出对象,第二步是找到消息(实线去,虚线回),最后再确认时间顺序(从上到下,从左到右)。根据题干说明,首先找出对象有顾客、选择商品界面SelectForm、控制对象Control、数据库。接着根据消息的传递依次激活对应的对象,其中数据库有两个自关联信息。
网上购物系统时序图如下图所示:
图2 网上购物系统时序图
2、网上购物系统——协作图
解析:
协作图直接根据时序图转变即可,要注意的是消息序号的书写规则,顺序执行用单层序号(1、2、3…)表示,嵌套执行用双层序号(1.1,1.2,1.3…)表示,异步执行用三层序号加字母(1.1.1a,1.1.1b…)表示。
网上购物系统协作图如下所示:
图3 网上购物系统协作图
三、活动图
根据以下描述绘制活动图,确保包括所有的主要活动、决策节点、并行活动和结束节点。
- 读者登录系统。
- 读者搜索想要借阅的书籍。
- 系统显示搜索结果。
- 读者选择书籍并查看书籍详情。
- 如果书籍可用,读者可以选择预约书籍。
- 系统确认预约并通知读者预约成功。
- 读者到图书馆领取书籍。
- 图书管理员确认书籍领取。
- 系统更新书籍状态。
读者借书系统——活动图
解析:
画活动图的第一步是确定泳道的对象,列出泳道。在读者借书系统中,涉及三个对象,分别是读者、图书馆管理系统、图书管理员。第二步是确定活动和转移,起点只有一个,终点可以有多个。在该系统活动图中,同步杠可以用于分组和组合,读者登录系统后,系统接受登录信息,读者也可以搜索要借阅的书籍,交由系统,显示搜索结果,如果找到搜索的书籍,读者就可以查看书籍详情和选择书籍,书籍可用就可以进行预约了。如果系统找不到书籍,找到的书籍不可用,都会导致预约取消。接着就是系统进行预约处理,预约成功发给读者通知,读者线下领取书籍,图书管理员确认书籍被领取之后,让系统更新书籍借阅状态,本次借书活动也就结束了。
读者借书系统活动图如下所示:
图4 图书馆借书系统活动图
四、状态图
绘制购物车的状态图。首先列出所有状态、再绘制状态转换以及触发这些转换的事件。
- 初始状态为“空”。
- 当用户添加第一件商品时,购物车状态变为“非空”。
- 用户可以继续添加商品,购物车保持“非空”状态。
- 如果用户选择结算,购物车状态转为“结算中”。
- 结算完成后,如果购物车中无商品,状态重置为“空”;如果用户取消购买,购物车恢复到“非空”状态。
- 用户可以随时清空购物车,无论当前状态如何,清空操作后购物车都应返回到“空”状态。
网购购物车——状态图
解析:
画状态图第一步是列出该对象所有状态,第二步是找出导致状态转变的事件,第三步是看状态有没有做什么动作。该购物车的状态有三个,分别是空、非空、结算中。最初状态为“空”,需要添加商品才会变为“非空”状态。“非空”状态是当购物车中有未结算商品时,继续添加商品依旧为非空状态。在购物车中选择商品结算就会变成“结算中”状态,如果结算中取消购买也会回到非空状态,成功结算后,如果此时购物车里没有商品了就变为“空”状态,还有商品就是“非空”。由于用户可以随时清空购物车,所有三个状态都可通过清空购物车这一事件变为“空”状态。
购物车状态图如下所示:
图5 购物车状态图