Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司1UML面向对象分析与设计教程上海钱拓金融信息服务有限公司内部文档禁止外传Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司2目录一.RationalRose简介.........................................................................................31.1环境简介................................................................................................31.1.1RationalRose可视化环境组成..................................................31.1.2浏览器和视图..............................................................................41.1.3框图窗口......................................................................................5二.UML各类框图的建立....................................................................................62.1建立用例图usecasediagram................................................................62.2建立活动图activitydiagram...............................................................112.3建立类图classdiagram........................................................................152.4建立交互图interactiondiagram...........................................................202.4.1序列图sequencediagram..........................................................202.4.2协作图collaborationdiagram...................................................232.4.3序列图和协作图之间的转换....................................................262.5建立状态图statechartdiagram............................................................262.6建立构件图componentdiagram..........................................................302.7建立实施图deploymentdiagram.........................................................32Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司3一.RationalRose简介Rose模型(包括所有框图、对象和其他模型元素)都保存在一个扩展名为.mdl的文件中。RationalRose中用例视图和逻辑视图的区别用例视图是从系统外部来看系统,逻辑视图是描述系统的内部结构。两者之间的关系是实现关系,即,逻辑视图所描述的系统实现用例视图所描述的功能。举个最简单的例子吧:对于很多系统都有的用户登录功能在用例视图中只描述用户在什么样的界面登录(是登录对话框,还是指纹鉴别器,还是身份识别卡,也许都可以),如何登录(是输入口令,还是将手指放在指纹阅读器上,还是将身份识别卡在读卡器上划过),系统有什么响应(登录成功后是显示正确提示,还是有悦耳的声音,还是吐出两张美金,登录失败后是回到登录界面,还是放个P,也许是从机器里冒出一只拳头打在用户的脸上)。但不会描述系统内部如何去验证用户,以及如何出拳。而在逻辑视图中则是描述系统如何验证用户,可能有一个登录界面类,有一个用户认证控制类,及用户信息存储类,以及这些类如何相互运作以完成用户认证,也许还会有拳头控制类来实现拳头瞄准和出拳,总之要将用例视图中提到的功能全部正确的实现。1.1环境简介1.1.1RationalRose可视化环境组成Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。见图1-1。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司4图1-1:Rose界面浏览器:用于在模型中迅速漫游。文档工具:用于查看或更新模型元素的文档。工具栏:用于迅速访问常用命令。框图窗口:用于显示和编辑一个或几个UML框图。日志:用于查看错误信息和报告各个命令的结果。1.1.2浏览器和视图浏览器是层次结构,用于在Rose模型中迅速漫游。在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等等。Rose浏览器见图1-2。浏览器中包含四个视图:UseCase视图、Logical视图、Component视图和Deployment视图。点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司5图1-2:Rose浏览器1.1.3框图窗口在图1-3所示的框图窗口中,我们可以浏览模型中的一个或几个UML框图。改变框图中的元素时,Rose自动更新浏览器。同样用浏览器改变元素时,Rose自动更新相应框图。这样,Rose就可以保证模型的一致性。图1-3:框图窗口Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司6二.UML各类框图的建立2.1建立用例图usecasediagram从用例图中我们可以看到系统干什么,与谁交互。用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。一个系统可以创建一个或多个用例图。创建用例图(图2-1-1)在浏览器内的UseCase视图中,双击Main,让新的用例图显示在框图窗口中。也可以新建一个包(右击UseCase视图,选择new→package,并命名),然后右击这个新建包的,选择new→usecasediagram。对系统总的用例一般画在UseCase视图中的Main里,如果一个系统可以创建多个用例图,则可以用包的形式来组织。图2-1-1:创建用例图创建参与者(图2-1-2)(1)在工具栏中选择“Actor”,光标的形状变成加号。(2)在用例图中要放置参与者符号的地方单击鼠标左键,键入新参与者的名称,如“客户”。若要简要的说明参与者,可以执行以下步骤:(1)在用例图或浏览器中双击参与者符号,打开对话框,而且已将原型(stereotype)设置Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司7定义为“Actor”。(2)打开“General”选项卡,在documentation字段中写入该参与者的简要说明。(3)单击OK按钮,即可接受输入的简要说明并关闭对话框。图2-1-2:创建参与者创建用例(图2-1-3)(1)在工具栏中选择“UseCase”,光标的形状变成加号。(2)在用例图中要放置用例符号的地方单击鼠标左键,键入新用例的名称,如“存款”。若要简要的说明用例,可以执行以下步骤:(1)在用例图或浏览器中双击用例符号,打开对话框,接着打开“General”选项卡。(2)在documentation字段中写入该用例的简要说明。(3)单击OK按钮,即可接受输入的简要说明并关闭对话框。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司8图2-1-3:创建用例记录参与者和用例之间的关系(图2-1-4)(1)从工具栏中选择关联关系箭头。(2)将光标定位在用例图中的参与者上,单击鼠标左键并将光标移动到用例符号上,然后释放鼠标左键。若要简要的说明关系,可以执行以下步骤:(1)在用例图中双击关联关系符号,打开对话框。(2)在默认情况下,将显示对话框中的“General”选项卡。(3)在documentation字段中写入简要说明。(4)单击OK按钮,即可接受输入的简要说明并关闭对话框。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司9图2-1-4:参与者和用例的关系增加泛化关系(图2-1-5)(1)从工具栏中选择泛化关系箭头。(2)从子用例拖向父用例,也可从子参与者拖向父参与者。简要说明关系执行的步骤同上类似。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司10图2-1-5:增加泛化关系★练习:画ATM(自动柜员机)系统总的用例图理解:对于银行的客户来说,可以通过ATM机启动几个用例:存款、取款、查阅结余、付款、转帐和改变PIN(密码)。银行官员也可以启动改变PIN这个用例。参与者可能是一个系统,这里信用系统就是一个参与者,因为它是在ATM系统之外的。箭头从用例到参与者表示用例产生一些参与者要使用的信息。这里付款用例向信用系统提供信用卡付款信息。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司112.2建立活动图activitydiagram活动图显示了从活动到活动的流。活动图可以在分析系统业务时用来演示业务流,也可以在收集系统需求的时候显示一个用例中的事件流。活动图显示了系统中某个业务或者某个用例中,要经历哪些活动,这些活动按什么顺序发生。创建活动图(图2-2-1)(1)用于分析系统业务:在浏览器中右击UseCase视图,选择new→activitydiagram。(2)用于显示用例中的事件流:在浏览器中选中某个用例,然后右击这个用例,选择new→activitydiagram。图2-2-1:创建活动图增加泳道(图2-2-2)泳道是框图里的竖段,包含特定人员或组织要进行的所有活动。可以把框图分为多个泳道,每个泳道对应每个人员或组织。在工具栏选择swimlane按钮,然后单击框图增加泳道,最后用人员或组织给泳道命名。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司12图2-2-2:增加泳道增加活动并设置活动的顺序(图2-2-3)(1)在工具栏中选择Activity按钮,单击活动图增加活动,命名活动。(2)在工具栏中选择Transition按钮,把箭头从一个活动拖向另一个活动。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司13图2-2-3:增加活动增加同步(图2-2-4)(1)选择synchronization工具栏按钮,单击框图来增加同步棒。(2)画出从活动到同步棒的交接箭头,表示在这个活动之后开始并行处理。(3)画出从同步棒到可以并行发生的活动之间的交接箭头。(4)创建另一同步棒,表示并行处理结束。(5)画出从同步活动到最后同步棒之间的交接箭头,表示完成所有这些活动之后,停止并行处理。Rational_Rose_教程+使用详解QA-赵利英上线钱拓金融信息服务有限公司14图2-2-4:增加同步增加决策点(图2-2-5)决策点表示可以采取两个或多个不同的路径。从决策到活动的交接箭头要