第一章节到第三章节介绍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. VS2017连接MySQL数据库

    vs默认无法直接连接mysql,需要我们自己配置环境. 1.下载mysql-installer-community-8.0.18.0.msi 下载地址:https://dev.mysql.com/do ...

  2. AD转化器分类及特点和选用

    1. AD转换器的分类 下面简要介绍常用的几种类型的基本原理及特点:积分型.逐次逼近型.并行比较型/串并行型.∑-Δ调制型.电容阵列逐次比较型及压频变换型. 1)积分型(如TLC7135)积分型AD工 ...

  3. SpringMVC进行Ajax请求页面显示乱码

    最近在项目的使用过程中发现在springmvc的项目中,使用返回页面的请求方式,数据都能正常显示,但是对于ajax的请求,始终显示乱码. 首先第一种是因为我们在web.xml中配置了spring的字符 ...

  4. Java必须知道的知识点

    junit用法,before,beforeClass,after, afterClass的执行顺序 分布式锁 nginx的请求转发算法,如何配置根据权重转发 用hashmap实现redis有什么问题( ...

  5. OSS上传文件时设置请求头

    直接上传: // 如果需要上传时设置存储类型与访问权限,请参考以下示例代码. // ObjectMetadata metadata = new ObjectMetadata(); // metadat ...

  6. Visual Studio Code快捷键大全

    原文链接:https://segmentfault.com/a/1190000007688656 常用 General 按 Press 功能 Function Ctrl + Shift + P,F1 ...

  7. 【Python】【爬虫】爬取酷狗TOP500

    好啦好啦,那我们来拉开我们的爬虫之旅吧~~~ 这一只小爬虫是爬取酷狗TOP500的,使用的爬取手法简单粗暴,目的是帮大家初步窥探爬虫长啥样,后期会慢慢变得健壮起来的. 环境配置 在此之前需要下载一个谷 ...

  8. JavaScript arguments对象浅析

    arguments对象 概念 用法 属性 arguments对象 概念 arguments 是一个类数组对象.代表传给一个function的参数列表. 用法 function a() { consol ...

  9. c++ google glog模块安装和基本使用(ubuntu)环境

    1,如何安装 1 Git clone https://github.com/google/glog.git 2 cd glog 3 ./autogen.sh 4 ./configure --prefi ...

  10. css3之渐变背景色(linear-gradient)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...