目录

1.数据流图

2.N-S盒图

3.程序流程图

4.UML图

UML用例图

UML状态图

UML时序图

5.E-R图


首先要先了解整个软件生命周期:

通常包含以下五个阶段:需求分析-》设计-》编码 -》测试-》运行和维护。

软件工程中应用到的图全部有:系统流程图,数据流图、数据字典、ER图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、判定树、过程设计语言、jackson图、流图,甘特图、工程网络图,UML图。

在软件工程中各阶段所需要用到的图如下:

下面重点介绍一下程序流程图,N-S(盒图),数据流图,UML图,主要是供大家分清各种图以及帮助大家能简单的画出这些图。

1.数据流图

数据流图(Data Flow Diagram,DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

基本符号:

数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。

示例图:

2.N-S盒图

Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图(以两个人的名字的第一个字母组成)。在N-S图中,全部算法写在一个大框图内,这个大框图由若干个小的基本框图构成,可以表示顺序、选择和循环三种基本控制结构,如下图所示三种图形结构

3.程序流程图

系统流程图用图形化的符号来记录整个系统和系统各模块的结构,描述了系统各子系统、相关文件和数据之间的关系。记录了整个系统的体系结构。系统流程图主要应用在系统架构阶段,是系统分析员或系统设计师对将要构建系统的一种描述,这种描述以简单图形化的方式给出了系统的整体结构,涉及到系统将要使用的各种部件,如子系统、数据库、磁盘、文件、用户的输入与输出等。

基本符号:

示例图:

4.UML图

UML图分为静态图和动态图两类:

静态图:用例图,类图,对象图,组件图,部署图

动态图:状态图,时序图,协作图,活动图。

UML用例图

用例图的构成元素又四个:参与者(角色)用例、系统边界、元素之间的关系

用例图中的关系有四种:关联、泛化、包含、扩展

示例如下: 

UML状态图

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

UML时序图

时序图的元素
我们在画时序图时会涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。其中前6种是比较常用和重要的元素,剩余的一种组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,在单独介绍组合片段元素。

角色(Actor)
系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。
对象(Object)
对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
    1 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService。
    2 只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
    3 只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。
生命线(LifeLine)
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。
控制焦点(Activation)
控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。
消息(Message)
表现代表对象之间发送的信息。消息分为三种类型。
    同步消息(Synchronous Message)
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线+实心箭头表示。
    异步消息(Asynchronous Message)
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线+大于号表示。
    返回消息(Return Message)
返回消息表示从过程调用返回。以小于号+虚线表示。
自关联消息
表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。

5.E-R图

基本元素如下:

  1. 实体(Entity):实体表示现实世界中的一个独立对象,可以是人、物、地点、概念等。在E-R图中,实体用矩形框表示,框内写上实体的名称。
  2. 属性(Attribute):属性是描述实体特征的信息。每个实体可以有多个属性,例如一个人实体可以有姓名、年龄、性别等属性。属性以椭圆形状表示,并与相应的实体相连。其中能够唯一标识实体的属性称为主键。
  3. 关系(Relationship):关系表示实体之间的相互作用或联系。关系可以是一对一、一对多或多对多的。在E-R图中,关系用菱形表示,并与相关的实体相连。关系还可以具有属性,用于描述与关系相关的信息。
  4. 主键(Primary Key):用于唯一标识实体的属性,通常在实体框内用下划线或加粗表示。主键属性的值在整个实体集合中必须是唯一的,用于区分不同的实体。

 示例:

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

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

相关文章

王者荣耀游戏测试场景题

如何测试一个新英雄:方法论与实践维度 测试一个新英雄不仅仅是“打打打”,而是一套完整的测试流程,包括设计文档验证、功能验证、数值验证、性能验证、交互验证等。可以从以下多个角度展开: 🔍 1. 方法论维度 ✅ 测试…

第四天的尝试

目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 很抱歉的说一下,我昨天看白色巨塔电视剧,看的入迷了,同时也看出一些道理,学到东西; 但是把昨天的写事情给忘记了,今天…

多模态大语言模型arxiv论文略读(七十八)

AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ➡️ 论文标题:AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ➡️ 论文作者:Zhen Xing, Qi Dai, Zejia Weng, Zuxuan W…

优化 Spring Boot 应用启动性能的实践指南

1. 引言 Spring Boot 以其“开箱即用”的特性深受开发者喜爱,但随着项目复杂度的增加,应用的启动时间也可能会变得较长。对于云原生、Serverless 等场景而言,快速启动是一个非常关键的指标。 2. 分析启动过程 2.1 启动阶段概述 Spring Boot 的启动流程主要包括以下几个阶…

Ubuntu下配置VScode出现#include错误请更新includePath的解决方法

首先Ubuntu新手小白一定要先安装g,安装方法是: 在桌面右键打开终端,输入:sudo apt-get install g 安装好g之后,在vscode终端输入:g -v -E -x c - 输出这些路径,复制 如果还存在显示cout不存在的…

【背包dp】小结

背包问题总结 一、什么是背包问题? 定义:给定一个容量为 W 的背包和 n 件物品,每件物品有一个重量 w[i] 和价值 v[i],要求选择若干物品放入背包,在不超过容量的前提下,使总价值最大。 背包问题本质是&am…

济南国网数字化培训班学习笔记-第三组-1-电力通信传输网认知

电力通信传输网认知 电力通信基本情况 传输介质 传输介质类型(导引与非导引) 导引传输介质,如电缆、光纤; 非导引传输介质,如无线电波; 传输介质的选择影响信号传输质量 信号传输模式(单工…

代码随想录算法训练营第六十四天| 图论9—卡码网47. 参加科学大会,94. 城市间货物运输 I

每日被新算法方式轰炸的一天,今天是dijkstra(堆优化版)以及Bellman_ford ,尝试理解中,属于是只能照着代码大概说一下在干嘛。 47. 参加科学大会 https://kamacoder.com/problempage.php?pid1047 dijkstra&#xff08…

upload-labs通关笔记-第8关 文件上传之点绕过

目录 一、点绕过原理 二、deldot()函数 三、源码分析 四、渗透实战 1、构建脚本test8.php 2、打开靶场 3、bp开启拦截 4、点击上传 5、bp拦截 6、后缀名增加点 7、发包并获取脚本地址 8、访问脚本 本文通过《upload-labs靶场通关笔记系列》来进行upload-labs靶场的渗…

Spring Web MVC————入门(3)

今天我们来一个大练习,我们要实现一个登录界面,登录进去了先获取到登录人信息,可以选择计算器和留言板两个功能,另外我们是学后端的,对于前端我们会些基础的就行了,知道ajax怎么用,知道怎么关联…

PhpStudy | PhpStudy 工具安装 —— Windows 系统安装 PhpStudy

🌟想了解这个工具的其它相关笔记?看看这个:[网安工具] 服务器环境配置工具 —— PhpStudy 使用手册 笔者备注:Windows 中安装 PhpStudy 属于傻瓜式安装,本文只是为了体系完善而发。 在前面的章节中,笔者简…

K230 ISP:一种新的白平衡标定方法

第一次遇见需要利用光谱响应曲线进行白平衡标定的方法。很好奇是如何利用光谱响应曲线进行白平衡标定的。 参考资料参考:K230 ISP图像调优指南 K230 介绍 嘉楠科技 Kendryte 系列 AIoT 芯片中的最新一代 AIoT SoC K230 芯片采用全新的多核异构单元加速计算架构&a…

通俗解释Transformer在处理序列问题高效的原因(个人理解)

Transformer出现的背景 CNN 的全局关联缺陷卷积神经网络(CNN)通过多层堆叠扩大感受野,但在自然语言处理中存在本质局限: 局部操作的语义割裂:每个卷积核仅处理固定窗口(如 3-5 词),…

Java 多线程基础:Thread 类核心用法详解

一、线程创建 1. 继承 Thread 类(传统写法) class MyThread extends Thread { Override public void run() { System.out.println("线程执行"); } } // 使用示例 MyThread t new MyThread(); t.start(); 缺点:Java 单…

Django 中时区的理解

背景 设置时区为北京时间 TIME_ZONE ‘Asia/Shanghai’ # 启用时区支持 USE_TZ True 这样设置的作用 前端 (实际上前端el-date-picker 显示的是当地时区的时间) Element组件转换后,我们是东八区,前端传给后端的时间为&…

C# 深入理解类(成员常量)

成员常量 成员常量类似前一章所述的局部常量,只是它们被声明在类声明中而不是方法内,如下面的 示例: 与局部常量类似,用于初始化成员肯量的值在编译时必须是可计算的,而且通常是一个预定 义简单类型或由它们组成的表达…

【深度学习】#12 计算机视觉

主要参考学习资料: 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李沐学AI 目录 目标检测锚框交并比(IoU)锚框标注真实边界框分配偏移量计算损失函数 非极大值抑制预测 多尺度目标检测单发多框检测(S…

MCP实战:在扣子空间用扣子工作流MCP,一句话生成儿童故事rap视频

扣子最近迎来重要更新,支持将扣子工作流一键发布成MCP,在扣子空间里使用。 这个功能非常有用,因为我有很多业务工作流是在扣子平台上做的,两者打通之后,就可以在扣子空间里直接通过对话方式调用扣子工作流了&#xff0…

Redis学习打卡-Day3-分布式ID生成策略、分布式锁

分布式 ID 当单机 MySQL 已经无法支撑系统的数据量时,就需要进行分库分表(推荐 Sharding-JDBC)。在分库之后, 数据遍布在不同服务器上的数据库,数据库的自增主键已经没办法满足生成的主键全局唯一了。这个时候就需要生…

LabVIEW光谱信号仿真与数据处理

在光谱分析领域,LabVIEW 凭借其图形化编程、丰富函数库及强大数据处理能力,成为高效工具。本案例将介绍如何利用 LabVIEW 仿真光谱信号,并对实际采集的光谱数据进行处理,涵盖信号生成、数据采集、滤波、分析及显示等环节。 ​ 一…