RationalRose培训.ppt
《RationalRose培训.ppt》由会员分享,可在线阅读,更多相关《RationalRose培训.ppt(114页珍藏版)》请在三一办公上搜索。
1、Rational Rose&OO建模,臧立威,课程目标,了解可视化建模的相关知识能够使用Rational Rose能够看懂别人用UML表示的设计具备OO建模的基本技能,课程内容,1.可视化建模基础2.OO基础3.需求建模4.基于团队的建模5.分析6.设计7.正向工程和逆向工程,1.可视化建模基础,什么是可视化建模,业务流程,计算机系统,可视化建模,可视化建模就是用标准的图形表示法来建模,“建模获取系统的关键部分”,UML,可视化建模的作用(1),可视化建模获取业务流程用例(use case)分析是一种从用户的角度获取业务流程的技术使用相同的语言,不至于产生歧义用例分析能让分析师在构建系统之前理
2、解要构建什么,可视化建模的作用(2),可视化建模是一个交流工具,业务领域,计算机领域,业务对象和逻辑,业务对象和逻辑,可视化建模的作用(3),管理复杂性把3000多个类放在一张图中不好可视化建模的“包”(package)把元素模型化成有意义的组合为不同的人提供不同级别的抽象软件构架(architecture),Logical View,Physical View,User Interface,Business Logic,Database,VB Java,C+Java,C+&SQL,可视化建模的作用(4),促进复用(reuse)复用是软件的“圣杯”不止是复用代码,而是复用建立原始工件时需要的所
3、有分析、设计、实现、测试、文档化可以有一个类复用、多个类(或一个组件)的复用、应用模式等复用方式可视化建模让你从复用的角度看,如果想复用工件,什么是可用的,什么是UML,UML(Unified Modeling Language)是可视化、说明、构建和文档化软件系统工件的标准语言UML可以做下面的建模数据建模业务建模对象建模组件建模UML可以用于可视化建模系统与外界的交互系统的行为系统的结构系统的构架系统的组件,视图(Views),模型由不同的view和diagram构建而成,描述了不同的视点和系统的构建块View是一个对特定涉众有意义的模型的视点View是模型的“碎片”Rose中的“4+1v
4、iew”,Logical View,分析师设计师structure,Process View,系统集成员PerformanceScalabilityThroughput,Implementation View,编程人员Software management,Use-case View,最终用户Functionality,Deployment View,系统工程System topologyDelivery installationCommunication,图(Diagrams),用例图(Use Case Diagram):模型化系统与外界的交互类图(Class Diagram):模型化系统的
5、结构时序图(Sequence Diagram):模型化系统的行为协作图(Collaboration Diagram):模型化系统的行为组件图(Component Diagram):模型化组件的组织和依赖部署图(Deployment Diagram):模型化系统的硬件分布活动图(Activity Diagram):模型化系统内的事件流状态图(Statechart Diagram):模型化状态相关的方面,模型结构,Rational Rose的界面,Browser让你可以文本化的查看和导航Views和Diagrams不在browser中的元素就不是模型化系统的一部分Diagram Window让你可
6、以创建、修改和模型化当前模型的图形化视图Diagram Toolbar包括构建diagram的元素每个diagram都有自己独特的toolbar只有显示diagram时才是活动的Documentation Window用于创建、查看或修改解释diagram中被选项目的文本Log Window报告进度、结果和错误Title组成Rational Rose-模型名-XX diagram:diagram所在的package名/diagram名,Rational Rose,2.OO基础,对象,对象是一个有定义良好的边界和标识,并封装了状态(State)和行为(Behavior)的实体。可以是物理的(如一
7、个卡车)、概念的(如一个化学过程)或软件的(如一个链表)状态是对象可以处于的状况对象的状态随时间变化用属性(Attribute)和关系(relation)表示行为行为决定对象如何动作和做反应对象的可见行为用一系列它响应的消息来模型化用操作(Operation)、方法(Method)和状态机(State machine)表示标识(Identity)每个对象有唯一的标识例如,一个名叫J Clark的教授对象的信息如下(她的状态是tenured):Name:J ClarkEmployee ID:567138(标识)Status:TenuredDiscipline:Finance,类,类是对一系列具有
8、相同属性、操作、关系和语义的对象的描述对象是类的实例类定义了它的所有对象的结构和行为的模板,面向对象的基本规则,抽象(Abstraction)对象区别于其他对象的本质特征定义与使用者视点相关的边界不是具体的表现,而是理想化的本质封装(Encapsulation)对用户隐藏了实现,用户只能通过接口与对象通信封装通常叫“信息隐藏”封装使对象的状态不受用户的影响,使用户不受对象实现变化的影响模块化(Modularity)把复杂的东西分成可管理的小块帮助人们理解复杂的系统,3.需求建模,需求流程,用例模型,为什么要创建用例模型用例模型允许顾客和系统开发者之间用一种用户可以理解的语言交流系统要做什么你可
9、以认为用例模型是顾客和开发者之间的可视化契约什么是用例模型在Use-case View中创建用例模型代表了从最终用户角度看的系统的功能和环境是顾客和开发者之间的契约对于分析、设计和测试活动都是至关重要的包括用例图、用例规约和补充规约,也可以包括活动图,用例图(Use case diagram),用例图表示了用例和主角以及用例和用例之间的关系可视化的表示出了客户希望系统做什么代表一些大的完整的功能表示系统完成的有明确结果的对主角有价值的一系列动作可以模型化所有的主角和用例(global view)某个选定主角的所有用例一个用例以及它所有的关系一个迭代的所有的用例,用例图的元素,主角用例关系,主角
10、(Actor),定义:系统外的与系统进行交互的人或事物种类人外部系统外部设备或Timer识别Actor要依据Actor的定义,可以这样查找:有哪些用户使用系统?系统会用到哪些外部的系统或设备?有什么外部系统或设备会用到要开发的系统?有没有定时触发的行为?,主角(Actor),如何判断一个事物是不是actor首先它必须与系统有交互,如果与系统没有交互则不是主角其次它必须是系统外的,如果它是我们将要开发的系统或是系统的一部分则不是主角其它用户如果通过标准的输入和输出设备与系统交互则用户是Actor用户如果通过特殊的设备与系统交互,则设备是Actor,用例(Use Case),定义:是actor与系
11、统的一系列交互特点:完成actor的某个目的(不是功能),一般会给actor一个有价值的结果 起始于actor的输入 其中,系统是一个黑盒用于描述系统行为,但不描述如何实现识别用例的依据就是用例的定义和特点 识别用例时需要注意 用例的粒度不要太大也不要太小用例描述的是系统做什么,初始识别用例的时候不要过多考虑系统的实现,即把系统作为黑盒外部系统或设备的行为不是要开发的系统行为,不要识别出来用例,用例(Use Case),有些用例不代表系统的主要功能,因而通常会被大家忽视,这些用例可能属于以下类型:系统启动和停止系统的维护。例如,添加新用户和建立用户简档维护在系统中存储的数据。例如,所构建的系统
12、和遗留系统平行工作,所以数据需要在两个系统之间达到同步修改系统行为所需的功能。例如创建新报告的功能,它不仅可以创建硬代码,还可以对系统中存储的数据创建一组特定报告,Actor和Use case的关系,Actor与use case之间的关系是association关系,含义是“触发”,千万不要理解成数据流,Rose操作加入模型元素,从browser窗口中加入选择要加入模型元素所在的package,单击鼠标右键,从弹出菜单中选择new-模型元素种类(如class,package,use case diagram等),此时相应的包下面就会加入一个新的元素,你可以为它命名从Diagram的toolba
13、r中直接加入从toolbar中选择要加入的元素类型,单击diagram窗口的某个位置,新的元素就会显示到diagram窗口中,此时你可以为新元素命名。同时browser中也出现新的元素(新的模型元素会加入到相应的diagram所在的包中)。,Rational Rose,Rose操作更改模型元素,双击browser或diagram中的元素(或者单击鼠标右键,从弹出菜单中选择open specification)就会打开新建元素的specification,在specification对话框中,你可以更改名字以及做其他的设置注意:diagram没有specification注意:双击diagram
14、中的package,不会打开它的specification,而是进入package下的某个类图,Rational Rose,Rose操作删除模型元素,Delete from model:模型元素从模型中删除(也从它参与的所有图中删除)从browser中选择要删除模型元素,单击鼠标右键,从弹出菜单中选择delete,或者从diagram中选择要删除模型元素,从菜单中选择edit-delete from model(快捷键ctrl+D)Delete from diagram从diagram中中选择要删除模型元素,从菜单中选择edit-delete(快捷键Del),Rational Rose,实践,
15、Demo识别ATM系统的主角和用例,并在Rose中画出用例图,详细用例模型,Actor之间的关系泛化(generalization)Use Case之间的关系泛化(generalization):不常用扩展(extend)包含(include),用例之间的扩展关系,扩展关系的双方分别叫做基本用例(Base use case)和扩展用例(extension use case)扩展用例用来模型化基本用例中有条件的部分,只在某些环境下执行复杂的或可选的路径。扩展关系用stereotype是“extend”的association关系来表示,用例之间的扩展关系,扩展用例和基本用例的关系基本用例自身应是
16、完整的,即基本用例在不必引用任何扩展用例的情况下,应该是可理解且有意义的 基本用例可以不依赖于扩展用例而单独的运行扩展用例只有在基本用例中的某种条件满足时才能执行,如果没有基本用例,扩展用例不能运行扩展用例可以扩展多个基本用例扩展点定义在基本用例的哪些位置插入扩展用例 包括一个名称和对用例事件流中一个或多个位置的引用一个扩展点可以引用基本用例内的两个行为步骤之间的单个位置,也可以引用一组不连续的位置,扩展关系的实例,在电话系统中,为用户提供的主要服务通过用例“打电话”来表示。可选服务的示例包括能让第三方加入通话(召开电话会议)允许接收方看到呼叫方的身份(显示呼叫方身份)我们可以将这些可选服务所
17、需的行为表示为基本用例“打电话”的扩展用例,由于“打电话”本身就具有意义,您无需阅读扩展用例的说明就可理解基本用例的主要目的,用例之间的包含关系,包含关系的双方分别叫做基本用例(Basic use case)(或具体用例,concrete use case)和包含用例(included use case)(或抽象用例,abstract use case)包含用例用来模型化基本用例中多个用例都包含的路径复杂的路径包含用例要能生成一个有意义的结果扩展关系用stereotype是“include”的association关系来表示,用例之间的包含关系,抽象用例和具体用例抽象用例不能单独执行,必须与包
18、括(也就是执行)它的具体用例一起执行 抽象用例没有特定的actor,它的actor实际上包括它的具体用例的actor抽象用例可以被几个其他的用例复用 具体用例的基本流执行时,抽象用例一定执行,扩展关系和包含关系,共同点扩展用例和包含用例都是基本用例的一部分基本用例不执行,扩展用例和包含用例都不会执行扩展用例可以扩展多个基本用例;包含用例可以被多个基本用例包含区别扩展关系中基本用例的基本流执行时,扩展用例不一定执行,即扩展用例只有在基本用例满足某种条件的时候才会执行包含关系中基本用例的基本流执行时,包含用例一定会执行,包含关系的实例,在 ATM 系统中,用例 Withdraw Cash、Depo
19、sit Cash和 Transfer Funds都需要包含系统识别客户的过程。可以将此行为抽取到一个名为 Identify Customer的新包含用例中从基本用例的角度来看,识别客户方法是读取银行磁卡还是执行视网膜扫描并不重要。它们仅依赖于 Identify Customer 的结果,即客户的身份。从 Identify Customer 用例的角度来看,基本用例如何使用客户身份或者在执行包含用例之前基本用例中发生了什么并不重要:识别方法都会完全相同,Stereotype的作用,扩展模型元素例如Rose中没有extend和include关系,于是用stereotype是“extend”和“in
20、clude”的association关系来表示给模型元素分类例如将来把分析类分成“boundary”、”entity”和“control”三种,Rational Rose,用例规约(Use case specification),用例名字(Name)简要说明(Brief description)事件流(Flows of Events)特殊需求(Special requirements)前置条件(Pre-conditions)开始用例前所必需的系统及其环境的状态后置条件(Post-conditions)用例结束后系统可能具备的状态扩展点(Extension points),事件流,事件流用文本形
21、式描述了用户和系统之间如何进行交互用例的执行有很多种情况,每一种情况就是一个场景(scenario),用例的事件流应该描述出所有的场景 事件流分成基本流(basic flow)和备选流(Alternative Flow)两种基本事件流应包括在执行用例时“通常”会发生的事件,也叫happy flow备选事件流包括与正常行为相关的可选或异常特征的行为,同时也包括正常行为的各种变形可以将备选事件流看作是基本事件流的“绕行道”,有些备选事件流将返回到基本事件流,而有些将结束此用例的执行,前置条件和后置条件,前置条件或后置条件所说明的状态应该是用户可以观察到的状态 前置条件是对用例何时开始的约束,它并不
22、是使用例开始的事件虽然可以在分支流级别定义前置条件和后置条件,但是一个用例的前置条件并不只是一个分支流的前置条件无论执行了哪些备选流,用例的后置条件都应为“真”;它不能只对主事件流为“真”。如果可能出现故障,则应在后置条件内包括“该动作已经完成,或者,如果可能出现故障,则不执行该动作”,而不只是“该动作已经完成”,实践,Demo描述Withdraw用例的用例描述,4.基于团队的建模,基于团队的建模,受控的演化Rose通过使用UML包和子系统支持基于构架的建模Rose帮助用户在不影响其他人工作的情况下进行详细设计Rose帮助用户避免创建构架单元之间不恰当的联系把模型划分成在构架上有重大意义的单元
23、可以分成叫做受控单元的单独的文件构架上有重大意义的模型元素的复用,Rational Rose,受控单元,受控单元是Rational Rose保存模型全部或一部分的文件是能进行版本控制的模型元素定义了单个开发人员可以操作模型的一部分在团队中共享让团队可以平行开发一定是包下面元素可以作为受控单元模型文件本身(.mdl)逻辑视图和用例视图包(.cat)组件视图包(.sub)部署视图的图(.prc)模型属性(.prp),Rational Rose,受控单元,受控单元可以被loaded或unloaded可以load模型的一部分,这样就减少了启动延迟、资源消耗和维护对unloaded的单元的索引可以被wr
24、ite enable或write protect(手动的或自动的)子受控单元具有独立于父受控单元的写保护即使有版本控制系统,也可以对受控单元进行写保护控制Reload模型后,写保护失效手动写保护不影响文件系统的访问权限Model workspace是当前装载的受控单元和打开的diagram的快照Model包括组成完成模型的图、元素和受控单元Model workspace包括某个model在某一点上的打开的图和受控单元的实际状态,Rational Rose,虚路径,虚路径使模型可以在不同的目录结构中移动,可以从不同的workspace上修改。,Rational Rose,虚路径使model脱离物
25、理位置,虚路径,物理路径,5.分析,分析和设计流程,分析和设计,用例实现,用例实现对用例模型中的每个用例,在设计模型中都有相应的实现提供从分析和设计到需求的可跟踪性用例实现结构用例实现包是组织用例的类和交互图的方式每个用例都对应一个用例实现包可跟踪性图交互图时序图(Sequence Diagrams)(动态)协作图(Collaboration Diagrams)(动态)类图(Class Diagrams)(静态),分析类,分析类代表“系统中具备职责和行为的事物”的初期概念模型。这些概念模型最终将演进为设计模型中的类和子系统分类边界类(Boundary class)接口与系统外部某些事物的媒介
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RationalRose 培训

链接地址:https://www.31ppt.com/p-2250199.html