第一章节到第三章节介绍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. windows下tesseract-ocr的安装及使用

    For CentOS 7 run the following as root: yum-config-manager --add-repo https://download.opensuse.org/ ...

  2. A New Recurrence-Network-Based Time Series Analysis Approach for Characterizing System Dynamics - Guangyu Yang, Daolin Xu * and Haicheng Zhang

    Purpose: characterize the evolution of dynamical systems. In this paper, a novel method based on eps ...

  3. python中乱码怎么由来与解决方法

    前言曾几何时 Python 中文乱码的问题困扰了我很多很多年,每次出现中文乱码都要去网上搜索答案,虽然解决了当时遇到的问题但下次出现乱码的时候又会懵逼,究其原因还是知其然不知其所以然.现在有的小伙伴为 ...

  4. elementui el-table根据分页显示表格序号

    每页显示的序号都是一样的: <el-table :data="tableData" highlight-current-row @current-change="h ...

  5. Visual Studio 2015创建ASP.NET MVC流程

    本文链接:https://blog.csdn.net/begindong/article/details/68059437本人这两天第一次对c#进行系统学习,写出来做个学习记录和大家分享,以下有什么错 ...

  6. [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库

    L1[string]01. ASCII码互转 小知识:字符串处理的几个共同的几点 1.字符串处理函数 字符串索引可以为负数 表示从字符串末尾开始算起 所有字符串处理函数的 字符串索引参数都使用 2.所 ...

  7. python+selenium:浏览器webdriver操作(0)

    1.浏览器最大化 启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行. #coding=utf-8 from selenium import webdriver i ...

  8. instGroup/constraint/Gcell/busguide/netgroup/Bump

    1. instGroup Instance group.中文名例化单元组.Instance group可以用来group一些instances, 在做placement时,如果你希望一些instanc ...

  9. fileupload插件调用upload.parseRequest(request)解析得到空值问题

    得到的list长度是0,项目配置不能改变,没办法了,只能将HttpServletRequest强换成DefaultMultipartHttpServletRequest ,直接获取表单中的字段了.方法 ...

  10. flex space-between最后一行对齐问题的解决方案

    背景 常见的一个图文列表设计,通常是这样的,两端顶着容器,中间的间距平均分,如下图的某东商品列表的设计: 列表是这样自适应的,当视窗足够放多少个商品就放多少个,然后各个商品项目之间的间距平均分.由于每 ...