软考-软件设计师:面向对象基础

类的分类

类似:MVC

  • 实体类:该类对象表示现实世界中真实的实体,如人、物等

  • 接口类(边界类):该类对象为用户提供一种与系统合作 交互的方式,分为人和系统两大类:

    • 人的接口:可以是显示屏、窗口、Web 窗体、对话框、菜单、列表框、其他显示控制、条形码、二维码或者用户与系统交互的其他方法。

    • 系统接口:把数据发送到其他系统,或者从其他系统接收数据。

  • 控制类:该类对象用来 控制活动流,充当协调者。

面向对象开发流程

面向对象分析

对系统中对象的 特征(属性) 和 行为(方法) 的定义

目的:确定系统的功能、性能要求

  • 认定对象:按自然存在的实体确立对象。将自然存在的 名词 作为一个对象

  • 组织对象:将对象抽象成类,建立具有继承的类结构。

  • 对象间的作用:对象的关系,如一个对象是另一个对象的一部分,一个对象与其他对象间的通信关系等。

  • 对象操作:如创建、增加和删除等

面向对象设计

面向对象设计(Object-Oriented Design,OOD)是将 OOA 所创建的分析模型转化为设计模型,其目标是定义系统构造蓝图

面向对象的设计活动
  • 识别类及对象。
  • 定义属性。
  • 定义服务。
  • 识别关系。
  • 识别包。
面向对象的设计原则
  • 单一职责原则:功能单一的类

  • 开放-封闭原则:对扩展开放,对修改封闭

  • 里氏(Liskov)替换原则:子类可以替换父类

  • 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程

  • 接口隔离原则:使用多个专门的接口,比使用单一的总接口要好

  • 组合重用原则:要尽量使用 组合/聚合,而不是使用继承

  • 迪米特(Demeter)原则(最少知识法则):一个类对其他类的了解尽可能少

obertC.Martin 提出的面向对象设计原则

包括:

  • 重用发布等价原则:重用的粒度就是发布的粒度。

  • 共同封闭原则:包中的所有类对于同一性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包里的所有类产生影响,而对于其他的包不造成任何影响。

  • 共同重用原则:一个包里的所有类应该是共同重用的。如果重用了包里的一个类,那么就要重用包中的所有类。

  • 无环依赖原则:在包的依赖关系图中不允许存在环,即包之间的结构必须是一个直接的无环图形。

  • 稳定抽象原则:包的抽象程度应该和其稳定程度一致。

  • 稳定依赖原则:朝着稳定的方向进行依赖。

面向对象程序设计

357页

面向对象测试

尽可能 降低测试成本 和 减少测试用例,尽可能 更多的发现错误

分为下列4个层次进行:

  • 算法层。测试每个方法,相当于 单元测试

  • 类层。测试方法与属性之间的相互作用(模块测试)

  • 模板层。测试类之间的相互作用,相当于传统软件测试中的 集成测试

  • 系统层。把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。

软件工程中传统的测试用例设计技术,如逻辑覆盖、等价类划分和边界值分析等方法,仍然可以作为测试类中每个方法的主要技术。

题

面向对象分析的目的是为了获得对应用问题的理解,其主要活动不
包括()
A、认定并组织对象
B、描述对象间的相互作用
C、面向对象程序设计
D、确定基于对象的操作

答案

B

题

进行面向对象设计时,就一个类而言,应该仅有一个引起它变化的
原因,这属于()设计原则。
A、单一责任
B、开放-封闭
C、接口分离
D、里氏替换

答案

A

题

进行面向对象系统设计时,针对包中的所有类对于同一类性质的变化;一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。这属于()设计原则。

A、共同重用
B、开放-封闭
C、接口分离
D、共同封闭

答案

D


原文出处:/show_1GWz51i6CxQ.html