面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象建模技术有很多种,而OMT法是目前最为成熟和实用的方法之一。
对象模型技术(object modeling technique,OMT)是美国通用电气公司提出的一套系统开发技术。它以面向对象的思想为基础,通过对问题进行抽象,构造出一组相关的模型,从而能够全面地捕捉问题空间的信息。
对象模型技术把分析时收信到的信息构造在三类模型中,即对象模型、功能模型和动态模型。他们三者之间的关系如下图所示:
图 1
注:这个模型化的过程是一个迭代的过程。
下面分别介绍上述三种模型。
(一)功能模型
(1)简要介绍:
1、该模型由多个DFD图组成,指明了通过外部输入,通过操作和内部存储,直到外部输出的整个的数据 流情况。
2、功能模型用来表示通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时 序执行。
3、功能模型中的DFD图往往形成一个层次结构。
4、上层的DFD图可由下层图作进一步说明。
(2)建模方法 :
1.确定输出和输出值;
2.用数据流图表示功能的依赖性。
3.具体描述每个功能;
4.确定限制。
5.对功能确定优化的准则。
(3)着重于系统内部数据的传送和处理。
(二)动态模型
(1)简要介绍:
动态模型包括状态图和事件跟踪图。
1、状态图
状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。
图 2 状态图的表示方法
状态是在某一时刻,属性特征的概括;状态迁移表示这一类对象在何时,对系统内外发生的哪些事件做出何种响应。
操作是一个伴随状态迁移瞬时发生的行为。动态模型由多个状态图组成,各个状态图并发执行,并可以独立地改变状态。
2、事件跟踪图
事件跟踪图则侧重于说明系统执行过程中的一个特点“场景”,也叫做脚本(scenarios),是完成系统某个功能的一个事件序列。脚本通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件。
对象到对象的单个消息叫做一个事件,在系统在一个特定的环境下发生的一系列事件队列叫做一个场景。在一个场景中,这一系列事件和交换事件的对象都可以放在一个事件跟踪图中表示。
(2)建模方法:
1.准备典型的交互序列场景;
2.确定对象之间的事件,为每个场景建立事件跟踪图;
3.为每个系统准备一个事件流程图;
4.为具有重要动态行为的类建立状态图;
5.检验不同状态图中共享的事件的一致性和完整性。
(3)着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。
(三)对象模型(最关键!)
(1)简要介绍:
对象模型描述系统的静态结构,包括类和对象,它们的属性和操作,以及它们之间的关系。该模型用包含对象及对象的关系图表示。
图3给出了在对象模型中用于表示类和对象的图形符号。
图 3 类与对象的表示方法
(2)建模方法:
1.确定对象类;
2.定义数据词典,用以描述类、属性和关系;
3.用继承组织和简化对象类;
4.测试访问路径;
5.根据对象之间的关系和对象的功能将对象分组,建立模块。
(3)构造对象模型的目的在于找出与应用程序密切相关的概念。
总结:这三个模型从不同角度对系统进行描述,分别着重于系统的一个方面,组合起来构成对系统的完整描 述。形象的说,就是功能模型定义“做什么”,状态模型定义“何时做”,对象模型定义“对谁做”。