前情声明:咕咕咕,下面的有些知识可能rational rose画不出来,大家不要纠结。个人认为如果可以对着书梳理知识点是最好的。部分截图来自学校PPT,如果侵权请联系我我会速度删除。
[TOC]
## 1-类之间的关系
#### 泛化关系-Generalization(Cat 继承animal)
#### 实现关系-Realize(类实现接口)
#### 关联关系-Unidirectional association
#### 聚合关系(聚合关系描述的是整体和局部的关系,聚合关系是比较特殊的关联关系)
比如:一个教室当中有多个学生,教室和学生之间的关系就是整体和部分的关系。在聚合关系中,整体的声明周期不会决定部分的生命周期。
#### 组合关系
组合关系可以看作一种特殊的聚合关系。整体的生命周期决定部分的生命周期。周期是依附在整体上面的,部分离开了整体是无法存活的。如人和四肢的关系
Byvalue- apply-实心菱形
#### 依赖关系-Dependency
依赖关系是左右关系中最弱的一种关系,这种关系通常体现在类和局部变量之间
## 2-类图
实体类
边界类
控制类
关联类
抽象类
接口
##### Boundary 边界类-Boundary class
位于系统和外界的交接处,包括所有的窗体form,报表report,与外部设备的接口interface以及与其他系统的接口等。
##### Entity 实体类-Entity class
保存要放进持久存储体的信息
##### Control 控制类-control class
负责其他类工作的类
**Rose构建步骤-没有对应的标可以点**
**Tools-Options-Toolbars-UML-找到想要的添加到工具栏**
## 3-对象图
## 4-用例图use case
用例是代表系统中各个项目相关人员之间就系统的行为达成的契约。
### 组成元素
#### 参与者 actor
系统使用者或外部硬件或现有系统(P12)
#### 用例 usecase
使用者立场上能看到系统提供的功能
#### 关联
#### 系统边界
### 关系
#### 参与者的关系
关联-可设定多重度
泛化关系(简化用例图)
#### 用例之间的关系PPT19
泛化
包含 `<<include>>`(多个用例的共同部分)
扩张 `<<extend>>`(有条件地被执行的用例)
## 5-交互图interaction diagram
交互图:可视化一个运行的系统,交互图是一种详细表示对象及参与者actor之间动态联系的图形文档。交互图是用来描述对象之间的动态协作关系以及协作过程中的行为次序,它常常用来描述一个用例的行为,显示该用例中所涉及的对象和这些对象之间的消息传递情况。
顺序图和协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可以互相转化。**顺序图**着重描述对象按照时间顺序的消息交换,**协作图**着重描述系统成分如何协同工作。
### 顺序图
#### 生命线lifeline
表示参与交互活动的元素
表示方法,生命线的生成和消失
#### 消息
表示生命线之间的通信,在生命线之间通过带箭头的线来连接。
##### 同步消息
表示消息执行的同步顺序(层次化关系)
某个生命线发出的上一条同步消息处理完全结束之后,才能发送和处理下一条消息。
##### 异步消息
##### 返回消息(可省略)
表示对于同步消息的应答。
##### 递归调用
生命线对自身发送消息调用自身操作的情况。
#### 激活框
#### 交互调用
在一个交互的执行过程中去参考调用另外一个在它处定义好了的交互序列称为交互调用。
#### 组合片段combine fragment
对复杂的交互图进行有意义的片段划分
##### loop组合片段
循环
loop[循环次数或条件表达式]
##### alt组合片段
根据条件不同选择不同交互处理序列,每个分支的条件必须具有互斥关系。
用虚线划分,[]表示处理分支条件。
##### opt组合片段
只有在给定的条件满足时才能执行的交互序列,不能带有条件分支。
##### critical
表示不能接受从其它处理来的中断的交互序列。
##### break
表示只有在给定条件满足的时候才能中断的交互序列。
##### par
表示有并行处理的交互序列。
#### 总结
在顺序图中可选用激活框来明确表示消息和处理之间的控制关系。
在顺序图中可使用组合片段和交互调用方法来增强顺序图的可读性。
#### 补充
顺序图中消息的循环发送(在消息名字前加循环条件)
条件发送
时间约束表示、递归表示-PPT35
### 协作图(通信图) communication diagram
协作图包含一组对象和链,用于描述系统的行为是如何由系统的成分协作实现的。
#### 组成元素
生命线:矩形框下不带虚线
##### 消息
生命线之间用是实线连接,上面标明消息方向和消息标签
通信图中消息不同于顺序图,没有按照时间先后顺序进行组织,需要注明消息番号
## 6-状态图
对象除了具有属性和操作之外,还具有状态。状态机图用来描述一个对象从生成到消失整个生命周期所经历的状态变化。(表示一个对象对于来自外部的事件如何做出反应的情况)。
### 状态机图的模型元素
状态+状态迁移
#### 状态图中的基本概念
##### 状态state
状态-初始状态-终了状态
##### 转移transition
##### 事件event
##### 动作action
### 组合状态-历史状态符
## 7-包图
包的作用:用于组织模型中的元素以便更容易理解,对包中元素进行可见性控制。
(包名分为simple name和path name)
### 包图的组成元素
包package+包之间额关系(依赖,泛化)
#### 用包名修饰类名
#### 包中还含有包
包的层次化
#### 包之间的关系
包内元素有使用上的关系:依赖关系;
包内元素有泛化关系,两个包有泛化关系
## 8-活动图 Activity diagram
活动图用来描述系统或者某个业务的处理流程
### 活动图组成元素
活动,控制流,开始结点,终了节点,判断节点和监护条件,fork节点,join节点,参与者
### 绘制活动图的要点
整理出场人物,抽取出角色;
整理角色间交换的信息;
找出开始节点和终止节点;
找出各个角色的活动;
做成活动图
### 活动图与状态图比较
活动图与状态图描述的重点不同;
活动图和状态图使用的场合不同
## 9-组件图/构件图 Component diagram
构件图表示组成软件的构件之间的关系以及构件的内部结构。
### 构件图的模型元素
构建
接口
#### 构件
构件表示的是系统内预先定义好访问接口的可以再利用的软件部件。一个构件有一个以上对外公开的接口。
#### 接口
构件之间通过接口连接。接口只定义了操作调用的方法,并不包含操作的具体实现。分为提供接口和要求接口。(provided interface和required interface)
### 构件之间的关系
依赖关系,表示构件之间的访问调用关系。
### 构件的内部结构
UML2.0, 部分part+端口port+连接connect
## 10-部署图