1.3 面向对象设计

1.3 面向对象设计


返回目录 1 面向对象技术
上一节 1.2 面向对象分析
下一节 1.4 cpp编程基础算法


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

在模型到执行环境的转换中,须要考虑实现问题加以调整和增补,经过编程语言特性等因素调整好比类结构等具体的结构。编程

OOD与OOA一致,一样应遵循抽象、信息隐蔽、功能独立、模块化等设计准则。segmentfault

感受理论比较枯燥的,能够直接跳转到1.4开始实际操做。编程语言


面向对象设计

  • 面向对象设计的活动

    • OOD在复用OOA模型的基础上,包含与OOA对应以下五个活动:模块化

      • 识别类及对象;
      • 定义属性;
      • 定义服务;
      • 识别关系;
      • 识别包。
    • 设计期必须充分考虑系统的稳定性,如目标环境所需的最大存储空间、可靠性和响应时间等,全部这些都会影响系统的结构;
    • OOD应该尽量隔离实现条件对系统的影响,对不可隔离的因素按实现条件调整OOA模型。
  • 面向对象设计的原则

    • 五大原则:单元测试

      • 单一责任原则(Single Responsibility Principle,SRP);
      • 开放-封闭原则(Open&Close Principle,OCP);
      • 里氏替换原则(Liskov Substitution Principle,LSP);
      • 依赖倒置原则(Dependence Inversion Principle,DIP);
      • 接口分离原则(Interface Segregation Principle,ISP)。
    • 其它原则测试

      • 重用发布等价原则(Release Reuse Equivalency Principle,REP);
      • 共同封闭原则(Common Closure Principle,CCP);
      • 共同重用原则(Common Reuse Principle,CRP);
      • 无环依赖原则(Acyclic Dependencies Principle,ADP);
      • 稳定依赖原则(Stable Dependencies Principle,SDP);
      • 稳定抽象原则(Stable Abstractions Principle,SAP)。

面向对象程序设计

面向对象程序设计(Object-Oriented Programming,OOP)的实质是选用一种面向对象程序设计语言(Object-Oriented Programming Language,OOPL)。

OOP采用对象、类及其相关概念所进行的程序设计。它的关键在于加入了类和继承性,从而进一步提升了抽象程度。ui

特定的OOP概念通常是经过OOPL中特定的语言机制来体现的。设计

  • 继承和类层次结构
  • 对象、消息传递和方法
  • 对象自身引用
  • 重置
  • 类属类
  • 无实例的类

面向对象测试

在全部开发系统中都是根据规范说明来验证系统设计的正确性。程序验证应 尽量早地开始。

程序调试步骤是从最底层开始,从单元测试、综合测试到系统测试。调试

  • 单元测试是系统构件的分体测试;
  • 综合测试即将测试好的系统构件接起来看它们之间相互做用的正确性;
  • 系统测试是对整个系统的测试,包括软件系统所在相关环境的测试。

综合测试尽量在早期阶段处理,由于通讯是系统开发的实质。

通常来讲,对面向对象软件的测试可分为下列4个层次进行:

  • 算法层;

    • 测试类中定义的每一个方法,基本上至关于传统软件测试中的单元测试。
  • 类层;

    • 测试封装在同一个类中的全部方法与属性之间的相互做用;
    • 在面向对象软件中类是基本模块,所以能够认为这是面向对象测试中所特有的模块测试。
  • 模板层;

    • 测试一组协同工做的类之间的相互做用,大致上至关于传统软件测试中的集成测试,可是也有面向对象软件的特色(例如,对象之间经过发送消息相互做用)。
  • 系统层。

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

返回目录 1 面向对象技术
上一节 1.2 面向对象分析
下一节 1.4 cpp编程基础


参考资料:

  • 《软件设计师教程》第五版
  • 百度百科
相关文章
相关标签/搜索