uml.org.cn UML与Rational Rose讲义 2002年8月2日
UML 与 Rational Rose 讲义 2002 年 8 月 2 日
理 UML和Rose教程.doc 目录 目录…2 1.第一周:概述.... 1.1 Rational家族工具和应用方向介绍................4 1.1.1用Rational工具和以往的软件开发方式,我们能改变什么?..·4 1.1.2在纵向看:软件的开发过程分为需求、建模、构造、测试、提交五个阶段。4 1.1.3从横行看:主要包括二大部分方法贯穿整个软件开发过程的始终。…5 1.1.4利用Rational的成功经验..........5 1.200A&D面向对象的基本原则: 1.3 Rational Rose的界面介绍.............8 2.第二周:静态建模:用例和用例图(Use Case Diagram)...... 2.1角色和角色之间的关系.. 8 2.1.1角色… 8 2.1.2发现角色:… 9 2.1.3角色之间的关系........... …9 2.2用例和用例之间的关系。 10 2.2.1用例的特征: 10 2.2.2发现用例.......... 10 2.2.3用例之间的关系. 11 2.3举例建立用例图的方法和文档的详细注释.… 12 2.3.1描述用例.... 12 2.3.2测试用例.…13 2.3.3实现用例..…...... 3.第三周:静态建模:类图和对象图(Class Diagram)......... 15 3.1类的定义… 6 3.2类图的属性、操作和使用方法。 17 33类图之间的关系.…18 3.3.1关联.. 18 3.3.2依赖性.… 19 3.3.3精化关系. 20 3.3.4聚合…… 20 3.3.5一般化. 21 3.4类图的约束和派生规则..…… 23 3.5类图的接口、组件、包和模板..…… 24 3.6类图怎样生成java代码框架.…25 3.7类的java代码生成类图.…… 25 4.第四周:动态建模:序列图和协作图(Sequence&Callaboration Diagram)..·25 4.1序列图...... 26 4.1.1序列图的格式和并发事件.… 26 第贬
UML 和 Rose 教程.doc 第页2 目录 目录............................................................................... 2 1. 第一周:概述................................................................ 4 1.1 Rational 家族工具和应用方向介绍 ........................................ 4 1.1.1 用 Rational 工具和以往的软件开发方式,我们能改变什么? ............ 4 1.1.2 在纵向看:软件的开发过程分为需求、建模、构造、测试、提交五个阶段。4 1.1.3 从横行看:主要包括二大部分方法贯穿整个软件开发过程的始终。 ....... 5 1.1.4 利用 Rational 的成功经验 .......................................... 5 1.2 OOA&D 面向对象的基本原则: ............................................. 5 1.3 Rational Rose 的界面介绍 ............................................... 8 2. 第二周:静态建模:用例和用例图(Use Case Diagram) ............................ 8 2.1 角色和角色之间的关系 ................................................... 8 2.1.1 角色............................................................. 8 2.1.2 发现角色:....................................................... 9 2.1.3 角色之间的关系 ................................................... 9 2.2 用例和用例之间的关系 .................................................. 10 2.2.1 用例的特征:.................................................... 10 2.2.2 发现用例........................................................ 10 2.2.3 用例之间的关系 .................................................. 11 2.3 举例建立用例图的方法和文档的详细注释 .................................. 12 2.3.1 描述用例........................................................ 12 2.3.2 测试用例........................................................ 13 2.3.3 实现用例........................................................ 13 3. 第三周:静态建模:类图和对象图(Class Diagram) .............................. 15 3.1 类的定义.............................................................. 16 3.2 类图的属性、操作和使用方法 ............................................ 17 3.3 类图之间的关系........................................................ 18 3.3.1 关联............................................................ 18 3.3.2 依赖性.......................................................... 19 3.3.3 精化关系........................................................ 20 3.3.4 聚合............................................................ 20 3.3.5 一般化.......................................................... 21 3.4 类图的约束和派生规则 .................................................. 23 3.5 类图的接口、组件、包和模板 ............................................ 24 3.6 类图怎样生成 java 代码框架 ............................................. 25 3.7 类的 java 代码生成类图 ................................................. 25 4. 第四周:动态建模:序列图和协作图(Sequence & Callaboration Diagram) ......... 25 4.1 序列图................................................................ 26 4.1.1 序列图的格式和并发事件 .......................................... 26
UML和Rose教程.doc 4.1.2序列图定义迭代和约束的标签...…28 4.1.3序列图的递归方式… 28 4.2协作图..29 42.1协作图的格式和消息流........................ 29 4.2.2协作图的链接.…… 30 4.2.3对象的生命周期.…… 32 4.3从序列图转换为协作图的方式...… 32 4.4从协作图转换为序列图的方式.. 32 5.第五周:动态建模:状态图/话动图(Statechart/Activity Diagram).....32 5.1状态图.… 32 5.1.1状态和转移.… 32 5.1.2事件..… 33 5.1.3状态图与子状态.… 35 5.1.4历史指示器 35 5.2活动图.… 36 5.2.1活动图的动作和转移 37 5.2.2活动图的泳道........ 38 5.2.3活动图的对象.… 38 5.2.4活动图的信号.. 39 6.第六周:图书馆信息系统L实例........ 39 6.1需求. 39 6.2分析-用例图 40 6.3建模及设计一类图........ 40 6.4建模及设计一状态图. 40 6.5建模及设计一序列图. 40 6.6详细设计一类包......... 40 6.7详细设计一详细的类图.…...… 40 6.8详细设计一关键对象的状态图.. 40 6.9详细设计一关键对象的序列图 40 6.10详细设计一关键对象的协作图.. 40 6.11详细设计一组件图....... 40 6.12接口的设计.... 41 6.l3转成java并encoding实现.... 6.14测试和配置-展开图 41 6.15总结... 41 第页3
UML 和 Rose 教程.doc 第页3 4.1.2 序列图定义迭代和约束的标签 ...................................... 28 4.1.3 序列图的递归方式 ................................................ 28 4.2 协作图................................................................ 29 4.2.1 协作图的格式和消息流 ............................................ 29 4.2.2 协作图的链接.................................................... 30 4.2.3 对象的生命周期 .................................................. 32 4.3 从序列图转换为协作图的方式 ............................................ 32 4.4 从协作图转换为序列图的方式 ............................................ 32 5. 第五周:动态建模:状态图/活动图(Statechart / Activity Diagram) ............. 32 5.1 状态图................................................................ 32 5.1.1 状态和转移...................................................... 32 5.1.2 事件............................................................ 33 5.1.3 状态图与子状态 .................................................. 35 5.1.4 历史指示器...................................................... 35 5.2 活动图................................................................ 36 5.2.1 活动图的动作和转移 .............................................. 37 5.2.2 活动图的泳道.................................................... 38 5.2.3 活动图的对象.................................................... 38 5.2.4 活动图的信号.................................................... 39 6. 第六周:图书馆信息系统 UML 实例 ............................................. 39 6.1 需求.................................................................. 39 6.2 分析-用例图.......................................................... 40 6.3 建模及设计-类图...................................................... 40 6.4 建模及设计-状态图.................................................... 40 6.5 建模及设计-序列图.................................................... 40 6.6 详细设计-类包........................................................ 40 6.7 详细设计-详细的类图 .................................................. 40 6.8 详细设计-关键对象的状态图 ............................................ 40 6.9 详细设计-关键对象的序列图 ............................................ 40 6.10 详细设计-关键对象的协作图 ........................................... 40 6.11 详细设计-组件图..................................................... 40 6.12 接口的设计........................................................... 41 6.13 转成 java 并 encoding 实现 ............................................. 41 6.14 测试和配置-展开图 ................................................... 41 6.15 总结................................................................. 41
装 uml.org.cn UML和Rose教程.doc 1.第一周:概述 1.1 Rational家族工具和应用方向介绍 1.1.1用Rational工具和以往的软件开发方式,我们能改变什么? Rational家族及在软件工程中的应用 基于团队的需求 分析设计 者理 拘造 测试 提交 可视化遵模语 Rational 用户的idea Rational Suite Requisite Pro Rational Rose 单元测试 TestStudio 方法:JCM SCM+Rational ClearCase系列 方表:CM+Rational Clear@ues平列 Rational ClearCase:提供版本控制,提供工作空间管理,建立管理和过程控制功能。 ●Rational ClearQuest:定制缺陷和变更请求的信息域、过程、用户界面、查询、图表和报告 等。 ●Rational Requisite Pro:用户需求分析工具。 ●Rational Rose:可视化的建模工具,将应用程序可视化、说明应用程序的完整结构或行为、 创建一个模板引导你构建应用程序、将质量贯穿与整个开发生命周期、将开发过程中的所有决 策信息整理归档。 ●Rational Unified Process:是一个可以通过Web来使用的软件工程流程,可以提高团队的生 产效率,并将最佳软件开发经验传递给所有团队成员。 ●Rational SoDA:文档维护工具。 ●Rational Suite TestStudio:全方位的质量测试,包括单元测试和自动化测试。 1.12在纵向看:软件的开发过程分为需求、建模、构造、测试、提交五个阶段。 需求分析主要使用的工具为Rational Requisite Pro 分析建模阶段主要使用的工具为:Rational Rose。 在系统构造阶段就是用基于面向对象的语言(如Java、C+等)用程序员的经验、技能、好的 想法合理的在体现前面二项分析的模型情况下具体实现软件的功能,并进行单元项的测试和修改。 测试阶段包括单元测试、整体联合测试、软件全方位的质量测试、满足项目需求的功能测试、 第页4
UML 和 Rose 教程.doc 第页4 1. 第一周:概述 1.1 Rational 家族工具和应用方向介绍 1.1.1 用 Rational 工具和以往的软件开发方式,我们能改变什么? Rational ClearCase:提供版本控制,提供工作空间管理,建立管理和过程控制功能。 Rational ClearQuest:定制缺陷和变更请求的信息域、过程、用户界面、查询、图表和报告 等。 Rational Requisite Pro:用户需求分析工具。 Rational Rose:可视化的建模工具,将应用程序可视化、说明应用程序的完整结构或行为、 创建一个模板引导你构建应用程序、将质量贯穿与整个开发生命周期、将开发过程中的所有决 策信息整理归档。 Rational Unified Process:是一个可以通过 Web 来使用的软件工程流程,可以提高团队的生 产效率,并将最佳软件开发经验传递给所有团队成员。 Rational SoDA:文档维护工具。 Rational Suite TestStudio:全方位的质量测试,包括单元测试和自动化测试。 1.1.2 在纵向看:软件的开发过程分为需求、建模、构造、测试、提交五个阶段。 需求分析主要使用的工具为 Rational Requisite Pro 分析建模阶段主要使用的工具为:Rational Rose。 在系统构造阶段就是用基于面向对象的语言(如 Java、C++等)用程序员的经验、技能、好的 想法合理的在体现前面二项分析的模型情况下具体实现软件的功能,并进行单元项的测试和修改。 测试阶段包括单元测试、整体联合测试、软件全方位的质量测试、满足项目需求的功能测试
uml.org.cn UML和Rose教程.doc 寻找应用程序缺陷的可靠性测试、查找响应时间瓶颈的性能测试等。并按测试的结果提出相应的改 进建议。 提交阶段:包括为用户的安装、调试、培训、应用等具体行为。 1.1.3从横行看:主要包括二大部分方法贯穿整个软件开发过程的始终。 方法一、UCM(全球变更管理)、SCM(软件配置管理),版本控制(Rational ClearCase)。 方法二、CM(变更管理),工具为Rational ClearQuest。 1.1.4利用Rational的成功经验 1)迭代化的开发 2)基于构件的软件构架 3)可视化建模(ML) 4)持续地质量验证 5)配置和变更管理 1.2OOA&D面向对象的基本原则: 面向对象机制是另一种观察应用程序的方式。利用面向对象方法,把应用程序分成许多小块(或 对象),这些对象是相互独立的。然后可以组合这些对象,建立应用程序。可以把它看成砌砖墙。 第一步要建立或购买基本对象(各种砖块)。有了这些砖块后,就可以砌出砖墙了。在计算机领域 中建立或购买基本对象后,就可以集成起来,生成新的应用程序。 面向对象机制的一个好处是可以一次性地建立组件,然后反复地使用。 那么面向对象机制与传统开发方法有什么不同呢?传统开发方法集中考虑系统要维护的信息。 用这种方法时,我们要向用户询问他们需要什么信息,然后设计保存信息的数据库,提供输入信息 的屏幕并打印显示信息的报表。换句话说,我们关注信息,而不是关注信息的作用或系统的功能。 这种方法是以数据为中心的,多年来用它建立了成千上万个系统。 以数据为中心的模型适合数据设计和捕获信息。但用来设计商业应用程序就有问题。一个主要 问题是系统要求随着时间不断变化。以数据为中心的系统可以方便地处理数据库变化,但很难实现 商业规则变化和系统功能变化。 面向对象机制的开发正是要解决这个问题。利用面向对象机制,我们同时关注信息与功能。因 此,我们可开发密切关注和适应信息与功能变化的系统。 要实现灵活性带来的好处,只能通过设计好的面向对象系统。这就要求了解面向对象的基本原 则: 第页5
UML 和 Rose 教程.doc 第页5 寻找应用程序缺陷的可靠性测试、查找响应时间瓶颈的性能测试等。并按测试的结果提出相应的改 进建议。 提交阶段:包括为用户的安装、调试、培训、应用等具体行为。 1.1.3 从横行看:主要包括二大部分方法贯穿整个软件开发过程的始终。 方法一、UCM(全球变更管理)、SCM(软件配置管理),版本控制(Rational ClearCase)。 方法二、CM(变更管理),工具为 Rational ClearQuest。 1.1.4 利用 Rational 的成功经验 1) 迭代化的开发 2) 基于构件的软件构架 3) 可视化建模(UML) 4) 持续地质量验证 5) 配置和变更管理 1.2 OOA&D 面向对象的基本原则: 面向对象机制是另一种观察应用程序的方式。利用面向对象方法,把应用程序分成许多小块(或 对象),这些对象是相互独立的。然后可以组合这些对象,建立应用程序。可以把它看成砌砖墙。 第一步要建立或购买基本对象(各种砖块)。有了这些砖块后,就可以砌出砖墙了。在计算机领域 中建立或购买基本对象后,就可以集成起来,生成新的应用程序。 面向对象机制的一个好处是可以一次性地建立组件,然后反复地使用。 那么面向对象机制与传统开发方法有什么不同呢?传统开发方法集中考虑系统要维护的信息。 用这种方法时,我们要向用户询问他们需要什么信息,然后设计保存信息的数据库,提供输入信息 的屏幕并打印显示信息的报表。换句话说,我们关注信息,而不是关注信息的作用或系统的功能。 这种方法是以数据为中心的,多年来用它建立了成千上万个系统。 以数据为中心的模型适合数据设计和捕获信息。但用来设计商业应用程序就有问题。一个主要 问题是系统要求随着时间不断变化。以数据为中心的系统可以方便地处理数据库变化,但很难实现 商业规则变化和系统功能变化。 面向对象机制的开发正是要解决这个问题。利用面向对象机制,我们同时关注信息与功能。因 此,我们可开发密切关注和适应信息与功能变化的系统。 要实现灵活性带来的好处,只能通过设计好的面向对象系统。这就要求了解面向对象的基本原 则: