持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,点击查看活动详情
在面向对象的分析中,通常需要建立三种模式的模型,它们分别是描述系统数据结构的对象模型,描述系统数据结构的动态模型,以及描述系统功能的功能模型。这三种模型都涉及数据、控制、操作等共同的概念。只不过每种模型描述的侧重点不同。在面向对象的分析中,解决的问题不同,这三个模型的重要程度也不同。接下来就详细的介绍这三种模型。
一、对象模型
面向对象分析首要的工作,是建立问题域的对象模型。这个模型描述了现实世界中的“类与对象”以及它们之间的关系,表示了目标系统的静态数据结构。静态数据结构对应用细节依赖较少,比较容易确定。当用户的需求变化时,静态数据结构相对来说比较稳定。因此,用面向对象方法开发绝大多数软件时,都首先建立对象模型,然后再建立动态模型和功能模型。
对于复杂问题(大型系统)的对象模型通常由下述五个层次组成:主题层(也称为范畴层),类与对象层,结构层,属性层和服务层。这五个层又对应着面向对象分析过程中建立对象模型的五项主要活动:划分主题、确定类与对象、识别结构、确定属性、确定服务。事实上,这五项工作完全没必要按顺序完成。
二、动态模型
对象模型建立后,就需考察对象和关系的动态变化情况。面向对象分析所确定的对象和关系都具有生命周期。对象及其关系的生命周期由许多阶段组成,每个阶段都有一系列的运行规律和规则,用来调节和管理对象的行为。对象和关系的生命周期用动态模型来描述。动态模型描述对象和关系的状态、状态转换的触发事件、对象的服务(行为)。
(1)状态
状态是对象在其生命周期中的某个特定阶段所处的某种情形,它是对影响对象行为的属性值的一种抽象。状态规定了对象对事件的响应方式。对象对事件的响应,既可以是做一个(或一系列)动作,也可以仅仅改变对象本身的状态,还可以是既改变状态又做动作。
(2)事件
事件是引起对象状态转换的控制信息,它是在某个特定时刻所发生的事情,它是对引起对象从一种状态转换到另一种状态的现实世界中的抽象。事件没有持续时间,是瞬间完成的。
(3)服务
服务(行为)是指对象达到某种状态时所做的一系列处理操作。这些操作是需要消耗时间的。
三、功能模型
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成。数据流图中的处理对应于状态图中的活动或动作,数据流对应于对象图中的对象或属性。
建立功能模型的步骤如下。
(1)确定输入和输出值。
(2)画数据流图。
(3)定义服务。
以上就是在面向对象分析过程中对三种模型的介绍与分析,这三种模型在面向对象分析中发挥了重要作用。