软件工程各种图总结

目录

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):用于唯一标识实体的属性,通常在实体框内用下划线或加粗表示。主键属性的值在整个实体集合中必须是唯一的,用于区分不同的实体。

示例:

相关推荐
陈工大模型2 天前
收到乱码压缩包之后,我重新测了 7-Zip、Bandizip 和win解压缩
windows·电脑·软件工程·软件需求·7-zip
roman_日积跬步-终至千里7 天前
AI 能让一个人成为团队吗?从数据中台到 OPC,重新理解软件工程能力
大数据·人工智能·软件工程
陈工大模型10 天前
2026年11月最新免费解压软件横评:7-Zip 、 Win解压缩名列前茅
windows·软件工程·7-zip·压缩软件
深圳行云创新11 天前
智能体架构之争:单Agent加Skills,还是多加几个Agent
人工智能·架构·软件工程
长不大的杨瑞杰11 天前
OpenCode v2 配置工程实战:Config 优先级、JSONC、变量替换与多环境治理
人工智能·安全·云计算·软件工程·devops
国际学术会议-杨老师11 天前
2027年软件工程、机电一体化与智能控制国际会议(SEMIC 2027)
软件工程·机电一体化·智能控制
樱花落木兰12 天前
Redis 消息队列的可靠性演进:从 List、Pub/Sub 到 Stream 消费者组,以及 8.x 版本改变了什么
java·开发语言·经验分享·redis·分布式·python·软件工程
lifallen13 天前
ub-mode skill:软件工程原则
人工智能·学习·ai·软件工程·ai编程
rolt13 天前
[鉴赏]02 DHH-摇身一变鼓吹软件工程
人工智能·软件工程·uml
天马行空_14 天前
浅谈技术面试
软件工程