【UML】UML几种图的绘制

article/2025/8/19 10:59:05

08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活。此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/details/7747205

UML几种图的绘制


UML是Unified Modeling Language(统一建模语言)的简称。UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。
UML是一套表示法系统。UML由一组图组成,它使得系统分析员可以利用这一标准来建立能够和客户、程序员以及任何参与程序开发的人员理解的多视角的系统蓝图。不同的风险承担人通常使用不同类型的图相互交流。
UML的特点有:统一的标准:UML已被OMG接受为标准的建模语言、面向对象、可视化、表示能力强大、独立于过程、概念明确,建模表示法简洁,图形结构清晰,容易掌握使用
UML中包括九种图:
类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、部署图

【系统用例图】

用例是系统的一组使用场景。每个场景描述了一个事件的序列。每个序列是由一个人、另一个系统、一台硬件设备或者某段时间的流逝所发起。这些发起事件序列的实体叫做参与者(actor)。用例是对一个参与者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列。
UML表示:
  • 用例用一个椭圆形表示
  • 参与者用直立人形图标表示
  • 用例的发起参与者在用例图的左侧,接收参与者在用例图的右侧
  • 关联线连接参与者和用例并且表示参与者与用例之间有通信关系;关联线是实线。
Rational Rose表示:
创建参与者  创建与参与者相关的用例           并建立联系

系统用例图如下:

目录中出现参与者及用例如下:


【顺序图】

对象之间的交互是按照特定的顺序发生的,这些按特定顺序发生的交互序列从开始到结束需要一定的时间。当建立一个系统时,必须要指明这种交互序列,顺序图就是用来完成这项工作的UML组件。
UML表示:
  • 对象用矩形表示,其中是带下划线的对象名
  •  时间用垂直虚线表示
  • 消息用带箭头的直线表示
  • 激活用窄矩形条表示
Rational Rose表示:
右击用例“Add Item to Shopping Cart”,选择“Add”->“Sequence Diagram”
首先画出用例中会用到Object                


再在Object之间创建ObjectMessage


顺序图如下:



【协作图】

协作图是对象图的扩展。协作图除了展示出对象之间的关联,还显示出对象之间的消息传递。对象图是一个快照;而协作图是一部电影。
UML表示:
  • 关联线附近的箭头线表示对象之间的传递的消息,箭头指向消息接收对象
  • 消息名称和消息序号附在箭头线附近。消息的一般含义是触发接收消息的对象执行它的一个操作
Rational Rose表示:

用例图按F5键直接生成协作图如下:


绘制详细顺序图如下:



生成协作图:


在目录中生成如下文件:


【类图】

类是一类或者一组具有类似属性和共同行为的事物
UML表示:
  •  矩形方框
  •  被分为三个区域:类名、类的属性、类的操作
  •  类名由多个单词组成;每个单词的首字母要大写,单词之间不用空格
  •  属性名和操作名也类似,但首字母不用大写
  •  每个操作名的后面都有一对括号
Rational Rose表示:
在图中绘制各种类以 及各种类之间的关系   


分析“Add Item to Shopping Cart”中用到的类,在Logical View新建“Class Diagram”、“Add Item to Shopping Cart”

绘制类图如下:

创建主类图“main”:Boudaries、Control、Entities三个包

则在Logical中生成三个文件夹:

将相应的类拖到对应的文件夹下:


【状态图】

人或事物表现出来的形态为状态。当系统与用户(也可能是其它系统)交互的时候,组成系统的对象为了适应交互需要经历必要的变化。如果要对系统建立模型,那么模型中必须要反映出这种变化。
UML表示:
  •  状态用圆角矩形表示
  • 状态间带箭头的实线代表状态的迁移(转移),箭头指向目标状态
  • 实心圆代表状态转移的起点,眼形圆圈代表终点
Rational Rose表示:
在类Product Item下新建“Statechart Diagram”,绘制Product的状态图
绘制“开始”状态 ,之后依次绘制各种状态及转移 ,最后以 表示结束

绘制状态图如下:


生成目录如下:


【构件图】

构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。构件图则显示一组构件以及他们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。构件图和部署图用于在OO系统中实现物理方面的建模
UML表示:
  •  左侧附有两个小矩形的大矩形框;也可以用一个顶部带关键字《Component》的矩形表示
  • 构件有自己的名称。如果构件属于一个包,可以在构件名称前面加上包名
  •  可以在构件图标中列出构件的操作
Rational Rose表示:
在“Component View”中新建Component Diagram创建构件 ,并绘制构件间各种关系 

绘制系统组件图如下:

创建组件图“main”,建立三个包

目录中生成三个相应文件夹,将相应的组件放入文件夹中,为了显示出每个Package中的Component,在相应的目录下建立组件图“main”
文件目录如下:


其中Boundaries下main组件图如下:

Control下main组件图如下:

Entities下main组件图如下:


【部署图】

部署图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软构件。部署图也称配置图,实施图。常常用于帮助理解分布式系统。部署图由体系结构设计师,网络工程师,系统工程师等描述。
UML表示:
  • 用立方体表示
  • 加关键字<<Device>>
Rational Rose表示:
在Commonent View下的Deployment中绘制Processor 及Device  

绘制系统部署图如下:


结果分析

  1. UML是Unified Modeling Language(统一建模语言)的简称。UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。
  2. UML中视图包括:用例视图(Use Case View)、逻辑视图(Logical View)、实现视图(Implementation View)、进程视图(Process View)、部署视图(Deployment View)等。由九种图组成
  3. 实验通过掌握各种图在Rational Rose中的绘制方法,加深了对图所表达含义的理解以及各种图之间的关系。

转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7773814








http://chatgpt.dhexx.cn/article/LnIvHiH8.shtml

相关文章

浅谈UML的概念和模型之UML九种图

目录&#xff1a; UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了&#xff0c;UML的视图&#xff0c;在每一种视图中都包含一个或多种图。本文我们重点讲解UML每种图的细节问题&#xff1a; 1、用例图&#xff08;use case diagrams&#xff09; 【概念】描述用户需…

UML——概述(什么是UML?UML有什么作用?面向对象技术)

目录 什么是UML&#xff1f; UML能帮我们做什么&#xff1f; 什么是建模&#xff1f; 为什么要建模&#xff1f; 为什么要可视化建模&#xff1f; 建模的原理&#xff08;原则&#xff09; UML的基本构造块 UMl中事物有哪些&#xff1f; 面向对象技术 什么是UML&#…

详细说明UML类图是什么?

作者&#xff1a;亿图图示 链接&#xff1a;https://www.zhihu.com/question/419312525/answer/1535413984 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 UML类图&#xff0c;UML中的一种重要图形&#xff0c;是在…

UML详细讲解

本文是搜集整理学习使用&#xff0c;信息来源&#xff1a;gd_沐辰 - 博客园 (cnblogs.com) 1.UML概述 1.1.什么是UML 统一建模语言&#xff08;UML&#xff09;是一种通用的可视化建模语言&#xff0c;可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。 UML是…

什么是UML,UML类图

1.什么是UML&#xff1f; UML是统一建模语言&#xff0c;是一种可视化的面向对象建模语言&#xff0c;是一种用来对真实世界物理进行建模的标准标记&#xff0c;用图形方式表现典型的面向对象系统的整个结构。它的作用域不局限于支持面向对象的分析与设计&#xff0c;还支持从需…

什么是uml?

相信你可能建立过以木块为基础的建筑模型&#xff0c;建立过解决实际问题的数学模型&#xff0c;学过一个系统的物理模型&#xff0c;听说过UML建模&#xff0c;但是什么是UML呢&#xff1f; 学习了几天的UML&#xff0c;昨天师傅大体问了我UML是什么&#xff0c;由什么构成&am…

[UML 扫盲]什么是UML?

文章目录 一、UML 是什么&#xff1f;二、UML 与 面向对象三、UML 基本要素四、UML 常见图 概述 UML 是统一建模语言&#xff08;Unified Modeling Language&#xff09;的缩写。UML 提供了标准通用的图形化设计语言&#xff0c;使得在构建计算机应用时&#xff0c;开发团队的成…

大数据学习(3)

大数据学习&#xff08;3&#xff09; 1 Hive-SQL-DML语句1.1 Hive SQL Load 加载数据语句1.1.1 Load功能1.1.2 Load语法规则1.1.3 Load 语法实验1.1.3.1 Load Data From Local FS1.1.3.2 Load Data From HDFS1.1.3.3 Overwrite选项 1.2 Hive SQL Insert 插入数据语句1.3 Hive …

如何学习大数据分析

上面有很多关于BOT的信息&#xff1a;这并不是嗡嗡作响。归根结底&#xff0c;BINO数据已经成为每个行业的驱动力&#xff0c;这充分说明了利用大数据分析的最大优势。但是&#xff0c;仅B此字不只是因为我们知道而改变了业务。更重要的是&#xff0c;大数据分析分析系一直是开…

大数据分析怎么学习

大数据分析从业虽然有难度&#xff0c;但大数据分析岗的薪酬高、发展潜力好&#xff0c;很多人们想转行做大数据分析&#xff0c;朝着大数据分析方向去发展。那么&#xff0c;大数据分析怎么学习?学习哪些内容呢&#xff1f; 第一&#xff0c;可视化分析&#xff0c;事实上&am…

大数据学习路线,如何学习大数据?

声明&#xff1a;本文转至http://blog.csdn.net/yuexianchang/article/details/52468291 1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力&#xff1a; 熟练使用Linux&#xff0c;熟练安装Linux上的软件&#xff0c;了解熟悉负载均衡、高可靠等集群相关概念&#xff…

机器学习-大数据

模式识别 性能好&#xff0c;算法&#xff0c;经验 实际和模型的差距太大

大数据学习(1)-大数据概述

文章目录 目录大数据产生背景大数据概念大数据影响大数据应用大数据关键技术大数据产业大数据&#xff0c;云计算&#xff0c;物联网关系云计算物联网大数据&#xff0c;物联网&#xff0c;云计算三者之间联系 目录 大数据产生背景 三次信息化浪潮 根据IBM前首席执行官郭士纳…

2021年全新大数据学习路线图,(含入门到精通项目学习免费教程哦)

大数据教程&#xff0c;大数据学习&#xff0c;大数据学习路线图&#xff0c; 今天就给大家分享2021年全新的大数据学习教程哦&#xff01; 2021年黑马程序员全新的大数据学习路线图分享给大家&#xff0c;大家可以按照这个大纲来学习&#xff0c;自学也可哦&#xff01; 第一…

大数据——学习路线

学习大数据首先我们要学习Java语言和Linux操作系统&#xff0c;这两个是学习大数据的基础&#xff0c;学习的顺序不分前后。下面是大数据相关的技术 Hadoop 这是现在流行的大数据处理平台几乎已经成为大数据的代名词&#xff0c;所以这个是必学的。Hadoop里面包括几个组件HDF…

怎样进行大数据的入门级学习?

大数据在刚出来的时候&#xff0c;人们表现的非常乐观&#xff0c;以至于对它持有非常高的期望&#xff0c;和普遍的追捧。 不过只要有数据在&#xff0c;大数据就不会过时。随着上游的数据规模持续增长&#xff0c;大数据在未来一定会扮演重要角色。因此&#xff0c;市场需求…

当我说转行大数据工程师时,众人笑我太疯癫,直到四个月后......

【不要错过文末彩蛋】 申明&#xff1a; 本文旨在为【大数据自学者|大数据专业学生|工资低的程序员&#xff08;Java/Python等&#xff09;】提供一个从入门到入职的的大数据技术学习路径&#xff0c;不适合5年以上大数据工程师的进阶学习。 前言&#xff1a; 一、个人介绍 …

网络层协议(6)

文章目录 一、网络层二、网络层的功能三、IP数据包格式1.版本2.头部长度3.服务类型4.包裹总长5.重组标识6.标志7.段偏移量8.生存时间&#xff08;TTL&#xff09;9.协议代码10.首部检验和11.源地址12.目的地址13.可选字段14.数据部分 四、其他网络层协议1.ICMP协议2.ARP协议3.R…

网络层的各层协议

网络层的各层协议 目录 一、IP数据包格式 二、Icmp协议介绍 2.1 ICMP协议 2.2 ICMP协议的封装 三&#xff0e;ARP协议介绍 3.1 什么是ARP协议 3.2 ping命令 3.3 TRACERRT命令 3.4ARP协议工作原理 四、ARP攻击原理 一、IP数据包格式 协议字段 IP数据包格式&#xf…

网络层协议------IP协议

这里写目录标题 IP协议基本概念协议头格式网段划分特殊的ip地址私网ip地址和公网ip地址ip地址的数量限制路由 IP协议 IP协议&#xff1a;其实就是TCP/IP协议中对于网络层的一个协议&#xff08;注意IP协议是TCP/IP协议族中最为核心的协议&#xff0c;因为对于上层的数据&#…