版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 简介简介 ROSE提供的不同视图提供的不同视图 配置用户界面配置用户界面 问题描述问题描述 问题需求描述问题需求描述 Use Cases 建立建立Actors ,Use Case 和和Use Case 图图 建立序列图建立序列图 建立协同图建立协同图 包和类包和类 建立类、包和模版建立类、包和模版 重新分配类和包重新分配类和包 建立类图建立类图 关系关系 关联和聚合关系的建立关联和聚合关系的建立 反向关系的建立反向关系的建立 操作和属性操作和属性 建立并验证类的属性和操作建立并验证类的属性和操作 继承继承 继承关系的建立继承关系的建立 使用类指南建立类使用类指南建立类 对象行为对象行为 状态
2、转换图的建立状态转换图的建立 结构结构 建立建立4+1的视图模型的视图模型 详细设计详细设计 叠代包的建立叠代包的建立 用设计阶段的信息(如:导航、抑用设计阶段的信息(如:导航、抑制操作、属性数据类型、操作信号制操作、属性数据类型、操作信号和信息同步选项)更新模型和信息同步选项)更新模型 双向工程双向工程 你将可以:你将可以: 讨论讨论ROSE支持的不同视图支持的不同视图 列出每一种视图案的图形列出每一种视图案的图形 配置配置ROSE用户界面用户界面 Rational Rose 是一种工具,它可以在是一种工具,它可以在Rose建模中提供建立、视图、修改和建模中提供建立、视图、修改和操作组件的能
3、力操作组件的能力 Rose 运行环境运行环境 Windows NT,Windows 95 UNIX(Solaris,HP/UX,AIX,DEC Unix) Rose支持支持Unified、Booch、OMT标标记法记法 Rose“建模建模”代表问题域和系统软件代表问题域和系统软件 每一种模型都包含在建模中提供可视化组每一种模型都包含在建模中提供可视化组件和操作组件的视图、图形和规格说明书件和操作组件的视图、图形和规格说明书 每一种基础元素有多种视图每一种基础元素有多种视图 在在Rose“建模建模”中,每一个对象都被描绘中,每一个对象都被描绘 Rose在在“建模建模”中保证了一致的语义描述中保证
4、了一致的语义描述 在在Rose中有四种视图中有四种视图 Use Case 视图视图 包、包、Actor、Use Case、对象、消息和关系、对象、消息和关系 逻辑视图逻辑视图 包、类、状态和关系包、类、状态和关系 组件视图组件视图 包、组件和依附关系包、组件和依附关系 拓扑视图拓扑视图 节点和关系节点和关系 在在Use Case中的元素可以在多个中的元素可以在多个图形中被浏览图形中被浏览 在在Use Case视图中可以包含以下视图中可以包含以下的图形的图形 Use Case图图 包、包、actors、use case和关系和关系 相互作用图(序列图或协同图)相互作用图(序列图或协同图) 对象和
5、消息对象和消息 Use Case图形描述了一个系统应图形描述了一个系统应该执行的什么或应该有什么外部该执行的什么或应该有什么外部系统系统 它描述了存在的它描述了存在的actors(外部系统(外部系统)、)、use case(该系统应该执行什(该系统应该执行什么)以及它们的关系么)以及它们的关系 Use Case图性形可以描述该系统中图性形可以描述该系统中部分或全部的部分或全部的use case 交互图描述了系统在逻辑设计中存在的交互图描述了系统在逻辑设计中存在的对象及其间的关系对象及其间的关系 它可以代表系统中对象的结构它可以代表系统中对象的结构 Rose中包含两种交互图,它们对同一中包含两种
6、交互图,它们对同一交互操作提供了不同的浏览视角交互操作提供了不同的浏览视角 序列图序列图 按时间顺序排列对象交互操作按时间顺序排列对象交互操作 协同图协同图 围绕对象及其间的链接关系组织对象的交互操围绕对象及其间的链接关系组织对象的交互操作作 在逻辑视图中的元素可以有一种在逻辑视图中的元素可以有一种或多种图形来表示或多种图形来表示 逻辑视图可以包含以下的图形逻辑视图可以包含以下的图形 类图类图 包、类和类的关系包、类和类的关系 状态图状态图 状态、事件和转换关系状态、事件和转换关系 类图描绘的系统的静态视图类图描绘的系统的静态视图 它描述了系统逻辑设计中存在的包它描述了系统逻辑设计中存在的包、
7、类异己它们间的关系、类异己它们间的关系 类图可以代表该系统中部分或全部类图可以代表该系统中部分或全部的类结构的类结构 在模型中有一些典型的类图在模型中有一些典型的类图 状态图描述了:状态图描述了: 给定类的状态转换空间给定类的状态转换空间 导致状态转换的事件导致状态转换的事件 导致状态改变的动作导致状态改变的动作 为类的重要动态行为建立状态转为类的重要动态行为建立状态转换图换图 组件视图中的元素可以在一个或多个组组件视图中的元素可以在一个或多个组件图形中被浏览件图形中被浏览 组件图形描述了在系统物理设计中组件组件图形描述了在系统物理设计中组件中类和对象的分配情况中类和对象的分配情况 组件图可以
8、代表系统中部分或全部的组件组件图可以代表系统中部分或全部的组件结构结构 组件图形描述了组件图形描述了 包包 组件组件 依赖关系依赖关系 在拓扑视图中的元素可以在拓扑在拓扑视图中的元素可以在拓扑图形中被浏览图形中被浏览 拓扑视图只能包含一个拓扑图形拓扑视图只能包含一个拓扑图形 拓扑视图描述了一个系统在物理拓扑视图描述了一个系统在物理设计阶段进程处理的分配情况设计阶段进程处理的分配情况 进程图描述了进程图描述了 节点节点 连接连接 Rose的组成的组成 标准工具条标准工具条 图形工具条图形工具条 浏览区浏览区 文档窗口文档窗口 图形窗口图形窗口 规格说明书规格说明书 状态条状态条标准工具条浏览区文
9、档描述窗口状态条图形工具条图形窗口 Rose的工具条独立于当前打开的的工具条独立于当前打开的图形窗口界面图形窗口界面建立新的模型存储模型或目录复制打印浏览文档浏览交互图浏览拓扑图浏览前一幅图放大取消操作打开已存在的模型剪切粘贴内容感知帮助浏览类图浏览组件图浏览双亲图缩小缺省窗口 Rose的浏览区描述了原本的视图模型的浏览区描述了原本的视图模型,并且提供了在每一种视图的组件间进,并且提供了在每一种视图的组件间进行访问的功能行访问的功能 “+”表示该图标为折叠图表示该图标为折叠图 “-”表示该图标已被完全扩展开表示该图标已被完全扩展开 该浏览区可以该浏览区可以 可见或不可见可见或不可见 Docke
10、d 位置有边界范围位置有边界范围 浮动浮动 可移动到任何位置可移动到任何位置完全扩展树折叠树 文档窗口为所选择的项和图形提文档窗口为所选择的项和图形提供建立、浏览或修改文档的能力供建立、浏览或修改文档的能力 当不同的选项和图形被选择时,当不同的选项和图形被选择时,进允许一个文档窗口被更新进允许一个文档窗口被更新 文档窗口文档窗口 可视或被隐藏可视或被隐藏 固定或浮动固定或浮动 ROSE用户界面可以被定制用户界面可以被定制 显示或不显示工具条显示或不显示工具条 从工具条上添加或删除按钮从工具条上添加或删除按钮 显示或不显示浏览窗口显示或不显示浏览窗口 显示或不显示文档窗口显示或不显示文档窗口 使
11、工具条、浏览窗口或文档窗口固使工具条、浏览窗口或文档窗口固定或浮动定或浮动 一般选项一般选项 字体、备份文件的使用、存储命令字体、备份文件的使用、存储命令 图形图形 显示属性、操作、可视化、控制焦点、交互图序列显示属性、操作、可视化、控制焦点、交互图序列号、未定义的注释、自动重设大小号、未定义的注释、自动重设大小 注释注释 定义注释定义注释UML,Booch,OMT 工具条工具条 工具条显示与定制工具条显示与定制 代码产生代码产生 建立、修改、删除代码产生的性质设定建立、修改、删除代码产生的性质设定 数据定义语言数据定义语言 建立、修改、删除数据定义语言产生的性质设定建立、修改、删除数据定义语
12、言产生的性质设定 设置用户界面设置用户界面 显示工具条显示工具条 显示浏览窗口和文档窗口显示浏览窗口和文档窗口 显示状态条显示状态条 将图形和文档窗口字体设置为将图形和文档窗口字体设置为Arial 10号号 设置统一的缺省注释设置统一的缺省注释 显示操作符号显示操作符号 不显示属性不显示属性 不显示操作不显示操作 关闭控制焦点关闭控制焦点 存储改变并且退出存储改变并且退出 每学期开始学生需要一份课程表,它包每学期开始学生需要一份课程表,它包含本学期所提供的课程列表及每门课程含本学期所提供的课程列表及每门课程的相关信息。比如:导师名称、科系、的相关信息。比如:导师名称、科系、必要条件、课程时间、
13、上课地点,可以必要条件、课程时间、上课地点,可以帮助学生作出合理的决定帮助学生作出合理的决定 新系统规定学生可以选择四门必修课程新系统规定学生可以选择四门必修课程。此外,他还要选择两门候补课程以防。此外,他还要选择两门候补课程以防某门课程人员满额或被取消。每门课程某门课程人员满额或被取消。每门课程人数不得多余人数不得多余10人或少余人或少余3人。一旦学人。一旦学生完成登记过程,登记系统将信息传入生完成登记过程,登记系统将信息传入记费系统以便计算学生在本学期的学费记费系统以便计算学生在本学期的学费数额数额/ 导师需要随时访问系统,知道有导师需要随时访问系统,知道有那一门课程需要任教。他也可以那一
14、门课程需要任教。他也可以了解他的课有那些学生了解他的课有那些学生 每学期开始,学生有一段试听时每学期开始,学生有一段试听时间,学生可以改变所选课程内容间,学生可以改变所选课程内容。在这段时间学生必须可以访问。在这段时间学生必须可以访问系统随时更改课程选项系统随时更改课程选项 你将可以你将可以 建立建立Actors和和Use Cases 建立建立Use Case图图 描述描述Use Case Use Case是所用系统的规格方式是所用系统的规格方式 在响应外部在响应外部Actor触发时,系统所执触发时,系统所执行的功能行的功能 Use Case提供了一种手段提供了一种手段 捕获系统需求捕获系统需
15、求 专业人士和最终用户间的连接专业人士和最终用户间的连接 测试系统测试系统 注释:注释:Use case 名称 Actor是一些人或事:是一些人或事: 可以激或系统交互信息可以激或系统交互信息 可以对系统进行输入可以对系统进行输入 可以从系统被动的接受信息可以从系统被动的接受信息 通过调查发现通过调查发现Actor 直接使用系统的人直接使用系统的人 系统的维护人员系统的维护人员 系统使用的外设系统使用的外设 需要与此系统想连的其它系统需要与此系统想连的其它系统 Use Case图说明了图说明了 系统和它的系统和它的Actors 系统发展了的系统发展了的Use cases Actor和和 Use
16、 case间的交互间的交互 Use Cases被描述在被描述在 简短的描述简短的描述 Use Case 的高级描述的高级描述 事件流程事件流程 运行过程中的执行序列运行过程中的执行序列 当学生敲入当学生敲入id号时号时Use Case开始,系统检测开始,系统检测id号是否合法并且提示学生选择本学期或下一号是否合法并且提示学生选择本学期或下一学期。在学生选择完毕后,系统会提示学生学期。在学生选择完毕后,系统会提示学生其它选项:其它选项: 建立课程表建立课程表 浏览课程表浏览课程表 修改课程表修改课程表 删除课程删除课程 添加课程添加课程 学生表示选项均已完成。系统则打印学生课学生表示选项均已完成
17、。系统则打印学生课程表,通知学生登记完毕。系统将该学生的程表,通知学生登记完毕。系统将该学生的记费信息传入收费系统以便处理记费信息传入收费系统以便处理 其它流程其它流程 如果输入非法如果输入非法id号,系统不允许访问。号,系统不允许访问。 如果企图建立的学期课程表已存在,系统将会提示如果企图建立的学期课程表已存在,系统将会提示进行其它选择进行其它选择 建立课程表建立课程表学生输入学生输入4个主课程号和个主课程号和2个候补课程号个候补课程号。学生提出课程要求,然后:。学生提出课程要求,然后:1.检查该课程是否满足学生要求检查该课程是否满足学生要求2.如果该课程开放,将学生加入课如果该课程开放,将
18、学生加入课程名单程名单 其它流程其它流程如果主课程无效,则系统将替换另一课程如果主课程无效,则系统将替换另一课程 浏览课程表浏览课程表 学生对学期所选课程的要求信息,以及学学生对学期所选课程的要求信息,以及学生所选课程信息,包括:课程名称、课程生所选课程信息,包括:课程名称、课程号、每周上课次数、上课时间和上课地点号、每周上课次数、上课时间和上课地点等等 修改课程表修改课程表删除所选课程删除所选课程 学生指示删除所选课程,系统检查是否超学生指示删除所选课程,系统检查是否超过最终修改日期。如果没有过期,则系统过最终修改日期。如果没有过期,则系统删除学生所选课程,系统通知学生处理完删除学生所选课程
19、,系统通知学生处理完毕毕 修改课程表修改课程表加入新课程加入新课程学生指示要加入新的课程,系统检学生指示要加入新的课程,系统检查是否超出最终修改日期,如果没有,查是否超出最终修改日期,如果没有,系统则:系统则:1.是否超过最大课程数量是否超过最大课程数量2.检查所选课程是否满足必要条件检查所选课程是否满足必要条件3.如果该课程开放,将学生加入课如果该课程开放,将学生加入课程名单中程名单中 为为use case建立的事件流程被包建立的事件流程被包含在一个与含在一个与use case关联的外部关联的外部文档中。文档中。 为我们在第为我们在第8页建立的课程登记系页建立的课程登记系统建立统建立use
20、case图形图形 为为“维护课程信息维护课程信息”的的use case建建立简短的描述和事件流程立简短的描述和事件流程 use case提供以下功能提供以下功能 建立、修改和删除学期课程建立、修改和删除学期课程 建立、修改和删除学期提供的课程建立、修改和删除学期提供的课程 在提供的课程被建立前,教授要选择所在提供的课程被建立前,教授要选择所教的课程教的课程 包含在登记员的有效打印列表中包含在登记员的有效打印列表中 如果教授不能对所提供的课程任教,则如果教授不能对所提供的课程任教,则此门课程取消此门课程取消 你将可以:你将可以: 建立类建立类 你可以给类建立你可以给类建立stereotypes
21、建立包建立包 重新配置类重新配置类 建立类图建立类图 类是具有相同结构和行为的对象的集合类是具有相同结构和行为的对象的集合 stereotype事建模元素的新类型,这种事建模元素的新类型,这种建模元素扩展了建模元素扩展了metamodel的语义的语义 每个类最少有一种每个类最少有一种stereotypes 在分析中有三种普通的在分析中有三种普通的stereotypes 实体类实体类 模型信息和相关行为广泛的永久的独立于它的模型信息和相关行为广泛的永久的独立于它的环境环境 边界类边界类 系统环境和内部工作见的模型关联系统环境和内部工作见的模型关联 控制类控制类 一个或多个模型控制行为规格一个或多
22、个模型控制行为规格 Use cases可以对查找实体和边界类型进行检可以对查找实体和边界类型进行检查查 最初,给每一个最初,给每一个use case建立一个控制类建立一个控制类 控制类可以作为分析过程被归并控制类可以作为分析过程被归并 例子:课程登记的例子:课程登记的Use Case 边界类边界类 登记表格、计划表、计费界面、登记表格、计划表、计费界面、AddDrop 课程表课程表 实体类实体类 课程、提供课程、学生计划、学生信息课程、提供课程、学生计划、学生信息 控制类控制类 登记管理登记管理 当一个类被发现,它就被加到浏览器中当一个类被发现,它就被加到浏览器中 一旦类被建立,它应该被定义一
23、旦类被建立,它应该被定义 定义是原文,它包含类的责任和目定义是原文,它包含类的责任和目的描述的描述 类的规格说明包含类的额外信息类的规格说明包含类的额外信息 类的类的Stereotypes可以被加到模型可以被加到模型中中 包含一些类的主要模型包含一些类的主要模型 它可以组合在包中帮助模型管理它可以组合在包中帮助模型管理 包是一个逻辑类或其它包的集合包是一个逻辑类或其它包的集合 我们发现可以把登记系统中的类我们发现可以把登记系统中的类放在三个包中放在三个包中 界面、人和学校事件界面、人和学校事件 包的规格说明包含有关包的额外包的规格说明包含有关包的额外信息信息 一旦包被建立,它应被定义一旦包被建
24、立,它应被定义 定义的原文描述了包的目的定义的原文描述了包的目的 定义被加在文档窗口中定义被加在文档窗口中 一旦包被建立,合适的类被重新一旦包被建立,合适的类被重新分配在包中分配在包中 逻辑试图有包和类组成逻辑试图有包和类组成 在逻辑视图中,类图是包含类部在逻辑视图中,类图是包含类部分(或所有)类和包的视图分(或所有)类和包的视图 通常可以有许多类图通常可以有许多类图 逻辑视图最初包含一个视图逻辑视图最初包含一个视图 该图形被称为该图形被称为Main 主类图是逻辑视图中典型的高级主类图是逻辑视图中典型的高级包视图包视图 每个包一般都有自己的主类图每个包一般都有自己的主类图 该图形一般展现该图形
25、一般展现 包中的包中的“公众公众”类类 其它包中的类可以和它关联其它包中的类可以和它关联 公众类连接公众类连接 在分析后加入类图在分析后加入类图 需要时可以加入额外的类图需要时可以加入额外的类图 它们展现了模型中包和类的另一种它们展现了模型中包和类的另一种“视视图图” 例子:例子: 方案中多个类的视图方案中多个类的视图 包中包中“私人私人”类的视图类的视图 一个或多个类的视图及它们的属性和操作一个或多个类的视图及它们的属性和操作 inheritance hierarchy视图视图 类的类的stereotype可以展现在类图可以展现在类图中中 如果从浏览器中删除包和类,它如果从浏览器中删除包和类
26、,它将从模型中被删除将从模型中被删除 如果从类图中删除包和类,它只如果从类图中删除包和类,它只会在类图中消失而仍然保留在模会在类图中消失而仍然保留在模型中型中 将下列包和描述加入逻辑视图中将下列包和描述加入逻辑视图中 人员人员登记系统相关的人员信息登记系统相关的人员信息 学校的物件学校的物件登记系统的组成信登记系统的组成信息息 界面界面actor访问的界面信息访问的界面信息 将类重新分配到合适的包中将类重新分配到合适的包中 将上述三个包加入逻辑视图的将上述三个包加入逻辑视图的main视图视图中中 为每一个包建立为每一个包建立Main类图类图 为学校物件建立额外的类图为学校物件建立额外的类图 图
27、形名称:课程信息图形名称:课程信息 类:课程和提供的课程类:课程和提供的课程 你将可以:你将可以: 建立序列图建立序列图 建立协同图建立协同图 方案是方案是Use Case的实例的实例 每一个每一个Use Case都有一个方案网都有一个方案网 主方案(主方案(happy day scenarios) 所有都很好所有都很好 次方案次方案 除了主方案以外的部分除了主方案以外的部分 方案可以在交互图中被描述方案可以在交互图中被描述 有两中类型的交互图有两中类型的交互图 序列图序列图 协同图协同图 序列图描述了在时间上对象交互的安排序列图描述了在时间上对象交互的安排 图形展现了图形展现了 多个交互对象
28、多个交互对象 信息交流的序列信息交流的序列 序列图包含序列图包含 对象的生命线对象的生命线 按顺序对象间的信息交流按顺序对象间的信息交流 控制焦点(可选的)控制焦点(可选的)选择工具文本注释注释指示对象消息反身消息 对象是一种概念、抽象或具有明对象是一种概念、抽象或具有明确的边界的事情和应用目标确的边界的事情和应用目标 对象是具有:对象是具有: 状态状态 行为行为 特性特性 序列图中的每一条垂直线代表一序列图中的每一条垂直线代表一个外部个外部actor或系统中的对象或系统中的对象 在序列图中可以用不同的方式代在序列图中可以用不同的方式代表表actor和对象和对象Actor 对象和类类对象 随着
29、序列图的继续发展,也可以随着序列图的继续发展,也可以发现新的类发现新的类 在交互图中建立的类可以被放置在在交互图中建立的类可以被放置在Use Case视图中视图中 它们可以和逻辑视图中的类相关它们可以和逻辑视图中的类相关 对象通过消息进行合作对象通过消息进行合作 消息是一个从发送者指向接受者的箭头消息是一个从发送者指向接受者的箭头 可以为消息选择编号可以为消息选择编号OR 对象可以与自身合作对象可以与自身合作 可以以一种反身消息进行描述可以以一种反身消息进行描述 当发现更多的信息,已存在的消当发现更多的信息,已存在的消息可以被移动息可以被移动 可以在序列图中的任何位置插入可以在序列图中的任何位
30、置插入新的消息新的消息 控制焦点代表对象中焦点控制流控制焦点代表对象中焦点控制流程的相关时间程的相关时间 它代表对象指挥消息的时间它代表对象指挥消息的时间 注释可以附属在序列图中的任何注释可以附属在序列图中的任何实体上实体上 协同图是方案定的另外一种图形协同图是方案定的另外一种图形代表代表 协同图可以协同图可以 独立地被建立独立地被建立 直接从序列图中建立直接从序列图中建立 在协同图中有不同的方式代表在协同图中有不同的方式代表actors和对象和对象 链接为提供了对象间通信的路径链接为提供了对象间通信的路径 它允许对象进行交谈它允许对象进行交谈 对象通过消息进行合作对象通过消息进行合作 消息是
31、一个从发送者指向接受者的箭头消息是一个从发送者指向接受者的箭头 可以为消息选择编号可以为消息选择编号 可以用同一个箭头描述多个消息可以用同一个箭头描述多个消息 消息可以发送给同一个类的多个对象消息可以发送给同一个类的多个对象 这些可以通过堆栈对象图标来实现这些可以通过堆栈对象图标来实现 对象可以同自己进行合作对象可以同自己进行合作 它可以通过反身消息来描述它可以通过反身消息来描述 在协同图中消息不能被移动或插在协同图中消息不能被移动或插入入 序列图必须被使用序列图必须被使用 过程过程 转换序列图转换序列图 移动或插入需要的消息移动或插入需要的消息 转换回协同图转换回协同图 在图中可以描述数据的
32、返回值在图中可以描述数据的返回值 只能描述重要的数据返回只能描述重要的数据返回 注释可以被附属在协同图的任何注释可以被附属在协同图的任何一个实体上一个实体上 你将可以能:你将可以能: 建立关联和聚合关系建立关联和聚合关系 用名称、角色和多种指示增加关系用名称、角色和多种指示增加关系 建立反身关系建立反身关系 加入强制关系加入强制关系 Use Case可以检测并决定两个类可以检测并决定两个类之间是否应该存在关系之间是否应该存在关系 只要两个对象可以互相识别,它们就可只要两个对象可以互相识别,它们就可以通信以通信 关联和聚合为通信提供了一条途径关联和聚合为通信提供了一条途径 关联是两个间的非直接连
33、接关联是两个间的非直接连接 聚合是关联的一种强制模式聚合是关联的一种强制模式 它描述整体与部分之间的关系它描述整体与部分之间的关系 如果两个对象通过整体和部分的如果两个对象通过整体和部分的关系具有紧密的边界关系具有紧密的边界 这种关系称为聚合这种关系称为聚合 如果两个对象通常被人为是独立如果两个对象通常被人为是独立的的 这种关系称为关联这种关系称为关联 包中的包中的Main类图一般包含:类图一般包含: 包中的公众类包中的公众类 其它包中的类可以跟它进行通话的类其它包中的类可以跟它进行通话的类 其它包中的类和公众类进行通信其它包中的类和公众类进行通信 如果需要,关系则被加入另外一如果需要,关系则
34、被加入另外一个图形个图形 关联或聚合可以被命名关联或聚合可以被命名 通常是动词或动词短语通常是动词或动词短语 在类间的关联中角色表示目的或在类间的关联中角色表示目的或能力能力 通常是名词或名词短语通常是名词或名词短语 每一个关联和聚合的尾布都包含每一个关联和聚合的尾布都包含多种指示多种指示 在关系中指示多个对象的编号在关系中指示多个对象的编号零或多0.*一或多1.*零或一0.1指定范围2.7只有一1 在反身关系中,同一个类中的多在反身关系中,同一个类中的多个对象可以有许多合作方式个对象可以有许多合作方式Course0.*0.*Pre-requisite 约束是一种必须被维持的条件的约束是一种必
35、须被维持的条件的表达方式表达方式 用弯曲的线表示强制用弯曲的线表示强制1.*Ordered by employee idProfessorDepartment1.*is a member ofis head ofSubset 一旦关联或聚合被建立,其它类一旦关联或聚合被建立,其它类图也可以被更新,以便展现关系图也可以被更新,以便展现关系 包之间存在从属关系包之间存在从属关系 包之间的关系意味着,该包中的包之间的关系意味着,该包中的类可以和其它包中的类进行通信类可以和其它包中的类进行通信 使用建立课程和产生目录的交互使用建立课程和产生目录的交互图:图: 在类间加入关系在类间加入关系 在需要时加入
36、多种指示、角色名称在需要时加入多种指示、角色名称、关联名称和强制关系、关联名称和强制关系 在包间加入关系在包间加入关系 你将可以能:你将可以能: 为类建立操作和属性为类建立操作和属性 验证操作和属性验证操作和属性 在类图上显示操作和属性在类图上显示操作和属性 类具体表达一套责任,这种责任类具体表达一套责任,这种责任定义了类中对象的行为定义了类中对象的行为 类的责任通过操作被执行类的责任通过操作被执行 操作应该执行一种简单的功能操作应该执行一种简单的功能 在序列图或协同图中显示的消息在序列图或协同图中显示的消息通常是类的操作(消息接收者)通常是类的操作(消息接收者) 从一个边界类发消息到另一个边
37、从一个边界类发消息到另一个边界类可以通过一个图形用户界面界类可以通过一个图形用户界面(GUI)来实现,它通常是不成熟)来实现,它通常是不成熟的操作的操作 它可以通过它可以通过GUI建立者的性能被实现建立者的性能被实现 一旦在交互图中建立操作,消息一旦在交互图中建立操作,消息会自动被加入逻辑视图的类中会自动被加入逻辑视图的类中 操作可以在方案图中单独被建立操作可以在方案图中单独被建立 通过浏览器通过浏览器 在类图中在类图中 通过类的规格说明通过类的规格说明 例子:例子: 在次方案中包含的操作不能在序列在次方案中包含的操作不能在序列图或协同图中描述图或协同图中描述 内部(帮助)操作内部(帮助)操作
38、 操作可以通过浏览器被建立、拷操作可以通过浏览器被建立、拷贝、移动和删除贝、移动和删除 操作可以通过类图被建立操作可以通过类图被建立 通过类的规格说明建立操作通过类的规格说明建立操作 操作名称应该有一定风格规范操作名称应该有一定风格规范 提供跨项目的一致性提供跨项目的一致性 引导多个可维持的模块和代码引导多个可维持的模块和代码 操作的明明应该可以西安市它的结果,操作的明明应该可以西安市它的结果,而不是执行操作后的步骤而不是执行操作后的步骤 例子:例子:getGrade()、instead of calculateGrade() 操作应从接受者的愿望命名,而不是发操作应从接受者的愿望命名,而不是
39、发送者送者 每一个操作应该有一个清晰简明的定义每一个操作应该有一个清晰简明的定义 一旦操作被建立,它应该被描述一旦操作被建立,它应该被描述 操作可以在类图中被显示操作可以在类图中被显示 操作信号也可以被显示操作信号也可以被显示 如果争论类型和缺省值没有被输入如果争论类型和缺省值没有被输入,Rose将用将用argtype作为缺省值作为缺省值 建立一个称为登记用户的超类建立一个称为登记用户的超类 为登记用户类建立学生信息和教为登记用户类建立学生信息和教授信息子类授信息子类 将一个普通的属性或操作移动到新将一个普通的属性或操作移动到新的超类中的超类中 必要时重新分配关系必要时重新分配关系 必要时加入
40、强制信息必要时加入强制信息 在人员属性和操作类图中显示新在人员属性和操作类图中显示新类类 展现所有的属性和操作展现所有的属性和操作 不显示任何关系不显示任何关系 你将可以能:你将可以能: 建立状态转换图包含建立状态转换图包含 状态状态 转换转换 动作和活动动作和活动 嵌套状态嵌套状态 状态转换图用于描述给定类的发状态转换图用于描述给定类的发展历史,导致状态转换的事件和展历史,导致状态转换的事件和导致状态改变的活动导致状态改变的活动 对象状态是对象可以存在的可能对象状态是对象可以存在的可能条件条件 为类的重要动态行为建立状态转为类的重要动态行为建立状态转换图换图选择工具文本注释注释锚状态初始状态
41、终止状态转换反身转换 状态是对象可以存在的可能条件状态是对象可以存在的可能条件 状态转换是从最初状态到成功状状态转换是从最初状态到成功状态的改变态的改变 反身状态转换是一种初始状态等反身状态转换是一种初始状态等于成功状态的转换于成功状态的转换 伴随一个事件的数据就是一个伴随一个事件的数据就是一个argument 通过警戒(通过警戒(guard)的使用,转换)的使用,转换可以形成条件可以形成条件 活动是伴随事件转换的操作活动是伴随事件转换的操作 事件可以触发传送另一个事件事件可以触发传送另一个事件 起始状态是对象的最初状态起始状态是对象的最初状态 只能有一个起始状态只能有一个起始状态 终止状态是
42、对象最后的状态终止状态是对象最后的状态 可以没有终止状态,也可以存在多可以没有终止状态,也可以存在多个终止状态个终止状态 简单状态简单状态 用自由格式文本代表发生的事件用自由格式文本代表发生的事件 发送事件发送事件 一个活动出发下一个事件一个活动出发下一个事件 通过关键词的输入,活动被放置通过关键词的输入,活动被放置在先前状态在先前状态中中 通过关键词通过关键词do,活动被放置在先,活动被放置在先前的状态中前的状态中 通过输入关键词通过输入关键词exit,活动被放置,活动被放置在先前状态在先前状态中中 嵌套状态可以用于将复杂的图形嵌套状态可以用于将复杂的图形简单化简单化 历史信息提供了返回最近
43、可访问历史信息提供了返回最近可访问状态的能力状态的能力 通过在超类中加入历史图标(通过在超类中加入历史图标(H+圆圈)展现历史信息。圆圈)展现历史信息。 为下页描述的提供课程类建立状为下页描述的提供课程类建立状态转换图态转换图 你将可以能:你将可以能: 了解了解4+1视图的模型视图的模型 建立建立Use Case View 建立建立Logical View 建立建立Process View 建立建立Deployment View 建立建立Implementation ViewLogical ViewFunctionalityImplementation ViewSoftware Managem
44、entReuse,PortabilityProcess ViewPerformanceAvailablityFault ToleranceDeployment ViewPerformance AvailablityFault Tolerance ScalabilityDelivery and InstallationUse Case ViewUnderstandabilityUsability最终用户系统集成者软件工程者系统工程者 Use Case和和Use Case 报表报表 涉及:功能性、必要功能、执行涉及:功能性、必要功能、执行 在项目计划中扮演的角色,驱动在项目计划中扮演的角色,驱动系
45、统测试,用户文档系统测试,用户文档 在在Rose 4.0中:中:use case 图(在图(在Use Case View的文件夹中)的文件夹中)Use Case View 在类中分解,在包中组合类在类中分解,在包中组合类 建筑上重要的类建筑上重要的类 涉及:功能性、行为、结构的使涉及:功能性、行为、结构的使用、设计模式用、设计模式 在在Rose 4.0中:类图中:类图Logical View 在类中分解,在包中组合类在类中分解,在包中组合类 建筑上重要的类建筑上重要的类 涉及:功能性、行为、结构的使涉及:功能性、行为、结构的使用、设计模式用、设计模式 在在Rose 4.0中:类图中:类图 例子
46、:逻辑视图例子:逻辑视图 在过程、任务、现程和交互结构在过程、任务、现程和交互结构中分解中分解 涉及:相关时间问题,响应时间涉及:相关时间问题,响应时间,平行,分发、冗余,平行,分发、冗余 在在Rose 4.0中:协同图或组件图中:协同图或组件图 例子:过程视图例子:过程视图 将系统分解为节点和软件组件和将系统分解为节点和软件组件和过程到节点的映射过程到节点的映射 提供系统结构上的软件透视提供系统结构上的软件透视 涉及:远程通信、分发、一致性涉及:远程通信、分发、一致性、缩放比例、执行、冗余、有效、缩放比例、执行、冗余、有效性性 在在Rose 4.0中:扩展视图中:扩展视图 例子:扩展视图例子
47、:扩展视图 分解成模型、子系统、层和子系分解成模型、子系统、层和子系统与层间的界面统与层间的界面 涉及:软件开发,配置管理,发涉及:软件开发,配置管理,发布决策,代码差异,团队组织,布决策,代码差异,团队组织,契约,获得代码和原始代码的封契约,获得代码和原始代码的封装装 在在Rose 4.0中:组件视图(在中:组件视图(在Component文件夹中)文件夹中) 例子:实现视图例子:实现视图 你将可以能:你将可以能: 在在Rose模型中加入详细设计模型中加入详细设计 加入设计级类加入设计级类 指定关联和聚合指定关联和聚合 指定聚合牵制指定聚合牵制 指定操作信号指定操作信号 指定属性数据类型和初始
48、值指定属性数据类型和初始值 更新交互图展现消息同步选项更新交互图展现消息同步选项 在分析期间,高级边界类被定义在分析期间,高级边界类被定义 在设计期间,用户界面设计被完在设计期间,用户界面设计被完成成 窗口设计窗口设计 窗口数量窗口数量 处理用户时间处理用户时间 通常使用一个通常使用一个GUI建立器建立器 通过逆向工程,结果可以被传输到通过逆向工程,结果可以被传输到Rose中中 在设计期间,类被加入以简化系统实现在设计期间,类被加入以简化系统实现 Utility类的加入提供了可以在多种背景下类的加入提供了可以在多种背景下使用的公共服务包(如:数学运算)使用的公共服务包(如:数学运算) 类的加入
49、可以包装非面向对象的库和应用类的加入可以包装非面向对象的库和应用 类的加入帮助执行一些需要的功能类的加入帮助执行一些需要的功能 模型的合并可以解决设计问题模型的合并可以解决设计问题 Stereotypes可以用于传达类的目的可以用于传达类的目的 交互图被更新交互图被更新 在在domain类和被加入的实现类间展现交互类和被加入的实现类间展现交互操作操作 由于附加的设计类修改交互操作由于附加的设计类修改交互操作 类图被更新类图被更新 加入新包加入新包 类间的新关系类间的新关系 由于附加的设计类,关系可以被删除由于附加的设计类,关系可以被删除 由于附加的设计类,包中的关系可以被修由于附加的设计类,包
50、中的关系可以被修改改 加入包加入包 组件图被更新组件图被更新 附加包附加包 附加包的关系附加包的关系 包的关系可以被改变包的关系可以被改变 登记者必须输入登记者必须输入id号以便启动方案号以便启动方案 id号一旦被确认就可以访问系统号一旦被确认就可以访问系统 被称为被称为id列表的类被加入到系统中列表的类被加入到系统中 CouseForm和和id列表间的关系被列表间的关系被加入模型中加入模型中 更新类图更新类图 更新协同图更新协同图 在设计期间,关系被完善在设计期间,关系被完善 导航导航-每种关系都被检测以便确定是否需每种关系都被检测以便确定是否需要双向导航要双向导航 可视化链接可视化链接-可
51、视化链接加入到协同图中可视化链接加入到协同图中,以便帮助在关系中精练决定,以便帮助在关系中精练决定 Containment-by value or by refernce containment is decided Multiplicity-re-visit multiplicity for each end of a relationship and specify containers for multiplicity of more than one Parameterized Classes-addition of parameterized classes for multipli
52、city greater than oneRelated classes Design DecisionManagecurriculumForm Dependency relationship and IDList (local visibility)ManageCurriculumForm Aggregation by value CourseForm (field visibility)CourseForm and Dependency relationship CourseManager (parameter visibility)CourseManager and Dependency
53、 relationship Transactionmanager (global visibility)CourseManager and Dependency relationship Course (local visibility)CourseOffering Aggregation by reference (field visibility) Related classesDesign Decision TransactionManager Dependency relationship and Course (parameter visibility) TransactionMan
54、ger Dependency relationship and DbCourse (local visibility) DBCourse and Dependency relationship Course (parameter visibility) TransactionManager Dependency relationship DBOffering(local visibility) DBOffering and Dependency relationship CourseOffering (parameter visibility) 输出控制展现了保护级输出控制展现了保护级 为属性
55、获取或设置方法(缺省为属性获取或设置方法(缺省=private) 为关联获取或设置方法(缺省为关联获取或设置方法(缺省=public) 类的操作(缺省类的操作(缺省=public) 输出控制选项输出控制选项 Public-可访问类的成员和类的实例可访问类的成员和类的实例 Protected-可访问类的成员和所有子类的可访问类的成员和所有子类的成员成员 Private-可访问类的成员和友元可访问类的成员和友元 Implementation-可访问类的成员可访问类的成员 属性和操作的输出控制中是以图属性和操作的输出控制中是以图标的形式显示在浏览器中标的形式显示在浏览器中 多余一个的多余一个的Mul
56、tiplicity一般在使一般在使用容器类时被设计用容器类时被设计 容器类的实例是其它对象的集合容器类的实例是其它对象的集合 普通容器类包括:普通容器类包括: Sets,lists,dictionaries,stacks,queues, 容器类经常用容器类经常用parameterized classes来实现来实现 参数类可以被加入模型中用于说参数类可以被加入模型中用于说明多余一个明多余一个的的Multiplicity design 在分析阶段,充分的指出属性名称在分析阶段,充分的指出属性名称 属性表述必须在设计阶段被完成属性表述必须在设计阶段被完成 选项的缺省类型必须被分配到每一个属选项的缺
57、省类型必须被分配到每一个属性中性中 Built-in data type (e.g.,int,float) User-defined data type (e.g.,enum) User-defined class 设计属性设计属性 类的属性对于类的所有实例都是类的属性对于类的所有实例都是有效的有效的 在在C+中,这是一个静态属性中,这是一个静态属性 在设计阶段,每一个操作的信号在设计阶段,每一个操作的信号被决定被决定 操作要旨操作要旨 操作转换类型操作转换类型 设计操作设计操作 类的操作对于类的所有实例都有类的操作对于类的所有实例都有效效 在在C+中,这是一个静态操作中,这是一个静态操作 在
58、设计期间,在设计期间,inheritance hierarchies are refined to: Superclasses are made abstract classes where appropriate Operations are made virtual or pure virtual to support polymorphism Multiple inheritance hierarchies are changed to support virtual base classes where appropriate 抽象类没有实例抽象类没有实例 可视化操作可以被子类中的操作
59、可视化操作可以被子类中的操作所限制所限制 纯可视化操作不包含代码纯可视化操作不包含代码-代码必代码必须有子类提供须有子类提供 确保公共基类的拷贝是可继承的确保公共基类的拷贝是可继承的,当它起源于中级基类,公共基,当它起源于中级基类,公共基类被成为可视类被成为可视的的 协同图被更新以便描述消息同步策略协同图被更新以便描述消息同步策略 Simple-单线程控制单线程控制 Synchoronous-当客户端发送一个消息到当客户端发送一个消息到接收者并且接收者接受这个消息的操作过接收者并且接收者接受这个消息的操作过程程 Balking-如果接收者可以立刻接收消息,如果接收者可以立刻接收消息,客户端仅发
60、送一个消息客户端仅发送一个消息 Timeout-如果接收者不能在规定时间内处如果接收者不能在规定时间内处理消息,客户端放弃该消息理消息,客户端放弃该消息 Asynchronous-客户端发送一个消息到接客户端发送一个消息到接收者,无须等待响应即可处理或继续执行收者,无须等待响应即可处理或继续执行 在下页用协同图为产生目录方案在下页用协同图为产生目录方案做设计决定做设计决定 在设计过程中,图形中的可视化操在设计过程中,图形中的可视化操作将有所帮助作将有所帮助 学期课程列表学期课程列表在在CourseList类中被类中被建立建立 建立目录协同图建立目录协同图 Rational Approach的对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024外汇担保借款标准合同书
- 【初三化学人教版】6.3.1二氧化碳
- 2024三年的劳动合同协议标准版
- 湖北大学知行学院《药品质量控制规范》2022-2023学年第一学期期末试卷
- 湖北大学知行学院《会计学原理》2021-2022学年第一学期期末试卷
- 家长讲堂卫生健康教育
- 2024合同模板特许经营合同范本
- 二年级下册语文专题2 词语专项
- 心肌梗死健康宣教
- 湖北大学知行学院《财务分析》2023-2024学年第一学期期末试卷
- 网络设备、网络安全设备、服务器和存储系统集成
- 火龙果栽培技术课件
- 培训记录消防安全签到表
- 高中音乐《茉莉花的芬芳》优质教学课件
- DB52-T 1692-2022水利工程标识标牌技术规范
- 三尖瓣环室早心电图特征及导管消融课件
- 2022年广州市卫生健康系统单位招聘笔试题库及答案解析
- 公示语翻译课件
- 非标设计最强自动计算-压入力计算
- 【安全培训】吊装作业安全管理课件
- 行业会计比较(第二版)第07章成本费用核算管理体系比较(上)
评论
0/150
提交评论