面向对象方法学概述
概念
- 认为客观世界是由各种对象组成的,任何事物都是对象个,复杂的对象可以由比较简单的对象以某种方式组合而成。
- 把所有对象都划分成各种对象类(简称为类,class),每个独享都定义了一组数据和一组方法
- 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)
- 对象彼此之间仅能通过传递消息互相联系
- OO = objets + classes + inheritance + communication with messages
优点
- 与人类习惯的思维方式一致
- 稳定性好
- 可重用性好
- 较易开发大型软件产品
- 可维护性好
面向对象建模
用面向对象方法开发软件,通常需要建立三种模式的模,分别是描述系统数据结构的对象模型,
描述系统控制结构的动态模型和描述系统功能的功能模型
三种模型之间的关系
在面向对象方法学中,对象模型是最基本最重要的,为其它两种模型奠定基础,依靠对象模型完成三种模型的集成
- 针对每个类建立的动态模型,描述了类实例的生命周期或运行周期
- 状态转换驱使行为发生,行为在数据流图中被映射成处理,与对象模型中的服务相对应
- 功能模型中的处理对应对象模型中类提供的服务
- 顶层数据流图中的处理对应复杂对象提供的服务;低层数据流图中的处理对应更基本的对象(基本对象是复杂对象的组成部分)的服务
- 有时一个处理对应多个服务,也有一个服务对应多个处理的时候
- 功能模型中的数据存储,以及数据的源点/终点(在功能模型中称为动作对象),通常是对象模型中的对象。DataStore-ER entity-Object
- 功能模型中的数据流,往往是对象模型中的属性值,也可能是整个对象
- 功能模型中的处理可能产生动态模型中的事件
- 对象模型描述了功能模型中的动作对象、数据存储以及数据流的结构