第一章节到第三章节介绍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. [POI2000] 公共串 - 后缀数组,二分

    [POI2000] 公共串 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度. Solution 预处理出后缀数组和高度数组,二分答案 \(k\) ,对于每一个连续的 ...

  2. [UOJ228] 基础数据结构练习题 - 线段树

    考虑到一个数开根号 \(loglog\) 次后就会变成1,设某个Node的势能为 \(loglog(maxv-minv)\) ,那么一次根号操作会使得势能下降 \(1\) ,一次加操作最多增加 \(l ...

  3. 直接打印类,调用toString()方法

    直接打印类,调用的是继承的Object类的toString()方法,Object类的toString()方法是这样实现的:getClass().getName() + "@" + ...

  4. EF database first

    https://www.cnblogs.com/net064/p/8024150.html 1.EF简介ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对 ...

  5. layui-form下隐藏元素的验证问题

    1.情景: 设置为display:none的必填字段,在点击提交(form 包含 class="layui-form":button包含属性 lay-submit)的时候,依旧验证 ...

  6. Linux - Shell - find - 进阶: 时间与大小

    概述 继续 find 这次的内容, 参数稍微要 复杂那么一丢丢 背景 刚学会了 基础 的参数 现在来了解一些 时间 和 空间 的参数 一说到操控时间空间, 感觉立马起来了... 准备 OS cento ...

  7. Python - 安装 - 在 Alpine Linux 下安装 Python2

    概述 在 Alpine Liunx 下安装 python2 感觉又是水了一发... 感觉还是有点丢人, 就像在帮小学生写作业, 写完了后还想找人夸我... 最近看 docker 和 jenkins, ...

  8. selenium-JavaScript的处理

    JavaScript的处理 在自动化过程中,遇到js处理的元素,需要使用js语言对元素进行操作,例如,滑动到浏览器的底部或者顶部,时间控件的处理,元素可见不可见以及富文本的处理等,都需要js语言的支持 ...

  9. rabbitmq快速安装(实测有效)(新版)

    rabbitMq的快速安装和使用在第二部分,第一部分就看个热闹,第二部分直接可以完成环境的搭建 如果需要资料的话可以直接来 这里 进行下载 第一部分 http://www.cnerlang.com/r ...

  10. Abp.Core运行时提示XX没有实现,或者没有依赖注入的问题,或者调试时提示做出更改的问题

    因为abp的web层对application层有项目引用,但是对domain层并不存在项目引用,而是bin目录下直接引用的dll文件,所以当domain层修改后不会自动将dll文件同步过去.所以有时候 ...