1、重点内容:重点内容:l面向对象思想的基本概念面向对象思想的基本概念 l面向对象的三大要素面向对象的三大要素 l面向对象与项目设计面向对象与项目设计 l用面向对象思想建立系统模型用面向对象思想建立系统模型 面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。对象(object)是面向对象(Object-Oriented,OO)系统的基本构造块,是一些相关的变量和方法的软件集。可以利用
2、对象来代表现实世界中的对象:可用一个飞行试驾程序来代表现实世界中的正在飞行的飞机,或者用机床数控程序来代表现实世界的运行的机床。同样可以使用对象来造型抽象的概念,比如,点击按钮事件就是一个用在GUI窗口系统的公共对象,它可以代表用户点击程序界面中的一个确定按钮的动作。类(Class)是具有相同属性和操作的一组对象的组合,也就是说,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。例如名为“学生”的类被用于描述为被学生管理系统管理的学生对象。类的定义要包含以下的要素 第一,定义该类对象的数据结构(属性的名称和类型)第二,定义对象所要执行的操作,也就是类的对
3、象要被调用执行那些操作,以及这些操作时对象要执行那些操作,比如数据库操作等等。所谓消息(Message)是指描述事件发生的信息,是对象间相互联系和相互作用的方式。一个消息主要由5部分组成:消息的发送对象、消息的接收对象、消息传递方式、消息内容(参数)、消息的返回。传入的消息内容的目的有两个,一个是让接受请求的对象获取执行任务的相关信息,另一个是行为指令。所谓事件通常是指一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。对象通过对外提供的方法在系统中发挥自己的作用,当系统中的其它对象请求这个对象执行某个方法时,就向该对象发送一个消息,对象响应这个请求,完成指
4、定的操作。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。封装(Encapsulation)是把对象的状态和行为绑到一起的机制,把对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。封装有两个含义:一是把对象的全部状态和行为结合一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。封装的信息屏蔽作用反映了事物的相对独立性,我们可以只关心它对外所提供的接口,即能够提供什么样的服务,而不用去关注其内部的细节问题。比如说使用手机,我们关注的通常是这个手机能实现什么功能,而不太会去关心这个手
5、机的是怎么一步步制造出来的。继承(Inheritance)是一种连接类与类的之间的层次模型。继承是指特殊类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中所定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。继承对类的重用性,提供了一种明确表述共性的方法。即一个特殊类既有自己定义的属性和行为,又有继承下来的属性和行为。多态性(Polymorphism)是指在两个或多个属于不同类中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。面向对象设计的准则包括模块化、抽象、信息隐藏、低
6、耦合和高内聚等特征。系统设计是问题求解及建立解答的高级策略。必须制定解决问题的基本方法,系统的高层结构形式包括子系统的分解、它的固有并发性、子系统分配给硬软件、数据存储管理、资源协调、软件控制实现、人机交互接口等等。系统设计一般是先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。瀑布模型也被称为生存周期模型,其核心思想是按照相应的工序将问题进行简化,将系统功能的实现与系统的设计工作分开,便于项目之间的分工与协作。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段。喷泉模型是一种以对
7、象为驱动、以用户需求为动力的模型,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,类似一个喷泉。基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。敏捷方法强调适应性而非预测性、强调以人为中心,而不以流程为中心,以及对变化的适应和对人性的关注,其特点是轻载、基于时间、紧凑、并行并基于构件的软件过程。在所有的敏捷方法中,XP(eXtreme Programming)方法是最引人注目的一种轻型开发方法。它规定了一
8、组核心价值和方法,消除了大多数重量型开发过程中的不必要产物,建立了一个渐进型开发过程。重点内容:重点内容:l UMLUML概述概述 l常用的常用的UMLUML元素分析元素分析 lUMLUML的通用机制的通用机制 lUMLUML的扩展机制的扩展机制 UML能够在尽可能简单的同时能够满足对实际开发需要,进行系统的各个方面建模。UML拥有足够的表达能力以便可以处理现代软件开发中出现的所有概念。UML是一个通用语言,不仅仅和一种通用程序设计语言一样,也是一个庞大的标准符号体系,提供了多种模型。UML是用模型来描述系统的结构或静态特征以及行为或动态特征的,它从不同的视角为系统的架构建模形成系统的不同视图
9、(view)。在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。视图视图 静态视图是对在应用领域中的各种概念以及与系统实现相关的各种内部概念进行的建模。由于这种视图不描述与时间有关的系统行为所以我们称之为是静态的,描述与时间相关的系统行为我们在其他视图中进行描述。静态视图主要是由类与类之间的关系构成。这些关系包括:关联、泛化和依赖关系,我们又把依赖关系具体可以再分为使用和实现关系。静态图视静态图视 用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。一个用例是系统的一个功能单元,是系统参与者与
10、系统之间进行的一次交互作用。用例视图用例视图 交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,是描绘系统中各种角色或功能交互的模型。交互视图显示了跨越多个对象的系统控制流程。我们通过不同对象间的相互作用来描述系统的行为,是通过两种方式进行的,一种是以独立的对象为中心进行描述,另外一种方式是以相互作用的一组对象为中心进行描述。交互视图可运使用两种图的形式来表示:序列图和协作图。交互视图交互视图 状态机视图是通过对象的各种状态来建立模型来描述对象随时间变化的动态行为。状态机视图也是通过不同对象间的相互作用来描述系统的行为的,不同的它是以独立的对象为中心进行描述。状态机视图中,每一个
11、对象都拥有自己的状态,这些状态之间的变化是通过事件进行触发的。对象被看成为通过事件进行触发并做出相应的动作来与外界的其他对象进行通信的独立实体。事件表达了对象可以被使用操作,同时反映了对象状态的变化。状态机视图状态机视图 活动视图是一种特殊形式的状态机视图,是状态机的一个变体,用来描述执行算法的工作流程中涉及的活动。通常活动视图用于对计算流程和工作流程建模。活动视图中的状态表示计算过程中所处的各种状态。活动视图是在假定整个计算处理的过程中没有外部事件引起的中断的条件下进行描述的,否则普通的状态机更加适合于描述这种情况。活动视图活动视图 物理视图是对应用自身的实现结构建模,例如系统的构件组织情况
12、以及运行节点的配置等等。物理视图提供了将系统中的类映射成物理构件和节点的机制。物理视图提供了将系统中的类映射成物理构件和节点的机制。系统模型的大部分内容反映了系统的逻辑和设计方面的信息,并且独立于系统的最终实现单元。物理视图物理视图 模型管理视图是对模型自身组织进行的建模,是由自身的一系列模型元素(如类、状态机和用例)构成的包所组成的模型。模型是从某一观点以一定的精确程度对系统所进行的完整描述。从不同的视角出发,对同一系统可能会建立多个模型,例如有系统分析模型和系统设计模型等等。模型是一种特殊的包。一个包(package)还可以包含其他的包。整个系统的静态模型实际上可看成是系统最大的包,它直接
13、或间接包含了模型中的所有元素内容。模型管理视图模型管理视图 用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。使用用例图可以表示出用例的组织关系,这种组织关系包括整个系统的全部用例或者是完成相关功能的一组用例。在用例图中画出某个用例方式是在用例图中绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。用例图用例图 类图显示了系统的静态结构,表示了不同的实体(人、事物和数据)是如何彼此相关联起来。类图可用于表示逻辑类,逻辑类通常就是用户的业务所谈及的事物,比如说学生、学校等
14、。类图还可用于表示实现类,实现类就是程序员处理的实体。类图类图 序列图显示了一个具体用例或者用例的一部分的一个详细流程。它几乎是自描述的,序列图不仅可以显示了流程中不同对象之间的调用关系,还可以很详细地显示对不同对象的不同调用。序列图有两个维度:垂直维度,也称时间维度,以发生的时间顺序显示消息或调用的序列;水平维度显示消息被发送到的对象实例。序列图序列图 状态图表示某个类所处的不同状态及该类在这些状态中的转换过程。状态图的符号集包含了下列五个基本的元素:初始起点,状态之间的转换,状态,判断点,一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。状态图状态图 活动图是用来表示两个或者更多的对象
15、之间在处理某个活动时的过程控制流程。活动图能够在业务单元的级别上,对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。活动图活动图 是要指出某些功能实际存在哪些地方,还需要构件图来进行表示。构件图提供系统的物理视图,它是根据系统的代码构件显示了系统代码的整个物理结构。构件图最经常用于实际的编程工作中。在以构件为基础的开发(CBD)中,构件图为系统架构师提供了一个为解决方案进行建模的自然形式。构件图构件图 部署图是用于表示该软件系统如何部署到硬件环境中,它是显示在系统中的不同的构件在何处物理地运行,以及如何进行彼此的通信。部署图对系统的物理运行情况进行了建模,因此系统的生产人员就能够
16、很好地利用这种图来部署实际的系统。部署图部署图 在UML中,图作为一种可视化的方式聚集了相关需要表达的事物,并且表达了这些事物之间的关系。事物是对模型中最具有代表性的成分的抽象,关系描述了事物之间如何彼此关联、相互依赖或作用的。正是关系把构成系统的诸多事物结合成一个有机的整体。事物是UML模型中面向对象基本的模块,它们在模型中属于静态部分。事物作为对模型中最具有代表性的成分的抽象,在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。事物事物 UML模型是由各种事物以及这些事物之间的各种关系构成的。关系是指支配、协调各种模型元素存在并相互使用的规则。UML
17、中主要包含四种关系,分别是依赖、关联、泛化和实现。关系关系 依赖关系:依赖关系指的是两个事物之间的一种语义关系,当其中一个事物(独立事物)发生变化就会影响另外一个事物(依赖事物)的语义。关系关系 关联关系:关联关系是一种事物之间的结构关系,我们用它来描述一组链,链是对象之间的连接。泛化关系:泛化关系是事物之间的一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,也就是我们在面向对象学中常常提起的继承。关系关系 实现关系:实现关系也是UML元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。如果把模型元素当成一个对象来看待,那么模型元素本身
18、也应该具有很多的属性,这些属性用于维护属于该模型元素的数据值。属性是使用名称和标记值(Tagged Value)的值来定义的。标记值指的是一种特定的类型,可以是布尔型、整型或字符型,也可以是某个类或接口的类型。在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本符号可视化地表达了模型元素最重要的信息。用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添加修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些变化。在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本符号可视化地表达了模型元素最重要的信息。用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添
19、加修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些变化。通用划分是一种保证不同抽象概念层次的机制。通常我们可以采用两种方式进行通用划分,一种是对类和对象的划分,另外一种是对接口和实现的分离。类和对象的划分是指类是一个抽象而对象是这种抽象的一个实例化。接口和实现的分离是指接口声明了一个操作接口,但是却不实现其内容,而实现则表示了对该操作接口的具体实现,它负责如实地实现接口的完整语义。类和对象的划分保证了实例及其抽象的划分,从而使得对一组实例对象的公共静态和动态特征无需一一管理和实现,只需要抽象成一个类,通过类的实例化实现对对象实体的管理。简而言之,构造型扩展机制的目的就是基于一个已
20、存在的模型元素再重新定义一个新的模型元素。构造型的一般表现形式为使用“”包含构造型的名称在里面,例如、等。标记值是由一对字符串构成,这对字符串包含一个标记字符串和一个值字符串,用来存储着有关模型元素或表达元素的一些相关信息。标记值,可以被我们用来扩展UML构造块的特性,可以根据我们的需要来创建详述元素的新元素。标记值可以与任何独立元素相关,包括模型元素和表达元素。标记值是当我们需要对一些特性进行记录的时候而给定元素的值。约束机制用于扩展UML构造块的语义,允许建模者和设计人员可以增加新的规则和修改现有的规则。约束可以表示在 UML 的规范表示中不能表示的语义关系,特别是当陈述全局条件或影响许多
21、元素的条件时,约束特别有用。约束使用大括号和大括号内的字符串表达式表示,即约束的表现形式为约束的内容。约束可以附加在表元素、依赖关系,或注释上。重点内容:重点内容:l 什么叫统一过程什么叫统一过程 l 统一过程的结构统一过程的结构l配置和实现配置和实现RationalRational统一过程统一过程 Rational统一过程,从字面的意思来讲,其包含有三层含义。首先,作为“Rational”统一过程,它是由Rational软件开发公司开发并维护的,它可以被看成是Rational软件开发公司的一款软件产品,并且和Rational软件开发公司开发的一系列软件开发工具进行了紧密的集成。其次是它的“统
22、一”的含义,Rational统一过程拥有自己的一套架构,并且这套架构是以一种大多数项目和开发组织都能够接受的形式存在的。其采用了现代软件工程开发的六项最佳实践。最后是它的“过程”上,Rational统一过程不管是如何解释,其最终仍然是一种软件开发过程,提供了如何对软件开发组织进行管理的方式,并且拥有自己的目标和方法。在各种书籍以及参考资料中,将Rational统一过程的开发过程使用一种二维结构来表达,即使用沿着横轴和纵轴两个坐标轴来表达该过程。Rational统一过程的静态结构是通过对其模型元素的定义来进行描述的。在Rational统一过程的开发流程中定义了“谁”“何时”“如何”做“某事”,并
23、分别使用四种主要的建模元素来进行表达,它们是:第一,角色(Workers),代表了“谁”来做?第二,活动(Activities),代表了“如何”去做?第三,产物(Artifacts),代表了要做“某事”?第四,工作流(Workflows),代表了“何时”做?角色定义了个人或由若干人所组成小组的行为和责任,它是统一过程的中心概念,很多事物和活动都是围绕角色进行的。角色举例:架构师(Architect)架构师在整个项目中领导和协调技术活动和产物。架构师为每一个架构视图建立整体结构:视图分解、元素分组以及在这些主要分组之间的接口。系统分析员(System Analyst)系统分析员通过描述系统功能的
24、纲要和约束,领导和协调系统需求的抽取和用例建模活动。角色角色 角色所执行的行为使用活动表示,每一个角色都与一组相关的活动相联系,活动定义了他们执行的工作。某个角色的活动是可能要求该角色中的个体执行的工作单元。活动通常具有明确的目的,将在项目语境中产生有意义的结果,通 常表现为一些产物,如模型、类、计划等。活动举例:第一,计划一个迭代过程,对应角色:项目经理。第二,寻找用例(use cases)和参与者(actors):对应角色:系统分析员。第三,审核设计:对应角色:设计审核人员。第四,执行性能测试:对应角色:性能测试人员。活动活动 产物物是被过程产生的、修改,或为过程所使用的一段信息。产物是项
25、目的有形产品:项目最终产生的事物,或者向最终产品迈进过程中使用的事物。产物用作角色执行某个活动的输入,同时也是该活动的输出。在面向对象的设计术语中,如活动是活动对象(角色)上的操作一样,产物是这些活动的参数。产物可以具有不同的形式:模型,模型组成元素,文档,源代码和可执行文件。产物产物 仅依靠角色、活动和产物的列举并不能组成一个过程。需要一种方法来描述能产生若干有价值的有意义结果的活动序列,显示角色之间的交互作用,这就是工作流。Rational统一过程中包含了九个核心过程工作流(core process workflows),代表了所有角色和活动的逻辑分组情况。核心过程工作流可以被再分成六个核
26、心工程工作流和三个核心支持工作流。六个核心工程工作流分别为:业务建模工作流,需求工作流,分析和设计工作流,实现工作流,测试工作流,分发工作流。三个核心支持工作流分别为:项目管理工作流,配置和变更控制工作流,环境工作流。工作工作流流 Rational统一过程的动态结构,是通过对迭代式软件开发过程的周期、阶段、迭代过程以及里程碑等的描述来进行表示的。在Rational统一过程中建议采用五种视图来进行描述架构:1.逻辑视图(Logical View):逻辑视图主要支持系统的功能性需求,即在为用户提供服务方面系统应该提供的功能。2.过程视图(Process View):过程视图考虑的是一些非功能性的需
27、求,主要表现为系统运行时的一些特性,如系统的性能和可用性等。3.物理视图(Physical View):物理视图主要关注的也是系统的非功能性需求,这些需求包括系统的可用性、可靠性、性能和可伸缩性。4.开发视图(Development View):开发视图描绘的是系统地开发架构,它关注的是软件开发环境中实际模块的组织情况,即系统的子系统是如何分解的。配置Rational统一过程是指通过修改Rational软件公司交付的过程框架,使整个过程产品适应采纳了这种方法的组织的需要和约束。当将在线的Rational统一过程的基线拷贝置于配置管理之下时,配置该过程的相关人员就可以修改过程以实现变更。例如:1
28、 在活动中增加、扩展、修改或删除一些步骤。2 基于经验增加评审活动的检查点。3 根据在以前项目中发现的问题,增加一些指南。4 裁减一些模板,比如增加公司的标志、头注、脚注、标识和 封面等。5 增加一些必要的工具指南等。实现Rational统一过程是指在软件开发组织中,通过改变组织的实践,使组织能例行地、成功地使用Rational统一过程的全部或其一部分。在软件开发组织中实现一个全新的过程可以使用以下六个步骤来描述。它们分别是:1 评估当前状态。2 建立明确目标。3 识别过程风险。4 计划过程实现。5 执行过程实现。6 评价过程实现。重点内容:重点内容:l Rational RoseRation
29、al Rose:设计:设计UMLUML的工具的工具 l Rational RoseRational Rose的安装的安装 lRational RoseRational Rose的使用的使用 Rational Rose 是一个完全的、具有能满足所有建模环境(包括Web开发、数据库建模以及各种开发工具和语言)需求能力和灵活性的一套解决方案。Rational Rose 是一个完全的、具有能满足所有建模环境(包括Web开发、数据库建模以及各种开发工具和语言)需求能力和灵活性的一套解决方案。Rational Rose 允许系统开发人员、系统管理人员和系统分析人员在软件的各个开发周期内,建立系统地需求和系
30、统的体系架构的可视化模型,并且能够将这些需求和系统的体系架构可视化模型转换成代码,帮助系统开发。1 硬件配置。最低的硬件配置环境需要基于Pentium的PC兼容系统,600MHz,512M内存,400M磁盘空间。推荐将内存增加至1G。2 系统要求。可以安装在以下的Windows操作系统中,Windows NT 4.0、Windows 2000、Windows XP Professional、Windows 2003。3 数据库支持。Rational Rose 2003可以提供多种数据库的支持,包括IBM DB2 Universal Database5.x、6.x和7.x,IBM DB2 OS3
31、90 5.x和6.x,MS SQL Server 6.x、7.x和2000,Oracle 7.x、8.x和9.x以及Sybase System 12。1 将拥有Rational Rose Enterprise Edition安装程序的光盘放置在光驱中,浏览该光盘,查找到RationalRoseEnterpriseEditionforWindows.exe可执行文件,双击该文件进行运行。2 在完成路径设置以后,单击Next按钮,安装程序开始进入读取安装包的内容。在读取安装包中的内容后,将待安装文件释放到已经设置的路径中。3 进入安装向导界面,单击“Next”按钮,进入产品选择界面。在产品选择中,
32、可以选择“Rational License Server”或者“Rational Rose Enterprise Edition”,我们选择后者,选择后在图的右方出现相关说明信息。随后按默认的Next,进行安装。在“New”(新建)选项卡中,我们可以选择创建模型的模板。在“Existing”(打开)选项卡中,我们可以打开一个已经存在的模型,在对话框左侧的列表中,逐级找到该模型所在的目录,然后从右侧的列表中选中该模型,单击“Open”(打开)按钮进行打开。在“Rencent”(最近使用的模型)选项卡中,我们可以选择打开一个最近使用过的模型文件,在选项卡中,选中需要打开的模型,单击“Open”按钮
33、或者双击该模型文件的图标即可。标题栏可以显示当前正在工作的模型文件名称。对于刚刚新建还未被保存的模型名称使用“untitled”表示。此外,标题栏还可以显示当前正在编辑的图的名称和位置,如 Class Diagram:Logical View/Main 代表的是在Logical View(逻辑视图)下创建的名称为Main的Class Diagram(类图)。标题标题栏栏 在菜单栏中包含了所有在Rational Rose 2003 中可以进行的操作,一级菜单共有项,分别是 “File”(文件)“Edit”(编辑)“View”(视图)“Format”(格式)“Browse”(浏览)“Report”
34、(报告)“Query”(查询)“Tools”(工具)“Add-Ins”(插件)“Window”(窗口)“Help”(帮助)。菜单菜单栏栏 可以通过“View”(视图)下的“Toolbars”(工具栏)来定制是否显示标准工具栏和编辑区工具栏。单击“Tools”(工具)下的“Options”(选项),弹出一个对话框,选中“Toolbars”(工具栏)选项卡,我们可以在“Standard Toolbar”(标准工具栏)复选框中可以选择显示或隐藏标准工具栏,或者工具栏中的选项是否使用大图标。也可以在“Diagram Toolbar”(图形编辑工具栏)中选择是否显示编辑区工具栏,以及编辑区工具栏显示的样
35、式。工具工具栏栏 工作区由四部分构成,浏览器、文档区、图形编辑区和日志区。浏览器和文档区位于Rational Rose 2003工作区域的左侧。浏览器是一种树形的层次结构,可以帮助我们迅速的查找到各种图或者模型元素。文档区用于对Rational Rose 2003中所创建的图或模型元素说明。工作工作区区 编辑区包含了图形工具栏和图的编辑区域,在图的编辑区域中可以根据图形工具栏中的图形元素内容绘制相关信息。在图的编辑区添加的相关模型元素会自动地在浏览器中添加,这样使浏览器和编辑区的信息保持同步。我们也可以将浏览器中的模型元素拖动到图形编辑区中进行添加。工作工作区区 日志区位于Rational R
36、ose 2003工作区域的下方,用以记录了对模型的一些重要操作工作工作区区 可以通过选择“File”(文件)菜单栏下的“New”(新建)命令来创建新的模型,也可以通过标准工具栏下的“新建”按钮创建新的模型,这时便会弹出选择模板的对话框,选择我们想要使用的模板,单击“OK”(确定)按钮即可。如果使用模板,Rational Rose 2003系统就会将模板的相关初始化信息添加到创建的模型中,这些初始化信息包含了一些包、类、构件和图等。创建模型创建模型 可通过选择“File”(文件)菜单栏下的“Save”(保存)命令来保存新建的模型,也可以通过标准工具栏下的按钮保存新建的模型,保存的Rational
37、 Rose模型文件的扩展名为.mdl。可以通过选择“File”(文件)菜单栏下的“Save Log As”(保存日志)来保存日志,也可以通过“AutoSave Log”(自动保存日志)。保存模型保存模型 通过选择“File”(文件)菜单栏下的“Import”(导入)可以用来导入模型、包或类等,可供选择的文件类型包含.mdl、.ptl、.sub或.cat等,导入模型的对话框。导入模型,可以利用现成的建模。导入模型导入模型 通过选择“File”(文件)菜单栏下的“Export Model.”(导出模型)可以用来导出模型,导出的文件后缀名为.ptl。导出模型导出模型 Rational Rose 20
38、03提供了将模型生成相关网页从而在网络上进行发布的功能,这样,可以方便的系统模型的设计人员将系统的模型内容对其它开发人员进行说明。首先,选择“Tools”(工具)菜单栏下的“Web Publisher”选项。发布模型发布模型 如果需要设置发布的模型生成的图片格式,可以点击“Diagram”按钮,有四个选项可以提供选择,分别是“Dont Publish Diagrams”(不要发布图)、Windows Bitmaps(BMP格式)、Portable Network Graphics(PNG格式)和JPEG(JPEG格式)。“Dont Publish Diagrams”(不要发布图)是指不发布图像
39、,仅仅包含文本内容。其余三种指的是发布的图形文件格式。发布模型发布模型 添加一个注释包含以下的步骤:1 打开正在编辑的图,选择图形编辑工具栏中的图标,将其拖入到图中需添加注释的模型元素附近。也可以选择“Tools”(工具)菜单下的“Create”(新建)菜单中的“Note”选项,在图中需添加注释的模型元素附近绘制注释即可。2 在图形编辑工具栏中选择图标,或者在“Tools”(工具)菜单下的“Create”(新建)菜单中选择“Note Anchor”选项,添加注释与模型元素的超链接。删除注释的方法很简单,选中注释信息或者注释超链接,按“Delete”或者右键选择“Edit”下“Delete”选项
40、即可。添加或删除注释添加或删除注释 创建图的方式可以通过以下的步骤:1 在视图或者包中右键单击选择“New”菜单下的图或模型元素。2 将创建的图或模型元素进行命名。如果需要删除模型中的图或模型元素,需要在浏览器中选中该模型元素或图,右键单击选择“Delete”即可,这样在所有图中存在的该模型元素都会删除。如果在图中选择该模型元素,按“Delete”或者右键选择“Edit”下“Delete”选项值会在该图中删除,其它图中不会产生影响。添加和删除图或模型元素添加和删除图或模型元素 Rational Rose 2003支持多个用户的并行开发,使用控制单元便是支持的一种方式。控制单元可以控制各种视图、
41、Model Properties(模型属性)和各种视图下的包。在使用一个控制单元时,该单元中的所有模型元素存在在一个后缀为“.cat”的文件中。在创建完成该控制单元以后,可以对该控制单元进行重载、卸载、取消控制、另存为以及写保护操作 使用控制单使用控制单元元 点击“Tools”(工具)菜单下的“Options”选项,能设置字体。在“General”(全局)选项卡中,在“Default Color”选项中,点击相关按钮,便会弹出颜色设置对话框中,可以设置该选项的颜色信息,这些选项包括“Line Color”(线的颜色)和“Fill Color”(填充区颜色)。重点内容:重点内容:l Ration
42、al RoseRational Rose的四种视图模型的四种视图模型 l Rational RoseRational Rose与生成代码与生成代码 在Rational Rose建立的模型中包括四种视图,分别是用例视图(Use Case View)、逻辑视图(Logical View)、构件视图(Component View)和部署视图(Deployment View)。在我们创建一个Rational Rose工程的时候,会自动包含这四种视图。在用例视图(Use Case View)中包括了系统中的所有参与者、用例和用例图,必要时还可以在用例视图中添加顺序图、协作图、活动图和类图等。用例视图是与
43、系统中的实现是不相关的,它关注的是系统功能的高层抽象,适合于对系统进行分析和获取需求,而不关注于系统的具体实现方法。逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即在为用户提供服务方面,系统所应该提供的功能。在逻辑视图中,用户将系统更加仔细的分解为一系列的关键抽象,将这些大多数来自于问题域的事物通过采用抽象、封装和继承的原理,使之表现为对象或对象类的形式,借助于类图和类模板等手段,提供了系统的详细设计模型图。在逻辑视图下的模型元素可以包括类、类工具、用例、接口、类图、用例图、协作图、顺序图、活动图和状态图等。构件视图用来描述系统中的各个实现模块以及它们之间的依赖关
44、系。构件视图包含模型代码库,执行文件,运行库和其他构件的信息,但是按照内容来划分构件视图主要由包、构件和构件图构成。包是与构件相关的组。构件是不同类型的代码模块,它是构造应用的软件单元,构件可以包括源代码构件、二进制代码构件以及可执行构件等等。在构件视图下的元素可以包括各种构件、构件图以及包等。在构件视图中,同样可以创建一些的模型元素。在浏览器中选择Component View(构件视图)选项,右键单击,可以看到在该视图中允许创建的模型元素件、构件图以及包等。部署视图显示的是系统的实际部署情况,它是为了便于理解系统如何在一组处理节点上的物理分布,而在分析和设计中使用的构架视图。在系统中,只包含
45、有一个部署视图,用来说明了各种处理活动在系统各节点的分布。在部署视图中,可以创建处理器和设备等的模型元素。在浏览器中选择Deployment View(部署视图)选项,右键单击,可以看到在该视图中允许创建的模型元素。处理器(Processor):处理器是指任何有处理功能的节点。节点是各种计算资源的通用名称,包括处理器和设备两种类型。设备(Device)。设备是指任何没有处理功能的节点。例如打印机。文件(File)。文件是指那些能够连接到部署视图中的一些外部文件,用来详细的介绍使用部署视图的各种信息。URL地址(URL)。URL地址是指能够连接到部署视图的一些外部URL地址。这些地址用于介绍部署
46、视图的相关信息。中允许创建的模型元素。部署视图考虑的是整个解决方案的实际部署情况,所描述的是在当前系统结构中所存在的设备、执行环境和软件的运行时体系结构,它是对系统拓扑结构的最终物理描述。系统的拓扑结构描述了所有硬件单元,以及在每个硬件单元上执行的软件的结构。在这样的一种体系结构中,我们可以通过部署视图查看拓扑结构中的任何一个特定的节点,了解正在该节点上组件执行情况,以及该组件中包含了哪些逻辑元素(例如类、对象、协作等),并且最终能够从这些元素追溯到系统初始的需求分析阶段。Rational Rose Enterprise版本对UML提供了很高的支持,可以使用多种语言进行代码生成,这些语言包括A
47、da83、Ada95、ANSI C+、CORBA、JAVA、COM、Visual Basic、Visual C+、Oracle8和XML_DTD等。可以通过选择选择“Tools”(工具)下的“Options”(选项)选项来查看所支持的语言信息。使用Rational Rose进行生成代码可以通过以下四个步骤进行,以目标语言为Java代码为例。第一,选择待转换的目标模型。第二,检查Java语言的语法错误。第三,设置代码生成属性。第四,生成代码。在Rational Rose中,可以通过收集有关类(Classes)、类的属性(Attributes)、类的操作(Operations)、类与类之间的关系(
48、Relationships)以及包(Packages)和构件(Components)等静态信息,将这些信息转化成为对应的模型,在相应的图中显示出来。可以在工具栏中通过选择“Tools”(工具)中“Java”菜单下的“Reverse Engineer.”(逆向工程)选项来进行逆向工程。重点内容:重点内容:l什么叫用例图什么叫用例图 l用例图的构成要素用例图的构成要素 l用例的重要元素用例的重要元素 l用例之间的各种重要关系用例之间的各种重要关系 l使用使用RoseRose创建用例图的步骤说明创建用例图的步骤说明 l使用使用RoseRose创建用例图的步骤说明创建用例图的步骤说明 由参与者(Act
49、or)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。要在用例图上绘制一个参与者(表示一个系统用户),可绘制一个人形符号。参与者和用例之间的关系使用带箭头或者不带箭头的线段来描述,箭头表示在这一关系中哪一方是对话的主动发起者,箭头所指方是对话的被动接受者。在用例建模中,为了更加清楚的描述用例或者参与者,会使用到注释。用例图是需求分析中的产物,主要作用是描述参与者和用例之间的关系,帮助开发人员可视化的了解系统的功能。借助于用例图,系统用户、系统分析人员、系统设计人
50、员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。用例图可视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。用例方法是完全从外部来定义系统功能,它把需求和设计完全的分离开来。我们不用关心系统内部是如何完成各种功能的,系统对于我们来说就是一个黑箱子。参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。每个参与者可以参与一个或多个用例,每个用例也可以有一个或多个参与者。在用例图中使用一个人形图标来表示参与者,参与者的名字写在人形图标下面。由于参与者实质上也是类,所以它拥有与类相同的关系描述,