软件工程一些图的画法

2023-11-09 16:30
文章标签 软件工程 画法

本文主要是介绍软件工程一些图的画法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件工程一些图的画法

  • 【一】数据库设计:ER图
    • 【1】ER图简介
    • 【2】实体之间的关系
    • 【3】ER图绘制常见问题
    • 【4】ER图转关系模式
  • 【二】流程图
    • 【1】流程图的作用
    • 【2】流程图中使用的符号
    • 【3】三种循环的流程图画法
    • 【4】流程图的基本结构
    • 【5】流程图常用的形式

【一】数据库设计:ER图

【1】ER图简介

ER图,E就是实体,实体有一组属性;R是关系。找到系统中的实体以及实体关系就可以绘制出ER图。

矩形的是实体,椭圆是属性,实体和实体之间的关系用菱形,关系也有属性。

例如:
学生有【学号、姓名】等诸多属性,是一个实体。
课程有【课程名、学分】等属性,也是一个实体。
而学生有选修课程的关系,所以这两个实体之间有个选课关系。而且选课还有成绩,所以在选修关系上有一个属性【成绩】,如果系统需要,也可以记录选修的时间等属性信息。
在这里插入图片描述

【2】实体之间的关系

ER图中识别出实体后,找到实体之间的关系很重要。而关系可能是一对一(1:1)、一对多(1:n)、多对多(m:n),关系用菱形表示,而关系的类型在菱形的两条与实体的连接线上标注,判断两个实体的关系是,先让实体A假设为1,看它能对应实体B的个数,然后反过来,假设实体B为1个,看实体A对应的个数,就可以得到实体对应关系。

(1)1个学生可关注多个商品,而1个商品可被多个学生关注,所以学生和商品的关系是多对多。
(2)1个学生属于1个班级,而1个班级可以有多个学生,所以班级和学生的关系是一对多。
(3)1个学生拥有1张饭卡,而1张饭卡只属于1个学生,所以学生和饭卡的关系是一对一。

在这里插入图片描述

【3】ER图绘制常见问题

(1)反例1:区分功能和关系
例如,管理员可以管理用户,但是如果系统不记录哪个管理员可以管理哪些用户,那么就无需再ER图上绘制该关系。只有需要再数据库保存的关系,才需要再ER图上保存。

(2)反例2:区分程序功能和数据库数据
挂号排队信息,我个人挂号排队一般不用保存到数据库,所以无需在ER图上表示。另外,如果要显示排队信息,应当是给每个用户一个id序号,程序实现排队,而不是数据库去记录这个排队信息。

在这里插入图片描述

【4】ER图转关系模式

所有的实体应当转为一张表。所以上面的班级、学生、课程、教师都是一张表。

班级表包含字段:班级号、班级名、专业、人数,主键:班级号
学生表包含字段:学号、姓名、性别、年龄,主键:学生号
课程表包含字段:课程号、课程名、课时、学分,主键:课程号
教师表包含字段:编号、姓名、职称、年龄、性别,主键:编号

根据关系是1:1、1:n、m:n转成表

(1)对于1:1的,可以把关系保存到任何一个实体表中
(2)对于1:n的,可以把关系保存到n的那个实体里,例如图中的班级和学生是1对多,那么可以在学生表中增加一个班级id的字段,说明该学生是哪个班级的

学生表包含字段:学号、姓名、性别、年龄、班级id,主键:学生号

(3)对于多对多的关系m:n的,关系保存到新表中
例如,学生和课程是多对多的关系,那么把这两个表的主键拿出来,加上关系属性,组成一个表

学生成绩表:学号、课程号、成绩,主键:学号、课程号

【二】流程图

【1】流程图的作用

流程图可以简单地描述一个过程,是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等领域有广泛的应用。流程图可以分为:数据流程图、作业流程图。

流程图的优点:
(1)采用简单规范的符号,画法简单
(2)结构清晰,逻辑性强
(3)便于描述,容易理解

【2】流程图中使用的符号

流程图是用图的形式把一个过程的步骤表示出来,使用图形表示算法的思路是一种极好的方法。流程图由包含具有确定含义的符号、简单的说明性文字和各种连线。

通用的绘制流程图形态和程序的习惯性做法是:
(1)开始用六角菱形或圆角矩形或椭圆
(2)矩形方框表示具体活动过程
(3)菱形框表示决策、审核、判断
(4)结束终止用椭圆
(5)平行四边形表示输入输出
(6)箭头代表工作流方向

另外还规定,流程线是从下往上或从右往左时,必须带箭头;除此之外,都可以不画箭头;流程线的走向默认都是从上向下或者从左往右。符号内的说明文字尽可能简明,通常按从左往右和从上往下的方式书写。并与流向无关。如果说明文字较多,符号内写不完,可以使用注解符。如果注解符干扰或影响到图形的流程,应在另外一页正文上注明引用符号

在这里插入图片描述

在这里插入图片描述

【3】三种循环的流程图画法

(1)for循环
for循环形式: for(表达式1;表达式2;表达式3)
在这里插入图片描述

(2)while循环

while(判断条件){执行语句;
}

在这里插入图片描述

(3)do-while循环

do{执行语句;
}while(条件判断)

在这里插入图片描述

【4】流程图的基本结构

有顺序结构、分支结构(又称选择结构)、循环结构三种

【5】流程图常用的形式

流程图常用的形式有两种
(1)上下流程图
上线流程图是最常见的一种流程图,它仅表示上一步和下一步的顺序关系
(2)矩阵流程图
矩阵流程图不仅表示下下关系,还可以看出某一过程的责任部门

在流程图中,判断框坐标的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T”、“F”或“Y”、“N”,另外还规定,流程线是从下往上或从右往左时,必须带箭头。除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。

这篇关于软件工程一些图的画法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/377255

相关文章

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

第一章 软件工程的概述简记

第一章  软件工程的概述         *软件的概念:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。         软件的分类:(5大类)                   *1.基于软件功能划分                                  1)系统软件

软件工程技术专业软件开发综合实训室解决方案

一、行业背景与前景分析 1.1 软件工程技术专业就业前景 近年来,中国的软件行业取得了显著的成就,即便在全球经济受到新冠疫情冲击的情况下,仍保持了强劲的增长势头。据工业和信息化部发布的数据,2021年我国软件和信息技术服务业的业务收入达到85371亿元人民币,同比增长18.3%,远超同期国内生产总值的增长率。这一成就不仅体现了中国软件行业的韧性和发展潜力,也为未来的持续增长奠定了坚实的基

《软件工程导论》(第6版)第12章 面向对象实现 复习笔记

第12章 面向对象实现 一、面向对象实现概述 1.主要任务 (1)把面向对象设计结果翻译成用某种程序语言书写的面向对象程序。 (2)测试并调试面向对象的程序。 2.面向对象程序质量的影响因素 (1)面向对象设计的质量; (2)采用的程序语言的特点; (3)程序设计风格。 3.保证软件可靠性的方法 保证软件可靠性的主要措施是软件测试。面向对象测试的目标是用尽可能低的测试成本发现尽

【软件工程】第一章软件工程引论

【软件工程】第一章软件工程引论 文章目录 【软件工程】第一章软件工程引论1. 什么是软件1.1 软件的定义1.2 软件特征1.3 挑战与危机 2. 什么是工程2.1 什么是工程2.2 怎么做工程 3. 什么是软件工程3.1 软件工程的提出3.2 软件工程的经典定义3.3 软件工程设计的知识域3.4 系统工程3.5 软件工程的全流程 4. AI时代的软件工程4.1 智能软件工程4.2 大模型

《软件工程导论》(第6版)第9章 面向对象方法学引论 复习笔记

第9章 面向对象方法学引论 一、面向对象方法学概述 1.要点 面向对象方法学已经成为人们在开发软件时首选的范型。面向对象技术已成为当前最好的软件开发技术。 (1)基本原则 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,使描述问题的问题空间(问题域)与实现解法的解空间(求解域)在结构上尽可能一致。 (2

软件工程知识点总结(1):软件工程概述

1 什么是软件?        定义:计算机系统中的程序及其文档。        ——程序是计算机任务的处理对象和处理规模的描述;        ——文档是为了便于了解程序所需要的阐明性资料。 2 软件的特点?        软件是无形的,不可见的逻辑实体        ——它的正确与否,一直到程序在机器上运行才能知道        ——这就给设计、生产和管理带来许多困难

软件工程-图书管理系统的需求分析

软件需求规格说明书 目录 软件需求规格说明书 一、引言  1.1编写目的 1.2背景 1.3定义 1.4参考资料 二、任务概述 2.1目标 2.2用户特点 2.3假定和约束 三、需求规定 3.1功能划分 3.1.1系统功能组成 3.1.2功能编号和优先级 3.2功能描述  3.3性能 3.4输入输出 3.4.1输入 3.4.2输出 3.5数据管理 3.5

软件工程 用户故事地图 是什么 怎么用 实例

用户故事地图是一种将用户故事可视化的方法   用户故事地图的方法主要用于解决敏捷需求分析过程中的问题: 用户需求难以排列优先级。很难了解不同粒度故事(史诗故事、主题故事以及故事)之间的关系。不能方便地了解系统提供的功能的完整性。不能方便地了解系统提供的工作流。不能方便地利用递增和迭代的方式去确定发布计划以及发布目标。   在精益中有MVP(Minimum Viable Product,最

【软件造价咨询】AI大模型能不能替代软件工程造价师完成软件造价?

当前国内外AI大模型呈现出多样化的发展态势,如由OpenAI开发的自然语言处理大模型GPT系列、由Google开发的基于Transformer的双向编码表示模型BERT、由百度研发的基于飞桨深度学习平台和知识增强大模型文心一言、由阿里研发的多轮对话大模型通义千问、由清华大学计算机系知识工程研究室团队研发的基于智谱神经网络架构开发的智谱AI、由月之暗面科技有限公司研发的Kimi人工智