为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

UML ROSE培训教材

2020-05-10 273页 ppt 2MB 5阅读

用户头像 机构认证

金水文库

鑫淼网络科技有限公司主要经营:PPT设计 、课件制作,软文策划、合同简历设计、计划书策划案、各类模板等。公司秉着用户至上的原则服务好每一位客户

举报
UML ROSE培训教材RATIONAL面向对象的可视化建模培训教程[UML和RationalRose/C++Ver4.x]RATIONAL目录表 简介 ROSE提供的不同视图 配置用户界面 问题描述 问题需求描述 UseCases 建立Actors,UseCase和UseCase图 建立序列图 建立协同图 包和类 建立类、包和模版 重新分配类和包 建立类图RATIONAL目录表 关系 关联和聚合关系的建立 反向关系的建立 操作和属性 建立并验证类的属性和操作 继承 继承关系的建立 使用类指南建立类 对象行为 状态转换图的建立RATIONAL目录表 ...
UML  ROSE培训教材
RATIONAL面向对象的可视化建模培训教程[UML和RationalRose/C++Ver4.x]RATIONAL目录表 简介 ROSE提供的不同视图 配置用户界面 问题描述 问题需求描述 UseCases 建立Actors,UseCase和UseCase图 建立序列图 建立协同图 包和类 建立类、包和模版 重新分配类和包 建立类图RATIONAL目录表 关系 关联和聚合关系的建立 反向关系的建立 操作和属性 建立并验证类的属性和操作 继承 继承关系的建立 使用类指南建立类 对象行为 状态转换图的建立RATIONAL目录表 结构 建立4+1的视图模型 详细设计 叠代包的建立 用设计阶段的信息(如:导航、抑制操作、属性数据类型、操作信号和信息同步选项)更新模型 双向工程RATIONAL简介RATIONAL主题:介绍 你将可以: 讨论ROSE支持的不同视图 列出每一种视图案的图形 配置ROSE用户界面RATIONAL什么是RationalRose? RationalRose是一种工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力 Rose运行环境 WindowsNT,Windows95 UNIX(Solaris,HP/UX,AIX,DECUnix) Rose支持Unified、Booch、OMT标记法RATIONAL什么是Rose建模? Rose“建模”代表问题域和系统软件 每一种模型都包含在建模中提供可视化组件和操作组件的视图、图形和规格说明书 每一种基础元素有多种视图 在Rose“建模”中,每一个对象都被描绘 Rose在“建模”中保证了一致的语义描述RATIONALRationalRose中的视图 在Rose中有四种视图 UseCase视图 包、Actor、UseCase、对象、消息和关系 逻辑视图 包、类、状态和关系 组件视图 包、组件和依附关系 拓扑视图 节点和关系RATIONALUseCase视图 在UseCase中的元素可以在多个图形中被浏览 在UseCase视图中可以包含以下的图形 UseCase图 包、actors、usecase和关系 相互作用图(序列图或协同图) 对象和消息RATIONALUseCase图形 UseCase图形描述了一个系统应该执行的什么或应该有什么外部系统 它描述了存在的actors(外部系统)、usecase(该系统应该执行什么)以及它们的关系 UseCase图性形可以描述该系统中部分或全部的usecaseRATIONAL交互图 交互图描述了系统在逻辑设计中存在的对象及其间的关系 它可以代表系统中对象的结构 Rose中包含两种交互图,它们对同一交互操作提供了不同的浏览视角 序列图 按时间顺序排列对象交互操作 协同图 围绕对象及其间的链接关系组织对象的交互操作RATIONAL逻辑视图 在逻辑视图中的元素可以有一种或多种图形来表示 逻辑视图可以包含以下的图形 类图 包、类和类的关系 状态图 状态、事件和转换关系RATIONAL类图 类图描绘的系统的静态视图 它描述了系统逻辑设计中存在的包、类异己它们间的关系 类图可以代表该系统中部分或全部的类结构 在模型中有一些典型的类图RATIONAL状态图 状态图描述了: 给定类的状态转换空间 导致状态转换的事件 导致状态改变的动作 为类的重要动态行为建立状态转换图RATIONAL组件视图 组件视图中的元素可以在一个或多个组件图形中被浏览 组件图形描述了在系统物理设计中组件中类和对象的分配情况 组件图可以代表系统中部分或全部的组件结构 组件图形描述了 包 组件 依赖关系RATIONAL拓扑视图 在拓扑视图中的元素可以在拓扑图形中被浏览 拓扑视图只能包含一个拓扑图形 拓扑视图描述了一个系统在物理设计阶段进程处理的分配情况 进程图描述了 节点 连接RATIONALRose用户界面 Rose的组成 工具条 图形工具条 浏览区 文档窗口 图形窗口 规格说明书 状态条RATIONALRationalRose界面标准工具条浏览区文档描述窗口状态条图形工具条图形窗口RATIONALRose标准工具条 Rose的工具条独立于当前打开的图形窗口界面RATIONALRose的浏览区 Rose的浏览区描述了原本的视图模型,并且提供了在每一种视图的组件间进行访问的功能 “+”表示该图标为折叠图 “-”表示该图标已被完全扩展开 该浏览区可以 可见或不可见 Docked 位置有边界范围 浮动 可移动到任何位置RATIONAL浏览区完全扩展树折叠树RATIONAL固定浏览窗口RATIONAL浮动浏览窗口RATIONAL文档窗口 文档窗口为所选择的项和图形提供建立、浏览或修改文档的能力 当不同的选项和图形被选择时,进允许一个文档窗口被更新 文档窗口 可视或被隐藏 固定或浮动RATIONAL可固定的文档窗口RATIONAL浮动的文档窗口RATIONAL配置用户界面 ROSE用户界面可以被定制 显示或不显示工具条 从工具条上添加或删除按钮 显示或不显示浏览窗口 显示或不显示文档窗口 使工具条、浏览窗口或文档窗口固定或浮动RATIONALROSE选项 一般选项 字体、备份文件的使用、存储命令 图形 显示属性、操作、可视化、控制焦点、交互图序列号、未定义的注释、自动重设大小 注释 定义注释——UML,Booch,OMT 工具条 工具条显示与定制 代码产生 建立、修改、删除代码产生的性质设定 数据定义语言 建立、修改、删除数据定义语言产生的性质设定RATIONAL练习:定制用户界面 设置用户界面 显示工具条 显示浏览窗口和文档窗口 显示状态条 将图形和文档窗口字体设置为Arial10号 设置统一的缺省注释 显示操作符号 不显示属性 不显示操作 关闭控制焦点 存储改变并且退出RATIONAL课程登记实例RATIONAL课程登记问题描述 每学期开始学生需要一份课程表,它包含本学期所提供的课程列表及每门课程的相关信息。比如:导师名称、科系、必要条件、课程时间、上课地点,可以帮助学生作出合理的决定 新系统学生可以选择四门必修课程。此外,他还要选择两门候补课程以防某门课程人员满额或被取消。每门课程人数不得多余10人或少余3人。一旦学生完成登记过程,登记系统将信息传入记费系统以便计算学生在本学期的学费数额/RATIONAL课程登记问题描述 导师需要随时访问系统,知道有那一门课程需要任教。他也可以了解他的课有那些学生 每学期开始,学生有一段试听时间,学生可以改变所选课程。在这段时间学生必须可以访问系统随时更改课程选项RATIONALUseCasesRATIONAL主题:UseCases 你将可以 建立Actors和UseCases 建立UseCase图 描述UseCaseRATIONAL什么是UseCase? UseCase是所用系统的规格方式 在响应外部Actor触发时,系统所执行的功能 UseCase提供了一种手段 捕获系统需求 专业人士和最终用户间的连接 测试系统 注释:Usecase名称RATIONAL浏览窗口中的UseCasesRATIONAL什么是Actor? Actor是一些人或事: 可以激或系统交互信息 可以对系统进行输入 可以从系统被动的接受信息 通过调查发现Actor 直接使用系统的人 系统的维护人员 系统使用的外设 需要与此系统想连的其它系统RATIONAL在浏览窗口中的ActorRATIONAL什么是UseCase图? UseCase图说明了 系统和它的Actors 系统发展了的Usecases Actor和Usecase间的交互RATIONAL课程登记实例的UseCase图RATIONAL描述UseCase UseCases被描述在 简短的描述 UseCase的高级描述 事件流程 运行过程中的执行序列RATIONAL课程登记实例的简洁描述*自己动手RATIONAL课程登记实例的事件流程 当学生敲入id号时UseCase开始,系统检测id号是否合法并且提示学生选择本学期或下一学期。在学生选择完毕后,系统会提示学生其它选项: 建立课程表 浏览课程表 修改课程表 删除课程 添加课程 学生表示选项均已完成。系统则打印学生课程表,通知学生登记完毕。系统将该学生的记费信息传入收费系统以便处理RATIONAL课程登记实例的事件流程 其它流程 如果输入非法id号,系统不允许访问。 如果企图建立的学期课程表已存在,系统将会提示进行其它选择 建立课程表 学生输入4个主课程号和2个候补课程号。学生提出课程要求,然后: 1.检查该课程是否满足学生要求 2.如果该课程开放,将学生加入课程名单 其它流程 如果主课程无效,则系统将替换另一课程RATIONAL课程登记实例时间流程 浏览课程表 学生对学期所选课程的要求信息,以及学生所选课程信息,包括:课程名称、课程号、每周上课次数、上课时间和上课地点等 修改课程表——删除所选课程 学生指示删除所选课程,系统检查是否超过最终修改日期。如果没有过期,则系统删除学生所选课程,系统通知学生处理完毕RATIONAL课程登记实例事件流程 修改课程表——加入新课程 学生指示要加入新的课程,系统检查是否超出最终修改日期,如果没有,系统则: 1.是否超过最大课程数量 2.检查所选课程是否满足必要条件 3.如果该课程开放,将学生加入课程名单中RATIONAL建立事件流程 为usecase建立的事件流程被包含在一个与usecase关联的外部文档中。RATIONAL练习:UseCase图形 为我们在第8页建立的课程登记系统建立usecase图形RATIONAL练习:证明UseCases 为“维护课程信息”的usecase建立简短的描述和事件流程 usecase提供以下功能 建立、修改和删除学期课程 建立、修改和删除学期提供的课程 在提供的课程被建立前,教授要选择所教的课程 包含在登记员的有效打印列表中 如果教授不能对所提供的课程任教,则此门课程取消RATIONAL包和类RATIONAL主题:包和类 你将可以: 建立类 你可以给类建立stereotypes 建立包 重新配置类 建立类图RATIONAL查找类 类是具有相同结构和行为的对象的集合 stereotype事建模元素的新类型,这种建模元素扩展了metamodel的语义 每个类最少有一种stereotypes 在分析中有三种普通的stereotypes 实体类 模型信息和相关行为广泛的永久的独立于它的环境 边界类 系统环境和内部工作见的模型关联 控制类 一个或多个模型控制行为规格RATIONAL查找类 Usecases可以对查找实体和边界类型进行检查 最初,给每一个usecase建立一个控制类 控制类可以作为分析过程被归并 例子:课程登记的UseCase 边界类 登记表格、计划表、计费界面、AddDrop课程表 实体类 课程、提供课程、学生计划、学生信息 控制类 登记管理RATIONAL用Browser建立类 当一个类被发现,它就被加到浏览器中RATIONAL证明类 一旦类被建立,它应该被定义 定义是原文,它包含类的责任和目的描述RATIONAL类的规格说明 类的规格说明包含类的额外信息RATIONAL加入Stereotypes 类的Stereotypes可以被加到模型中RATIONAL什么是包 包含一些类的主要模型 它可以组合在包中帮助模型管理 包是一个逻辑类或其它包的集合 我们发现可以把登记系统中的类放在三个包中 界面、人和学校事件RATIONAL登记系统包RATIONAL包的规格说明 包的规格说明包含有关包的额外信息RATIONAL证明包 一旦包被建立,它应被定义 定义的原文描述了包的目的 定义被加在文档窗口中RATIONAL将类移入包中 一旦包被建立,合适的类被重新分配在包中RATIONAL什么是类图 逻辑试图有包和类组成 在逻辑视图中,类图是包含类部分(或所有)类和包的视图 通常可以有许多类图RATIONAL类图拖拽工具条RATIONAL主类图 逻辑视图最初包含一个视图 该图形被称为Main 主类图是逻辑视图中典型的高级包视图RATIONAL登记系统的主类图RATIONAL在包中进行浏览 每个包一般都有自己的主类图 该图形一般展现 包中的“公众”类 其它包中的类可以和它关联 公众类连接 在分析后加入类图RATIONAL学校事件包中的主类图RATIONAL额外的类图 需要时可以加入额外的类图 它们展现了模型中包和类的另一种“视图” 例子: 中多个类的视图 包中“私人”类的视图 一个或多个类的视图及它们的属性和操作 inheritancehierarchy视图RATIONAL学校事件包中的额外类图RATIONAL展现Stereotypes 类的stereotype可以展现在类图中RATIONAL删除包和类 如果从浏览器中删除包和类,它将从模型中被删除 如果从类图中删除包和类,它只会在类图中消失而仍然保留在模型中RATIONAL练习:在逻辑视图中加包 将下列包和描述加入逻辑视图中 人员——登记系统相关的人员信息 学校的物件——登记系统的组成信息 界面——actor访问的界面信息RATIONAL练习:重新分配类 将类重新分配到合适的包中RATIONAL练习:维护课程的逻辑视图 将上述三个包加入逻辑视图的main视图中RATIONAL练习:为包建立Main类图 为每一个包建立Main类图RATIONAL练习:额外的类图 为学校物件建立额外的类图 图形名称:课程信息 类:课程和提供的课程RATIONAL对象的相互作用RATIONAL主题:对象相互作用 你将可以: 建立序列图 建立协同图RATIONAL什么是方案(Scenarios) 方案是UseCase的实例 每一个UseCase都有一个方案网 主方案(happydayscenarios) 所有都很好 次方案 除了主方案以外的部分 方案可以在交互图中被描述 有两中类型的交互图 序列图 协同图RATIONAL序列图 序列图描述了在时间上对象交互的安排 图形展现了 多个交互对象 信息交流的序列 序列图包含 对象的生命线 按顺序对象间的信息交流 控制焦点(可选的)RATIONAL建立序列图RATIONAL序列图工具条选择工具文本注释注释指示对象消息反身消息RATIONAL什么是对象 对象是一种概念、抽象或具有明确的边界的事情和应用目标 对象是具有: 状态 行为 特性 序列图中的每一条垂直线代表一个外部actor或系统中的对象RATIONAL建立对象 在序列图中可以用不同的方式代表actor和对象Actor对象和类类对象RATIONAL对象规格说明RATIONAL用序列图建立一个新类 随着序列图的继续发展,也可以发现新的类RATIONAL相关的类 在交互图中建立的类可以被放置在UseCase视图中 它们可以和逻辑视图中的类相关RATIONAL建立消息 对象通过消息进行合作 消息是一个从发送者指向接受者的箭头 可以为消息选择编号ORRATIONAL反身消息 对象可以与自身合作 可以以一种反身消息进行描述RATIONAL消息规格说明RATIONAL移动消息 当发现更多的信息,已存在的消息可以被移动RATIONAL插入消息 可以在序列图中的任何位置插入新的消息RATIONAL控制焦点 控制焦点代表对象中焦点控制流程的相关时间 它代表对象指挥消息的时间RATIONAL注释 注释可以附属在序列图中的任何实体上RATIONAL协同图 协同图是方案定的另外一种图形代表 协同图可以 独立地被建立 直接从序列图中建立RATIONAL协同图的工具条RATIONAL建立对象 在协同图中有不同的方式代表actors和对象RATIONAL对象间的链接 链接为提供了对象间通信的路径 它允许对象进行交谈RATIONAL链接规格说明RATIONAL建立消息 对象通过消息进行合作 消息是一个从发送者指向接受者的箭头 可以为消息选择编号RATIONAL建立消息 可以用同一个箭头描述多个消息RATIONAL同一个类的多个对象 消息可以发送给同一个类的多个对象 这些可以通过堆栈对象图标来实现RATIONAL反身消息 对象可以同自己进行合作 它可以通过反身消息来描述RATIONAL移动或插入消息 在协同图中消息不能被移动或插入 序列图必须被使用 过程 转换序列图 移动或插入需要的消息 转换回协同图RATIONAL数据(对象)流程 在图中可以描述数据的返回值 只能描述重要的数据返回RATIONAL注释 注释可以被附属在协同图的任何一个实体上RATIONAL关系RATIONAL主题:关系 你将可以能: 建立关联和聚合关系 用名称、角色和多种指示增加关系 建立反身关系 加入强制关系RATIONAL关联和聚合 UseCase可以检测并决定两个类之间是否应该存在关系 只要两个对象可以互相识别,它们就可以通信 关联和聚合为通信提供了一条途径 关联是两个间的非直接连接 聚合是关联的一种强制模式 它描述整体与部分之间的关系RATIONAL关联还是聚合? 如果两个对象通过整体和部分的关系具有紧密的边界 这种关系称为聚合 如果两个对象通常被人为是独立的 这种关系称为关联RATIONAL关系和类图 包中的Main类图一般包含: 包中的公众类 其它包中的类可以跟它进行通话的类 其它包中的类和公众类进行通信 如果需要,关系则被加入另外一个图形RATIONAL关联名称 关联或聚合可以被命名 通常是动词或动词短语*RATIONAL角色名称 在类间的关联中角色表示目的或能力 通常是名词或名词短语RATIONAL多种指示 每一个关联和聚合的尾布都包含多种指示 在关系中指示多个对象的编号RATIONAL反身关系 在反身关系中,同一个类中的多个对象可以有许多合作方式RATIONAL约束 约束是一种必须被维持的条件的表达方式 用弯曲的线表示强制RATIONAL关联规格说明RATIONAL更新类图 一旦关联或聚合被建立,其它类图也可以被更新,以便展现关系RATIONAL包的关系 包之间存在从属关系 包之间的关系意味着,该包中的类可以和其它包中的类进行通信RATIONAL练习:关系 使用建立课程和产生目录的交互图: 在类间加入关系 在需要时加入多种指示、角色名称、关联名称和强制关系 在包间加入关系RATIONAL操作和属性RATIONAL主题:操作和属性 你将可以能: 为类建立操作和属性 验证操作和属性 在类图上显示操作和属性RATIONAL什么是操作 类具体表达一套责任,这种责任定义了类中对象的行为 类的责任通过操作被执行 操作应该执行一种简单的功能RATIONAL操作和交互图 在序列图或协同图中显示的消息通常是类的操作(消息接收者) 从一个边界类发消息到另一个边界类可以通过一个图形用户界面(GUI)来实现,它通常是不成熟的操作 它可以通过GUI建立者的性能被实现RATIONAL在序列图中将消息映射到操作中RATIONAL在协同图中将消息映射到操作中RATIONAL浏览器 一旦在交互图中建立操作,消息会自动被加入逻辑视图的类中RATIONAL建立操作的其它方式 操作可以在方案图中单独被建立 通过浏览器 在类图中 通过类的规格说明 例子: 在次方案中包含的操作不能在序列图或协同图中描述 内部(帮助)操作RATIONAL用浏览器管理操作 操作可以通过浏览器被建立、拷贝、移动和删除RATIONAL在类图中建立操作 操作可以通过类图被建立RATIONAL通过类的规格说明建立操作 通过类的规格说明建立操作RATIONAL操作规格说明RATIONAL验证操作 操作名称应该有一定风格规范 提供跨项目的一致性 引导多个可维持的模块和代码 操作的明明应该可以西安市它的结果,而不是执行操作后的步骤 例子:getGrade()、insteadofcalculateGrade() 操作应从接受者的愿望命名,而不是发送者 每一个操作应该有一个清晰简明的定义RATIONAL为操作加入文档资料 一旦操作被建立,它应该被描述RATIONAL**可编辑RATIONAL在类图中显示操作 操作可以在类图中被显示RATIONAL显示操作信号 操作信号也可以被显示 如果争论类型和缺省值没有被输入,Rose将用argtype作为缺省值RATIONAL练习:继承 建立一个称为登记用户的超类 为登记用户类建立学生信息和教授信息子类 将一个普通的属性或操作移动到新的超类中 必要时重新分配关系 必要时加入强制信息RATIONAL联系:继承 在人员属性和操作类图中显示新类 展现所有的属性和操作 不显示任何关系RATIONAL对象行为RATIONAL主题:对象行为 你将可以能: 建立状态转换图包含 状态 转换 动作和活动 嵌套状态RATIONAL什么是状态转换图 状态转换图用于描述给定类的发展历史,导致状态转换的事件和导致状态改变的活动 对象状态是对象可以存在的可能条件 为类的重要动态行为建立状态转换图RATIONAL状态转换工具条选择工具文本注释注释锚状态初始状态终止状态转换反身转换RATIONAL什么是状态 状态是对象可以存在的可能条件RATIONAL状态转换 状态转换是从最初状态到成功状态的改变RATIONAL反身状态转换 反身状态转换是一种初始状态等于成功状态的转换RATIONAL状态转换规格RATIONAL状态转换Arguments 伴随一个事件的数据就是一个argumentRATIONAL警戒(Guarded)状态转换 通过警戒(guard)的使用,转换可以形成条件RATIONAL活动 活动是伴随事件转换的操作RATIONAL发送事件 事件可以触发传送另一个事件RATIONAL起始状态 起始状态是对象的最初状态 只能有一个起始状态RATIONAL终止状态 终止状态是对象最后的状态 可以没有终止状态,也可以存在多个终止状态RATIONAL状态规格说明RATIONAL状态活动类型 简单状态 用自由格式文本代表发生的事件 发送事件 一个活动出发下一个事件RATIONAL状态活动规格说明RATIONAL状态中的活动 通过关键词的输入,活动被放置在先前状态中RATIONAL活动被输入直到从状态中退出 通过关键词do,活动被放置在先前的状态中RATIONAL活动从状态中退出 通过输入关键词exit,活动被放置在先前状态中RATIONAL嵌套状态 嵌套状态可以用于将复杂的图形简单化RATIONAL历史 历史信息提供了返回最近可访问状态的能力 通过在超类中加入历史图标(H+圆圈)展现历史信息。RATIONAL历史RATIONAL练习:状态转换图 为下页描述的提供课程类建立状态转换图RATIONAL课程提供类的状态图RATIONAL结构RATIONAL主体:结构 你将可以能: 了解4+1视图的模型 建立UseCaseView 建立LogicalView 建立ProcessView 建立DeploymentView 建立ImplementationViewRATIONAL4+1视图结构模型RATIONALUseCase视图 UseCase和UseCase报表 涉及:功能性、必要功能、执行 在项目计划中扮演的角色,驱动系统测试,用户文档 在Rose4.0中:usecase图(在UseCaseView的文件夹中)UseCaseViewRATIONAL逻辑视图 在类中分解,在包中组合类 建筑上重要的类 涉及:功能性、行为、结构的使用、设计模式 在Rose4.0中:类图LogicalViewRATIONAL例子:逻辑视图RATIONAL例子:UseCaseViewRATIONAL逻辑视图 在类中分解,在包中组合类 建筑上重要的类 涉及:功能性、行为、结构的使用、设计模式 在Rose4.0中:类图RATIONAL例子:逻辑视图RATIONAL例子:逻辑视图RATIONAL过程视图 在过程、任务、现程和交互结构中分解 涉及:相关时间问题,响应时间,平行,分发、冗余 在Rose4.0中:协同图或组件图RATIONAL例子:过程视图RATIONAL扩展视图 将系统分解为节点和软件组件和过程到节点的映射 提供系统结构上的软件透视 涉及:远程通信、分发、一致性、缩放比例、执行、冗余、有效性 在Rose4.0中:扩展视图RATIONAL例子:扩展视图RATIONAL实现视图 分解成模型、子系统、层和子系统与层间的界面 涉及:软件开发,配置管理,发布决策,代码差异,团队组织,契约,获得代码和原始代码的封装 在Rose4.0中:组件视图(在Component文件夹中)RATIONAL例子:实现视图RATIONAL例子:实现视图RATIONAL详细设计RATIONAL主题:详细设计 你将可以能: 在Rose模型中加入详细设计 加入设计级类 指定关联和聚合 指定聚合牵制 指定操作信号 指定属性数据类型和初始值 更新交互图展现消息同步选项RATIONAL设计边界类 在分析期间,高级边界类被定义 在设计期间,用户界面设计被完成 窗口设计 窗口数量 处理用户时间 通常使用一个GUI建立器 通过逆向工程,结果可以被传输到Rose中RATIONAL加入设计级类 在设计期间,类被加入以简化系统实现 Utility类的加入提供了可以在多种背景下使用的公共服务包(如:数学运算) 类的加入可以包装非面向对象的库和应用 类的加入帮助执行一些需要的功能 模型的合并可以解决设计问题 Stereotypes可以用于传达类的目的RATIONAL更新逻辑视图图形 交互图被更新 在domain类和被加入的实现类间展现交互操作 由于附加的设计类修改交互操作 类图被更新 加入新包 类间的新关系 由于附加的设计类,关系可以被删除 由于附加的设计类,包中的关系可以被修改RATIONAL更新组件视图图形 加入包 组件图被更新 附加包 附加包的关系 包的关系可以被改变RATIONAL建立一个课程方案的实现类 登记者必须输入id号以便启动方案 id号一旦被确认就可以访问系统 被称为id列表的类被加入到系统中 CouseForm和id列表间的关系被加入模型中RATIONAL更新类图RATIONAL更新协同图RATIONAL设计关系 在设计期间,关系被完善 导航--每种关系都被检测以便确定是否需要双向导航 可视化链接--可视化链接加入到协同图中,以便帮助在关系中精练决定 Containment--byvalueorbyreferncecontainmentisdecided Multiplicity--re-visitmultiplicityforeachendofarelationshipandspecifycontainersformultiplicityofmorethanone ParameterizedClasses--additionofparameterizedclassesformultiplicitygreaterthanoneRATIONAL建立一个课程方案的关系设计 Relatedclasses DesignDecision ManagecurriculumFormDependencyrelationshipandIDList (localvisibility) ManageCurriculumFormAggregationbyvalueCourseForm(fieldvisibility) CourseFormandDependencyrelationshipCourseManager (parametervisibility) CourseManagerandDependencyrelationshipTransactionmanager(globalvisibility) CourseManagerandDependencyrelationshipCourse(localvisibility) CourseOffering Aggregationbyreference (fieldvisibility)RATIONAL Relatedclasses DesignDecision TransactionManager DependencyrelationshipandCourse (parametervisibility) TransactionManger DependencyrelationshipandDbCourse (localvisibility) DBCourseand DependencyrelationshipCourse (parametervisibility) TransactionManager DependencyrelationshipDBOffering (localvisibility) DBOfferingand DependencyrelationshipCourseOffering (parametervisibility)建立一个课程方案的关系设计RATIONAL输出控制 输出控制展现了保护级 为属性获取或设置方法(缺省=private) 为关联获取或设置方法(缺省=public) 类的操作(缺省=public) 输出控制选项 Public--可访问类的成员和类的实例 Protected--可访问类的成员和所有子类的成员 Private--可访问类的成员和友元 Implementation--可访问类的成员RATIONAL浏览器中的输出控制 属性和操作的输出控制中是以图标的形式显示在浏览器中RATIONAL为一个或多个Multiplicity进行设计 多余一个的Multiplicity一般在使用容器类时被设计 容器类的实例是其它对象的集合 普通容器类包括: Sets,lists,dictionaries,stacks,queues,… 容器类经常用parameterizedclasses来实现RATIONAL把参数类加入模型中 参数类可以被加入模型中用于说明多余一个的MultiplicitydesignRATIONAL属性设计 在分析阶段,充分的指出属性名称 属性表述必须在设计阶段被完成 选项的缺省类型必须被分配到每一个属性中 Built-indatatype(e.g.,int,float) User-defineddatatype(e.g.,enum) User-definedclassRATIONAL设计属性RATIONAL类的属性 类的属性对于类的所有实例都是有效的 在C++中,这是一个静态属性RATIONAL操作设计 在设计阶段,每一个操作的信号被决定 操作要旨 操作转换类型RATIONAL设计操作RATIONAL类的操作 类的操作对于类的所有实例都有效 在C++中,这是一个静态操作RATIONALDesigningforInheritance 在设计期间,inheritancehierarchiesarerefinedto: Superclassesaremadeabstractclasseswhereappropriate Operationsaremadevirtualorpurevirtualtosupportpolymorphism MultipleinheritancehierarchiesarechangedtosupportvirtualbaseclasseswhereappropriateRATIONAL抽象类 抽象类没有实例RATIONAL可视化和纯可视化操作 可视化操作可以被子类中的操作所限制 纯可视化操作不包含代码--代码必须有子类提供RATIONAL可视化基类 确保公共基类的拷贝是可继承的,当它起源于中级基类,公共基类被成为可视的RATIONAL消息同步 协同图被更新以便描述消息同步策略 Simple--单线程控制 Synchoronous--当客户端发送一个消息到接收者并且接收者接受这个消息的操作过程 Balking--如果接收者可以立刻接收消息,客户端仅发送一个消息 Timeout--如果接收者不能在规定时间内处理消息,客户端放弃该消息 Asynchronous--客户端发送一个消息到接收者,无须等待响应即可处理或继续执行RATIONAL消息同步RATIONAL练习:设计 在下页用协同图为产生目录方案做设计决定 在设计过程中,图形中的可视化操作将有所帮助 学期课程列表在CourseList类中被建立RATIONAL建立目录协同图RATIONALRationalApproach的对象技术RATIONAL软件开发的趋势 特别的软件过程 瀑布是的开发模式 项目重要性 源代码的实现 线性不可逆 功能数据模型 数据模型/类的驱动过程 集中的结构 连续的过程利用 反复的、增长的开发 资源重用的重要性 可视化建模的开发 基于组件的开发 对象建模 UseCase/Scenario驱动过程 分布式客户/服务器结构UML和UML对象过程设计支持软件开发的趋势RATIONALUnifiedModelingLanguageRATIONALUML被用于对象过程中 UML是一种标准的建模语言或标记法 帮助模型的沟通和浏览 UML不是一个过程定义 无须指定软件工程中被使用或开发的模型的步骤和活动 对象的过程使用UML作为计划:用于表达通过过程而产生的模型 对象过程的特性 模型的顺序和内容;artifacts被产生 活动被有序的执行 对于每一个artifact,工作者都有责任RATIONALUML的过程组件和模型RATIONAL需求抓取过程组件 需求抓取的目的: 关于系统应该做什么这一问题使用户与商业用户达成一致 需求抓取导致Use-Case模型RATIONAL什么是Use-Case模型 系统要完成的任务(usecase)和系统的确范围(actor)模型 use-case模型包括: Actors UsecasesRATIONAL需求抓取的工作流RATIONAL分析和设计过程组件 分析和设计的目的: 描述系统如何实现usecase 建立一个可以弹性变更的系统 建立稳定的软件结构 建立一个输入实现和测试活动的规格说明 分析和设计导致设计模型RATIONAL什么是设计模型 设计模型包含: 类 设计包 Use-Case实现 此模型描述在实现时系统是如何被认识的 设计模型是源代码的抽象 在usecase中定义基本的对象RATIONAL分析设计阶段的工作流RATIONAL实现过程组件 实现的目的: 在组件术语中实现类和对象 在实现子系统术语中定义组件组织 测试单元开发组件 建立可执行系统 实现导致实现建模RATIONAL什么是实现模型 实现模型包含: 组件 实现子系统 组件包括 可释放组件,如:executables 由可释放组件产生的组件,正如:源代码RATIONAL实现中的工作流RATIONAL测试过程组件 测试目的 检验对象之间的交互 检验软件中所有组件的集成 检验所有需求被正确的实现 定义并且确保在系统扩展前缺陷被指明 测试系统可以被发布 测试导致测试建模RATIONAL什么是测试模型 测试模型包括: 测试用例 测试过程 测试用例可以通过一个或多个测试过程被实现 测试过程可以实现一个或多个测试用例 UseCase是定制测试用例的主要部分RATIONAL测试的工作流RATIONAL课程登记用例学习RATIONAL课程登记问题描述 在每学期开始,学生需要一份课程目录,包括本学期提供的课程列表和所提供的课程信息(如:教授名、科系、首要条件、时间、地点,这些可以帮助学生作出课程选择 新学期允许学生选择四门所提供的课程。此外,学生可以选择两门备选课程,以防主课满额或被取消。每门课程人数不能超过10人少于3人。一旦学生登记课程完成,登记系统将信息传送到记帐系统,以便学生可以交纳本学期的费用。RATIONAL课程登记问题描述 教授可以访问联机系统,以便获取交课信息。它也需要了解该课的学生情况 每一学期,有一段时间,学生可以修改所选课程。在这段时期,学生必须可以访问系统RATIONAL需求抓取RATIONAL课程登记问题的UseCase图RATIONAL证明UseCase UseCase报表中描述的UseCase包括: 简短描述 usecase高级描述 事件流程 执行期间的操作序列RATIONAL建立UseCase UseCase的UseCase报告包含链接到UseCase的外部文档RATIONAL课程登记者 简短描述 usecase通过一个学生驱动,提供学生建立、删除、修改和浏览指定学期课程信息的能力 事件流程 预定义 没有 主流程 当学生输入id号是usecase开始,系统检验学生id号合法并提示学生选择本学期或下一学期。学生输入选择的学期,系统提示学生选择活动:建立、浏览、修改、打印、删除、或退出。 CREAT,A-1:建立新的课程流程被执行 REVIEW,A-2:浏览课程流程被执行 MODIFY,A-3:修改课程流程被执行 PRINT,A-4:打印课程流程被执行 DELETE,A-5:删除课程流程被执行 QUIT,usecase结束 RATIONAL课程登记 另一个流程 A-1:建立新的课程 系统显示空的课程屏幕。学生输入4门主课程好和2门备选课程号(E-3)。学生提交课程要求,系统回检查每一个被选举权主课程的必要条件(E-4),如果此门课程开放,并将学生加入其中(E-5)。系统打印课程表(E-6)和帐单信息到记帐系统进行处理(E-7)。UseCase重新开始 A-2:浏览课程 系统为学生登记的所有课程检索并显示下列信息:课程名、课程号、课程提供号、时间、地点等。当用户指示浏览完毕,UseCase重新开始RATIONAL课程登记 A-3:修改课程 系统检查是否超出修改日期范围(E-9)。系统为学生登记所有课程检索(E-10)并显示下列信息:课程名、课程号、时间、地点等,系统提示用户选择活动:删除课程、加课程或退出。 如果活动被选择 删课程,(A-6):删除课程被执行 加课程,(A-7):加课程被执行 退出,系统打印课程表(E-6),UseCase重新开始 A-4:打印课程 系统打印课程表(E-6),UseCase重新开始RATIONAL课程登记 A-5:删除课程表 系统检索(E-8)并显示当前课程信息,系统要求用户证实删除信息,如果接受,课程被从系统中删去,如果课程未被证实,操作被取消,UseCase重新开始 A-6:删除课程 学生输入删除课程号,系统要求用户证实删除信息,如果接受,课程表被从系统中删去,如果课程未被证实,操作被取消,UseCase重新开始 A-7:加课程 学生输入所加课程号。系统检查必要条件和状态(E-4)并且,如果课程开放(E-5)将学生加入课程中,UseCase交互流程重新开始RATIONAL登记课程 另外的流程 E-1:非法用户id号输入,用户可以重新输入id号或中断UseCase E-2:非法学期号输入,用户可以重新输入学期号或中断UseCase E-3:非法课程号输入,用户可以重新输入课程号或中断UseCase E-4:用户不满意所有的必要需求,用户通知课程不被计划,如果可能交互课程被代替,UseCase继续。 E-5:用户所选的课程被取消,如果可能交互课程被代替,UseCase继续。 E-6:课程表不能被打印,信息被存储,通知用户信息需重新提交,UseCase继续 E-7:系统存储所有帐单信息并重新将其提交到记帐系统,UseCase继续 E-8:系统不能检索课程信息。UseCase在最初开始 E-9:系统通知用户课程表不能被修改,UseCase在最初开始RATIONAL发现对象和类RATIONAL发现类 类是具有相同结构和行为的对象的集合 Stereotype是模型元素的新类型,它可以扩展可变模型的语义 每个类最多有一个stereotype 在分析中有三种不同的stereotype 实体类 该类的模型信息和相关行为与周围环境相独立 边界类 在系统周围与模型内部之间可以进行模型通信的类 控制类 该类的模型控制和行为明确到一个或多个UseCases中RATIONAL发现类 UseCase检测并查找实体类和边界类 最初,一个UseCase建立一个控制类 控制类在分析过程中可以被归并 例如:课程登记UseCase 边界类 RegistrationForm,ScheduleForm,billingInterface,AddDropCourseForm 实体类 Course,CourseOffering,StudentSchedule,StudentInformation 控制类 RegistrationManagerRATIONAL什么是方案 方案是UseCase的一个实例 每个UseCase拥有一个方案网 主方案 所有都很好 次方案 除了主方案以外的 方案也可以用交互图表示 有两种类型的交互图 序列图 协同图RATIONALUseCase实现:建立课程方案RATIONALUseCase实现:建立课程方案RATIONAL建立类图RATIONAL发现包 大多数模型包含许多类 他们可以组合在包中用于模型管理 包是类和其它包的逻辑集合 我们发现可以将登记系统中的类放入三个包中 接口、人员和学校事件RATIONAL登记系统的主类图RATIONAL对象行为RATIONAL课程类的嵌套状态的状态转换图RATIONAL历史(登记格式类)的嵌套状态RATIONAL软件结构RATIONAL结构和包 由分析进入设计时,软件结构被完成 每一个结构元素被加入到逻辑视图中作为包 例如: 数据库 通信 错误处理 需要时加入关系RATIONAL更新主类图RATIONAL从逻辑模型移到物理模型 系统的物理特点在此时被开发并被定位 物理视图 组件视图 描绘包、组件和它们的关系 展现多个组件图 拓朴视图 展现节点间的关系 展现一个拓朴图RATIONAL主组件图 组件视图最初包含一个组件视图 主的组件视图在结构组件视图中是一个高级包 包之间的依赖关系通过依附关系展现 每一个包都可以被打开看它的内部信息RATIONAL简单的主组件视图RATIONAL组件模型 Rose可以用于建立可执行文件和库 不能为这种组件类型产生代码RATIONAL拓朴模型 拓朴视图展现 节点和系统间的有效的通信路径 节点中进程的分配 拓朴视图包含一个图形RATIONAL进程 进行是一个控制线程的执行 大的系统可以被分为多个过程 进程在节点上运行 进程调度类型可以通过处理器被确定在进程图中 Preemptive(缺省)-高优先权可以先于低优先权的进程执行 Nonpreemptive-直到加入放弃控制,当前进程才停止 Cyclic-从一个进程到另一个进程的控制路径 Executive-运算控制进程调度 Manual-通过系统外界用户,进程被调度RATIONAL详细设计RATIONAL详细设计建模事件 设计边界类 设计控制类 设计实体类 虚构设计级类 一些数学类 设计模式 精炼整个系统模型RATIONAL设计关系 在设计期间,关系被考虑成熟 Navigation-每种关系被检测以便确认是否需要导航关系 Linkvisibility-可视化链接被加入协同图中帮助精炼关系决定 Refinement-关联可以在依附关系中被成熟 Containment-通过值和参数,包含被决定 Multiplicity-re-visitmultiplicityforeachendofarelationshipandspecifycontainersformultiplicityofmorethanone ParameterizedClasses-additonofparameterizedclassesformultiplicitygreaterthanoneRATIONAL消息同步 协同图被更新以便展现消息的同步决策 Simple-单线程控制 Synchronous-当客户端发送消息到接收端并且接收端接受消息,操作可以继续 Balking-如果接收端立刻准备接受消息,发送端可以发送消息 timeout-如果接收端不能在指定时间内处理消息,发送端放弃该消息 Asynchronous-发送端给接收端送出消息后,无需等待响应即可继续执行RATIONALRationalRoseC++的双向工程 从Rose系统模型中产生C++代码 从C++代码中逆向出模型 循环迭代的系统开发RATIONAL双向工程 设计更新和双向工程 在保护区外界基于资源进行编辑 代替最初模型的反向工程 初始图结构的保存 代码必须被重新产生 在反复循环中结算循环 同步模型和代码(包含注释) 依靠手工、自动或使用Rose变化来完成RATIONALRose/C++的双向工程RATIONAL总结:RationApproach工程解决方案的成功 OO分析、设计和可视化建模 中心结构 UseCase驱动 团队开发和多用户的支持 代码产生 逆向工程 双向公程 循环迭代的开发方式 模型与代码的同步增加资源重用 增长可维护性RATIONALRATIONAL**可编辑*自己动手*
/
本文档为【UML ROSE培训教材】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索