概述学习目的了解.ppt
第3章 Rational Rose概述,学习目的:了解Rational Rose,3.1 Rational Rose对UML的支持3.2 Rational Rose的特点 3.3 Rational Rose的4种视图模型3.4 Rational Rose的其他技术,初识Rational Rose,3.1 Rational Rose对UML的支持,1.Rational Rose提供基本的绘图功能2.Rational Rose提供模型库3.Rational Rose提供导航功能4.Rational Rose提供代码生成功能5.Rational Rose提供逆向工程功能6.Rational Rose提供模型互换功能,Rational Rose建模工具能够为UML提供很好的支持,1、Rational Rose提供基本的绘图功能 为UML提供了基本的绘图功能是Rational Rose作为一个建模语言工具的基础。Rational Rose提供了众多的绘图元素,形象化的绘图支持使得绘制UML图形变得轻松有趣。,2.Rational Rose提供模型库Rational Rose的支持工具维护着一个模型库,这个模型库相当于一个数据库,该数据库中包含模型中使用的各种元素的信息。,(1)非一致性检查(2)审查功能(3)报告功能(4)重用建模元素和图功能,3.Rational Rose提供导航功能在使用多个视图或图来共同描述一个解决方案的时候,允许用户在这些视图或图中进行导航。,4.Rational Rose提供代码生成功能Rational Rose的代码生成功能可以针对不同类型的目标语言生成相应的代码,这些目标语言包括C+、Ada、Java、CORBA、Oracle、Visual Basic等。,5.Rational Rose提供逆向工程功能逆向工程与代码生成功能正好相反。利用逆向工程功能,Rational Rose可以通过读取用户编写的相关代码,在进行分析以后生成显示用户代码结构的相关UML图。,6.Rational Rose提供模型互换功能在一种建模工具中创建了模型并将其输出后,接着想在另外一种建模工具中将其导入,由于各种建模工具之间提供了不同的保存格式,这就造成了导入往往是不可能实现的。为了实现这种功能,一个必要的条件就是在两种不同的工具之间采用一种用于存储和共享模型的标准格式。,3.2 Rational Rose的特点,1.保证模型和代码高度一致2.支持多种语言3.为团队开发提供强有力的支持4.支持模型的Internet发布5.生成使用简单且定制灵活的文档6.支持关系型数据库的建模,3.3 Rational Rose的4种视图模型,用例视图(Use Case View)逻辑视图(Logical View)构件视图(Component View)部署视图(Deployment View),与系统实现无关,关注系统功能的高层抽象,适合于对系统进行分析和获取需求。,3.3.1 用例视图(Use Case View),用例视图中可以建立参与者、用例、类、用例图等。,3.3.1 用例视图(Use Case View),1.包(Package)包是在用例视图和其他视图中最通用的模型元素组的表达形式。2.用例(Use Case)用例用来表示在系统中所提供的各种服务。,3.参与者(Actor)参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统。,4.类(Class):类是对某个或某些对象的定义。,5.用例图(Use Case Diagram)用例图显示了各个参与者、用例以及它们之间的交互。,6.类图(Class Diagram)类图提供了结构图类型的一个主要实例,并提供一组记号元素的初始集,以供其他结构图使用。,7.协作图(Collaboration Diagram)协作图用于表达各种参与者和用例之间的交互协作关系。,8.序列图(Sequence Diagram)序列图用于表达各种参与者和用例之间的交互序列关系。,9.状态图(Statechart Diagram)状态图主要用来表达各种参与者或类的状态之间的转换。,10.活动图(Activity Diagram)活动图主要用来表达参与者的各种活动之间的转换。,11.文件(File)File是指能够连接到用例视图中的一些外部文件。12.URL地址(URL)URL是指能够连接到用例视图的一些外部URL地址。,逻辑视图关注于系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即在为用户提供服务方面系统所应该提供的功能。提供系统的详细模型图。,3.3.2 逻辑视图(Logical View),在逻辑视图中,同样可以创建一些模型元素。,逻辑视图可以创建如下模型元素:,1、类(Class)在逻辑视图中主要是对抽象出来的类进行详细定义,包括确定类的名称、方法和属性等。,2.工具类(Class Utility)工具类是对公共机制或服务的定义,通常存放一些静态的全局变量,从而方便其他类对这些信息进行访问。,3.用例(Use Case)在逻辑视图中仍然可以存在用例,目的是围绕用例添加各种图,从而详细描述该用例。,4.接口(Interface)类可以有它的真实实例,然而一个接口必须至少有一个类来实现它。,5.包(Package)使用包可以将逻辑视图中的各种UML图或模型元素按照某种规则进行划分。6.类图(Class Diagram)类图用于浏览系统中的各种类、类的属性、操作以及类与类之间的关系。7.用例图(Use Case Diagram)其功能和在用例视图中介绍的一样,只是放在不同的视图区域中了。,8.协作图(Collaboration Diagram)协作图用于按照各种类或对象交互发生的一系列协作关系显示这些类或对象之间的交互。9.序列图(Sequence Diagram)序列图用于按照各种类或对象交互发生的一系列顺序显示各种类或对象之间的交互。10.状态图(Statechart Diagram)状态图用于描述各个对象自身所处状态的转换,用于对模型元素的动态行为进行建模,更具体地说,就是对系统行为中受事件驱动的方面进行建模。,11.活动图(Activity Diagram)活动图含:活动状态,状态的转移。活动决策。同步连接。12.文件(File)File是指能够连接到逻辑视图中的一些外部文件,用来详细介绍使用逻辑视图的各种信息。13.URL地址(URL)URL是指能够连接到逻辑视图的一些外部URL地址。这些地址用于介绍逻辑视图的相关信息。,构件视图用来描述系统中的各个实现模块以及它们之间的依赖关系。包含模型代码库,执行文件,运行库和其他构件信息。,3.3.3 构件视图(Component View),1.包(Package)包在构件视图中仍然担当的是划分的功能。2.构件(Component)构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。,3.构件图(Component Diagram)构件图的主要目的是显示系统构件间的结构关系。,4.文件(File)File是指能够连接到构件视图中的一些外部文件,用来详细介绍使用构件视图的各种信息。5.URL地址(URL)URL是指能够连接到构件视图的一些外部URL地址。这些地址用于介绍构件视图的相关信息。,在系统中只包含一个部署视图,用来说明各种处理活动在系统各节点的分布。,3.3.4 部署视图(Deployment View),1.处理器(Processor)处理器是指任何有处理功能的节点。2.设备(Device)设备是指任何没有处理功能的节点,例如打印机。3.文件(File)File是指那些能够连接到部署视图中的外部文件,用来详细介绍使用部署视图的各种信息。4.URL地址(URL)URL是指能够连接到部署视图的一些外部URL地址。这些地址用于介绍部署视图的相关信息。,Rational Rose作为一种很强大的UML建模工具,不仅通过视图建立不同详细程度的模型,从而对UML提供非常好的支持,而且还提供了一些其他的技术来完善软件开发,其中Rational Rose使用模型生成代码、使用逆向工程从代码生成模型以及对XML的支持都是一些很重要的技术。,3.4 Rational Rose的其他技术,可以通过选择Tools|Options命令来查看所支持的语言信息。,1.代码生成,Rational Rose Enterprise支持的语言信息,使用Rational Rose生成代码时可以通过以下4个步骤进行,以目标语言Java代码为例。(1)选择待转换的目标模型(2)检查Java语言的语法错误(3)设置代码生成属性(4)生成代码,在Rational Rose中可以通过收集有关类(Classes)、类的属性(Attributes)、类的操作(Operations)、类与类之间的关系(Relationships)以及包(Packages)和构件(Components)等静态信息,将这些信息转化成为对应的模型,并在相应的图中显示出来。,2.逆向工程,3.5 本 章 小 结Rational Rose的4个视图模型;Rational Rose的双向工程等,