资源预览内容
第1页 / 共114页
第2页 / 共114页
第3页 / 共114页
第4页 / 共114页
第5页 / 共114页
第6页 / 共114页
第7页 / 共114页
第8页 / 共114页
第9页 / 共114页
第10页 / 共114页
亲,该文档总共114页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Rational Rose & OO建模臧立威课程目标n了解可视化建模的相关知识n能够使用Rational Rosen能够看懂别人用UML表示的设计n具备OO建模的基本技能课程内容n1. 可视化建模基础n2. OO基础n3. 需求建模n4. 基于团队的建模n5. 分析n6. 设计n7. 正向工程和逆向工程1. 可视化建模基础什么是可视化建模业务流程计算机系统可视化建模可视化建模就是用标准 的图形表示法来建模“建模获取系统的关键 部分”UM L可视化建模的作用(1)n可视化建模获取业务流程n用例(use case)分析是一种从用户的角度获取业务流程 的技术n使用相同的语言,不至于产生歧义n用例分析能让分析师在构建系统之前理解要构建什么可视化建模的作用(2)n可视化建模是一个交流工具业务领域计算机领域业务对象和逻辑业务对象和逻辑可视化建模的作用(3)n管理复杂性n把3000多个类放在一张图中不好n可视化建模的“包”(package)n把元素模型化成有意义的组合n为不同的人提供不同级别的抽象n软件构架(architecture)Logical ViewPhysical ViewUser InterfaceBusiness LogicDatabaseVB JavaC+ JavaC+&SQL可视化建模的作用(4)n促进复用(reuse)n复用是软件的“圣杯”n不止是复用代码,而是复用建立原始工件时需要 的所有分析、设计、实现、测试、文档化n可以有一个类复用、多个类(或一个组件)的复 用、应用模式等复用方式n可视化建模让你从复用的角度看,如果想复用工 件,什么是可用的什么是UMLnUML(Unified Modeling Language)是可视化、说明、 构建和文档化软件系统工件的标准语言nUML可以做下面的建模n数据建模n业务建模n对象建模n组件建模nUML可以用于可视化建模n系统与外界的交互n系统的行为n系统的结构n系统的构架n系统的组件视图(Views)n模型由不同的view和diagram构建而成,描述了不同 的视点和系统的构建块nView是一个对特定涉众有意义的模型的视点nView是模型的“碎片”nRose中的“4+1view”Logical View分析师 设计师 structureProcess View系统集成员 Performance Scalability ThroughputImplementation View编程人员 Software management Use-case View最终用户 FunctionalityDeploymentView 系统工程 System topology Delivery installation Communication图(Diagrams)n用例图(Use Case Diagram):模型化系统与外界的交互n类图(Class Diagram):模型化系统的结构n时序图(Sequence Diagram):模型化系统的行为n协作图(Collaboration Diagram):模型化系统的行为n组件图(Component Diagram):模型化组件的组织和依赖n部署图(Deployment Diagram):模型化系统的硬件分布n活动图(Activity Diagram):模型化系统内的事件流n状态图(Statechart Diagram):模型化状态相关的方面模型结构View作用模型图图 Use Case View是其他view的“心脏” ,说明系统做什么Use Case ModelUse Case Diagram Activity Diagram(可选 ) Statechart Diagram(可选 ) Logical View支持系统的功能性需 求Analysis Model (可选) Design ModelClass Diagram Sequence Diagram Collaboration Diagram Activity Diagram(可选 ) Statechart Diagram(可选 ) Process View阐述系统的性能、伸 缩性和吞吐量Process ModelClass DiagramImplementation View以分包、分层和配置 管理的形式描述了静 态软件模型的组织Implementation ModelComponent DiagramDeployment View如何把执行体和其他 运行时组件映射到下 层平台或计算节点Deployment ModelDeployment DiagramRational Rose的界面nBrowser让你可以文本化的查看和导航Views和Diagramsn不在browser中的元素就不是模型化系统的一部分nDiagram Window让你可以创建、修改和模型化当前模型的 图形化视图nDiagram Toolbarn包括构建diagram的元素n每个diagram都有自己独特的toolbarn只有显示diagram时才是活动的nDocumentation Window用于创建、查看或修改解释diagram 中被选项目的文本nLog Window报告进度、结果和错误nTitle组成nRational Rose-模型名-XX diagram:diagram所在的package名/diagram 名Rational Rose2. OO基础对象n对象是一个有定义良好的边界和标识,并封装了状态(State)和行为( Behavior)的实体。可以是物理的(如一个卡车)、概念的(如一个化 学过程)或软件的(如一个链表)n状态n是对象可以处于的状况n对象的状态随时间变化n用属性(Attribute)和关系(relation)表示n行为n行为决定对象如何动作和做反应n对象的可见行为用一系列它响应的消息来模型化n用操作(Operation)、方法(Method)和状态机(State machine)表示n标识(Identity)n每个对象有唯一的标识n例如,一个名叫J Clark的教授对象的信息如下(她的状态是tenured):nName: J ClarknEmployee ID:567138(标识)nStatus: TenurednDiscipline: Finance 类n类是对一系列具有相同属性、操作、关系和 语义的对象的描述n对象是类的实例n类定义了它的所有对象的结构和行为的模板面向对象的基本规则n抽象(Abstraction)n对象区别于其他对象的本质特征n定义与使用者视点相关的边界n不是具体的表现,而是理想化的本质n封装(Encapsulation)n对用户隐藏了实现,用户只能通过接口与对象通信n封装通常叫“信息隐藏”n封装使对象的状态不受用户的影响,使用户不受对象实 现变化的影响n模块化(Modularity)n把复杂的东西分成可管理的小块n帮助人们理解复杂的系统3. 需求建模需求流程用例模型n为什么要创建用例模型n用例模型允许顾客和系统开发者之间用一种用户可以理 解的语言交流系统要做什么n你可以认为用例模型是顾客和开发者之间的可视化契约n什么是用例模型n在Use-case View中创建n用例模型代表了从最终用户角度看的系统的功能和环境n是顾客和开发者之间的契约n对于分析、设计和测试活动都是至关重要的n包括用例图、用例规约和补充规约,也可以包括活动图用例图(Use case diagram)n用例图表示了用例和主角以及用例和用例之间的关 系n可视化的表示出了客户希望系统做什么n代表一些大的完整的功能n表示系统完成的有明确结果的对主角有价值的一系列动 作n可以模型化n所有的主角和用例(global view)n某个选定主角的所有用例n一个用例以及它所有的关系n一个迭代的所有的用例用例图的元素n主角n用例n关系主角(Actor)n定义:系统外的与系统进行交互的人或事物n种类n人n外部系统n外部设备或Timern识别Actor要依据Actor的定义,可以这样查 找:n有哪些用户使用系统?n系统会用到哪些外部的系统或设备?n有什么外部系统或设备会用到要开发的系统?n有没有定时触发的行为?主角(Actor)n如何判断一个事物是不是actorn首先它必须与系统有交互,如果与系统没有交互 则不是主角n其次它必须是系统外的,如果它是我们将要开发 的系统或是系统的一部分则不是主角n其它n用户如果通过标准的输入和输出设备与系统交互 则用户是Actorn用户如果通过特殊的设备与系统交互,则设备是 Actor用例(Use Case)n定义:是actor与系统的一系列交互n特点:n完成actor的某个目的(不是功能),一般会给actor一个 有价值的结果 n起始于actor的输入 n其中,系统是一个黑盒n用于描述系统行为,但不描述如何实现n识别用例的依据就是用例的定义和特点 n识别用例时需要注意 n用例的粒度不要太大也不要太小n用例描述的是系统做什么,初始识别用例的时候不要过 多考虑系统的实现,即把系统作为黑盒n外部系统或设备的行为不是要开发的系统行为,不要识 别出来用例用例( Use Case)n有些用例不代表系统的主要功能,因而通常 会被大家忽视,这些用例可能属于以下类型 :n系统启动和停止n系统的维护。例如,添加新用户和建立用户简档n维护在系统中存储的数据。例如,所构建的系统 和遗留系统平行工作,所以数据需要在两个系统 之间达到同步n修改系统行为所需的功能。例如创建新报告的功 能,它不仅可以创建硬代码,还可以对系统中存 储的数据创建一组特定报告Actor和Use case的关系nActor与use case之间的关系是association关系 ,含义是“触发”,千万不要理解成数据流 Rose操作加入模型元素n从browser窗口中加入n选择要加入模型元素所在的package,单击鼠标 右键,从弹出菜单中选择new模型元素种类( 如class,package,use case diagram等),此时相 应的包下面就会加入一个新的元素,你可以为它 命名n从Diagram的toolbar中直接加入n从toolbar中选择要加入的元素类型,单击diagram 窗口的某个位置,新的元素就会显示到diagram 窗口中,此时你可以为新元素命名。同时 browser中也出现新的元素(新的模型元素会加 入到相应的diagram所在的包中)。Rational RoseRose操作更改模型元素n双击browser或diagram中的元素(或者单击鼠 标右键,从弹出菜单中选择open specification )就会打开新建元素的specification,在 specification对话框中,你可以更改名字以及 做其他的设置n注意:diagram没有specificationn注意:双击diagram中的package,不会打开 它的specification,而是进入package下的某个 类图Rational RoseRose操作删除模型元素nDelete from model:模型元素从模型中删除 (也从它参与的所有图中删除)n从browser中选择要删除模型元素,单击鼠标右 键,从弹出菜单中选择delete,或者n从diagram中选择要删除模型元素,从菜单中选 择editdelete from model(快捷键ctrl+D)nDelete from diagramn从diagram中中选择要删除模型元素,从菜单中 选择editdelete (快捷键Del)Rational Rose实践nDemon识别ATM系统的主角和用例,并在Rose中画出 用例图详细用例模型nActor之间的关系泛化(generalization)nUse Case之间的关系n泛化(generalization):不常用n扩展(extend)n包含(include)用例之间的扩展关系n扩展关
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号