面向对象分析与设计课程学习之OOA&D方法概貌

OOA&D方法概貌

一、OOA&D方法的主要概念

面向对象的概念包括以下两种情况:

(1)用来构成系统模型的基本成分,称为建模元素

(2)在建模中需要遵守的某种原则,不代表任何模型成分

建模元素:

对象、类

属性、操作

继承关系(及一般-特殊结构)

聚合关系(及整体-部分结构)

关联

消息

主要原则

抽象

OO方法广泛地运用抽象原则,例如:

  系统中的对象是对现实世界中事物的抽象

  类是对象的抽象

  一般类是对特殊类的进一步抽象

  属性是事物静态特征的抽象

  操作是事物动态特征的抽象

分类

分类就是把具有相同属性和操作的对象划分为一类,用类作为这些对象的抽象描述。强调:在类的抽象层次上建模

封装

属性与操作结合为一体,对外隐蔽对象内部的细节

继承

通过继承,使特殊类隐含地复制一般类的属性和操作,从而不必显式地(重复)定义它们

聚合

用聚合的概念描述事物之间的构成关系

关联

通过关联提供问题域中一组有意义的关系信息

消息通信

要求对象之间只能通过消息进行通讯,而不允许在对象之外直接地存取对象内部的属性。

粒度控制

引入包(package)的概念,把模型中的类按一定的规则进行组合,形成一些包,使模型具有大小不同的粒度层次,从而有利于人们对复杂性的控制。

行为分析

以对象为单位描述问题域中的各种事物行为,通过消息描述对象之间的行为依赖关系

二、模型及其规约

1.在分析阶段和设计阶段建立的系统模型分别称为OOA模型和OOD模型

2.建立OOA模型和OOD模型,包括需求模型、基本模型和辅助模型,通过模型规约对这些模型做详细说明

3.需求模型——用况图

每个用况是一项系统功能使用情况的说明,把每一类参与者对每一项系统功能的使用情况确切地描述出来,便全面地定义了系统的功能需求

4.基本模型——类图

面向对象的建模中最重要、最基本的模型图

集中而完整地体现了面向对象的概念

为面向对象的编程提供了最直接的依据

可以从三个层次来看

 面向对象分析与设计课程学习之OOA&D方法概貌_第1张图片

5.辅助模型——其他各种图

对类图起到辅助作用,从不同的视角来描述系统。例如包图、顺序图、活动图、状态机图等

6.模型规约

对上述各种模型图及其模型元素做详细而确切的定义和解释

OOA模型框架

 面向对象分析与设计课程学习之OOA&D方法概貌_第2张图片

OOD模型框架

——从两个侧面来描述

 面向对象分析与设计课程学习之OOA&D方法概貌_第3张图片

三、建模过程

1.OOA过程

 面向对象分析与设计课程学习之OOA&D方法概貌_第4张图片

2.OOD过程

 面向对象分析与设计课程学习之OOA&D方法概貌_第5张图片

四、OOAOOD的关系

1.一致的概念与表示法

OOAOOD采用一致的概念和表示法,从而不存在分析与设计之间的鸿沟。

不同的内容、目标和抽象层次

OOA:研究问题域和用户需求,运用面向对象的观点发现问题域中与系统责任有关的对象,以及对象的特征和相互关系。目标是建立一个直接映射问题域,符合用户需求的OOA模型。

OOD:在OOA模型基础上,针对选定的实现平台进行系统设计,按照实现的要求进行具体的设计,目标是产生一个能够在选定的软硬件平台上实现的OOD模型。

OOA模型:抽象层次较高,忽略了与现实有关的因素

OOD模型:抽象层次较低,包含了与现实平台有关的细节

2.OOAOOD的分工——两种不同的观点

 面向对象分析与设计课程学习之OOA&D方法概貌_第6张图片

五、从MDAOOAOOD的关系

1.模型驱动体系结构(model-driven architectureMDA)是OMG的一个技术规范,是一种加强模型能力的系统开发途径。模型驱动是指用模型来对系统的理解、设计、构造、部署、操作、维护和更新进行指导。MDA提倡:

在系统开发中首先建立平台无关模型(PIM

然后将它转换为平台专用模型(PSM

 面向对象分析与设计课程学习之OOA&D方法概貌_第7张图片

2.MDA的观点运用于OOAOOD

OOA:只针对问题域和责任系统,不涉及实现条件

因此可得到一个平台无关的OOA模型

OOD:在OOA模型基础上针对特定实现条件进行设计

转换成一个平台专用的OOD模型

好处:分析阶段得到的OOA模型可以在不同的实现平台上进行设计,得到多个的OOD模型;整个OOA模型可复用

 

 

 

你可能感兴趣的:(面向对象分析与设计)