Microsoft.NET 企业级应用架构设计-UML必要知识
UML的模式和使用方法
UML的3种使用方法为草稿模式、蓝本模式和编程语言。
用例图
1.图表标记
用例图中主要元素包括以下几种
| ![]() |
参与者和用例之间可以使用线段连接起来,这条连接线表示一个关系,关系分为如下几种:
| ![]() |
这种关系分为3种:包含、扩展和泛化
泛化关系
泛化关系是一种参与者和用例之间的关系,是通过一条不带箭头的直线表示。如上图中参与者Customer和用例Retrieve Orders之间的一个泛化关系。
泛化关系表示相连的两个部分之间存在着某种程度的交互。当然根据当前的上下文一般都可以找到关系中的主动和被动一方。
包含关系
包含关系是通过一条连接两个用例的有向直线表示的,用来给出箭头开始一段的用例包含了箭头结束一段的用例。 线段为虚线,且箭头不封闭,线段上也会写出“Include”字样。 | ![]() |
扩展关系
扩展关系表示某个用例扩展了另一个用例的行为。该关系的记号非常类似于包含关系,也是虚线、并不封闭的箭头,这时线段上会写出“extend”字样
扩展和包含的区别
扩展关系和包含关系关键不同点是扩展关系表示的是一种可选的依赖,它要传递的消息是某个用例能够可选地用来修饰并扩展另一个用例。
包含关系表示一种必需的依赖。
如上图中用户在Cart Checkout 用例汇总按(F1)键时才会发生。需要注意的是,扩展用例(Online Help)和被扩展用例(Cart Checkout)之间是相对独立的,并不互相依赖。
还需要提供提供一些触发条件,应为仅在某些特定条件下,扩展关系才会被触发。
泛化关系
泛化关系表示了类似父子或继承的关系。
泛化关系是通过一条直线和一个空心箭头表示的。箭头指向父元素,线段发起自子元素。子参与者或子用例继承了父元素的功能并作出了扩展,添加了更加特化的功能。
右图中表示Registered User将触发Retrieve Product Details用例。Retrieve Orders用例仅能由Customer触发。此外,Customer参与者还是一种特别的Registered User。 | ![]() |