UML图例
概述

RUP的二维空间

用例图
用于定义系统的功能需求,描述了系统的参与者与系统提供的用例之间的连接关系。其中,参与者可以人,也可以另一个系统。用例图仅从参与者使用系统的角度描述系统中的信息。
- 依赖:uses a,使用了某个对象,依赖于某个对象,扩展了某个对象。
图形: 使用方 ----use----> 被使用方
- 聚合:has a,包含某个对象,就可以说是聚合了某个对象。
图形: 包含方 <>----has----- 被包含方
- 继承(泛化):is a,(本质)是某个类,就可以说是继承了某个类。
图形:子类 ----is----|> 父类

类图、包图
用来描述系统中的类以及类与类之间的静态关系。

关联关系示例: 泛化关系示例:


依赖和实现关系示例: 抽象类示例:

接口示例:

对象图
用来描述特定时刻实际存在的若干对象以及它们之间的关系。一个系统的模型中可以包含多个对象图,每个对象图描述了系统在某个特定时刻的状态。
组件图(Component Diagram)
用来建模系统的各个组件(包括源代码文件、二进制文件、脚本、可执行文件)之间的关系,它们是通过功能或者位置(文件)组织在一起的。
使用组件图有助于对系统感兴趣的人了解某个功能单元位于软件包的什么位置,以及各个版本的软件包各包含哪些功能。
组件、接口和依赖关系

组件1实现了接口,组件2使用了接口
部署图(Deployment Diagram)
帮助系统的有关人员了解软件中各个组件驻留在什么硬件上,以及这些硬件之间的交互关系。另外,部署图还可以用来描述哪一个软件应该安装在哪一个硬件上。
节点和关联关系

活动图
用来描述工作流,其中每个活动都代表工作流中一组动作的执行。
主要的标记组件:活动、状态、转移和(判断、分叉、汇合、泳道和对象流等)多种标记符

事件和触发器 父活动与子活动

泳道

流程步骤:
顺序图
描述了一个相互作用、在以时间为次序的对象之间的通讯集合。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。它着重显示了参与相互作用的对象和所交换消息的顺序。
顺序图和协作图表达了相似的信息,但是它们以不同的方式显示。




- alt——选择。有多重片段供选择,且必选其一,只有当其保安条件为真的片段才被执行。
- opt——任选。有多重片段供选择,只有当其保安条件为真的片段才被执行。
- par——并行。每个片段都并发执行。
- loop——循环。片段可重复执行,保安条件给出执行条件。
- region——临界区域。片段只有一个线程对它立即执行。
- neg——否定。片段指明一次无效的交互。
- ref——引用。引用在其它图上定义的一个交互。
流程步骤:
通信图
顺序图按照时间顺序布图,而通信图按照空间组织布图。顺序图着重于对象间消息传递的时间顺序,通信图着重于表达对象之间的静态连接关系。

对象角色(3种类型的对象实例)

迭代 自调用和回调

时序图
显示系统内各对象处于某种特定状态的时间,以及触发这些状态发生变化的消息。

状态机图
用于指定对象的行为以及根据不同的当前状态行为之间差别。同时,它还能说明事件是如何改变一个类对象的状态。
对象、状态、事件、转移和动作

决策点(分支) 同步(并发)

组合状态
顺序子状态 并发子状态

同步状态 历史状态

UML图例的更多相关文章
- java 类与类之间的关系 及uml图
类与接口之间的关系 : 继承 类与类之间的关系 :继承关系 包含关系 类与对象之间的关系 : 实例 UML 类图中类与类之间的关系: 泛化关系(generalization) 关联关系(associ ...
- Python设计模式 - UML - 总览
说到设计模式就不得不涉及建模思想,说到建模思想自然而然会应用UML,目前业界开源的UML工具很多,用起来也非常便捷.近几年来随着软件应用领域开发模式转向快速迭代试错,UML在敏捷开发,尤其是web及m ...
- 设计模式中类的关系UML
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖.关联.聚合.组合.继承.实现.他们的耦合度依次增强. 1. 依赖(Dependence) 依赖关系的定义为:对于两 ...
- ZT UML 类与类之间的关系
1.聚合关系是关联关系的一种,是强的关联关系. 2.聚合是整体和部分之间的关系,例如汽车由引擎.轮胎以及其它零件组成. 3.聚合关系也是通过成员变量来实现的.但是,关联关系所涉及的两个类处在同 ...
- 牛腩新闻系统(一)——UML、数据库设计
牛腩新闻系统(一)--UML.数据库设计 一.初识牛腩系统 牛腩(Brisket)即牛腹部及靠近牛肋处的松软肌肉,是指带有筋.肉.油花的肉 块.这是一种统称. 若依部位来分,牛身上很多地方的肉都能够叫 ...
- 两张图示轻松看懂 UML 类图
一个类如何表示 第一格为类名 第二格为类中字段属性 格式:权限 属性名:类型 [ = 默认值 ] 权限:private.public .protected.default,它们分别对应 -.+.#.~ ...
- UML ——区分类图中的几种关系.md
目录 关联关系 (association): 聚合关系 (aggregation): 合成关系 (composition): 依赖关系 (dependency): 总结: 原文地址 http://ww ...
- 设计模式之十三:适配器模式(Adapter)
适配器模式: 将一个类的接口转换成另外一个期望的类的接口.适配器同意接口互不兼容的类一起工作. Convert the interface of a class into another interf ...
- [学习笔记]设计模式之Factory Method
写在前面 为方便读者,本文已添加至索引: 设计模式 魔法手札索引 在上篇笔记Abstract Factory设计模式中,时の魔导士创建了一系列的FoodFactory,并教会了其中一名霍比特人theC ...
随机推荐
- BPR: Bayesian Personalized Ranking from Implicit Feedback-CoRR 2012——20160421
1.Information publication:CoRR 2012 2.What 商品推荐中常用的方法矩阵因子分解(MF),协同过滤(KNN)只考虑了用户购买的商品,文章提出利用购买与未购买的偏序 ...
- koala不支持中文的解决办法(问题出现在使用中文字体时报错)
C:\Program Files\Koala\rubygems\gems\sass-3.4.9\lib\sass 这是我的koala的安装路径,在sass文件夹下打开engine.rb(文本文档打开即 ...
- 【转】关于Class.forName(“com.mysql.jdbc.Driver”)
原文:http://www.cnblogs.com/gaojing/archive/2012/03/23/2413638.html 传统的使用jdbc来访问数据库的流程为: Class.forName ...
- iOS -- 隐藏返回按钮
// 隐藏返回按钮 [self.navigationItem setHidesBackButton:YES];
- C# 属性、索引
属性(property): public string Name { get { return _name; } set { _name = value; } } 简写为: public string ...
- git 冲突解决
冲突文件的组成 "<<< HEAD"和 "====="之间的为主干内容 "=====" 和 ">>& ...
- ActiveMQ(八)_多集群的负载均衡
图一 图一说明: 1.集群一包含3个队列:A ...
- NPOI导入,导出
概述 NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.NPOI 可以在没有安装 Office 或者相应环境的机器上对 WO ...
- 100735G
很明显,我们构造出一个串后,无非就是两个结果:最长的是黑的,最长的是白的,因此选两个中小的就可以了 #include<iostream> using namespace std; int ...
- JACASCRIPT--的奇技技巧的44招
JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...