系统架构21 - 统一建模语言UML(下)

UML图

  • UML中的图
    • 分类
    • 作用
  • 视图
    • 用例视图
    • 逻辑视图
    • 进程视图
    • 实现视图
    • 部署视图

UML中的图

“图”是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)的连通图。为了对系统进行可视化,可以从不同的角度画图,这样图是对系统的投影。

分类

UML 2.0 提供了13种图:类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部署图、组合结构图、包图、交互概览图和计时图。其中,序列图、通信图、交互概览图和计时图均被称为交互图。此外,还有额外的制品图,共计14种。

作用

  • 类图描述系统中类的内部结构和类之间的关系;

  • 对象图描述一组对象及其之间的关系;

  • 用例图从用户角度描述了系统的功能和关系;
    用例图 (Use Case Diagram) 展现了一组用例、参与者 (Actor) 以及它们之间的关系。用例图通常包括用例和参与者以及它们之间的关系,如图
    UML用例图
    用例之间有扩展关系(<>) 和包含关系(<>),参与者和用例之间有关联关系,用例与用例、参与者与参与者之间有泛化关系
    用例图用于对系统的静态用例视图进行建模。这个视图主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。当对系统的静态用例视图建模时,可以用下列两种方式来使用用例图。
    对系统的语境建模。对一个系统的语境进行建模,包括围绕整个系统画一条线,并声明有哪些参与者位于系统之外并与系统进行交互。在这里,用例图说明了参与者以及他们所扮演的角色的含义
    对系统的需求建模。对一个系统的需求进行建模,包括说明这个系统应该做什么(从系统外部的一个视点出发),而不考虑系统应该怎样做。在这里,用例图说明了系统想要的行为。通过这种方式,用例图使人们能够把整个系统看作一个黑盒,采用矩形框表示系统边界;可以观察到系统外部有什么,系统怎样与哪些外部事物相互作用,但却看不到系统内部是如何工作的。

  • 序列图描述了参与者及对象之间的交互信息的传递的时间顺序;

  • 通信图从对象的责任这个角度描述了对象间的信息交互;
    UML通信图

  • 状态图描述了状态和引起状态变换的事件之间的关系;

  • 活动图描述了完成一个业务要执行的活动和活动间的逻辑关系;

  • 构件图描述了具有特定功能的类和接口,以及它们之间的连接;
    UML构件图

  • 部署图描述了系统中类和对象的静态结构,包括类之间的关系;
    UML部署图

  • 组合结构图描述了结构化类的内部结构和与其他部分的交互点;

  • 包图描述了类的集合和类之间的依赖关系;

  • 交互概览图以活动图的形式描述了业务过程中的控制流概览和软件过程中的详细逻辑概览,并将多个图进行连接,抽象掉了消息和生命线;

  • 计时图对实时事件进行建模,通过带刻度的时间轴精确描述状态变化;

  • 制品图包括可行性文件、代码、运行时创建的对象等。

视图

对于同一个系统,不同人员所关心的内容并不一样。因此一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图 (View), 每个视图表示系统的一个特殊的方面。按照图本身具有的特点,可以把图形划分为5类视图,分别是用例视图、逻辑视图、进程视图、实现视图和部署视图,其中的用例视图居于中心地位
UML视图

用例视图

描述系统的功能需求,方便找出用例和执行者;它展示了一个外部用户能够观察到的系统功能模型主要包括用例图。对此关心的开发团队成员主要包括客户、分析者、设计者、开发者和测试者。

逻辑视图

描述如何实现系统内部的功能;系统的静态结构和因发送消息而出现的动态协作关系。逻辑视图包含类图和对象图、状态图、顺序图、合作图和活动图。

进程视图

描述系统的并发性,并处理这些线程间的通信和同步;它将系统分割成并发执行的控制线程及处理这些线程的通信和同步。进程视图主要包括状态图、顺序图、合作图、活动图、构件图和配置图;对此关心的开发团队成员主要包括开发者和系统集成者。

实现视图

描述系统代码构件组织和实现模块及它们之间的依赖关系;实现视图主要包括构件图;对此关心的开发团队成员主要有设计者、开发者和测试者。

部署视图

定义系统中软硬件的物理体系结构及连接、哪个程序或对象驻留在哪台计算机上执行;主要包括配置图;对此关心的开发团队成员主要包括开发者、系统集成者和测试者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/463021.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

H12-821_73

73.某台路由器Router LSA如图所示&#xff0c;下列说法中错误的是&#xff1f; A.本路由器的Router ID为10.0.12.1 B.本路由器为DR C.本路由器已建立邻接关系 D.本路由器支持外部路由引入 答案&#xff1a;B 注释&#xff1a; LSA中的链路信息Link ID&#xff0c;Data&#xf…

单片机学习笔记---蜂鸣器工作原理

目录 蜂鸣器介绍 蜂鸣器的驱动方式 ULN2003D芯片工作原理 实战预备知识&#xff1a;基础乐理 音名的分组 全音和半音的关系 音高的表示 五线谱中的符号定义 简谱上的符号定义 C调音符与频率对照表 相关计算 蜂鸣器介绍 蜂鸣器是一种将电信号转换为声音信号的器件&a…

在Ubuntu上部署Stable Video Diffusion动画制作

Stable Diffusion团队推出的开源模型Stable Video Diffusion&#xff0c;支持生成约3秒的视频&#xff0c;分辨率为5761024。通过测试视频展示了其令人瞩目的性能&#xff0c;SVD模型是一个生成图像到视频的扩散模型&#xff0c;通过对静止图像的条件化生成短视频。其特点主要包…

【初中生讲机器学习】6. 分类算法中常用的模型评价指标有哪些?here!

创建时间&#xff1a;2024-02-07 最后编辑时间&#xff1a;2024-02-09 作者&#xff1a;Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏&#xff0c;很高兴遇见你~ 我是 Geeker_LStar&#xff0c;一名初三学生&#xff0c;热爱计算机和数学&#xff0c;我们一起加…

leetcode 3027. 人员站位的方案数 II【离散化前缀和+枚举】

原题链接&#xff1a;3027. 人员站位的方案数 II 题目描述&#xff1a; 给你一个 n x 2 的二维数组 points &#xff0c;它表示二维平面上的一些点坐标&#xff0c;其中 points[i] [xi, yi] 。 我们定义 x 轴的正方向为 右 &#xff08;x 轴递增的方向&#xff09;&#x…

今年春节联欢晚会中的扑克魔术到底是咋变的?

今年的刘谦给全国观众带来了俩魔术&#xff0c;一个是洗牌一个是撕牌&#xff0c;前面第一个魔术看不出来太神奇了&#xff0c;但是第二魔术感觉挺有趣的我可以简单分析分析。 然后我们列出这个魔术的关键步骤&#xff1a; 打乱四张牌 1 2 3 4 对折、撕开、面向同一个方向重…

怎么把视频音乐提取成mp3?分享详细工具和方法!

在数字媒体时代&#xff0c;音乐已经成为我们生活中不可或缺的一部分。有时候&#xff0c;我们会在社交媒体、视频分享网站或在线视频平台上看到一些非常喜欢的视频音乐&#xff0c;想要将其保存为MP3格式以便随时随地聆听。那么&#xff0c;如何从视频中提取音乐并转换为MP3格…

SolidWorks学习笔记——入门知识2

目录 建出第一个模型 1、建立草图 2、选取中心线 3、草图绘制 4、拉伸 特征的显示与隐藏 改变特征名称 5、外观 6、渲染 建出第一个模型 1、建立草图 图1 建立草图 按需要选择基准面。 2、选取中心线 图2 选取中心线 3、草图绘制 以对称图形举例&#xff0c;先画出…

Java异常的处理 try-catch-finally

目录 什么是异常通过if-else处理异常用if-else堵漏洞的缺点 try-catch例第一种处理第二种处理第三种处理第四种处理 try-catch-finally例 System.exit(0);//终止当前的虚拟机执行 什么是异常 Exception&#xff1a;在程序的运行过程中&#xff0c;发生了不正常的现象&#xff0…

PWM输入输出

PWM&#xff08;Pulse Width Modulation&#xff09;即脉冲宽度调制&#xff0c;在具有惯性的系统中&#xff0c;可以通过对一系列脉冲的宽度进行制&#xff0c;来等效地获得所需要的模拟参量&#xff0c;常应用于电机控速、开关电源等领域。 PWM参数 PWM 中有三个重要参数&…

IOS破解软件安装教程

对于很多iOS用户而言&#xff0c;获取软件的途径显得较为单一&#xff0c;必须通过App Store进行下载安装。 这样的限制&#xff0c;时常让人羡慕安卓系统那些自由下载各类版本软件的便捷。 心中不禁生出疑问&#xff1a;难道iOS世界里&#xff0c;就不存在所谓的“破解版”软件…

子域名收集神器:Subfinder 保姆级教程(附链接)

一、介绍 Subfinder 是一款专注于子域名收集的开源工具&#xff0c;旨在帮助安全专业人员、渗透测试人员和研究人员快速有效地发现目标域的子域名。该工具通过与多个子域名源&#xff08;例如搜索引擎、DNS数据&#xff09;集成&#xff0c;提供了一个全面的子域名搜集解决方案…