一、关系
依赖关系也有单向依赖和双向依赖之分,但双向依赖非常不推荐。
扩展用例是用例场景中的某个“支流”,是一种可选的,即使该扩展用例不存在,其基本用例也是完整的。
使用场景有:
表明用例的某一部分是可选的系统行为;
表明只在特定条件下才执行分支流,比如触发警报;
表明可能有一组行为段,其中的一个或多个段可以在基本用例的扩展点处插入;
表明多个基本用例中都有可能出发一个可选的分支流。
包含用例是用例场景里关键的核心业务,是一种必选的,如果包含用力不存在,其基本用例也就不完整了。
使用场景有:
从基本用例中分解出这样的行为:它对于了解基本用的主要目的并不是必需的,只有它的结果比较重要;
分解出两个或更多个用例所共有的行为。
实现所代表的含义是,基本用例描述了一个业务目标,但是该业务目标有多种可能的实现途径,每一种实现途径可以用用例实现来表示,而用例实现和基本用例之间就构成了实现关系。
精化关系也可以用于模型与模型之间,表示某个模型是通过精化另一个模型而得来的。
精化关系的子对象并没有增加、减少、改变基本对象的行为和属性,仅仅是更加细致和明确化。
泛化关系的子对象继承了基本对象的所有特征,并且子对象可以增加、改变基本对象的行为和属性。
聚合关系的整体和部分不是强依赖,即使整体不存在了,部分仍然存在。
组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,部分也将消亡。
一个组件应当是一个独立的业务模块,有着完备的功能,可独立部署,一个组件可以看成是一个完备的服务。
组件一般都是在较高的抽象层次定义的,在许多应用项目中并不需要组件建模。但是,如果采用了组件化的开发架构,或者从一开始就决定采用组件化开发模式,那么从系统分析开始就应当着手建立组件模型,并在后续的模型中逐步精化。
在实际工作中,一般说来服务器、工作站或客户机都可以称为一个节点。
关系抽象出对象之间的联系,让对象构成某个特定的结构。
关联关系(association)
关联关系是用一条直线表示的,描述不同类的的对象之间的结构关系。
依赖关系(dependency)
依赖关系也有单向依赖和双向依赖之分,但双向依赖非常不推荐。
扩展关系(extends)
扩展用例是用例场景中的某个“支流”,是一种可选的,即使该扩展用例不存在,其基本用例也是完整的。
使用场景有:
表明用例的某一部分是可选的系统行为;
表明只在特定条件下才执行分支流,比如触发警报;
表明可能有一组行为段,其中的一个或多个段可以在基本用例的扩展点处插入;
表明多个基本用例中都有可能出发一个可选的分支流。
包含关系(include)
包含用例是用例场景里关键的核心业务,是一种必选的,如果包含用力不存在,其基本用例也就不完整了。
使用场景有:
从基本用例中分解出这样的行为:它对于了解基本用的主要目的并不是必需的,只有它的结果比较重要;
分解出两个或更多个用例所共有的行为。
实现关系(realize)
实现所代表的含义是,基本用例描述了一个业务目标,但是该业务目标有多种可能的实现途径,每一种实现途径可以用用例实现来表示,而用例实现和基本用例之间就构成了实现关系。
精化关系(refine)
精化关系也可以用于模型与模型之间,表示某个模型是通过精化另一个模型而得来的。
精化关系的子对象并没有增加、减少、改变基本对象的行为和属性,仅仅是更加细致和明确化。
泛化关系(generalization)
泛化关系的子对象继承了基本对象的所有特征,并且子对象可以增加、改变基本对象的行为和属性。
聚合关系(aggregation)
聚合关系的整体和部分不是强依赖,即使整体不存在了,部分仍然存在。
组合关系(composition)
组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,部分也将消亡。
二、组件
一个组件应当是一个独立的业务模块,有着完备的功能,可独立部署,一个组件可以看成是一个完备的服务。
组件一般都是在较高的抽象层次定义的,在许多应用项目中并不需要组件建模。但是,如果采用了组件化的开发架构,或者从一开始就决定采用组件化开发模式,那么从系统分析开始就应当着手建立组件模型,并在后续的模型中逐步精化。
三、节点
在实际工作中,一般说来服务器、工作站或客户机都可以称为一个节点。