软件工程一些图的画法

软件工程一些图的画法

  • 【一】数据库设计: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”,另外还规定,流程线是从下往上或从右往左时,必须带箭头。除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126899.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CCF ChinaSoft 2023 论坛巡礼 | 云计算标准化论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

“位不配财”?程序员兼职,稳妥挣钱才是王道!

一、配不上 戏称程序员为“码农”,一年到头,像那地里的老黄牛和勤勤恳恳的老农民。 又像极了那工地上的农民工,天天搬砖,苦得嘞。 作为推动时代进步的得力干将,工作量自然是不容小觑。说程序员不加班都没人信&#x…

什么样的CRM系统更适合外贸企业?

外贸CRM系统作为外贸客户关系管理的工具,已经成为了当下外贸企业对外贸易过程中不可或缺的一环。那什么样的CRM系统更适合外贸企业?小Z向您推荐Zoho CRM。下面说说它到底有什么好处和作用。 一、搭建更高效的客户关系管理系统 外贸企业从前期推广、开发…

环境变量小结

一 常见环境变量介绍 1 PATH 到了现在,我们也知道我们轻轻敲下ls指令,其实会转为一个可执行文件在运行,也就变成了一个进程,所以ls是让文件运行,./test也是让文件运行,凭什么我们的可执行文件就要加个./(这…

【爬虫实战】用python爬今日头条热榜TOP50榜单!

一、爬取目标 今天分享一期爬虫案例,爬取的目标是:今日头条热榜的榜单数据。 打开今日头条 首页,在页面右侧会看到头条热榜,如下: 爬取以上6个关键字段,含: 热榜排名,热榜标题,热度值,热榜标…

深度学习 opencv python 公式识别(图像识别 机器视觉) 计算机竞赛

文章目录 0 前言1 课题说明2 效果展示3 具体实现4 关键代码实现5 算法综合效果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学…

网络安全,SSL证书必不可少!

网站劫持是一种非常严重的安全威胁,会直接影响用户体验,甚至直接跳转其他网页,造成客户流失。它可以通过许多方式实现,却可以给企业或者个人网站做出不可逆的危害,以下是一些基本的防止措施建议: 1.使用HT…

【博士每天一篇文献-算法】Modular state space of echo state network

阅读时间:2023-11-2 1 介绍 年份:2013 作者:陈卫彪,华南理工大学计算机科学与工程学院, 期刊:Neurocomputing 引用量:17 本文介绍了一种改进回声状态网络(ESN)预测性能的新方法。该…

在全志XR806上移植st7789屏幕驱动

前言 很高兴有机会参加本次极术社区举办的“「免费试用」搭载安谋科技STAR-MC1的全志XR806 Wi-FiBLE 开发板试用活动”。 去年就对全志的mcu芯片感兴趣了,一直没有机会接触,看到本次极术社区提供的全志wifi BLE开发板试用,就马上参加了。板…

手把手教你如何扩展(破解)mybatisplus的sql生成 | 京东云技术团队

mybatisplus 的常用CRUD方法 众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入、更新、删除、查询等)的定义,能够帮助我们节省很多体力劳动。 他的BaseMapper中定义了这些常用的C…

gorm的自动化工具gen_已设置图床

gorm的自动化工具gen 官方 https://gorm.io/zh_CN/gen/假设数据库结构如 这里使用gen-tool 安装 go install gorm.io/gen/tools/gentoollatest用法 gentool -hUsage of gentool:-c string配置文件名、默认值 “”、命令行选项的优先级高于配置文件。 -db string指定Driver…

《QT从基础到进阶·十五》用鼠标绘制矩形(QGraphicsView、QPainter、QGraphicsRectItem)

以下是鼠标绘制矩形最全的一种用法,完整源码将会放在最后面。 QT版本:5.15.2 VS版本:2019 1、在界面加载一张图片 界面的搭建选用QGraphicsView,自定义类GraphicsView继承QGraphicsView,在主程序中点击按钮打开 图片&…

Hello World背后的逻辑

一门语言的开发入门,总是抬手就能整出一个「Hello World Demo」。比如下面这样: 显然,熟悉 iOS 开发的同学都知道,上面这个来自 Objective-C。 今天,我们就从这熟悉的代码入手,来一起研究研究「Hello Worl…

verdi如何打开时可以加载配置比如字体

打开tcl使能 找到配置字体的命令 其实其他有需要的文件配置都可以在这里找到对应的指令 存储文件 新建verdi001.tcl文件 输入想要调整的字体以及大小 verdiSetFont -font "Bitstream Vera Sans" -size "18" verdiSetFont -monoFont "Courier&q…

Kafka JNDI 注入分析(CVE-2023-25194)

Apache Kafka Clients Jndi Injection 漏洞描述 Apache Kafka 是一个分布式数据流处理平台,可以实时发布、订阅、存储和处理数据流。Kafka Connect 是一种用于在 kafka 和其他系统之间可扩展、可靠的流式传输数据的工具。攻击者可以利用基于 SASL JAAS 配置和 SAS…

做哪些副业可以日赚一百?对程序员来说简直不要太容易!

日赚一百?对程序员来说简直不要太容易!下面给程序员们推荐一些日赚100的副业: ①外包接单 程序员简单粗暴赚钱的副业之一。 外包接单的类型包括但不限于:软件开发、硬件开发、小程序功能开发、web开发……大到一个系统的开发、…

pip 安装任意软件包报错

现象 使用 pip 命令时提示 查看源码 可以看到是从 pip 包中导入 main失败,点击查看目录 main 文件不见了,判断是文件缺失,重装 pip 即可 # python3 下载 pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # python2 下载…

输入网址到网页显示,期间发生了什么?(收藏篇)

解析url 首先浏览器做的第一步工作就是要对 URL 进行解析,从而生成发送给 Web 服务器的请求信息。对 URL 进行解析之后,浏览器确定了 Web 服务器和文件名,接下来就是根据这些信息来生成 HTTP 请求消息了。 DNS解析 通过浏览器解析 URL 并…

uniapp使用vur-cli新建项目并打包

新建项目 npm install -g vue/cli vue create -p dcloudio/uni-preset-vue my-project选择默认模板npm run dev:h5 运行 安装sass和uview &#xff08;npm安装失败&#xff09; bug&#xff1a;使用uni.scss中的变量或样式&#xff0c;<style lang"scss"> 必…

亚马逊鲲鹏系统六大优势

亚马逊鲲鹏系统六大优势凭借其独特的能力&#xff0c;完全模拟真实的人类行为。只需几个简单的步骤 就可以自由安排任务&#xff0c;让所有账户随时发挥最大的作用。 1、全自动化操作 可以全自动批量注册买家号、AI智能养号、全自动批量测评&#xff0c;模拟人类的操作行为例…