1、面向过程解决复杂问题的无力
(现实世界过于复杂,难以模拟)尤其在软件升级过程中,难以控制众多的影响因素,一个可选的思路就是讲复杂问题细化成一个个的单元,脱离整体思考问题。各个单元之间通过接口完成组合。
2、面向对象编程的重要概念
封装:隐藏内部
聚合:多个对象结合在一起形成新的对象
继承:子类继承父类
接口:不同对象实现同一个本质
多态:外表相似,功能(行为不一致)
依赖:与部分对象产生联系,而不依赖宏观环境
耦合:与依赖的对象保持信息联系
类属性:属于类私有的部分
方法:与外界交流的窗口
抽象:对宏观世界找相似并组合成部落(类)
实例化:生成对象
复用:具有通用性质的对象
抽象层次:在不同层面上作为一个单独个体存在,上一级层次可以具体在分级成多个类,本级层次可以再向上一个层次抽象
3、UML的可视化
把文字描述变为图形描述
从现实世界---->业务模型---->概念模型---->设计模型
4、从现实世界到业务模型
参与者(actor):作为 信息来源提供者,参与者代表了现实世界的“人”,参与者是模型信息来源的提供者,也是第一驱动者。(第一驱动者就是完全符合actor的需求)
用例(use case)元模型表达驱动者的业务目标(要做的事),做事的规则则使用 业务场景(business scenario)和用例场景(use case scenario)来描绘。
业务对象模型(bussiness object model) 视图来说明达成业务目标所涉及到的事务,代表了现实中的物。
5、从业务模型到概念模型
边界类(boundary):类似于mvc里的view,类似于界面。边界对顶了外面能对里面做什么“事”。
实体类(entity):类似于mvc里面的model。也就是物。
控制类(control):充当边界类和实体类,边界类和边界类,实体类和实体类相互访问的规则和桥梁。
加上由参与者转化而来的系统的“用户”,人,事,物,规则统一具备了。
6、从概念模型到设计模型
在设计模型中,概念模型的
- 边界类可以被转化为操作界面或系统接口;
- 控制类可以被转化为计算程序或控制程序,例如工作流、算法体;
- 实体类可以转化为数据库表、XML文档或者其他带有持久化特征的类。遵循以下规则:
软件架构和框架:规定了实现类必须实现的接口,必须继承的超累,必须遵守的变成规则等
编程语言:
规范或者中间件:如果采用某个规范或者中间件时,实现类还要遵循规范或者中间件规定的那些必须特性。
从现实世界到设计模型完整过程图
7、统一过程RUP(Rational Unifiied Process)
统一过程的4个阶段和9个核心工作流