1、面向过程解决复杂问题的无力

(现实世界过于复杂,难以模拟)尤其在软件升级过程中,难以控制众多的影响因素,一个可选的思路就是讲复杂问题细化成一个个的单元,脱离整体思考问题。各个单元之间通过接口完成组合。

2、面向对象编程的重要概念

封装:隐藏内部
聚合:多个对象结合在一起形成新的对象
继承:子类继承父类
接口:不同对象实现同一个本质
多态:外表相似,功能(行为不一致)
依赖:与部分对象产生联系,而不依赖宏观环境
耦合:与依赖的对象保持信息联系
类属性:属于类私有的部分
方法:与外界交流的窗口
抽象:对宏观世界找相似并组合成部落(类)
实例化:生成对象
复用:具有通用性质的对象
抽象层次:在不同层面上作为一个单独个体存在,上一级层次可以具体在分级成多个类,本级层次可以再向上一个层次抽象

3、UML的可视化

把文字描述变为图形描述

从现实世界---->业务模型---->概念模型---->设计模型

4、从现实世界到业务模型

参与者(actor):作为 信息来源提供者,参与者代表了现实世界的“”,参与者是模型信息来源的提供者,也是第一驱动者。(第一驱动者就是完全符合actor的需求)
用例(use case)元模型表达驱动者的业务目标(要做的),做事的规则则使用 业务场景(business scenario)和用例场景(use case scenario)来描绘。
业务对象模型(bussiness object model) 视图来说明达成业务目标所涉及到的事务,代表了现实中的
大象Thinking.in.UML第二版读书笔记第1章:为什么需要UML

5、从业务模型到概念模型

边界类(boundary):类似于mvc里的view,类似于界面。边界对顶了外面能对里面做什么“事”。
实体类(entity):类似于mvc里面的model。也就是物。
控制类(control):充当边界类和实体类,边界类和边界类,实体类和实体类相互访问的规则和桥梁。

加上由参与者转化而来的系统的“用户”,人,事,物,规则统一具备了。
大象Thinking.in.UML第二版读书笔记第1章:为什么需要UML

6、从概念模型到设计模型

在设计模型中,概念模型的

  • 边界类可以被转化为操作界面或系统接口;
  • 控制类可以被转化为计算程序或控制程序,例如工作流、算法体;
  • 实体类可以转化为数据库表、XML文档或者其他带有持久化特征的类。遵循以下规则:
    软件架构和框架:规定了实现类必须实现的接口,必须继承的超累,必须遵守的变成规则等
    编程语言
    规范或者中间件:如果采用某个规范或者中间件时,实现类还要遵循规范或者中间件规定的那些必须特性。
    大象Thinking.in.UML第二版读书笔记第1章:为什么需要UML
    从现实世界到设计模型完整过程图
    大象Thinking.in.UML第二版读书笔记第1章:为什么需要UML
7、统一过程RUP(Rational Unifiied Process)

统一过程的4个阶段和9个核心工作流
大象Thinking.in.UML第二版读书笔记第1章:为什么需要UML

相关文章: