ROSE使用文档

来源:互联网 发布:sql server2012怎么用 编辑:程序博客网 时间:2024/06/06 20:53

  

1     概述... 4

2     术语... 4

3     Rose设计规范... 4

3.1          UML基本概念... 4

3.2          Rose常用视图... 7

3.2.1       类图(class diagram... 7

3.2.2       对象图(class diagram... 8

3.2.3       用例图(Use case diagram... 8

3.2.4       时序图(Sequence diagram... 9

3.2.5       协作图(Collaboration diagram... 10

3.2.6       状态图(Statechart diagram... 11

3.2.7       活动图(Activity diagram... 11

3.2.8       构件图(Compomnent diagram... 12

3.2.9       部署图(Deployment diagram... 13

4     附录... 13

5     备注... 13

 


1          概述

本文档描述了开发设计人员统一使用Rose进行系统分析,设计的规范,并对使用Rose中出现的常见问题,注意事项等进行了详细解释。

2          术语

UMLUnified Modeling Language

3          Rose设计规范

3.1        UML基本概念

组成UML有三种基本的建筑块:

1、事物(Things

2、关系(Relationships

3、图(Diagrams

事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。

UML的事物

UML中有始终类型的事物:

1、结构事物(Structural things

2、动作事物(Behavioral things

3、分组事物(Grouping things

4、注释事物(Annotational things

这些事物是UML模型中最基本的面向对象的建筑块。它们在模型中属于最静态的部分,代表概念上等或物理上的元素。

结构事物

总共有七种结构化事物。首先是类(class),类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。在UML中类被画为一个矩型,通常包括它的名字、属性和方法。

第二种是接口(interface),接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。接口在UML中被画成一个圆和它的名字。

第三种是协作(collaboration),协作定义了交互的操作,是一些角色和其它元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。协作在UML中用一个虚线画的椭圆和它的名字来表示。

第四种是use caseuse case是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中use case通常用来组织动作事物。Use case是通过协作来实现的。在UML中,use case画为一个实线椭圆,通常还有它的名字。

                             

第五种是活动类(active class),活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。在UML中活动类的画法和类相同,只是边框用粗线条。

                              

第六种是组件(component),组件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,你可能会遇到不同种类的组件,例如COM+JAVA BEANS。组件在UML中用如下的图表示:

                         

1-6 组件

第七种是结点(node),结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示:

1-7 结点

类、接口、协作、use case、活动类、组件和结点这七个元素是在UML模型中使用的最基本的结构化事物。系统中还有这七种基本元素的变化体,如角色、信号(某种类),进程和线程(某种活动类),应用程序、文档、文件、库、表(组件的一种)。

动作事物

动态事物是UML模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。总共有两种主要的动作事物。

第一种是ineractioninteraction是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。 interaction中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作),连接(对象之间的连接)。在UML中消息画成带箭头的直线,通常加上操作的名字。

       第二种是状态机(state machine),状态机由一系列对象的状态组成。在UML中状态表示为下图:

                                

图案1-9 状态

 

interaction和状态机是UML模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。

分组事物

分组事物是UML模型中组织的部分,可以把它们看成是个盒子,模型可以在其中被分解。总共只有一种分组事物,称为包(package)。

包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都有可能放在一个包中。与组件(存在于运行时)不同的是包纯粹是一种概念上的东西,只存在于开发阶段。在UML中用如下图表示包:

                                 

1-10

 

注释事物

注释事物是UML模型的解释部分。UML中用如下图表示:

                            

图 1-11注释

UML中的关系

UML中有四种关系:

1.         依赖(Dependencies

依赖关系是一个类中使用了另外一个类,一个类要实现某个操作必须用到另外一个类。

2.         关联(Association

关联关系用一根直线表示,旁边可以注明连接关联对象间的关系,还可以在旁边注明约束条件。

3.         泛化(generalization

 

 


1-14 泛化

 

4.         实现(realuzation)

 

 


图 1-15 实现

3.2     Rose常用视图

3.2.1         类图(class diagram

UML中的类有三种版型(stereotype,即边界类(boundary class,控制类(entity class),实体类(control class)

区分它们的目的是有利于设计分析人员更好的建立有效的系统模型.

边界类位于系统与外界的交界处,窗体(form),对话框(dialog box),报表(report),和表示通讯的协议(TCP/IP)的类,直接与外部设备交互的类,直接与外部系统交互的类等都是边界类的例子.

以下是它们在rose图的表达方式:

实体类保存要放进持久存储体的信息.所谓的持久存储体就是数据库,文件等可以永久存储数据的介质.

以下是它们在rose图的表达方式:

控制类是负责其它类工作的类.

类加上它们之间的关系就构成了类图,类图中可以包括接口,,关系等建模元素,也可以包括对象,链等实例.,对象和它们之间的关系是面向对象技术中最基本的元素.

3.2.2         对象图(class diagram

对象图表示一组对象及它们之间的联系.对象图是系统的详细状态在某一个时刻的快照,常用于表示复杂的类图的一个实例.

对象图不能在Rose 2003中直接表示出来,只能用别的图来代替.s

3.2.3        用例图(Use case diagram

用例的定义:用例可以看成是系统所完成的某一类事情或者实现的某一个功能。

要画好用例图,我们必须注意用例图的以下特点:

1)用例从系统外部查看系统功能,它不考虑系统内部怎样实现这些用例。

2)用例描述了用户提出的一些可见需求,对应一个具体的用户目标。使用用例可以促进用户理解需求。

3)理论上可以把软件系统中的所有用例都描述出来,但在实际的开发过程中,进行用例分析只需要把那些重要的,交互过程复杂的用例描述出来。

用例图是显示一组用例,参与者以及它们之间关系的图。

参与者是指系统以外的,需要使用系统或者与系统交互的东西,可以包括人,设备和外部系统等。

它在rose中的图标为:

还有更多的版型(stereotype)可以选择,以便该用例图能够更加直观的表现在设计者面前。

一般外部系统用 来表示,只要是能够容易让人理解的图标都是允许使用的。

用例之间的关系:

(1)       关联关系(2)泛化关系(3)包含关系(4)扩展关系

这三种关系的具体含义可以在UML基本概念中定义。

 注:(3)包含关系指两个用例之间的关系,其中的一个用例的行为包含另一个用例的行为。

4)扩展关系包含设计者自定义的关系。

关系类型

说明

表示符号

关联

参与者与用例的关系

泛化

参与者之间或者用例之间的关系

包含

用例之间的关系

<<include>>

扩展

用例之间的关系

<<extend>> 

绘制用例图注意事项:

1)创建合适大小粒度的用例,在创建用例图时要注意用例的颗粒大小,不能使用太多的用例使得理解上产生困难,对于一个中小型系统商业1020个用例是合适的。

2)用例的描述才是用例的主要部分,它是用文字序列来进行详细的描述,一般在rose图建模中使用注释来注明用例的文字描述。

3.2.4         时序图(Sequence diagram

时序图中显示的是参与交互的对象及对象之间的消息交互的顺序。

时序图是一个二维图形,在时序图中水平方向为对象的顺序排列,一般把主要参与者放在图的左边,表示人的参与者放在最左边。垂直方向为时间轴,一个对象下方的虚线表示一个对象生命线,该对象只在它的生命线中存在。

下图是对象的三种命名方式:

时序图中的消息的格式:

:调用消息(procedure call)

   调用消息传递给接收者后,发送者停止活动,等待消息的接收者放弃或者返回控制权。

   它用以下图标来表示:

:异步消息(asynchronous)

   异步消息的发送者把消息发送给接收者以后,继续自己的活动,不必等待返回消息或者控制。

   它用以下图标来表示:

:返回消息(return)

   返回消息表示从过程调用返回。

:阻止消息

   阻止消息是指消息发送者发出的消息给接收者,如果接收者无法立即接收

:超时消息

时序图注意事项:

1 表示消息的循环发送:

2 表示约束条件:

3.2.5         协作图(Collaboration diagram

协作图强调了参与交互作用的对象的组织,它与时序图不同之处在于它强调了对象之间的空间关系,它使用序列号来表示消息的先后次序。

时序图和协作图在语义上是等价的,两者之间可以相互转换,但两者并不能相互代替,因为它们强调的方面不同。

3.2.6         状态图(Statechart diagram

状态是指在对象的生命周期中的某个条件或状况,在此期间对象将满足某些条件,执行某些活动或等待某些事件。所有对象都具有状态,状态是对象执行了一系列活动的结果,当某个事件发生后,对象的状态将发生变化。

一个对象有以下几个部分:状态名,进入退出动作,内部转移,子状态和延迟事件,可以在下图中自由添加:

                          

entry/后可以添加进入该状态所执行的动作;

exit/后可以添加退出该状态所执行的动作;

do/后可以添加处于该状态时所执行的动作。

注意事项:

状态图常用来描述一个对象在其生命周期内的行为,注意是一个对象。如果是为了分析用例,或者理解涉及多个用例的工作流程,或者处理多线程应用等,则使用和状态图向对应的活动图更好。

3.2.7         活动图(Activity diagram

活动表示的是某流程中的任务的执行,它可以表示某算法过程中语句的执行。

在结构化分析和设计中,开发人员使用流程图来描述一个算法,在UML中可以使用活动图来替代流程图,活动图的功能包含了流程图。

活动图主要用来描述用例图中一个用例的工作流程。

活动图中表示分支的两种方法:

1                                    2

如果要表示活动的并发执行,则可以使用分叉和汇合。

3.2.8         构件图(Compomnent diagram

构件图是对OO系统物理方面建模的两个图之一,主要描述整个系统中软件间的关系。

构件就是一个实际的文件,可以是以下集中类型:

部署构件:dll文件,exe文件,COM+对象,CORBA对象,EJB,动态Web页,数据库表等。

工作产品构件:源代码文件,数据文件等。

执行构件:系统执行后得到的构件。

以下是使用构件图建模的例子:

对源代码文件之间的相互关系建模,POP3模块的源文件关系

3.2.9         部署图(Deployment diagram

部署图用来显示系统中计算结点的拓扑结构和通信路径与结点上运行的软件等。

   部署图由体系结构设计师,网络工程师,系统工程师等描述。

   结点是存在于运行时的代表资源的物理元素,结点分为两种类型:处理机(processor)和设备。

                    

处理机时可以执行程序的硬件构件,设备是无计算能力的硬件构件,如调制解调器,终端等。

Rose中的部署图在描述整个系统构件的能力有限,建议使用Visio来描述系统的硬件构架。

原创粉丝点击