软考-软件设计师 UML建模
UML概念
UML是统一建模语言,和程序设计语言并无关系。 UML三个要素:UML的基本构造块,支配这些构造块如何放置在一起的规则和运用与整个语言的一些公共机制。 UML的基本构造块包括:事务(对模型中最具代表性成分的抽象),关系(把事务结合到一起),图(聚集了相关的事物)。 UML中有四种事务:结构事物,行为事物,分组事物,注释事物。 结构事物:模型的静态部分,如类,接口,用例,构件等,如图所示: 行为事物:模型的动态部分,如交互,活动,状态机;如图所示: 分组事物:模型的组织部分,如包;如图10-4 注释事物:模型的解释部分,依附于一个元素或一组元素之上对其进行约束或解释的简单符号;如图10-5所示:
关系
依赖:一个事物的语义依赖另一个事物的语义的变化而变化。 关联:是一种结构关系,描述了一组链,链是对象之间的链接。分为组合和聚合,都是部分和整体的关系,其中组合事物之间关系更强。两个类之间的关联,实际上是两个类所扮演角色的关联,因此两个类之间可以有多个由不同角色标识的关联。 泛化:一般/特殊的关系,子类和父类之间的关系。 实现:一个类元指定了另一个类元保证了执行的契约。
类图
静态图,为系统的静态设计图,展现一组对象,接口,协作和它们之间的关系。UML类图如下: 考察:多重度,属性,操作,关系。
对象图
静态图,展现某一 时刻一组对象及它们之间的关系,为类图的某一快照。在没有类图的前提下,对象图就是静态设计视图,如下:
用例图
静态图,展现了一组用例,参与者以及它们之间的关系。 用例图中的参与者是人、硬件或其他系统可以扮演的角色;用例是参与者完成的一系列操作; 用例之间的关系:包含,扩展,泛化;
构件图
构件图(组件图):静态图,为系统静态实现视图,展现了一组构件之间的组织和依赖。如下
部署图
静态图,为系统静态部署视图,部署图物理模块的节点分布。它与构件图相关,通常一个节点包含一个或多个构件。其依赖关系类似于包依赖,因此部署组件之间的依赖是单向的类似于包含关系。如下:
序列图
序列图:即顺序图,动态图,是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。 有同步消息(进行阻塞调用,调用者中止执行,等待控制权返回,需要等待返回消息,用实心三角箭头表示),异步消息(发出消息后继续执行,不引起调用者阻塞,也不等待返回消息,由空心三角箭头表示),返回消息(由从右往左的虚线箭头表示)三种。如下:
通信图
通信图:动态图,即协作图,是顺序图的另一种表示方法,也是由对象和消息组成的图,只不过不强调时间顺序,只强调事件之间的通信,而且没有固定的画法规则,和顺序图统称为交互图。如下:
状态图
状态图:动态图,展现了一个状态机,描述单个对象在多个用例中的行为,包括简单状态和组合状态。 装换可以通过事件触发器触发,事件触发后相应的监护条件会进行检查。状态图中状态和转换是两个独立的概念,如下:图中方框代表状态,箭头上代表触发的事件,实心圆点为起点和终点。
活动图
活动图:动态图,是一种特殊的状态图,展现了在系统内从一个活动到另一个活动的流程。 活动的分岔和汇合线是一条水平粗线。 并发分岔,并发汇合,监护表达式,分支,流等名词及含义。 每个分岔的分支数代表了可同时运行的线程数。活动图中能够并行执行的是一个分岔粗线下的分支上的活动。