构建UML各种图的步骤

jessiejava 2012-02-21

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〉 绘制配置图。  

相关推荐