UML

统一建模语言(Unified Modeling Language, UML)是一种描述软件系统结构的图形化语言。

类图

类图用于描述类之间的关系,类图中主要的关系包括:

聚集

带空心菱形的实心线,菱形指向整体

是整体与部分的关系,且部分可以离开整体而单独存在

范化

带三角箭头的实线,箭头指向基类

即继承关系,表示派生类扩展了基类的功能

依赖

带箭头的虚线, 指向被依赖者

被依赖事物变化导致依赖事物变化

实现

带三角箭头的虚线,箭头指向接口

实现与接口之间的关系

关联

一个类可以访问另一个类的成员,关联可以是双向的,也可以是单向的.

双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头指向被拥有者

用例图

扩展/包含关系

带箭头的虚线, 并标注 <> / <>

用例图的聚集,范化与依赖关系与类图相同

数据流图

数据流

带箭头的虚线

加工

空心圆圈,表示对数据流的处理

存储

少一条边的矩形,表示数据存储如数据表等

外部实体

实心矩形,表示软件系统外的实体,如工作人员等

ER图

实体关系图(Entity Relationship Diagram)用来描述实体及其关系。

常用于关系型数据库设计和建模。

实体, 属性与联系集

实体型(Entity)

具有相同属性的实体具有相同的特征和性质,比如数据表:

customer(customer_id, customer_name, customer_street, customer_city)

loan(loan_number, amount)

在E-R图中用矩形表示,矩形框内写明实体名

属性(Attribute)

实体所具有的某一特性,如数据表中的一列:

customer_id

在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来

联系

反映实体之间的关系,如两个数据表之间的联系表:

borrower(customer_id, loan_number)

在E-R图中用菱形表示,菱形框内写明联系名

示例:

弱实体

一个实体的存在必须以另一实体的存在为前提。前者就称为“弱实体”,后者称为“强实体”

弱实体主键部分或整体依赖于强实体的主键。

弱实体用双线矩形框表示。与弱实体的联系用双线菱形框表示

弱实体参与联系时应该是“完全参与”,因此弱实体与联系间的联系也画成双线边

特殊化与范化

与UML中范化的含义相同

派生关系继承基关系的属性

UML与ER图的更多相关文章

  1. 毕业设计之感悟 —— UML 与 ER 图

    今天毕业设计答辩,虽然我第一个上场,但是不是特别紧张,因为整个系统都是我写的.我以为自己天衣无缝,能应付所有老师的所有问题.事实上,我被老师教育了一番. 老师说我,毕业论文中没有一个类.我一开始比较懵 ...

  2. 各种图(流程图,思维导图,UML,拓扑图,ER图)简介

    来源于:http://www.cnblogs.com/jiqing9006/p/3344221.html 流程图 1.定义:流程图是对过程.算法.流程的一种图像表示,在技术设计.交流及商业简报等领域有 ...

  3. 关于ER图和UML图之间的对比

    ER图与UML图 ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来 ...

  4. ER图与UML图

    ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来描述现实世界的概念 ...

  5. 【转】各种图(流程图,思维导图,UML,拓扑图,ER图)简介

    原文地址:各种图(流程图,思维导图,UML,拓扑图,ER图)简介 流程图 1.定义:流程图是对过程.算法.流程的一种图像表示,在技术设计.交流及商业简报等领域有广泛的应用. 2.案例 3.计算机语言只 ...

  6. powerdesign、navacat、ER图、uml、类图、时序图

    关于建表和生成实体以及ER图的简便方法 a:用navacat客户端生成简单的ER图,并生成建表sql,执行生成表. b:用powerdesign连接数据库,反向生成带有注释的ER图. c:用ideal ...

  7. 软件工程 #02# Entity Relationship Diagram VS. 用 UML 中的类图表示 E-R 图

    不同的老师叫我们画 E-R 图居然是不一样的,于是我仔细研究了一番.. 通常所说的 E-R 图(外文全称 Entity Relationship Diagram,简称 ERD)长这个样子: 而有时候它 ...

  8. uml类图和er图中主外键的表示区别

    在er图也就是数据库中,无论是mysql/oracle都是从表引用主表的pk作为外键. 而在uml类图表示法中,他们的顺序则刚好相反,从主对象导向到子对象,如下: 主体是资金借款方,征信信息和资金借款 ...

  9. 《GO Home Trash!》UML类图,ER图以及数据库设计

    <Go Home Trash!>UML类图 ER图以及数据库中数据表 分析: 这款软件经过我们前期的讨论以及需求分析,确定了用户,客服以及管理员三个实体.在设计UML类图时,对各个实体之间 ...

随机推荐

  1. 学习Spring Data JPA

    简介 Spring Data 是spring的一个子项目,在官网上是这样解释的: Spring Data 是为数据访问提供一种熟悉且一致的基于Spring的编程模型,同时仍然保留底层数据存储的特​​殊 ...

  2. 设计模式之迭代器模式(Iterator Pattern)

    一.什么是迭代器模式? 用迭代器来封装集合对象的遍历细节,使调用者能够通过统一的接口来实现对集合的遍历 迭代器也给集合对象提供了一定的保护,想要遍历集合,直接调用迭代器的方法就好了,我们不知道也不必知 ...

  3. Asp.net MVC5 返回json数据忽略序列化属性

    在属性上添加 [ScriptIgnore] 特性,命名空间是System.Web.Script.Serialization

  4. 在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

    前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Ex ...

  5. AtomicBoolean

    它的两种用法: 1.保证某段语句只执行一次. 首先我们要知道compareAndSet的作用,判断对象当时内部值是否为第一个参数,如果是则更新为第二个参数,且返回ture,否则返回false.那么默认 ...

  6. Code Chef GEOCHEAT(凸包+旋转卡壳+随机化)

    题面 传送门 题解 以下记\(S_i=\{1,2,3,...,i\}\) 我们先用凸包+旋转卡壳求出直径的长度,并记直径的两个端点为\(i,j\)(如果有多条直径随机取两个端点) 因为这个序列被\(r ...

  7. Mysql数据库二:表的增删改查

    ----建表CREATE TABLE emp( id int PRIMARY key auto_increment, name char(10) , birthday DATE , salary FL ...

  8. Myeclipse中java项目转成Web项目

    在eclipse导入一个myeclipse建的web项目后,在Eclipse中显示的还是java项目,按下面的步骤可以将其转换成web项目. 1.找到项目目录下的.project文件 2.编辑.pro ...

  9. Storm系列三: Storm消息可靠性保障

    Storm系列三: Storm消息可靠性保障 在上一篇 Storm系列二: Storm拓扑设计 中我们已经设计了一个稍微复杂一点的拓扑. 而本篇就是在上一篇的基础上再做出一定的调整. 在这里先大概提一 ...

  10. 【xsy1143】 兔子的数字 搜索

    题目大意:请找到第$k$大的数,满足各位数字之和等于各位数字之积.其中$k≤10^{18}$. 首先我们要确定这个第$k$大的数有多大 我们用$f[i][j][he][ji]$表示我们要搜索一个$i$ ...