【IT168 专稿】
关于UML中各种图形的建立步骤,在学习过程中总结出来的笔记,希望对大家能有帮助。
1.用例图的建立步骤:
1〉找出系统外部的活动者和外部系统,确定系统的边界和范围。
2〉确定每一个活动者所希望的系统行为。
3〉把这些系统行为命名为用例。
4〉把一些公共的系统行为分解为一批新的用例,供其它的用例引用。把一些变更的行为分解为扩展用例。
5〉编制每一个用例的剧本。
6〉绘制用例图。
7〉区分主业务流和例外情况的事件流。可以把表达例外的情况的事件流的用例图画成一个单独的子用例图。
8〉精化用例图,解决用例见得重复与冲入问题,简化用例中的对话序列,用力图可以有不同的层次,高层次系统的用例可以分解为若干个下属子系统中的子用例。
2.对象类图的建立步骤:
1〉研究分析问题领域,确定系统的需求。
2〉发现对象和对象类,明确他们的含义和责任,确定属性和操作。
3〉发现类之间的静态联系。着重分析找出对象类之间的一般和特殊关系,部分与整体关系,研究类的继承性和多态性,把类之间的静态联系用关联、泛化、聚合、组合、依赖等联系表达出来,虽然对象类图表达的是系统的静态结构特征,但是应当把对系统的静态分析与动态分析结合起来,更能准确地了解系统的静态结构特征。
4〉设计类与联系。调整和精化已得到的对象类和类之间的联系,解决诸如命名冲突、功能重复等问题。
5〉绘制对象类图并编制相应的说明。上述做法是直接从领域分析抽取对象和对象类开始的,这是常规的面向对象的系统分析与设计的做法。Rational统一过程主张采用用例驱动的系统分析与设计方法。从业务领域的分析中先抽取活动者和用例,建立业务模型。业务模型包括业务用例模型、设计模型、实现模型和测试模型。
3.系统中的例外情况建模:
1〉对于每一个对象类和接口,找出可能发生的例外情况和出现例外情况的条件。
2〉把每一个例外情况用一个信号类描述,类名前冠有构造型“exception”。
3〉建立例外情况的层次结构,把一般性的例外情况置于高层,把特殊性的例外情况置于低层。
4〉对于每一个操作确定可能发生的例外情况。在操作和其例外情况的信号图表之间有一条虚箭线连接,其上标出构造型“send”,表示从操作到其例外情况的send依赖。
4.顺序图的建立步骤:
1〉确定交互的上下文。
2〉找出参与交互的对象类角色,把他们横向排列在顺序图的顶部,最重要的对象安置在最左边,交互密切的对象尽可能相邻。在交互中创建的对象在垂直方向应安置在其被创建的时间点处。
3〉对每一个对象设置一条垂直的向下的生命线。
4〉从初始化交互的信息开始,自顶向下在对象的生命线之间安置信息。注意用箭头的形式区别同步消息和异步消息。根据顺序图是属于说明层还是属于实例层,给出消息标签的内容,以及必要的构造型与约束。
5〉在生命线上绘出对象的激活期,以及对象创建或销毁的构造型和标记。
6〉更具消息之间的关系,确定循环结构及循环参数和出口条件。
5.协同图的建立步骤:
1〉确定交互的上下文。
2〉找出参与交互的对象类角色,把他们作为图形的节点安置在协同图中。最重要的对象安置在图的中央,与其有直接交互的对象安置在邻近。
3〉设置对象的初始性质。
4〉说明对象之间的链接。首先给出对象之间的关联连接,然后给出其它连接,并且给出必要的装饰,如构造型“global”,“local”等。
5〉从初始化交互的消息开始,在链接上安置相应的消息,给出消息的序号。注意用箭头的形式区别同步消息和异步消息。根据顺序图是属于说明层还是属于实例层,给出消息标签的内容,以及必要的构造型和约束。
6〉处理一些特殊情况,如循环、自调用、回调、多对象等。
6.状态图的建立步骤:
1〉确定状态机的上下文,它可以是一个类、子系统或整个系统。
2〉选择初始状态和终结状态。
3〉发现对象的各种状态。注意应当仔细找出对问题有意义的对象状态属性,这些属性具有少量的值,且该属性的值的转换受限制。状态属性值的组合,结合行为有关的事件和动作,就可以确定具有特定的行为特征的状态。
4〉确定状态可能发生的装移。注意份已从一个状态可能转移到那些状态,对象的哪些行为可引起状态的转移并找出触发状态转移的事件。
5〉把必要的动作加到状态或转移上。
6〉超状态、子状态、分支、历史状态等概念组织和简化一个复杂的状态机。
7〉分析状态的并发和同步情况。
8〉绘制状态图。
9〉确认每一个状态在某个时间组合之下都是可到达的。确认没有一个死端状态,对象不能从该状态转移出来。
7.活动图的建立步骤:
1〉找出负责实现工作流的业务对象。这些对象可以是现实业务领域中的实体,也可以是一种抽象的概念或事物。为每一个重要的业务对象建立一条泳道。
2〉确定工作流的初始状态和终结状态,明确工作流的边界。
3〉从工作流的初始状态开始,找出随时间而发生的活动和动作,把他们表示成活动状态或动作状态。
4〉对于复杂的动作或多次重复出现的一组动作,可以把他们组成一个活动状态,并且用另外一个活动图来展开表示。
5〉给出连接活动和动作的转移(动作流)。首先处理顺序动作流,然后处理条件分支。最后处理分劈和接合。
6〉在活动图中给出与工作流有关的重要对象,并用虚箭线把他们与活动状态或动作状态相连接。
8.包图的建立步骤:
1〉分析系统模型元素(通常是对象类),把概念上或语义上相近的模型元素纳入一个包。注意可以从类的功能的相关性来确定纳入包中的对象类。以下几点可作为分析对象类的功能相关性的参考
(1)如果一个类的行为和/或结构的变更要求另一个相应的变更,则这两个类是功能相关的。
(2)如果删除一个类后,另一个类便变成是多余的,则这连个类是功能相关的,这说明该剩余的类只为那个被删除的类所使用,他们之间有依赖关系。
(3)如果两个类之间大量的频繁交互或通信,则这两个类是功能相关的。
(4)如果两个类之间有一般/特殊关系,则这两个类是功能相关的。
(5)如果一个类激发创建另一个类的对象,则这两个类是功能相关的。
(6)如果两个类不涉及统一个外部活动着,则这两个类不应放在同一个包中。
(7)一个包应当具有高内聚性,包中的对象类应该是功能相关的。
2〉对于每一个包,标出其模型元素的可视性:公共、保护或私有。
3〉确定包与包之间的依赖关系,特别是输入依赖。
4〉确定包与包之间的泛化关系,确定包元素的多态性和重载。
5〉绘制包图。
6〉包图精化。
9.组件图的建立步骤:
1〉确定组件。首先要分解系统,考虑有关系统的组成管理、软件的重用核物理节点的配置等因素,把关系密切的可执行程序和对象库分别归入组件,找出相应的对象类、接口等模型元素。
2〉对组件加上必要的构造型。可以使用UML的标准构造型“executable”、“library”、“table”、“file”、“document”,或自定义新的构造型,说明组件的性质。
3〉确定组件之间的联系。最常见的组件之间的联系是通过接口依赖。一个组件使用某个接口,另一个组件实现该接口。
4〉必要时把组件组织成包。组件和对象类、协同等模型元素一样可以组织成包。
5〉绘制组件图。
10.配置图的建立步骤:
1〉确定节点。注意:标示系统中的硬件设备,包括大型主机、服务器、前端机、网络设备、输入/输出设备等。一个处理机是一个节点,它具有处理功能,能够执行一个组件;一个设备也是一个节点,它没有处理功能,但它是系统和现实世界的接口。
2〉对节点加上必要的构造型。可以使用UML的标准构造型或自定义新的构造型,说明节点的性质。
3〉确定联系。这是关键步骤。配置图中的联系包括节点与节点之间的联系,节电与组件之间的联系,组件与组件之间的联系,可以使用标准构造型或自定义新的构造型说明联系的性质。把系统的组件如可执行程序,动态连接库等分配到节点上,并确定节点与节点之间,节点与组件之间,组件与组件之间的联系,以及他们的性质。
4〉绘制配置图。