软件工程复习(七)

面向对象方法学概述

  • 概念

    • 认为客观世界是由各种对象组成的,任何事物都是对象个,复杂的对象可以由比较简单的对象以某种方式组合而成。
    • 把所有对象都划分成各种对象类(简称为类,class),每个独享都定义了一组数据和一组方法
    • 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)
    • 对象彼此之间仅能通过传递消息互相联系
    • OO = objets + classes + inheritance + communication with messages
  • 优点

    • 与人类习惯的思维方式一致
    • 稳定性好
    • 可重用性好
    • 较易开发大型软件产品
    • 可维护性好

面向对象建模

用面向对象方法开发软件,通常需要建立三种模式的模,分别是描述系统数据结构的对象模型
描述系统控制结构的动态模型和描述系统功能的功能模型

  • 对象模型(在UML部分详细介绍)

  • 动态模型

  • 功能模型

三种模型之间的关系

在面向对象方法学中,对象模型是最基本最重要的,为其它两种模型奠定基础,依靠对象模型完成三种模型的集成

  • 针对每个类建立的动态模型,描述了类实例的生命周期或运行周期
  • 状态转换驱使行为发生,行为在数据流图中被映射成处理,与对象模型中的服务相对应
  • 功能模型中的处理对应对象模型中类提供的服务
  • 顶层数据流图中的处理对应复杂对象提供的服务;低层数据流图中的处理对应更基本的对象(基本对象是复杂对象的组成部分)的服务
  • 有时一个处理对应多个服务,也有一个服务对应多个处理的时候
  • 功能模型中的数据存储,以及数据的源点/终点(在功能模型中称为动作对象),通常是对象模型中的对象。DataStore-ER entity-Object
  • 功能模型中的数据流,往往是对象模型中的属性值,也可能是整个对象
  • 功能模型中的处理可能产生动态模型中的事件
  • 对象模型描述了功能模型中的动作对象、数据存储以及数据流的结构
坚持原创技术分享,您的支持将鼓励我继续创作!