【软件工程】面向对象与UML——用例图、时序图、协作图、活动图、状态图

作者有话说:原创不易,仅供参考,大家发现有什么错误欢迎在评论区留言,也可以给作者小白一些鼓励。其次,请不要直接搬运或抄袭,文章内容仅用于参考和交流学习,感谢理解~

目录

一、用例图

网上购物系统——用例图

二、时序图和协作图

1、网上购物系统——时序图

2、网上购物系统——协作图

三、活动图

读者借书系统——活动图

四、状态图

网购购物车——状态图


一、用例图

网上购物系统有如下描述:

1、系统管理员负责系统的管理维护工作,维护工作包括商品的添加、删除和修改,对顾客基本信息的添加、修改、查询和删除。
2、顾客通过客户机浏览器根据账号和密码进入选购商品的界面,在这里顾客可以查询已购买的商品,继续选购商品,查询自己的基本信息。

根据以下描述绘制用例图:

外部参与者:顾客、系统管理员

顾客用例

  1. 查询商品信息。顾客可以在查询界面了解可供自己选择的商品信息。
  2. 登录网上购物系统。顾客能够根据自己的账号和密码登录购物系统,如果身份验证失败,不得进行下一步操作。通过身份认证才能够进入下一个操作页面。
  3. 选择根购买的商品。在选择商品的界面选择自己想购买的商品并确认提交。
  4. 查询个人信息。可以通过查询界面查询自己的基本信息。

系统管理者用例

  1. 登录购物系统。系统管理员使用账号和密码登录系统进行本系统的管理和维护工作。
  2. 添加顾客信息。将新注册的顾客的基本信息录入到本系统,并在数据库中保存。
  3. 修改顾客信息。对于个人基本信息发生变化的顾客,修改数据库中相关顾客的个人信息并保存。
  4. 删除顾客信息。将不再需要保存的顾客个人信息从数据库中删除。
  5. 查询顾客信息。根据顾客的姓名对顾客的个人基本信息进行相关的查询。
  6. 添加商品信息。将新的商品添加到购物系统中并保存到数据库中。
  7. 修改商品信息。对数据库中原有的商品信息进行修改并保存到数据库中。
  8. 删除商品信息。将不再出售的商品从数据库中删除。

网上购物系统——用例图

解析:

        画用例图第一步是先找出参与者和用例。在本题的网上购物系统中,参与者有系统管理者和顾客,系统管理员的用例有登录购物系统、添加顾客信息、修改顾客信息、删除顾客信息、查询顾客信息、添加商品信息、删除商品信息、修改商品信息。顾客的用例有登录、查询个人信息、查询商品信息、选择购买商品。

        第二步是找出用例之间的关联关系,关联关系主要有扩展、包含、泛化等首先系统管理者登录系统这个用例行为必须包含另一个用例行为,就是验证账号和密码。我把有关顾客信息操作的用例都包含于管理顾客信息这个用例里面,把对商品信息的操作也都包含于管理商品信息这个用例中,简化一下图的分支。然后查询顾客信息这个用例还必须包含查询顾客姓名这个用例,才能够查询到。顾客登录系统用例也是一样的道理,不同之处在于如果身份验证失败要重新验证账号和密码,直到验证成功,这里用的是扩展更新,因为重新进行身份验证这个扩展用例可能不需要用到。

网上购物系统用例图如下图所示:

图1 网上购物系统用例图

二、时序图和协作图

根据以下描述绘制网上购物系统的时序图和协作图

  1. 顾客进入选择商品界面SelectForm,在界面中确定选择的商品并提交请求。
  2. 选择商品界面SelectForm将顾客所选商品信息传递到控制对象Control,控制对象将商品信息与数据库中的商品信息进行比较,判断是否可以购物。
  3. 如果可以,执行选择商品操作,将购物结果保存到数据库中。
  4. 控制对象返回购物成功信息到选择商品界面SelectForm。
  5. 顾客从界面得到购物成功的信息

1、网上购物系统——时序图

解析:

        画时序图第一步是找出对象,第二步是找到消息(实线去,虚线回),最后再确认时间顺序(从上到下,从左到右。根据题干说明,首先找出对象有顾客、选择商品界面SelectForm、控制对象Control、数据库。接着根据消息的传递依次激活对应的对象,其中数据库有两个自关联信息。

网上购物系统时序图如下图所示:

图2 网上购物系统时序图

2、网上购物系统——协作图

解析:

        协作图直接根据时序图转变即可,要注意的是消息序号的书写规则,顺序执行用单层序号(1、2、3…)表示,嵌套执行用双层序号(1.1,1.2,1.3…)表示,异步执行用三层序号加字母(1.1.1a,1.1.1b…)表示。

网上购物系统协作图如下所示:

图3 网上购物系统协作图

三、活动图

根据以下描述绘制活动图,确保包括所有的主要活动、决策节点、并行活动和结束节点。

  1. 读者登录系统。
  2. 读者搜索想要借阅的书籍。
  3. 系统显示搜索结果。
  4. 读者选择书籍并查看书籍详情。
  5. 如果书籍可用,读者可以选择预约书籍。
  6. 系统确认预约并通知读者预约成功。
  7. 读者到图书馆领取书籍。
  8. 图书管理员确认书籍领取。
  9. 系统更新书籍状态。

读者借书系统——活动图

解析:

        画活动图的第一步是确定泳道的对象,列出泳道。在读者借书系统中,涉及三个对象,分别是读者、图书馆管理系统、图书管理员。第二步是确定活动和转移,起点只有一个,终点可以有多个。在该系统活动图中,同步杠可以用于分组和组合,读者登录系统后,系统接受登录信息,读者也可以搜索要借阅的书籍,交由系统,显示搜索结果,如果找到搜索的书籍,读者就可以查看书籍详情和选择书籍,书籍可用就可以进行预约了。如果系统找不到书籍,找到的书籍不可用,都会导致预约取消。接着就是系统进行预约处理,预约成功发给读者通知,读者线下领取书籍,图书管理员确认书籍被领取之后,让系统更新书籍借阅状态,本次借书活动也就结束了。

读者借书系统活动图如下所示:

图4 图书馆借书系统活动图

四、状态图

绘制购物车的状态图。首先列出所有状态、再绘制状态转换以及触发这些转换的事件。

  1. 初始状态为“空”。
  2. 当用户添加第一件商品时,购物车状态变为“非空”。
  3. 用户可以继续添加商品,购物车保持“非空”状态。
  4. 如果用户选择结算,购物车状态转为“结算中”。
  5. 结算完成后,如果购物车中无商品,状态重置为“空”;如果用户取消购买,购物车恢复到“非空”状态。
  6. 用户可以随时清空购物车,无论当前状态如何,清空操作后购物车都应返回到“空”状态。

网购购物车——状态图

解析:

        画状态图第一步是列出该对象所有状态,第二步是找出导致状态转变的事件,第三步是看状态有没有做什么动作。该购物车的状态有三个,分别是空、非空、结算中。最初状态为“空”,需要添加商品才会变为“非空”状态。“非空”状态是当购物车中有未结算商品时,继续添加商品依旧为非空状态。在购物车中选择商品结算就会变成“结算中”状态,如果结算中取消购买也会回到非空状态,成功结算后,如果此时购物车里没有商品了就变为“空”状态,还有商品就是“非空”。由于用户可以随时清空购物车,所有三个状态都可通过清空购物车这一事件变为“空”状态。

购物车状态图如下所示:

图5 购物车状态图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值