第一章节到第三章节介绍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. 荣耀TCL都玩智慧屏“噱头”,海信却引行业未来方向

    编辑 | 于斌 出品 | 于见(mpyujian) 如今手机联接我们生活方方面面的同时,大家却也由此习惯了低头示人.据美国的一家数据研究中心显示,目前中国智能手机普及率已达到68%,居民日均手机屏幕使 ...

  2. dp--B - Hard problem

    B - Hard problem Vasiliy is fond of solving different tasks. Today he found one he wasn't able to so ...

  3. C语言随笔1:内存分配方式与动静态变量

    首先几个基本概念(网上的各种说法都很乱:个人理解整理了一下 内存分类方法很多,动态.静态:  五区:  三段: 内存的区: 1.动态存储区分为 栈区.堆区   也统称为堆栈段1.1栈区(.stack) ...

  4. 将java字节自动转为"B", "KB", "MB", "GB", "TB"等

    //字节转换 public static String readableFileSize(long size) { if (size <= 0) return "0"; fi ...

  5. Eqaulize Prices

    There are n products in the shop. The price of the ii-th product is aiai. The owner of the shop want ...

  6. mysql渗透过程

    1 打开目标站点:www.xxx.com 2 注册账号并登录,大概找下注入点,没找到 3 用namp -A -T4 目标站点扫描开放的服务 发现mysql等 4 猜弱口令 + 字典  对mysql进行 ...

  7. 机器学习基础梳理—(accuracy,precision,recall浅谈)

    一.TP TN FP FN TP:标签为正例,预测为正例(P),即预测正确(T) TN:标签为负例,预测为负例(N),即预测正确(T) FP:标签为负例,预测为正例(P),即预测错误(F) FN:标签 ...

  8. MyBatis(4)——配置文件优化

    配置文件优化 执行流程:读取配置流程->sqlSessionFactory->sqlSession(连接.读取sql并执行相应操作.关闭) a)配置优化:通过中文参考指南的说明可知-> ...

  9. 国内某Python大神自创完整版,系统性学习Python

    很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...

  10. Mysql查看连接数(连接总数、活跃数、最大并发数)

    show variables like '%max_connection%'; set global max_connections=1000;