Thinking in UML 学习笔记(一)——建立对象模型
一、面向对象的本质
面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们可以抽象出我们能够处理的范围来提成抽象级别,这样就可以构建更大、更复杂的系统。
现实世界和对象世界之间存在着一道沟壑,这道沟壑的名字叫抽象,抽象是面向对象的精髓所在,同时也是面向对象的困难所在。要跨越这道沟壑,我们需要解决以下问题:
1、一种把现实世界映射到对象世界的方法。
2、一种从对象世界描述现实世界的方法。
3、一种验证对象世界行为是否正确反映了现实世界的方法。
UML正是解决这一问题的分析设计方法。
二、面向对象遇到的问题
1、对象的分析与设计问题。
2、对象结构的含义模糊不清。
当面向对象遇到这些问题的时候,UML统一建模语言出现了。学习UML只是学会了一门语言,而要写出一篇精彩的文章,却需要依靠写作人对生活的感悟和升华,这两者缺一不可。因此比学会UML建模本身更重要的是要理解UML背后所影藏的最佳实践。
三、UML统一建模语言要解决的问题
1、UML既然是一门语言,作为语言要解决的首要问题就是沟通问题。
2、统一,则是要解决混乱的方言问题,如普通话一样被大家广泛认可。
3、可视化,容易被人理解和记忆(超越文字的表达方式)。
四、从现实到模型的抽象过程
建模实际上是一种对现实事物的理解。现实世界中如果我们站在很高的角度去抽象,就会发现无论这个时间多么复杂,其本质无非是由人、事、物和规则组成。
1、UML采用称之为参与者(actor)的元模型作为信息来源提供者,代表现实中的“人”。
2、UML采用称之为用例(use case)的一种元模型来表示驱动者的业务目标,也就是参与者想要做什么并且获得什么。代表现实中的“事”。
3、一件事怎么做,依据什么规则,则通过称之为业务场景(business scenario)和用例场景(use case scenario)的UML视图来描绘的。代表现实中的规则。
4、业务中的对象模型则就对应现实中的“物”。
五、从业务模型到概念模型
分析模型:UML通过称之为概念化的分析过程来建立适合计算机理解和实现的模型。
分析模型介于原始需求和计算机实现之间,是一种过渡模型。
分析模型的元模型:
1、边界类(boundary):_____事
2、控制类(control):———规则
3、实体类(entity):————物
下图是业务模型到概念模型的转换过程示意图:
六、从概念模型到设计模型
设计模型则是对概念模型的具体实现,这种实现方式不止一种。在设计模型中,概念模型中的边界类可以被转换为操作界面或者系统接口;控制类可以被转化为计算机程序或控制程序,例如工作流、算法等;实体类可以转化为数据表、XML文档或者其他持久化类。实际上对于不同的软件架构和框架以及不同的编程语言,所实现的概念模型有所不同。
面向对象分析设计完整过程如下:
七、RUP介绍
RUP(Rational Unified Process)统一过程。统一过程归纳和整理了很多在实践中总结出来的软件工程的最佳实践,是一个采用了面向对象思想,使用UML作为软件分析语言,并结合了项目管理、质量保证等许多软件工程知识综合而成的一个非常完整和庞大的软件方法。
统一过程定义了软件开发过程中最重要的四个阶段和九个核心工作流,每个阶段对不同工作流的侧重点不同。
软件项目真正的灵魂是软件过程,软件过程的需要才是这些工具和语言诞生的原因。
转载于:https://www.cnblogs.com/lanzhi/p/6469020.html
Thinking in UML 学习笔记(一)——建立对象模型相关推荐
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报 分类: tensorflow(4) 目录(?)[+] 本笔记目的 ...
- c语言用户自己建立数据类型,C语言程序设计学习笔记--用户建立数据类型
C语言程序设计学习笔记--用户建立数据类型. 9.1定义和使用结构体变量 1.定义:C语言允许用户自己建立不同类型数据组合成的组合型数据类型就是结构体 2.形式: struct 结构体名 { 成员表列 ...
- TMS320F28388D 学习笔记1 建立工程
索引 前言 Tips 吐槽 流程 建立工程 复制库函数 添加常用库 SFRA DCL CLAmath FPUfastRTS power_measurement solar datalog SPLL C ...
- 蓝牙学习笔记之建立蓝牙连接的过程
发送广播数据包的叫广播发起者(advertisers),在广播通道接收广播数据包但没意向连接广播发起设备的叫扫描者( scanners), 需要连接到另一个设备的设备叫做 initiators,它监听 ...
- Thinking in UML 学习笔记(四)——UML活动图来看核心
在UML活动图的性质是一个流程图,它需要描述为完成活动的特定目标的描述来完成,这些交互运行顺序. UML有两个级别的活动图,的用例场景的叙述性描述,还有的对象用来描述交互的描述. 工具.它不是我们的分 ...
- cnn stride and padding_Tensorflow学习笔记- 模型建立与训练篇(CNN)
这次就用Keras实现下CNN 一. 预备知识--CNN[1] 1. 二维互相关(cross-correlation)运算:计算 , 属于输入数组, 属于卷积窗口,n和m取决于窗口的大小. 核数组(卷 ...
- UML学习笔记(一):UML简介
统一建模语言(Unified Modeling Language,UML) 一些术语: 系统(system)指的是硬件和软件的结合体,它能提供业务问题的解决方案. 系统开发(system develo ...
- UML学习笔记---了解UML,UML相关知识,相关概念
6.uml统一建模语言; 面向对象分析和设计(OOA/D) up过程与瀑布模型; a.软件职责分配; -------------------------------------- 1.um ...
- UML学习笔记之状态图
状态图的基本概念: 状态图是UML中对系统动态方面建模的图之一,它通过建立类对象的声明周期模型来描述对象随时间变化的动态行为. 状态图用于描述模型元素的实例(如对象或交互)的行为.它适用于描述状态和动 ...
最新文章
- linux mysql授权外部访问权限,Linux中安装Mysql授权远程访问
- C linux 深入学习 errorfunction的创建
- rs485数据线接反_再拆一个RS232-RS485通信接口转换器
- 【蓝桥杯】历届试题 地宫取宝
- wxWidgets:wxChildFocusEvent类用法
- java开发常用jar包_Java开发中常用jar包整理及使用
- 1052 卖个萌 (20 分)
- oracle中创建游标,oracle 存储过程创建游标
- Linux之bash脚本编程---if补充和for循环
- 云课堂智慧职教网页版登录入口_云课堂智慧职教网页版登录入口
- 金蝶软件常见问题及解决方案
- edge设置IE兼容模式
- 单层感知器为什么不能解决异或(XOR)问题
- SDK接入(之Android Google Play内支付(in-app Billing)接入的细节
- pagehelper不调用startpage依旧执行分页问题处理
- Idea 2021新建项目没有spring选项
- Candy Crush Soda 赏析
- 剑灵各大区服务器地图位置,剑灵各地图区域 时装获取详细方法总汇
- 【Python爬虫系列】为什么我喜欢python?来看看这些让人爱不释手的原因吧,购物网站大盘点,看过这些python做的项目,我立马入坑了…(神奇 | 爱了,爱了)
- spring 常见面试题