面向对象与软件建模
面向对象技术
以问题域中出现的问题为中心,进行模型化设计和开发
基础知识:
- 对象与类
- 封装
- 泛化(继承)
- 多态性
多态的两种模式:
-
方法的多态性
- 方法的重载:同一个方法名称可以根据传入的参数的类型或个数不同实现不同功能的执行
- 方法的覆写:同一个方法由不同的类实现
-
对象的多态性
- 对象向上转型:父类 父类实例 = 子类实例(自动转换)
- 对象向下转型:子类 子类实例 = (子类)父类实例(强制转换)
- 对象向上转型:父类 父类实例 = 子类实例(自动转换)
抽象类:
- 具有属性和操作,但仅仅只是表示概念的定义,不能实例化
- 必定存在子类
- 类名用斜体字表示
基本软件开发过程
瀑布型开发
- 阶段间具有顺序性和依赖性
- 推迟程序的物理实现
- 应对需求变更风险的能力薄弱
- 有良好的质量保证
- 是一种逐步细化的过程模型
迭代型开发
- 可以较早发现系统风险并进行规避
- 能灵活应对需求变更和追加
- 迭代进行测试,可以提高系统的开发质量
- 系统分割的开发单元较小,降低了开发的复杂度
软件建模
- 质量、成本、工期(三要素)
- 生产性