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. Microsoft SQL Server 2012 管理 (2): Auditing

    -- Demostratin 2A (Using SQL Server Audit) -- Step 1: Use the master database USE master; GO -- Step ...

  2. 构建NetCore应用框架之实战篇(七):BitAdminCore框架登录功能源码解读

    本篇承接上篇内容,如果你不小心点击进来,建议从第一篇开始完整阅读,文章内容继承性连贯性. 构建NetCore应用框架之实战篇系列 一.简介 1.登录功能完成后,框架的雏形已经形成,有必要进行复习. 2 ...

  3. Python replace方法的使用

    在Python str 中, 有一个很方便的查找替换的函数 replace() my_str = "lowmanmana" new_str = my_str.replace(&qu ...

  4. github本地分支合并到线上主分支

    如果是在本地index-swiper分支上,已经写好了那么: 1,git add .             //提交到本地缓冲区 2,git commit -m "project init ...

  5. vue 学前班002(创建一个实例)

    创建一个Vue实例 我们之前说过,Vue是数据驱动视图的,只要model(模型层)的数据改变了,Vue就会帮我们改变视图上显示的内容,不用我们自己去动手写代码更新.那么,它是怎么做到的,我们的代码要怎 ...

  6. jvm高级特性(2)(判断存活对象算法,finaliza(),方法区回收)

    JVM高级特性与实践(二):对象存活判定算法(引用) 与 回收 垃圾回收器GC(Garbage Collection) 于1960年诞生在MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语 ...

  7. MySQL大量线程处于Opening tables的问题分析

    [作者] 王栋:携程技术保障中心数据库专家,对数据库疑难问题的排查和数据库自动化智能化运维工具的开发有强烈的兴趣. [问题描述] 最近有一台MySQL5.6.21的服务器,在应用发布后,并发线程Thr ...

  8. 在 iOS 上编译 webkit 源码

    准备工作 买一台 mac 下载并安装 Xcode 下载源码 git clone git://git.webkit.org/WebKit.git WebKit 这个可能要耗费很久很久 编译源码 打开 X ...

  9. CSDN无耻,亿赛通无耻

    吐槽下,自己写一篇关于亿赛通加密文件的简单破解方式,竟然收到请求删除博客的私信,然后那篇博客就没有了. 太过于无耻了.

  10. Windows平台下Git服务器搭建--------gitblit

    Windows(server)平台下Git服务器搭建 第一步:下载Java,安装,配置环境变量. 第二步:下载Gitblit.下载地址:http://www.gitblit.com/ 第三步:解压缩下 ...