UML 用例图

  • 格式:docx
  • 大小:109.37 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UML 用例图:准则

在 Visual Studio 旗舰版中,可以绘制“用例图”来概括使用您的应用程序或系统的用户以及该应用程序或系统的用途。若要创建 UML 用例图,请在“体系结构”菜单上,单击“新建关系图”。

用例图有助于讨论和传达以下内容:

您的系统或应用程序与人、组织或外部系统进行交互的几种方案。

它帮助参与者实现的目标。

系统的范围。

用例图不显示用例的详细信息:它只概括用例、参与者和系统之间的某些关系。特别是,用例图不显示每个用例为实现目标所执行步骤的顺序。可以在其他关系图和文档中描述这些详细信息,这些关系图和文档可与各用例相链接。有关更多信息,请参见本主题中的详细描述用例。

您为用例提供的描述将使用与系统所用于的领域相关的一些词汇,如“销售”、“菜单”、“顾客”等。明确定义这些词汇及其关系是非常重要的,您可以借助 UML 类图来进行定义。有关更多信息,请参见 UML 类图:准则。

用例只处理系统的功能要求。诸如业务规则、服务质量要求和实现约束等其他要求必须另外表示。体系结构和内部细节也必须另外说明。有关如何定义用户需求的更多信息,请参见用户需求建模。

本主题中使用的示例与顾客可在其上从本地餐馆订餐的网站有关。

“参与者”(1) 是与您的系统进行交互的一类人、组织、设备或外部软件组件。例如,“顾客”、“餐馆”、“温度传感器”、“信用卡授权方”都是参与者。

“用例”(2) 表示一个或多个参与者为实现特定目标而执行的操作。例如,“订餐”、“更新菜单”、“处理付款”都是用例。

在用例图中,用例与执行它们的参与者相关联 (3)。

“系统”(4) 是您开发的任何成果。系统可以是小型软件组件,其中的参与者只是其他软件组件;系统也可以是完整的应用程序;系统还可以是部署在多台计算机和设备上的大型分布式应用程序套件。例如,“订餐网站”、“送餐业务”、“网站版本 2”都是子系统。

用例图可以显示系统或其子系统支持的用例。

主题内容

绘制用例图的基本步骤

绘制参与者和用例

详细描述用例

结构化用例

使用子系统边界

绘制用例图的基本步骤

创建新的用例图

1.在“体系结构”菜单上,单击“新建关系图”。

2.在“模板”下,单击“UML 用例图”。

3.命名该关系图。

4.在“添加到建模项目”中,从您的解决方案中选择一个现有建模项目,或者选择“创建新的建模项目”,然后单击“确定”。

绘制用例图

1.将“子系统”边界从工具箱拖到关系图中,它可以表示整个系统或其中的主要组件。

如果不希望描述系统或其组件支持哪些用例,用例图中可以不绘制系统边界。

根据需要,拖动系统的四角将其扩大。

对其适当地重命名。

2.将“参与者”从工具箱拖到关系图中(将其放在所有系统边界之外)。

参与者表示与您的系统进行交互的各类用户、组织和外部系统。

重命名这些参与者。例如:“顾客”、“餐馆”、“信用卡机构”。

3.将“用例”从工具箱拖到适当的系统中。

用例表示参与者在系统的帮助下所执行的活动。

使用参与者自身能够理解的名称重命名这些用例。不要使用与代码有关的名称。例如:“订餐”、“付餐费”、“送餐”。

从主要的事务(如“订餐”)开始,直到后面较小的事务(如“点菜”)为止。

将每个用例放入支持它的系统或主要子系统(忽略任何只与用户有关的外观模式或组件模式)。

可以在系统边界外绘制用例,以表明系统(可能在特定版本中)不支持该用例。

4.单击工具箱上的“关联”,然后单击用例,再单击该用例的参与者。以此方式将每个参与者与其用例相链接。

5.用“包括”、“扩展”和“泛化”关系结构化用例。若要创建其中的每个链接,请依次单击工具、源用例和目标。请参见下面的结构化用例一节。

6.详细描述用例。请参见下面的详细描述用例一节。

7.绘制其他关系图,使其分别针对不同子系统或不同相关用例组。一个建模项目中的所有关系图是同一模型的多种视图。

绘制参与者和用例

用例图的主要用途是显示与系统交互的用户以及这些用户借助系统实现的主要目标。

创建“参与者”来表示与您的系统或子系统进行交互的各类人员、组织、其他系统、软件或设备。

若要了解如何绘制参与者和其他元素,请参见如何:编辑 UML 模型和关系图。

对于每一组不同的目标,按其类型或角色标识参与者,即使具体的个人或实体可能是相同的。例如,“餐馆”和“顾客”是不同的参与者,即使餐馆的雇员可能有时候也是顾客。

为每个参与者希望借助系统实现的每个目标创建“用例”。

以参与者能够理解的词语命名并描述用例,而不应使用实现中所用的术语。

使用“关联”链接参与者与用例。

参与者之间的继承

可以在参与者之间绘制“泛化”链接。专用参与者(如示例中的“俱乐部顾客”)继承泛化参与者(如“顾客”)的用例。箭头应指向更通用的参与者,如“顾客”。创建链接时,首先指向更专用的参与者。

专用参与者可以有自己的额外用例,这些用例对于其他参与者是不可用的。

警告:不应造成会导致参与者泛化自身的泛化关系循环。循环可能会产生错误。

可选参与者图标

可以使用自定义图标而不是标准线条图来表示参与者。例如,可以将其更改为类似于设备、餐馆、银行等的图标。

更改参与者的外观

1.右击参与者,然后单击“属性”。

将出现“属性”窗口。

2.将“Image Path”属性设置为图像文件的位置。

可以使用多种图像格式中的任何一种,包括 .gif、.jpg 和 .bmp。

使用包含在解决方案或项目源代码管理中的文件,以便在移动或复制解决方案时仍可用。

3.若要将此外观复制到其他用例图中,请复制该参与者并将其粘贴到其他关系图中。

图像的更改仅应用于特定关系图中的视图。这不会应用于基础模型元素。如果将参与者从UML 模型资源管理器拖到另一个关系图中,该参与者将以标准线条图显示。

参与者与用例之间的重数

参与者与用例之间的关联可在每一端显示一个“重数”。

注意:如果用例图中某个关联两端的重数都为“1”,则隐藏该重数。

默认情况下,每个重数都为“1”。在模型的严格释义中,以顾客订餐为例,重数为 1 表示一餐只有一名顾客预订并且每名顾客一次只订一餐。

您可以更改这些重数。

例如: