Rational Rose 技术交流(三)

类别:软件工程 点击:0 评论:0 推荐:
  一、            Rose的核心——统一建模语言UML (1)、   UML的发展历程

 

Ø        公认的面向对象建模语言出现于70年代中期。

Ø        多种建模语言的出现:BOOCH 1993 、OOSE 、OMT _2 、OOA/OOD。

Ø        UML 建模语言的形成,成为工业界的标准(1996年)。

 

其发展历程可用下图形象表示:

 

 

(2)、   UML(Unified Modeling Language) 的具体内容

 

客观世界是一个复杂的巨系统,需要从不同的角度来考察,才能真正理解这个系统。为了能支持从不同角度来考察系统,标准建模语言UML定义了下列5类、共9种模型图,下面图表作了基本的描述:

 

类型

图名

描述

用例图

用例图

从用户角度描述系统的功能,并指出各功能的操作者。

静态图

类图

用于定义系统的类,包括描述类之间的联系(如关联、依赖、聚合等)以及类的内部结构,即类的属性和操作。因此类图是描述系统中类的静态结构,即它描述的是一种静态关系,在系统的整个生命周期都是有效的。

包图

包或类组成,主要表示包与包、或包与类之间的关系。包图用于描述系统的分层结构。

行为图

状态图

描述一类对象的所有可能状态以及事件发生时状态的转移条件。通常状态图是对类图的补充。

活动图

描述为满足用例要求所要进行的活动以及活动间的约束关系。使用活动图可以很方便地表示并行活动。

交互图

序列图

用以显示对象之间的动态合作关系。它强调对象之间消息发送的顺序,同时也显示对象之间的交互过程。

协作图

同序列图是等价的,但着重描述对象间的协作关系。

实现图

构件图

描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。 它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。

配置图

定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。

 

1、            用例图

以订单管理系统的用例模型部分为例进行说明。

由于他们具有略微不同的特征,因此将普通客户从 Internet 客户中分离开来是非常有用的。然而,因为 Internet 客户的确显示了一个客户具有的所有特征,所以您可以说 Internet 客户是客户的一个特例,并且能够通过主角泛化关系来指示。

在本图中,具体用例分别是“电话订购”(由客户主角发出)和“Internet 订购”(由 Internet 客户发出)。这些用例都是更普通的“订购”用例的变形。在本示例中,“订购”用例是一个抽象用例。“请求目录”用例代表一个可选行为段,它不是“订购”用例主要目标的组成部分。它已经被分离出来,形成了一个抽象用例,用于简化“订购”用例。“提供客户数据”用例是一个已分离出的行为段。它之所以被分离出来,是因为它是一个独立功能,只有它的结果才能影响“订购”用例。“供给客户数据”用例还可以在其他用例中复用。“请求目录”用例和“供给客户数据”用例在本示例中都属于抽象用例。

 

包含用例的行为插入到基本用例中的一个位置。

 

 

执行子用例的用例实例将遵循父用例的事件流,同时插入附加行为或修改在子用例事件流中定义的行为。

泛化强调父子行为的相似性。

 

 

当执行基本用例的用例实例达到基本用例中定义扩展点的位置时,将对相应扩展关系的条件进行评估。如果条件成立,或者如果没有条件,用例实例将遵循扩展用例(或者扩展用例中与扩展点相对应的插入段)。如果扩展关系的条件不成立,就不执行扩展。

扩展表示一种可选行为

 

 

用例实例

2、            类图

3、            包图

4、            序列图

在序列图中可以有对象和主角实例,以及说明它们如何交互的消息。序列图描述了在参与交互的对象中所发生的事件(从激活的角度来说明),以及这些对象如何通过相互发送消息进行通信。您可以为用例事件流的各种不同形式制作序列图。

 

5、            协作图

协作图中可以有对象和主角实例,以及描述它们之间关系和交互的连接和消息。通过说明对象间如何通过互相发送消息来实现通信,协作图描述了参与对象中发生的情况。您可以为用例事件流的每一个变化形式制作一个协作图。

6、            状态图

状态机用于对模型元素的动态行为进行建模,更具体地说,就是对系统行为中受事件驱动的方面进行建模。状态机专门用于定义依赖于状态的行为(即根据模型元素所处的状态而有所变化的行为)。其行为不会随着其元素状态发生变化的模型元素不需要用状态机来描述其行为(这些元素通常是主要负载管理数据的被动类)。

状态机由状态组成,各状态由转移链接在一起。状态是对象执行某项活动或等待某个事件时的条件。转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或评估并导致特定的结束状态。图 1 描绘了状态机的各种元素。

 

 

7、            活动图

一个活动图可能包括以下元素:

·                       活动状态表示在工作流程中执行某个活动或步骤。

·                       转移表示各种活动状态的先后顺序。这种转移可称为完成转移。它不同于一般的转移,因为它不需要明显的触发器事件,而是通过完成活动(用活动状态表示)来触发。

·                       决策,为其定义了一组警戒条件。这些警戒条件决定在活动完成后将执行一组备选转移中的哪一个转移。您也可以使用判定图标来表示线程重新合并的位置。决策和警戒条件使您能够显示业务用例的工作流程中的备选线程

·                       同步示意条用于显示平行分支流。同步示意条使您能够显示业务用例的工作流程中的并行线程

 

 

8、            构件图

由下图可以看出系统的源代码和运行组件。

利用该图,负责编译和部署系统的人员知道有哪些代码库,编译代码时生成哪些执行文件;开发人员知道有哪些代码库,相互间有什么关系;组件的依赖性使编译人员知道正确的编译顺序

9、            部署图

部署图考虑应用程序的实际部署,包括网络部署和组件在网络上的位置。一个系统只有一个部署图。部署图包含处理器、设备、进程和处理器与设备之间的连接。

部署图显示网络上的所有节点、节点间的连接和每个节点上运行的进程。

 

适用范围

交互图(序列图/协作图)

适合于描述单个用例中多个对象的行为

状态图

适合于描述跨越多个用例的单个对象的行为

活动图

适合于展现多个对象和多个用例的活动的总次序

构件图

适用于表示系统中各个功能部件之间的依赖关系和调用关系

用例图

捕获系统功能

 

 

 

 

 

 

 

 

 

 

 

 

 

本文地址:http://com.8s8s.com/it/it37219.htm