第一章节到第三章节介绍UML的基本概念。第一章节主要介绍了UML语言的历史,介绍了建模的重要性(狗窝,房子,大厦),介绍了UML要实现哪些目标,在最后介绍了在使用UML语言时应该遵循的一些原则或者是规范。

  

1、建模的重要性

原文:we build models of complex systems because we cannot comprehend such a system in its entirety

这句话的意思翻译过来即:对于复杂系统,我们的理解能力有限。具体体现在以下几个方面。

原文:

1we build models to communicate the desired structure and behavior of our system

2we build models to visualize and control the system’s architecture and behavior of our system

3we build models to better understand the system we are buildingoften exposing opportunities for simplification and reuse

4we build models to manage risk

这几句话可以理解为用途,也可以理解为它的重要性。

1、 在需求阶段(inception),为了理解系统的需求。

2、 在构建阶段(construct),可视化系统的结构。

3、 在迭代阶段(transition),为了更好的理解系统,优化系统。

4、 在整个阶段,掌控系统的风险。

2、建模的好处或目标

  构建模型的目标包含visualizing,specifying,constructing,documenting。分别对应下面的原文

1、Models help us to visualize a system as it is or as we want it to be.

(模型将系统可视化,让我们理解它会变成什么样子,我们期望系统的样子)

2、Models permit us to specify the structure or behavior of a system.

(模型允许我们指定系统的结构和交互行为)

3、Models give us a template that guides us in constructing a system.

(模型为我们构造一个系统的模板,从各种角度去理解系统)

4、Models document the decisions we have made

(模板可以将我们的决策文档化,减少系统失败的风险)。

3、建模原则

1、 The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped

(选取哪种模型取决于问题以及问题的解决方案。)

2、 Every model may be expressed at different levels of precision

(每种模型向不同角色展示他们想要了解的内容,这决定了模型的粒度)

3、 The best models are connected to reality

(最好的模型能够真实反映现实中的事物)

4、 No single model or view is sufficient. Every nontrivial system is best approached through a small set of nearly independent models with multiple viewpoints

(构建系统需要不同的视角,不同的粒度,不同的模型,使用单一模型来构建系统是不够的)

4、建模方式

有两种通俗的建模方式,algorithmic perspective and an object-oriented perspective。

  1、 algorithmic perspectivethe main building block of all software is the procedure or functionthis view developers to focus on issue of control and the decomposition of large algorithmic into small one

  (程序大部分都是存储过程或函数,开发者主要就是将大的流程拆分为小的功能)

  2、 object-oriented perspectivethe main building block of all software is the object or class. Simply butan object is a thinggenerally drawn from the vocabulary of the problem or the solution space

  (程序大部分都是对象和类,对象就是现实问题转换为编程问题的一个名词)

这两种方式被称为面向过程与面向对象的开发方式。

公用技术——面向对象领域——UML图——《The Unified Modeling Language User Guide》V2读书笔记——第一章节(建模的意义)的更多相关文章

  1. UML类图(Unified Modeling Language Class Diagrams)

    统一建模语言(UML) |  类图 什么是UML? UML是一种用于可视化描述系统,具有广泛用途的建模语言.作为一种标准化的图形语言,在软件工业中被用于软件系统部件的具体化,可视化,结构化描述以及撰写 ...

  2. UML(Unified Modeling Language)统一建模语言

    什么是模型 模型是对现实的简化 模型是提供系统的蓝图,模型可是包括详细计划.也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述.因而每个模型都是在语义上闭合的抽象系统. ...

  3. 统一建模语言(UML,Unified Modeling Language)

    Something about UML: 统一建模语言(UML,英语:Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建 ...

  4. 学习笔记之UML ( Unified Modeling Language )

    Unified Modeling Language - Wikipedia https://en.wikipedia.org/wiki/Unified_Modeling_Language The Un ...

  5. The Unified Modeling Language(UML)

    统一过程建模语言UML 统一过程建模语言UML是一种标准的可视化建模语言,使用在:  业务建模和类似的过程 居于软件系统的分析.设计.和实现 UML 是一门通用语言,提供给业务分析员,软件架构师和开发 ...

  6. UML(Unified Modeling Language)同一建模语言

    wiki定义: UML is a general-purpose, developmental, modeling language in the field of software engineer ...

  7. JS高程读书笔记-第一、二章-内附在线思维导图和quizlet卡片

    之前在kindle上买了高程,今天又到了纸质的<JavaScript语言精粹>,<高性能JavaScript>,<JavaScipt设计模式>,开始读书之旅啦. 我 ...

  8. 深入浅出图神经网络 第6章 GCN的性质 读书笔记

    第6章 GCN的性质 第5章最后讲到GCN结束的有些匆忙,作为GNN最经典的模型,其有很多性质需要我们去理解. 6.1 GCN与CNN的区别与联系 CNN卷积卷的是矩阵某个区域内的值,图卷积在空域视角 ...

  9. Unified Modeling Language

    https://en.wikipedia.org/wiki/Unified_Modeling_Language

随机推荐

  1. argmax( )

    argmax是一种函数,是对函数求参数(集合)的函数. 当我们有另一个函数y=f(x)时,若有结果x0= argmax(f(x)),则表示当函数f(x)取x=x0的时候,得到f(x)取值范围的最大值: ...

  2. ssh连不上的问题

    新安装的ubuntu,想要ssh远程连接,发现连接不上,何解? 答 : 在ubuntu上安装ssh. sudo apt-get install openssh-server

  3. time时间模块_python

    一.常用指定格式打印时间 strftime()函数: import timeprint(time.strftime('%Y-%M-%d %H:%M:%S %A' )) #格式可任意定制,2019-14 ...

  4. 20191225_Python构造函数知识以及相关注意事项

    Python构造函数格式为__init__() 注:下划线为两个而不是一个 可以有无参构造 instance: class city: def printout(self,first,second): ...

  5. Java数组转集合之Arrays.asList()用法

    Arrays.asList()用法 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合. 而一开始asList的设计时用于打印数组而设计 ...

  6. Lenet 神经网络-实现篇(1)

    Lenet 神经网络结构为: ①输入为 32*32*1 的图片大小,为单通道的输入: ②进行卷积,卷积核大小为 5*5*1,个数为 6,步长为 1,非全零填充模式: ③将卷积结果通过非线性激活函数: ...

  7. 深入理解JDK、JRE(两套)、JVM、以及不同目录下的java.exe

    内容来自:http://blog.sina.com.cn/s/blog_7ffb8dd501011sgc.html 1.jdk下bin目录里的java.exe与外部jre中的java.exe的秘密   ...

  8. Winform遍历窗口的所有控件(几种方式实现)

    本文链接:https://blog.csdn.net/u014453443/article/details/85088733 扣扣技术交流群:460189483 C#遍历窗体所有控件或某类型所有控件 ...

  9. Mac下ssh远程无密码登录

    入手Mac,对很多工具的使用都不太熟悉,这不,做web开发,登录远程服务器非常繁琐,想要去掉输入密码这个环节,找到网友的分享如下: http://www.cnblogs.com/shuaiwhu/ar ...

  10. python 实现 md文档自动编号

    目录 1. 原理 2. 运行方法 3. 效果 4. 代码 1. 原理 正则匹配对相应字符串进行替换 2. 运行方法 python md_convert.py [a.md, b.md,...] # 转换 ...