软件工程——面向对象技术

什么是面向对象?

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

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

· 面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计软件开发,扩展到如数据库系统交互式界面、应用结构、应用平台、分布式系统网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

· 面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

 面向对象的三大模型

一、对象模型化技术OMT

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

image.png

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

1、关联

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

关联形式:

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

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

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

2、类和对象的关系:

image.png

二、动态模型

· 动态模型着重于系统的控制逻辑。

· 它包括两个图,一是状态图,一是事件追踪图

(1)状态图

· 状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。

image.png

· 动态模型由多个状态图组成

· 各个状态图并发地执行,并可以独立地改变状态

(2)事件追踪图

事件

· 一个事件发生在某一个时刻

· 每个事件都是单独发生的

· 我们建立事件类,并给每个事件一个名字,以指明共同结构和行为

· 事件从一个对象向另一个对象传送信息。

事件追踪图

· 事件追踪图

· 事件追踪图侧重于说明发生于系统执行过程中的一个特定“场景”

· 场景也叫做脚本,是完成系统某个功能的一个事件序列

(3)状态图与事件追踪图的关系

· 状态图叙述一个对象的个体行为,事件追踪图则则给出多个对象所表现出来的集体行为。

· 例如,一个事件追踪图指出某一对象在接受一个事件之后发出另一事件,同一行为在此对象的状态图中也应当有所表示。

三、功能模型

· 功能模型表明,通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。

· 功能模型由多个数据流图组成,它们指明从外部输入,通过操作和内部存储,知道外部输出,这整个的数据流情况。

· 功能模型中所有的数据流图往往形成一个层次结构。

· 在这个层次结构中,一个数据流图中的过程可以由下一层的数据流图做进一步的说明。

· 数据流图中允许加入控制流,但这样做将与动态模型重复,不提倡夹带控制流。

image.png

四、基于三大模型的分析过程

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

        功能模型定义“做什么”

        动态模型定义“何时做”

        对象模型定义“对谁做”

Guess you like

Origin blog.csdn.net/yangsimo/article/details/119508727