【UML】UML几种图的绘制_结合Rational Rose

2024-06-16 02:32

本文主要是介绍【UML】UML几种图的绘制_结合Rational Rose,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


本文转自http://blog.csdn.net/xiaowei_cqu/article/details/7773814


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中的绘制方法,加深了对图所表达含义的理解以及各种图之间的关系。

这篇关于【UML】UML几种图的绘制_结合Rational Rose的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065255

相关文章

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

JVM内存调优原则及几种JVM内存调优方法

JVM内存调优原则及几种JVM内存调优方法 1、堆大小设置。 2、回收器选择。   1、在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。   2、对JVM内存的系统级的调优主要的目的是减少

Go 语言中Select与for结合使用break

func test(){i := 0for {select {case <-time.After(time.Second * time.Duration(2)):i++if i == 5{fmt.Println("break now")break }fmt.Println("inside the select: ")}fmt.Println("inside the for: ")}} 执行后

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

Jenkins--pipeline认识及与RF文件的结合应用

什么是pipeline? Pipeline,就是可运行在Jenkins上的工作流框架,将原本独立运行的单个或多个节点任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。 为什么要使用pipeline? 1.流程可视化显示 2.可自定义流程任务 3.所有步骤代码化实现 如何使用pipeline 首先需要安装pipeline插件: 流水线有声明式和脚本式的流水线语法 流水线结构介绍 Node: