当前课程知识点:软件理论与工程 >  第4章 UML方法 >  4.1 UML概述 >  4.1 UML概述

返回《软件理论与工程》慕课在线视频课程列表

4.1 UML概述在线视频

下一节:4.2 UML 及UML中的事物

返回《软件理论与工程》慕课在线视频列表

4.1 UML概述课程教案、知识点、字幕

大家好

今天我们来一起分享一下

关于UML建模的相关知识

UML就是统一建模语言

Unified modeling language 的简称

什么是建模呢

建模就是我们要认识现实世界

在这个图的是左边是客观世界

那么客观世界在我们的头脑中

主观世界反应是什么样子呢

这个就是我们理解的客观世界的一个模型

那么现实客观世界的事物

反映在我的主观世界

可能是各种抽象的概念

这些概念构成了一个模型

这个模型

我们对它加以梳理

然后认识规律

通过这些规律的发现

我们再去应用这些规律去

改造这个世界

这就是我们建模的目的

建模就是为了认识我们的现实世界

建模的模型会因不同的人而有差异

不同类型的人有不同的世界观

比如在我们的软件工程领域

我们的软件工程方法有

结构化方法和面向对象方法

结构化方法建模

建模的结果会是一些模块

函数

还有功能

那么面向对象方法呢

建模的结果会是一些类

关联

还有一些对象

那么 持不同的世界观

就会得到对现实世界的不同认识

我们就说

建立出不同的模型

模型体现了现实世界

现实世界只有一个

但是不同的人

对于现实世界构建出来的模型却不同

那么 模型本身并没有对错之分

只有符合建模人的目的的多少之分

如果你的模型符合你的建模的目的

我们就认为它是一个好的模型

那么在我们的软件工程里面

谁应该来建模呢

我们的模型有很多种

首先我们看一下业务建模

业务建模是以领域专家为主

需求分析人员是主力

系统分析人员

架构师

可以一起参与业务建模

再看一下需求模型

需求模型的主力人员是

需求分析人员

系统分析员也是主力建模的人员

领域专家提供指导

架构师和资深的开发人员

同时也可以参与我们的需求模型

再然后就是设计模型

设计模型分为

概要设计模型和详细设计模型

那么 对于高层的概要设计模型

通常是以架构师为主

系统分析人员从需求方面提供支持

资深的开发人员从技术实现方面提供支持

那么 详细设计模型呢

则是以资深的开发人员为主

架构师呢 提供指导

在分析模型和设计模型构造好了之后

然后我们就要建立实现模型

实现模型是以资深的开发人员

和设计人员为主

架构师可以提供总体的指导

最后 我们要建的数据库模型

数据库模型以数据库开发人员为主

架构师提供指导

资深的开发人员和设计人员

可以给予相应的配合

那么我们构建出来各种模型之后

我们就可以通过模型

构建我们的体系架构

有一种方法叫做模型驱动的体系结构

Model Driven Architecture

这种方法的核心思想就是

我们通过现实世界的抽象

构建出来的模型

可以是同一套模型

但是我们会根据这个模型

将来使用的具体的技术的不同

而最终导出不同的技术架构

所以从这张图我们可以看出

在中间我们是

Model Driven Architecture的

Model的模型

然后向各个方向

通过不同的技术架构的实现

会最终实现出不同的实现模型

那么再举一点呢 我们看一下这张图

这张图的最顶端就是

PIM

就是Platform independent model

也就是独立于平台的模型

然后我们建设出这样一套模型之后

我们通过不同的映射

会把它映射出不同的PSM

也就是Platform specific model

也就是我们通过独立于平台的模型

加上各种平台的个性化的特征

我们就可以建设出来

具有不同平台特征的平台相关的模型

那么通过不同平台特征的结合

我们可以生成

CORBA模型

COM模型

J2EE的模型

等等等等

很多具体的不同的实现模型

那么我们看一下

我们既然要建设一套平台独立的模型

那么建设这样的模型的时候

我们可以使用什么样的方法呢

这里我们就看一下我们的UML

UML是Unified modeling language

那么从它的名字我们就可以看出

UML是一个language

所以它是一种语言

语言是用来表达想法的工具

UML是表示符号

而不是方法

那么 这一套表示符号

可以应用在任何的方法当中

建立出任何的模型

UML由对象管理小组

Object Management Group

OMG进行管理

UML仅仅是一种建模语言

UML是独立于建模过程的

那么 既然它是一种语言

它就可以提供用于交流的词汇表

和词汇表中的组合词汇的规则

而一种建模语言

侧重于对系统进行概念上的和物理上的描述

建模是为了产生对系统的理解

只有一个模型是不够的

UML贯穿于软件开发生命周期

并能表达系统体系结构的各种不同的视图

UML可以告诉你如何创建

或理解结构良好的模型

但它并没有定义

应该在什么时候

创建什么样的模型

那么什么时候

创建什么样的模型

可能要根据建模的人的经验来决定

UML是一种可视化的语言

既然是可视化

那么它就以图形的方式进行建模

清晰的模型

有利于开发者之间

或者软件工程相关人员之间进行交流

来解决信息丢失的问题

对于有些事情

我们最好使用文字来建模

而有些其他的事情

则最好使用图形来建模

在UML中

每一个符号都是有其明确的定义的

这样就避免了歧义的产生

UML是一种可用于详细描述的语言

详细描述就意味着

用UML所建的模型是精确的

没有歧义的

和完整的

特别的UML适用于对所有重要的

分析

设计

和实现决策

进行详细的描述

这些是软件密集型系统

在开发和部署中

所必须的内容

UML建模的时候

最好我们用于以用例驱动

以体系结构为中心

通过不断的迭代

和增量的过程

建出一套完整的

清晰的对系统描述的UML模型

最后我要跟大家说明一下

UML模型只说明了一个系统

应该要做什么

它对系统做出来一个描述

UML定义了 what to do

但是

UML并没有告诉我们这个系统应该怎么做

怎么去实现

所以

UML定义的是 what to do

但是UML并没有定义 how to do

我们的系统

怎么去做

在UML是没办法描述出来的

今天我们关于UML的概述的部分就讲这么多

谢谢大家

软件理论与工程课程列表:

课程概述

-课程概述

第1章 软件与软件工程

-1.1 软件的本质

--1.1 软件的本质

-1.2 软件工程

--1.2 软件工程

-1.3 软件过程结构

--1.3 软件过程结构

-1.4 过程模型

--1.4 过程模型

-1.5 敏捷开发方法

--1.5 敏捷开发方法

-第1章 习题

--第1章 习题

第2章 需求分析

-2.1 需求工程过程

--2.1 需求工程过程

-2.2 需求获取

--2.2 需求获取

-2.3 需求分析

--2.3 需求分析

-2.4 过程建模

--2.4 过程建模

-2.5 面向对象建模

--2.5 面向对象建模

-第2章 习题

--第2章 习题

第3章 软件设计

-3.1 设计概述

--3.1 设计概述

-3.2 设计的概念

--3.2 设计的概念

-3.3 设计模型元素

--3.3 设计模型元素

-3.4 体系结构概述

--3.4 体系结构概述

-3.5 体系结构风格

--3.5 体系结构风格

-3.6 构件级设计

--3.6 构件级设计

-3.7 UI设计

--3.7 UI设计

-3.8 基于模式的设计

--3.8 基于模式的设计

-第3章 习题

--第3章 习题

第4章 UML方法

-4.1 UML概述

--4.1 UML概述

-4.2 UML 及UML中的事物

--4.2 UML 及UML中的事物

-4.3 UML关系和图

--4.3 UML关系和图

-4.4 UML 图细节(上)

--4.4 UML 图细节(上)

-4.4 UML 图细节(下)

--4.4 UML 图细节(下)

-第4章 习题

--第4章 习题

第5章 软件测试

-5.1 软件测试策略

--5.1 软件测试策略(上)

--5.1 软件测试策略(下)

-5.2 测试传统的应用系统

--5.2 测试传统的应用系统

-5.3 测试面向对象的应用系统

--5.3 测试面向对象的应用系统

-5.4 测试web应用系统

--5.4 测试web应用系统

-5.5 测试移动应用系统

--5.5 测试移动应用系统

-第5章 习题

--第5章 习题

第6章 项目管理

-6.1 软件项目估算

--6.1 软件项目估算

-6.2 软件过程管理

--6.2 软件过程管理

-6.3 软件配置管理

--6.3 软件配置管理

-6.4 项目版本控制及调试

--6.4 项目版本控制及调试

-第6章 习题

--第6章 习题

4.1 UML概述笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。