de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_TW

使用用例图和顺序图的综合指南

Uncategorized7 hours ago

用例图和顺序图是互补的UML工具这些工具协同工作,以全面理解系统功能和行为。本指南将引导您如何有效地结合使用这些图表,通过实际示例和详细解释进行说明。

如何结合使用用例图和顺序图

用例图:捕获功能需求

用例图表示系统的高层次功能(用例)以及与这些功能交互的外部参与者(用户或其他系统)。它们有助于识别什么系统从用户角度应执行的功能。用例以椭圆表示,参与者以小人图示表示,关系则展示交互或依赖关系。

示例:考虑一个在线银行系统。用例图可能包括客户、银行管理员和外部支付网关等参与者。用例可能包括“登录”、“转账”、“查看账单”和“管理账户”。关系将展示哪些参与者与哪些用例进行交互,从而清晰地呈现系统的功能范围。

顺序图:详细描述动态交互

顺序图描述了如何通过展示对象(类的实例)之间随时间交换的消息序列,来实现特定用例。它们描绘了对象的生命周期线以及执行用例行为所需的时间顺序交互流程。

示例:对于在线银行系统中的“转账”用例,顺序图将展示客户、银行账户、交易处理程序和外部支付网关等对象之间的交互。该图将展示消息的顺序,例如“请求转账”、“验证账户”、“处理交易”和“确认转账”,从而提供对实现该功能所需的动态行为和协作的详细视图。

结合使用两种图表的实际工作流程

1. 从用例图开始

识别并建模系统的关键用例和参与者。这能清晰地展示系统的功能范围和用户交互。

示例:对于一个图书馆管理系统,用例图可能包括图书管理员、会员和管理员等参与者。用例可能包括“借书”、“还书”、“搜索目录”和“管理库存”。关系将展示哪些参与者与哪些用例进行交互,有助于定义系统的功能需求。

2. 选择一个用例进行详细说明

选择一个具体的用例(例如“借书”)进行进一步探讨。该用例将成为您顺序图的基础。

示例:在图书馆管理系统中,选择“借书”用例需要确定会员借书所需的关键交互和步骤。这包括检查书籍的可用性、更新会员账户以及记录交易。

3. 为该用例创建顺序图

建模用例场景中涉及的对象(例如会员、书籍、图书馆数据库、交易日志)。按它们发生的顺序展示这些对象之间的交互(消息),以实现用例。这明确了实现该功能所需的动态行为和协作。

示例: 对于“借书”用例,顺序图将展示成员、书籍、图书馆数据库和交易日志之间的交互。该图将展示诸如“请求借书”、“检查可用性”、“更新成员账户”和“记录交易”等消息的顺序,提供对实现该功能所需的动态行为和协作的详细视图。

4. 使用顺序图表示变体和异常情况

除了主流程外,还应创建额外的顺序图,以表示用例中的替代流程或异常流程。

示例: 对于“借书”用例,替代流程可能涉及书籍不可用的情况。该替代流程的顺序图将展示诸如“请求借书”、“检查可用性”、“通知不可用”和“推荐替代书籍”等交互,详细展示系统如何处理异常情况。

5. 通过链接图表实现可追溯性

通过将顺序图与相应的用例关联起来,保持可追溯性,确保在高层次需求与详细交互之间能够清晰导航。

示例: 在图书馆管理系统中,将“借书”用例的顺序图与用例图关联起来,可确保利益相关者能够轻松在高层次概览与详细交互之间导航。这种可追溯性有助于在整个开发过程中保持清晰性和一致性。

总结表

图表类型 目的 关键要素 在开发中的作用
用例图 捕获系统功能和参与者 参与者、用例、关系 定义 什么 系统所执行的功能
顺序图 对随时间变化的对象交互进行建模 对象(生命线)、消息 定义 如何 系统动态行为的方式

来自在线书店的示例

用例图

在线书店的用例图识别出如客户和管理员等参与者,以及“下单”和“管理库存”等用例。关系展示了哪些参与者与哪些用例进行交互,从而清晰地呈现了系统的功能范围。

示例:

  • 参与者: 客户,管理员
  • 用例: 下单,管理库存,浏览目录,查看订单历史
  • 关系: 客户与下单和浏览目录交互;管理员与管理库存和查看订单历史交互。

时序图

时序图通过展示客户、购物车、订单和库存对象之间按顺序发生的交互,来模拟“下单”用例。这明确了实现该功能所需的动态行为和协作关系。

示例:

  • 对象: 客户,购物车,订单,库存
  • 交互: 请求下单,验证购物车,处理支付,更新库存,确认订单
  • 顺序: 客户请求下单 → 购物车验证商品 → 订单处理支付 → 库存更新库存 → 订单确认交易。

通过结合用例图和时序图,你既能获得系统功能的高层次概览,也能看到实现这些功能所需的详细交互过程,从而实现清晰的沟通和高效系统设计。

其他示例

医疗管理系统

用例图:

  • 参与者: 患者,医生,护士,管理员
  • 用例: 预约就诊,开具处方,更新病历,管理员工
  • 关系: 患者与预约就诊交互;医生与开具处方和更新病历交互;管理员与管理员工交互。

“开具处方”时序图:

  • 对象: 医生,患者,病历,药房
  • 交互: 请求处方,验证病史,生成处方,发送至药房,通知患者
  • 序列:医生申请处方 → 医疗记录核实病史 → 生成处方 → 药房接收订单 → 患者收到通知。

电子商务平台

用例图:

  • 参与者:客户、卖家、管理员
  • 用例:浏览商品、加入购物车、结账、管理列表、处理支付
  • 关系:客户与浏览商品、加入购物车和结账交互;卖家与管理列表交互;管理员与处理支付交互。

“结账”顺序图:

  • 对象:客户、购物车、支付网关、订单、库存
  • 交互:请求结账、验证购物车、处理支付、更新库存、确认订单
  • 序列:客户请求结账 → 购物车验证商品 → 支付网关处理支付 → 库存更新库存 → 订单确认交易。

结论

通过结合使用用例图和顺序图,您可以全面理解系统功能和行为。用例图提供了系统应执行功能的高层次概览,而顺序图则提供了系统动态行为的详细视图。这种结合确保了清晰的沟通、有效的系统设计以及复杂系统的成功实施。

参考文献:

[1] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577

[2] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577_sequencediag.html

[3] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575/6362_drawinguseca.html

[4] https://www.visual-paradigm.com/learning/handbooks/software-design-handbook/sequence-diagram.jsp

[5] https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html

[6] https://www.archimetric.com/from-requirements-to-interactions-using-use-case-class-and-sequence-diagrams/

[7] https://www.visual-paradigm.com/support/documents/vpuserguide/124_interoperabi.html

[8] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575_usecasediagr.html

Follow
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...