Think in UNL其一
书中提到世界本质上为离散的,由一个一个对象组成。其实这个观点并不难理解,因为在公元前5世纪芝诺就有了类似的思考,著名的阿基里斯悖论早已经被推翻,现代物理学已经证明了时间和空间不是可以无限分割的,所以总有最为微小的一个时间里,阿基里斯和乌龟共同前进了一个空间单位,从此阿基里斯顺利超过乌龟。既然时间和空间都是不可分割的那么就是说所有的东西都是离散的,总会由其基本组成构成。面向对象也是这样,将世间万物抽象化,使之分离为基本概念,使得事物间的联系变得简单且不再模糊不清。这样有助于将复杂的事情简单化。这使得对象只需要对外界的请求作出反应即可,外部不再需要知道对象里面具体做了什么,外界只需要拿到对象传出的消息就可以继续工作。
UML名为统一建模语言,所做之事与两千年前秦始皇统一度量衡差不多,使得软件生产的各个部门都可以看懂这门语言所表达的意思。众所周知图形携带的信息远远超出了文字,试问谁可以准确的描述出蒙娜丽莎究竟是怎样的一幅画呢?所以UML大量使用了图形化的语言,使得建模过程简单清晰,使读者容易理解。
UML与RUP不是一体的。
先了解一个软件项目是怎么做的,再去UML中寻找需要的工具,用UML中适合的工具把软件过程要达到的要求
记录下来。
建模,是指通过对客观事物建立一种抽象的方法用以表征事物并获得对事物本身的理解,同时把这种理解概念化
,将这些逻辑概念组织起来,构成一种对所观察的对象的内部结构和工作原理的便于理解的表达。
对复杂的事物进行适当的抽象,有助于让人们更好的理解事物。但不可过分抽象,过分抽象会丧失过多的信息,使得人们更加难以理解事物。
如盲人摸象,千形万态,每个人从每个视角对于大象的理解是不同的。软件开发也是一样,需要不同的视图去展示软件这些不同的方面——静态的、动态的、结构的、逻辑性的等,才能说建立了一个完整的模型,恰好UML里就定义了用例图、对象图、类图、包图、活动图等不同的视图。
对象分析方法
·一切都是对象
·对象都是独立的
对象与对象之间是天然独立的,只有在某个特定的场景下,他们的某一个特定的实例才相互联系在一起。
对象是离散的,它不是因为该场景才存在的。对象实例与场景结合,然而这只是对象的一部分罢了。我们如果从一个场景就想了解对象的全部面貌,那么真的就是在摸象鼻了。
Think in UNL其一的更多相关文章
- UNL/EVE关联putty和wireshark
这里默认UNL已经安装完毕,然后启动虚拟机启动UNL. 在浏览器输入http://192.168.1.199/ 进入UNL.然后简单的搭建一个拓扑: 这里只讲R1和ASA开启,先来配置Telnet功能 ...
- 如何在ASP.Net创建各种3D图表
我们都知道,图表在ASP.NET技术中是一种特别受欢迎而又很重要的工具.图表是表示数据的图形,一般含有X和Y两个坐标轴.我们可以用折线,柱状,块状来表示数据.通过图表控件,我们即能表示数据又能比较各种 ...
- LOCK TABLES和UNLOCK TABLES与Transactions的交互
LOCK TABLES对事务不安全,并且在试图锁定表之前隐式提交任何活动事务. UNLOCK TABLES只有在LOCK TABLES已经获取到表锁时,会隐式提交任何活动事务.对于下面的一组语句,UN ...
- ASP.Net中实现上传过程中将文本文件转换成PDF的方法
iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- 浅析java内存模型--JMM(Java Memory Model)
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的. 线程之间通过共享程序公共的状态,通 ...
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- css随笔1
1.简单清除浏览器样式 *{ padding: 0px; margin: 0px; } 2.得到屏幕范围的div html,body{ width: 1 ...
- 手把手教你玩转nginx负载均衡(三)----配置虚拟服务器网络
引言 虽然上一篇我们成功的启动了虚拟机,也安装好了操作系统,但是这台虚拟机和主机以及其他虚拟机是没有办法连通的,我们的目标是配置多台服务器并且配置nginx反向代理,来实现负载均衡,所以不能访问内网是 ...
- Box Model,边距折叠,内联和块标签,CSSReset
一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三.内联与 ...
随机推荐
- 怎么才能卸载inventor?完全彻底卸载删除干净inventor各种残留注册表和文件的方法和步骤
怎么才能卸载inventor?完全彻底卸载删除干净inventor各种残留注册表和文件的方法和步骤.如何卸载inventor呢?有很多同学想把inventor卸载后重新安装,但是发现inventor安 ...
- [Oracle19C 数据库管理] 用户与权限管理
用户管理 用户具有以下属性: 用户名: 不能超过30位.不能包含特殊字符.必须用字符开头.用户名不区分大小写. 认证方式: 最常见的是密码认证. 默认永久表空间: 控制用户可以在哪个表空间里创建对象. ...
- Java反射解析注解
package com.jeeplus.config; import javax.validation.constraints.Size; import java.lang.annotation.An ...
- win10 蓝屏代码 IRQL NOT LESS OR EQUAL 问题排查(ing)
环境:Win10故障症状: 不定期蓝屏,重启 蓝屏代码: IRQL NOT LESS OR EQUAL 官方建议 尝试方法1:更新win10最新的补丁 [无效] 尝试方法2:重新安装显卡驱动(当前系统 ...
- 蓝桥杯训练赛二-1169 问题 D: 绝对值排序
题目描述 输入n(n<=100)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等. 输入 输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整 ...
- NC16644【字符串的展开】
正确代码: #include <iostream>#include <algorithm>using namespace std;bool IsSame(char a, cha ...
- element-ui中el-table设置多选checkbox时,selection-change重复执行,以及选不中问题
项目中使用了elementUI中el-table的选择框.在另外一个地方展示选中的行的数量.设置显示数量之后,选择框就无法选中,change事件执行两次. 解决办法:给el-table设置row-ke ...
- Grafana + Prometheus 监控 Zookeeper
废话不多说,前几篇已经相应的介绍Grafana 跟 Prometheus,如有不清楚,请参考: https://www.cnblogs.com/zgz21/p/12054518.html https: ...
- 03 Proxmox VE介绍
突破困境! 企业开源虚拟化管理平台 使用Proxmox Virtual Environment 郑郁霖(Jason Cheng)著 版次:2021年12月初版 03 Proxmox VE介绍 3.1 ...
- 整数中出现1的次数(从1到n整数中1出现的次数)
offer_31 概要:整数中出现1的次数(从1到n整数中1出现的次数) 题目描述 求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有 ...