统一建模语言(UML)在软件研发过程中常用图接受:类图、用例图、时序图、状态图、活动图、流程图、顺序图

news/2024/9/28 20:53:53 标签: 流程图
UML具有许多不同类型的图表,包括:
  • 静态图:用例图、类图、对象图、组件图、部署图
  • 动态图:活动图、状态图、时序图(又叫顺序图、序列图)、协作图

软件工程(软件工程中的各种图一般用于以下三个阶段):

  • 需求分析阶段:

  用例图:

 用户与系统交互的最简表示形式,展现了用户和与TA相关的用例之间的关联关系。通过用例图,人们可以获知系统不同种类的用户和用例。它帮助开发团队理解系统的功能需求,包括基于基本流程的角色关系以及系统内用例之间的关系。用例图通常显示系统的全部用例或完成特定功能的一组用例,以及执行这些用例的角色。

用例图主要有4个构成元素:

参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类外部实体的抽象。

系统(System)是用例图的一个组成部分,代表的是一个软/硬件或-一个活动等,并不是真正实现的软件系统。系统边界,指系统与系统之间的界限:

(一般已一个圆角矩形来表示系统)

用例(Use Case)用来描述系统提供给参与者的服务或功能。

关系(Association),表示参与者和用例间的关联关系。

  

 

流程图

以特定的图形符号加上说明,表示算法的图,称为流程图或框图。

  

  • 概要设计阶段:

类图:

类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。

  

  • 详细设计阶段:

时序图:(Sequence Diagram)又叫(顺序图、序列图、循序图)

是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。
它显示具体用例(或者是用例的一部分)的详细流程,几乎自描述,并显示了流程中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。顺序图有两个维度:垂直维度显示消息/调用的序列,水平维度显示消息被发送到的对象实例。

  

状态图:

状态图(Statechart Diagram)是是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

  

初始/最终/选择状态 这三个都是伪状态(Pseudostate):

  • 初始状态:用一个实心圆形表
  • 最终状态:用一个圆圈内嵌实心圆点表示
  • 选择状态:用一个菱形表示,条件分支上方括号内的文字表示监护条件(guard conditions)

一般状态

UML中使用一个圆角矩形表示一个一般状态

车辆行驶状态图

  活动图:

活动图(activity diagram,动态图)活动图是UML用于对系统的动态行为建模的常用工具,它描述活动的顺序。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

  活动图的 图例符号与状态图一致。

 


http://www.niftyadmin.cn/n/5681828.html

相关文章

WPF之UI进阶--完整了解wpf的控件和布局容器及应用

前面三篇有关WPF的基础介绍,分别介绍了wpf与winform的异同,wpf的事件生成和使用以及数据绑定。但我们还缺乏一副好的“皮囊”,所以从这篇开始我们来开始学习wpf的UI相关的内容,首当其冲的就是布局容器。 其实我们知道,…

深度学习(入门)03:监督学习

1、监督学习简介 监督学习(Supervised Learning)是一种重要的机器学习方法,它的目标是通过“已知输入特征”来预测对应的标签。在监督学习中,每一个“特征-标签”对被称为样本(example),这些样…

uniapp踩坑 tabbar页面数据刷新了但视图没有更新

问题描述: 有个uni-data-checkbox组件,两个选项:选项1和选项2(对应的value值分别为1和2),v-model绑定属性名为value 两个tabbar页面:tab1,tab2。 tab1页面有个逻辑是在onShow中刷新v…

Leetcode 3298. Count Substrings That Can Be Rearranged to Contain a String II

Leetcode 3298. Count Substrings That Can Be Rearranged to Contain a String II 1. 解题思路2. 代码实现 题目链接:3298. Count Substrings That Can Be Rearranged to Contain a String II 1. 解题思路 这一题和题目3297本质上就是一道题目,然后就…

【嵌入式软件-数据结构与算法】01-数据结构

摘录于老师的教学课程~~(*๓╰╯๓)~~内含链表、队列、栈、循环队列等详细介绍~~ 基础知识系列 有空再继续更~~~ 目录 【链表】 一、单链表 1、存储结构:带头结点的单链表 2、单链表结点类型的定义 3、创建单链表 1)头插法 2)尾插法 …

北斗三号多模对讲机TD70:公专网融合、数模一体、音视频调度,推动应急通信效能升级

随着国家对应急通信和精准定位技术的重视程度不断提高,相关技术和设备的研发与应用也得到了迅猛发展。特别是在边防巡逻、林业巡防、海上作业等领域,通信设备的可靠性和功能性直接关系到人员的生命安全和任务的成功完成。 近年来,我国政府高度…

C#基础:掌握控制流语句,构建灵活的程序逻辑

在C#中,控制流语句是用来控制程序执行流程的重要部分。它们允许你根据条件执行不同的代码块,或者重复执行某些代码块直到满足特定条件。下面是一些基本的C#控制流语句: 1. 条件语句 if 语句 if 语句用于在条件为真时执行一段代码。 int n…

Spring Cloud全解析:服务调用之OpenFeign日志打印

文章目录 OpenFeign日志打印设置日志级别配置日志打印级别 OpenFeign日志打印 OpenFeign提供了日志打印功能,可以配置不同级别的日志级别 public enum Level {//默认,不显示任何日志NONE,//仅记录请求方法、url、响应状态码及执行时间BASIC,//除记录BA…