软件工程一些图的画法

软件工程一些图的画法

【一】数据库设计: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循环

java 复制代码
while(判断条件){
    执行语句;
}

(3)do-while循环

java 复制代码
do{
    执行语句;
}while(条件判断)

【4】流程图的基本结构

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

【5】流程图常用的形式

流程图常用的形式有两种

(1)上下流程图

上线流程图是最常见的一种流程图,它仅表示上一步和下一步的顺序关系

(2)矩阵流程图

矩阵流程图不仅表示下下关系,还可以看出某一过程的责任部门

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

相关推荐
YUISOK21 分钟前
如何使用uiautomator2+Weditor 可视化查看一个app组件的vm树
python·软件工程
charlie11451419117 小时前
计算机图形学速通指南笔记(0)
c++·笔记·软件工程·计算机图形学·工程实践
九成宫1 天前
计算机网络期末复习——第5章:链路层 Part One
网络·笔记·计算机网络·软件工程
宇钶宇夕1 天前
CoDeSys入门实战一起学习(十四):功能块(FB)与程序(PRG):实例化、调用与工程实践
运维·自动化·软件工程
腾讯云开发者1 天前
反思软件工程,超越Vibe Coding
软件工程
宇钶宇夕2 天前
CoDeSys入门实战一起学习(十三):函数(FUN)深度解析:自定义、属性与实操案例
运维·算法·自动化·软件工程
雾江流2 天前
音阅 1.1.0 | 全新音乐无损下载,支持下载歌词和封面
软件工程
雾江流2 天前
TG音乐台 7.0 | 电视音乐听歌,超多MV歌单
软件工程
宇钶宇夕3 天前
CoDeSys入门实战一起学习(十一):CoDeSys变量与访问路径——理清数据流转的核心逻辑
运维·自动化·软件工程
宇钶宇夕3 天前
CoDeSys入门实战一起学习(八):CoDeSys库文件详解——从概念到分类,高效编程的基础
运维·自动化·软件工程