文档章节

UML之类图、时序图、用例图 粗略版介绍

o
 osc_1ee7cxmx
发布于 2018/08/06 17:40
字数 759
阅读 7
收藏 0

UML

概述

UML(Unified Modeling Language):统一(标准)建模语言,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
UML规范用来描述建模的概念有,类、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。
 

分类

1:用例图
2:静态图:类图:描述系统中类的静态结构
                    包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构
                    对象图:是类图的实例
3:行为图:活动图、状态图
4:交互图:时序图、活动图
5:实现图:配置图
 

★类图:

描述系统的静态结构

概念:

 类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。
 

符号:

虚线箭头:依赖:使用的关系,比如局部变量,方法的参数或者对静态方法的调用。
实线箭头:关联
虚线三角:接口
实线三角:父类
空心菱形:聚合:整体与部分的关系,部分离开整体仍然可以存在。
实心菱形:组合:整体与部分的关系,部分不能离开整体存在。
 
ps:聚合关系是关联关系的一种,关联和聚合在语法上无法区分。
 

图示例:

 

 (图源网址一)

 

★时序图(顺序图/序列图)

描述系统的动态行为
 
概念:
描述了对象之间传递消息的时间顺序,它用来表示用例的行为顺序。
 
作用
用对象间的交互来描述用例;
寻找类的操作
 
符号:
实线箭头:简单消息
实线三角:同步消息:消息的发送者把进程控制传递给消息的接收者,然后暂停活动,等待消息接收者的回应消息。
虚线箭头:返回消息:消息的发送者将消息发送给消息的接受者后,不用等待回应的消息,即可开始另一个活动。
(实线半箭头:异步消息)

长矩框:对象激活
              高度表示对象执行一个操作所经历的时间段,顶部表示动作的开始,底部表示动作的结束。
 
 

图示例:

(图源百度)

 

 

★用例图

概念:

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。
 
关系:
关联、泛化、包含、扩展
 
符号:
实线:关联
实线空三角:泛化(继承?)
虚线箭头:包含、拓展

虚线空三角:依赖(后来添加的)
 
 

图示例:

  (图源百度)

 

 
 
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

如何在Ruby中生成随机字符串 - How to generate a random string in Ruby

问题: I'm currently generating an 8-character pseudo-random uppercase string for "A" .. "Z": 我目前正在为“ A” ..“ Z”生成一个8个字符的伪随机大写字符串: value = ""; 8.times{......

法国红酒甜
今天
20
0
Python中的mkdir -p功能[重复] - mkdir -p functionality in Python [duplicate]

问题: This question already has an answer here: 这个问题在这里已有答案: How can I safely create a nested directory? 如何安全地创建嵌套目录? 25 answers 25个答案 Is there a way...

技术盛宴
今天
21
0
原价500元的认证证书,限时免费考取!

本文作者:y****n 百度云智学院致力于为百度ABC战略(人工智能、大数据、云计算)提供人才生态体系建设,包括基于百度ABC、IoT的课程体系,整合百度优势技术能力的深度学习技术、Apollo无人车...

百度开发者中心
昨天
17
0
在virtualenv中使用Python 3 - Using Python 3 in virtualenv

问题: Using virtualenv , I run my projects with the default version of Python (2.7). 使用virtualenv ,我使用默认版本的Python(2.7)运行项目。 On one project, I need to use Pyth......

富含淀粉
今天
16
0
Python的__init__和self是做什么的? - What __init__ and self do on Python?

问题: I'm learning the Python programming language and I've came across something I don't fully understand. 我正在学习Python编程语言,遇到了一些我不太了解的东西。 In a method ......

javail
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部