当前位置: 首页 > article >正文

软件工程各种图总结

目录

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.lryc.cn/news/2379552.html

相关文章:

  • R-tree详解
  • AAAI2024 | 基于特征多样性对抗扰动攻击 Transformer 模型
  • 关于数据湖和数据仓的一些概念
  • 鸿蒙OSUniApp制作自定义的下拉菜单组件(鸿蒙系统适配版)#三方框架 #Uniapp
  • C++面试2——C与C++的关系
  • 常用的Java工具库
  • 基于LabVIEW的双音多频系统设计
  • R S的EMI接收机面板
  • [ctfshow web入门] web122
  • Nginx+Lua 实战避坑:从模块加载失败到版本冲突的深度剖析
  • LangChain框架-Chain 链详解
  • Java虚拟机 - JVM与Java体系结构
  • elementUI调整滚动条高度后与固定列冲突问题解决
  • 基于 nvitop+Prometheus+Grafana 的物理资源与 VLLM 引擎服务监控方案
  • 互联网大厂Java求职面试:Spring AI与大模型交互在短视频平台中的应用
  • 【Lua】java 调用redis执行 lua脚本
  • 【工奥阀门科技有限公司】签约智橙PLM
  • 灌区量测水自动化监测解决方案
  • SpringBoot整合MQTT实战:基于EMQX构建高可靠物联网通信,从零到一实现设备云端双向对话
  • AI与机器学习深度集成:从设备端能力爆发到开发工具智能化
  • 界面控件DevExpress WinForms v24.2 - 数据处理功能增强
  • Linux的MySQL头文件和找不到头文件问题解决
  • wps excel将表格输出pdf时所有列在一张纸上
  • zabbix7.2最新版本 nginx自定义监控(三) 设置触发器
  • CDN加速对云手机延迟的影响
  • 为什么 Docker 建议关闭 Swap
  • 缓存的相关内容
  • [ctfshow web入门] web77
  • C++学习-入门到精通-【7】类的深入剖析
  • API 加速方案:如何使用 Redis 与 Memcached 进行高效缓存优化