ER图、功能结构图、用例图画图方法和快速生成

怎么画ER图?
国内的ER图一般采用的是Chen Model,ER图分为两种:完整的总ER图(实体、字段属性、关联关系和关联关系属性)和简易总ER图(实体、关联关系和关联关系属性)。
1.ER图中图形
ER图的图形元素有矩形、双实线矩形(弱实体)、实线椭圆、双实线椭圆(多值属性)、虚线椭圆(派生属性)、菱形、双实线菱形(弱关联关系)、单竖线倒三角形(概化/分组)、双竖线倒三角形(全部概化)、连线。
 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207212337934-797749538.png


矩形:表示实体。
什么是实体?实体是客观存在的事物。例如用户、商品、订单、供应商等。说直白点!!!你 数据库 的表名就可以做一个实体对象。一个系统是由很多个实体对象构
成的,然后它们之间存在一定的关系和属性。
椭圆形:表示属性。
什么是属性?举例子:用户实体拥有属性【id、姓名、年龄、电话、身份证号】、商品实体拥有属性【id、商品名称、商品类型、商品价格、商品图片、商品描述、供应
商名称】、订单实体拥有属性【id、订单编号、用户名称、商品名称、下单日期】、供应商实体拥有属性【id、名称、地址、联系电话】。
菱形:表示关系。
什么是关系?例如用户和商品应该购买关系(一个用户购买多件商品)、订单与商品应该是包含关系(一个订单中包含多件商品)。
双实线矩形:表示弱实体。
什么是弱实体?如果一个实体依赖于某个实体而存在,那么前者是弱实体,后者为强实体。例如订单实体依赖于商品实体而存在,为什么?因为如果没有商品你能够下
订单吗?不可能!所以订单为弱实体,商品为强实体。
双实线椭圆形:表示多值属性。
什么是多值属性?例如一个用户可能拥有多个电话号码,所以电话号码可以作为多值属性。一个用户只能拥有一个身份证号码,所以身份证号不能作为多值属性。
虚线椭圆形:表示派生属性。
什么是派生属性?例如一个用户的年龄我们可以作为派生属性,为什么?因为它可以通过身份证号推导出来。所以需要注意的是能推导出来的属性我们都可以作为派生属性。
双实线菱形:表示弱关系。
什么是弱关系?弱关系一般是和弱实体一起使用的,只有弱实体才会用到弱关系。
单竖线倒三角形:表示概化。
什么是概化?说直白点就是分组!!!一个商品类型可能包含图书类、服装类、数码类等。
双竖线倒三角形:表示全部概化。
什么是全部概化?说直白点也是分组!!!但是!!!一个商品类型只能包含图书类、服装类、数码类。这就是概化与全部概化的区别。
2.ER图中关联关系
一对一(1:1) :1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关
系。例如:一个用户只能拥有一张身份证,而一张身份证只属于一个用户。所以这就是一对一的关系。
一对多(1:n) :1对多关系是指实体集A与实体集B中至少有n(n>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。例如:一对多和多对一是一样的。一个用户拥有多张银行卡,但是一张银行卡只属于一个用户。所以这就是一对多的关系。反过来说法就是多对一。
多对多(m:n) :多对多关系是指实体集A中的每一个实体与实体集B中至少有m(m>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少n(n>0)个实体
有关系。例如:学生与课程的关系,一个学生可以选择0个或者多个课程,一个课程可以0个或者多个学生所选择。这就是多对多的关系。
3.画ER图方法
一般我们要完整地分析出系统的实体、字段属性、关联关系、关联关系属性,最好实体的关系模式满足3NF或者BCNF,画出来的ER图才能比较合理。
我们可以先将每一个实体单个画出来,包括实体的字段属性,如下:
 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207220147040-395675489.png


然后画菱形关联关系,将实体和实体连接起来,如下:
 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207220348436-266981628.png


最后我们再核对下整体ER图,优化图,比如对多对多的关联关系补充关联关系属性,如下:
 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207220810426-1115308409.png


4.快速生成ER图方法
ER图快速生成
两种方式生成ER图:
《1》导入sql来生成er图--准备好sql文件,点击“导入SQL”,等待画图区域生成图;然后点击“显示/刷新实体关联关系”,在画图区域上方会出现实体关联关系选择框,选择合理的实体关联关系(1对1、1对多、多对多),输入合理的关联关系名称,点击“添加关联关系”,将关联关系添加进关联关系列表里面,如果觉得不合适的关联关系,可以选中,点击“删除选中关系”将选中的关联关系从关联关系列表移除,确定所有实体关联关系都添加完了,点击“生成ER图”,等待画图区域生成图,最后调整图对象,进行排版,排版在画图区域生成图后,选择调整图形-布局-力导向图,这样图自动就调整了。
《2》输入实体名和字段属性来生成er图--确定实体数目,输入实体数目,点击“生成实体”,生成对应数目的实体框和字段属性框,给每个实体框和字段属性框输入内容;输入完毕后,点击“显示/刷新实体关联关系”,在画图区域上方会出现实体关联关系选择框,选择合理的实体关联关系(1对1、1对多、多对多),输入合理的关联关系名称,点击“添加关联关系”,将关联关系添加进关联关系列表里面,如果觉得不合适的关联关系,可以选中,点击“删除选中关系”将选中的关联关系从关联关系列表移除,确定所有实体关联关系都添加完了,点击“生成ER图”,等待画图区域生成图,最后调整图对象,进行排版,排版在画图区域生成图后,选择调整图形-布局-力导向图,这样图自动就调整了。
效果图:
 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207221156230-1871915843.png


 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207221212186-1182583584.png


 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207221225865-1659061519.png


 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207221237460-2087432153.png


 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207221247580-884458723.png


 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207221256029-1004590154.png


 

https://img2024.cnblogs.com/blog/3571541/202412/3571541-20241207221324664-1206440824.png

功能结构图画法:快速生成功能结构图-功能结构图快速生成平台

功能结构图的图形有:(水平/垂直)矩形框和连线

首先我们要确定我们的项目程序的功能有哪些?比如注册、登录、查看新闻公告、管理用户信息、管理商品信息等。项目程序分哪些角色?比如用户、管理员。 确定好功能和角色后,我们就可以画图了。

在画布里面拖入矩形框,调整为合适的水平矩形框,输入项目程序的名称。根据角色多少复制对应个数的水平矩形框,宽度调短一些,在每个水平矩形框输入角色名称。然后在画布里面拖入矩形框,调整为合适的垂直矩形框,根据功能多少复制对应个数的垂直矩形框,调整每个垂直矩形框的间距,在每个垂直矩形框输入功能名称。最后连接标题框、角色框、功能框。

效果图:

用例图画法:快速生成功用例图-用例图快速生成平台

用例图的图形有:角色小人、用例椭圆、无箭头实线连线、有箭头虚线连线

首先我们要确定我们的项目程序分哪些角色?比如用户、管理员。 项目程序的功能有哪些?比如注册、登录、购买车票、退票、管理用户信息、管理车票信息等。功能要细分一下,考虑包含关系和扩展关系,比如管理用户信息包含:添加用户信息、修改用户信息、删除用户信息,购买车票扩展:退票或者换票。确定好功能和角色后,我们就可以画图了。

在画布里面拖入小人,根据角色多少复制对应个数的小人,给每个小人输入角色名。然后在画布里面拖入用例椭圆,根据功能多少复制对应个数的用例椭圆,在每个用例椭圆内输入功能名称。最后使用无箭头实线连线连接角色小人和用例,使用有箭头虚线连线连接用例和用例(包含include或者扩展extend)。

效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值