定义


  • 面向对象:Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”

    如果一个软件系统是使用这样4个概念设计和实现的,则我们认为这个软件系统时面向对象的。

  • 对象:是面向对象开发模式的基本成分。每个对象可用它本身的一组属性和它可以执行的一组操作来定义。属性一般只能通过执行对象的操作来改变。操作又称为方法或服务,它

    描述了对象执行的功能,若通过消息传递,还可以为其他的对象使用。

  • 消息:是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。

  • 类:类是一组具有相同数据结构和相同操作的对象的集合。类的定义包括一组数据属性和在数据上的一组合法操作。类是具有相同属性和服务对象的集合,是该类的全部对象提供了统一的抽象描述,内部包含属性和服务。

  • 继承:继承是使用已经存在的定义作为基础建立新定义的技术。新类的定义可以是即存类所声明的数据和新类所增加的声明的组合。

面向对象技术

  • 面向对象方法的开发过程:面向对象方法改进了再生存期各个阶段之间的接口,因为在生存期各个阶段所开发出来的“部件”都是类。在面向对象生存期的各个阶段对各个类的信息进行细化,类成为分析、设计和实现的基本单元。

面向对象技术


类的实现


一旦标识了一个类,就给出了它的规格说明,其中包括类的实例可执行的操作和他们的数据表示。对每一个,无论是在哪一个阶段标识的类都是如此。类的规格说明定义了施加于对象的数据存储上的一组操作。

通过变量的声明、操作界面的实现及支持界面操作的函数的实现,可实现一个类的预期行为和状态。实现是与语言有关的,一个好的面向对象语言应当分离共有界面与其内部实现。


类的测试


如果类的定义提供的界面比较狭窄,那么穷举测试就有可能实现。类的测试在最抽象的层次开始,沿着继承关系继续向下进行。已经测试过的部分不需要从新测试。


求精和维护


这是一个在软件生存期中最花费时间的部分。传统的维护活动是针对应用的,而求精过程是针对类的,针对把类继承在一起的结构。我们可以标识抽象的抽象,使得继承结构通过一般化增加新的层次,即在即存的根类之上增加新的层次。

对象的模型化技术OMT

对象模型化技术吧分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型

面向对象技术

  • 这个模型化的过程是一个迭代的过程

    1、对象模型
    是三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,他们的属性和操作及他们之间的关系。

在OMT中,类与类之间的关系叫做关联。

聚合,代表整体与部分的关系,这是一种特殊形式的关联。

限定,用以对关联的含义做某种约束。

角色,用来说明关联的一端。由于多数关联具有两个端点,因而涉及到两个角色。

面向对象技术

面向对象技术

2、动态模型

动态模型着重与系统的控制逻辑,它包括两个图,一个状态图,一个是事件追踪图。

(1)状态图:是一个状态和事件的网络,侧重于描述每一类对象的动态行为。
在状态图中,状态是对某一时刻中属性特征的概括。而状态迁移表示这一类对象在何时对系统内外发生的哪些事件坐车何种响应。

面向对象技术

(2)操作时一个伴随状态迁移的瞬时发生的行为,与触发事件一起表示在有关的状态迁移之上。
动态模型由多个状态图组成。各个状态图并发的执行,并可以独立的改变状态。

(3)事件,一个事件发生在某一时刻,每个事件都是单独发生的,我们建立事件类,并给每个事件一个名字,以指明共同结构和行为,事件从一个对象向另一个对象传送信息。

(4)事件追踪图侧重于说明发生于系统执行过程中的一个特定“场景”。场景也叫做脚本,是完成系统某个功能的一个事件序列。

状态图与事件追踪图的关系:状态图叙述一个对象的个体行为,事件追踪图则给出多个对象所表现出来的集体行为。例如:一个事件追踪图指出某一对象在接受一个事件之后发生另一事件,同一行为在此对象的状态图中也应当有所表示。

3、功能模型

表明通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。功能模型有多个数据流图组成,他们指明从外部输入,通过操作和内部存储,知道外部输出,这整个的数据流情况。功能模型中所有的数据流图往往形成一个层次结构,在这个层次结构中,一个数据流图中的过程可以由下一层的数据流图做进一步的说明。

面向对象技术


基于三个模型的分析过程:


功能模型着重与系统内部数据的传送和处理

1、功能模型定义“做什么”

2、动态模型定义“何时做”

3、对象模型定义“对谁做”


Coad与Yourdon面向对象分析:


OOA有两个任务

1、形式的说明我们所面对的应用问题,最终成为软件系统基本构成的对象,还有系统所必须遵从的,由应用环境所决定的规则和约束

2、明确的规定构成系统的对象如何协同合作完成指定的功能


构造OOA概念模型的层次:


1、构造和评审OOA概念模型的顺序和有五个层次组成,这五个层次是分析过程中的层次。

2、每个层次的工作都为系统的规格说明增加了一个组成部分。

3、这五个层次是:类与对象、属性、服务、结构和主题。

面向对象技术

具体

一、对象—类层

1、对象—类层,表示待开发系统的基本构造块。这一层是整个OOA模型的基础,问题在于如何建立“现实世界中事物”的抽象行为,也就是如何建立基本块

2、信息建模,就是只从现实世界中捕捉并抽象出应用领域的基本结构的过程,这是OOA过程中最基本和最关键的活动之一

3、应用论域是非常重要的,同一概念在不同论域中抽象出来的基本结构块是不同的

二、属性层

对象的属性和实例连接共同组成了OOA模型的属性层

面向对象技术

三、服务层

对象的服务,加上对象实例之间的消息通信,共同组成了OOA模型的服务层,消息连接用有想箭头表示。

面向对象技术

四、结构层

该层负责捕捉特定应用论域中的结构关系。

1、结构层的一种类型,描绘出了该系统的整体结构

2、结构层的另一种类型称为一般——特殊结构或泛化——特化结构,泛化——特化结构表明了类的继承性。
一般——特殊化结构

面向对象技术

整体——部分结构
面向对象技术
五、主题层

OOA模型的结构庞大而复杂,可以将对象归类到各个主题中,把有关的对象用一个主题表框框起来。

相关文章:

  • 2021-08-28
  • 2022-01-11
  • 2021-08-12
  • 2022-12-23
  • 2021-10-30
  • 2021-09-07
  • 2021-06-08
猜你喜欢
  • 2021-07-15
  • 2021-12-21
相关资源
相似解决方案