UML统一建模(语言)和数据库建模

原创 2018年04月17日 11:35:28

UML统一建模(语言)和数据库建模

UML统一建模语言(Unified Modeling Language )或标准建模语言,是始于1997年一个OMG标准,它通过图形化语言为软件开发中每个阶段(例如:需求分析到规格,到构造以及系统配置等)提供模型化和可视化的支持。

UML中描述类和接口或者类和类之间关系如下:
(1)泛化(Generalization):
在程序中表示继承关系用“这里写图片描述”描述继承关系;
例如:
这里写图片描述
(2)实现(Realization):
表示接口和类之间的implements关系;
使用“这里写图片描述” 描述该关系;
例如:
这里写图片描述

(3)关联(Association):
关联表示实体与实体之间的任意关系;使用“这里写图片描述”表示;
程序中体现在全局属性(全局变量)和类或接口关系;
例如:
老师-学生 1对多 即1..N;
丈夫和妻子 1对1 即1..1 ;
父亲和孩子 1对多 即1..N;
课程-学生 多对多, 即N..N;
这里写图片描述
如果员工信息中也包含经理信息,此时描述经理和员工关系那么:
这里写图片描述
(4)聚合(Aggregation):
描述的是整体和个体的关系,整体可以脱离个体;个体脱离整体后,整体可以独立存在;聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。使用“这里写图片描述”空心菱形以及实心箭头表示;

例如:汽车和引擎、学生和老师、班级和学生
程序中体现在类和全局属性(全局变量)之间关系;

这里写图片描述
(5)组合(Composition)也叫做强聚合、也叫做复合:
是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系。

使用这里写图片描述表示组合关系;
程序中体现为:
这里写图片描述
(6)依赖(Dependency):
表现在代码层面,就是一个类A使用到了另一个类B的对象,而该对象作为参数或者属性被类A 某个方法中使用。也体现在程序中局部变量、方法的参数或者对静态方法的调用。
使用”这里写图片描述”符号表示依赖关系;

这里写图片描述

UML图形的分类:
可选建模工具有:PowerDesigner、StartUML、Visio、Rational Rose等;
(1)类图(ClassDiagram)。展现了一组对象、接口和它们之间的关系。 (重点描述程序类、包、接口等关系)
(2)用例图(UseCaseDiagram)。展现了一组用例、参与者(actor)以及它们之间的关系。用例图从用户角度描述系统的静态使用情况,用于建立需求模型。(重点描述项目或者功能点有哪些)

(3)时序图(Sequence Diagram):也叫做序列图,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 (重点描述实体之间消息传递订和周期)

(4)协作图: 与序列图(Sequence Diagram)不同,协作图显示了对象之间的关系。序列图(Sequence Diagram)和协作图表述的是相似的信息,但表述的方式却不同。协作图显示对象之间的关系。 (重点描述实体之间的关系)

(5)状态图(StateDiagram):状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。(重点描述实体的状态)

(6)活动图(ActiveDiagram): 活动图(activity diagram,动态图)是阐明了业务用例实现的工作流程。可以按照角色或者实体对象划分为永道;(可以认为是流程图)

(7)组件图(ComponentDiagram): 组件图(component diagram)是用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。(描述软件组件 与软件组件的关系或者系统与组件之间关系)
(8)部署图(DeploymentDiagram):
部署图(deployment diagram,配置图)是用来显示系统中软件和硬件的物理架构

类图:(包的描述)

这里写图片描述

类图:(类和接口的描述)

这里写图片描述

用例图:

这里写图片描述

时序图:

这里写图片描述

协作图例如:
这里写图片描述

状态图: 这里写图片描述
这里写图片描述
组件图:
这里写图片描述

活动图:

这里写图片描述
这里写图片描述

组件图:
这里写图片描述
这里写图片描述

数据库建模–>实体关系

关系型数据库表关系有:一对一,多对多,一对多,多对一等关联关系。
表设计原则:范式,一共有六种范式,但是设计表示一般只遵循第三范式;
第一范式简述为:数据库表中列,拆到不能拆为止。
例如: 下面表格设计过程中,电话,该列中存放固定电话号码也存移动电话,此时这一列使整体数据有冗余。
不满足第一范式:
编号 姓名 电话
1001 zyg 15845689182
1001 zyg 010-67676767
修改后,满足第一范式:
编号 姓名 固定电话 移动电话
1001 zyg 010-67676767 15845689182
第二范式简述为:(满足第一范式前提下) 较少非主键列之间的依赖关系,适当的使用外键(拆成多个表);
例如:学生信息表以及成绩,课程都设计在一个表中。(有冗余数据)
满足第一范式,但不满足第二范式:
学生信息表
学号 姓名 课程 课程名称 成绩
1001 zyg 1 java 78
1001 zyg 2 C语言 90
修改后,满足第二范式:
学生表:
学号 姓名 年龄
101 SMITH 23
102 JONES 18

课程表:
课程编号 课程名称 学分
1 java 5
2 c++ 4

成绩表:
课程编号 学号 成绩
1 101 100
2 102 89
1 102 81
2 101 60

第三范式:在满足一范式,二范式基础上,在表中不能含有另一张表的非主键列。
例如:
满足第二范式,不满足第三范式:
学生表:
学号 姓名 年龄 学院名称 系别
101 SMITH 23 计控学院 计算机科学与技术
102 JONES 18 计控学院 计算机科学与技术

系别信息表:
系别编号 系名 学院名称
1 计算机科学与技术 计控学院
2 财管 经济管理学院

修改后满足第三范式:
学生表:
学号 姓名 年龄 系别
101 SMITH 23 1
102 JONES 18 1

系别信息表:
系别编号 系名 学院名称
1 计算机科学与技术 计控学院
2 财管 经济管理学院

数据库建模(E-R图和物理模型):

可选工具有:PowerDesigner、MySQLWorkbench
(1)E-R图: 常用于需求分析阶段用来描述在需求中项目所用到的实体和实体关系(此时还没有设计表,也没有表的详细结构,只是概要的描述);
矩形框:表示实体,在框中记入实体名(表)。
菱形框:表示联系。
椭圆形框:表示实体或联系的属性,将属性名记入框中。
连线:实体与属性之间;
这里写图片描述

(2)数据库概念图(物理模型):用于描述表和表之间关系以及列的结构;有助于程序开发人员跟清楚的看到表的关系;常用于开发阶段;

这里写图片描述

Create By : ZhaoYuGuang

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/isscollege/article/details/79972499

UML之用例图箭头方向

UML之用例图(use case)箭头方向: 老是忘记箭头方向,惹笑话。1、Association,无箭头,Actor连接UseCase即可;2、DirectedAssocition,Actor连接U...
  • tangzhongxin
  • tangzhongxin
  • 2009-10-07 20:50:00
  • 14326

几种视频应用比较

类别 视频通信 低延时直播 普通视频直播 视频点播 应用领域 视频会议 秀场、在线教育 电视、大型活动直播 ...
  • charleslei
  • charleslei
  • 2015-06-28 17:54:51
  • 655

统一建模语言(UML)的特点、视图模型

这里就直接说UML的用法和基本内容了,那些历史和发展过程什么的就不介绍了。。 UML的特点和用途: 1、为使用者提供了统一的,表达能力强大的可视化建模语言,以描述应用问题的需求模型,设计模型和实现...
  • u012848631
  • u012848631
  • 2015-06-08 16:13:12
  • 1079

应用UML进行数据库建模

介绍 当需要为软件系统系统提供一种可靠,灵活而又高效的对象持久化方法时,当今的设计师和架构师们面临着众多的选择。从技术的层面上,这个选择往往介于完全面 向对象,对象关系混合,完全关系化和建立在公开或...
  • zhangvalue
  • zhangvalue
  • 2015-12-08 13:33:44
  • 11946

mysql数据库设计-多对多

数据库设计多对多关系的几种形态 前言:多对多关系至少需要3个表,我们把一个表叫做主表,一个叫做关系表,另外一个叫做字典表或者副表(字典表是纪录比较少,而且基本稳定的,例如:版块名称;副表是内容比较...
  • wconvey
  • wconvey
  • 2015-01-12 21:14:56
  • 4023

类之间的关系

UML把类之间的关系分为5种: 1.关联:类A与类B的实例之间存在特定的对应关系,在UML中用带实线的箭头表示。如果类A与类B关联,类A含有B的属性 按照类之间的数量对比,关联可以分为3种:  ...
  • jarniyy
  • jarniyy
  • 2015-12-05 22:18:18
  • 279

UML统一建模实用教程

  • 2011年06月21日 09:58
  • 298KB
  • 下载

统一建模语言 UML

统一建模语言 UML
  • xinyuan_java
  • xinyuan_java
  • 2016-06-05 16:55:05
  • 2028

javascript中的escape()和unescape()函数的使用方法

(一).示例图片效果(二).代码escape()和unescape()函数的使用方法function run(){alert("The esacpe value is:"+escape(documen...
  • lgq_12345
  • lgq_12345
  • 2006-04-14 12:58:00
  • 1744

简单总结UML用例图、活动图、顺序图、类图、对象图、通信图(协作图)、状态机图特点

UML– 用例图用例图展现的是一组用例、参与者和扩展关系、包含关系等。该图的作用是描述系统的行为,即该系统在它的上下文环境中所提供的外部可见服务。注:参与者不一定是人,可以是其它除系统以外的事物。 简...
  • qq_36289559
  • qq_36289559
  • 2017-06-22 11:16:42
  • 1206
收藏助手
不良信息举报
您举报文章:UML统一建模(语言)和数据库建模
举报原因:
原因补充:

(最多只允许输入30个字)