1.1 面向过程还是面向对象
这种认识论
帮助我们构造更为复杂的系统来解释越来越复杂的现实世界
1.1.1 面向过程方法
1.1.2 面向过程的困难
在需求复杂度较低的时候非常管用
构成一个系统的因素太多,要把所有的可能因素都考虑到,所有因素的因果关系都分析清楚,模拟出来太困难了
1.1.3 面向对象方法
封装、继承、聚合、接口、多态
抽象、类、实例化
复用、抽象层次
1.1.4 面向对象困难
抽象-现实世界和对象世界之间存在着一道鸿沟
1.2 UML带来了什么
1.2.1 什么是UML
编程需要的对象不但不能够从设计中自然而然的推到出来,而且强调连续性和过程化的结构化设计与事件驱动型的离散对象结构之间有着难以调和的矛盾。
OOD:面向对象设计
OOA:面向对象分析
统一语言
1.2.2 统一语言
统一的目标是形成标准
另一个意义是让人和机器都能读懂
UML采用了“可视化”的图形方式来定义语言
1.2.3 可视化
元模型和表示法
1.2.4 从现实世界到业务模型
建立模型是指通过对客观事物建立一种抽象的方法
人驱动系统,事件体现过程,物记录结果,规则是控制
Actor参与者
use case 用例
1.2.5 从业务模型到概念模型
分析模型:
边界类 boundary
实体类 entity
控制类 control
1.2.6 从概念模型到设计模型
如见架构和框架
编程语言
规范和中间件
1.2.7 面向对象的问题解决了吗
一种把现实世界映射到对象世界的方法
一种用对象世界描述现实世界的方法
一种用对象世界行为正确反映了现实世界的方法
1.3 统一过程简介
1.3.1 RUP是什么
四个阶段:先启、精化、构建、产品化
九个核心工作流:业务建模、需求、分析设计、实施、测试、部署、配置与变更管理、项目管理、环境
1.3.2 RUP和UML
音乐理论和五线谱的关系
1.3.3 RUP与软件工程
长期战略的软件产品
1.3.4 RUP最佳实践
软件产品
UML、构件化、用例驱动、架构导向
项目管理、迭代生命周期、质量管理、配置管理、人员角色