软考-11.1面向对象基本概念-分析设计测试
前言
内容:
- 面向对象开发
中论
面向对象开发
对象:由数据以及操作所构成的封装体,系统中用来描述客观事物的一个实体。通常由对象名、属性和方法三部分组成。
类:实体的形式化描述。主要有三大类
- 实体类:实体类对象表示现实世界中真实的实体
- 接口类(边界类):为用户提供一种与系统合作交互的方式
- 控制类:用来控制活动流,充当协调者
抽象:通过特定的实例抽取共同特征以后形成概念的过程,强调主要特征,忽略次要特征
封装:一种信息隐蔽技术
继承:类之间的层次关系
多态:不同对象收到同一个消息时产生完全不同的结果
接口:不同于接口类。描述对操作规范的说明,不定义操作如何做
消息:对象间的交互
覆盖:子类在原有父类的接口基础上,用适用于自己要求的实现去置换父类中相应实现
函数重载:无所谓子类父类,函数同名且参数不同
绑定:把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行,为静态绑定。在运行时进行,为动态绑定。
面向对象的分析
为了确定问题域,理解问题。
包含五个活动:认定对象、组织对象、描述对象间的相互作用、确定对象的操作、定义对象的内部信息。
面向对象需求建模
面向对象的设计
设计分析模型和实现相应源代码
- 面向对象的分析模型:顶层架构图、用例与用例图、领域概念模型
- 面向对象的设计模型:以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等
面向对象的设计原则
- 单一责任原则:一个类而言,有且仅有一个引起它变化的原因
- 开放-封闭原则:软件实体应该是可以扩展,但是不可修改的。
- 里式替换原则:子类必须能够替换掉他们的基类
- 依赖倒置原则:抽象不应该依赖于细节,细节应该依赖于抽象
- 接口分离原则:依赖于抽象,不依赖于具体。
面向对象软件的测试
- 算法层:测试类中定义的每个方法
- 类层:测试封装在同一个类中的所有方法与属性之间的相互作用
- 模板层:测试一组协同工作的类之间的相互作用
- 系统层:各个子系统组装成完整的面向对象设计软件,在组装的过程中进行测试
后记
是非入耳君须忍,半作痴呆半作聋。
评论