会计考友 发表于 2012-8-2 08:48:37

2011年软考系统分析师整理资料:面向对象(5)

五、面向对象的模型  ·对象模型
  对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。该模型主要关心系统中对象的结构、属性和操作,它是分析阶段三个模型的核心,是其他两个模型的框架。
  1.对象和类
  (1) 对象。
  对象建模的目的就是描述对象。
  (2) 类。
  通过将对象抽象成类,我们可以使问题抽象化,抽象增强了模型的归纳能力。
  (3) 属性。
  属性指的是类中对象所具有的性质(数据值)。
  (4) 操作和方法。
  操作是类中对象所使用的一种功能或变换。类中的各对象可以共享操作,每个操作都有一个目标对象作为其隐含参数。
  方法是类的操作的实现步骤。
  2.关联和链
  关联是建立类之间关系的一种手段,而链则是建立对象之间关系的一种手段。
  (1) 关联和链的含义。
  链表示对象间的物理与概念联结,关联表示类之间的一种关系,链是关联的实例,关联是链的抽象。
  (2) 角色。
  角色说明类在关联中的作用,它位于关联的端点。
  (3) 受限关联。
  受限关联由两个类及一个限定词组成,限定词是一种特定的属性,用来有效的减少关联的重数,限定词在关联的终端对象集中说明。
  限定提高了语义的精确性,增强了查询能力,在现实世界中,常常出现限定词。
  (4) 关联的多重性。
  关联的多重性是指类中有多少个对象与关联的类的一个对象相关。重数常描述为“一”或“多”。
  3.类的层次结构
  (1) 聚集关系。
  聚集是一种“整体-部分”关系。在这种关系中,有整体类和部分类之分。聚集最重要的性质是传递性,也具有逆对称性。
  聚集可以有不同层次,可以把不同分类聚集起来得到一颗简单的聚集树,聚集树是一种简单表示,比画很多线来将部分类联系起来简单得多,对象模型应该容易地反映各级层次。
  (2)一般化关系。
  一般化关系是在保留对象差异的同时共享对象相似性的一种高度抽象方式。它是“一般---具体”的关系。一般化类称为你类,具体类又能称为子类,各子类继承了交类的性质,而各子类的一些共同性质和操作又归纳到你类中。因此,一般化关系和继承是同时存在的。一般化关系的符号表示是在类关联的连线上加一个小三角形 。

会计考友 发表于 2012-8-2 08:48:38

2011年软考系统分析师整理资料:面向对象(5)

 4.对象模型  (1)模板。模板是类、关联、一般化结构的逻辑组成。
  (2)对象模型。
  对象模型是由一个或若干个模板组成。模板将模型分为若干个便于管理的子块,在整个对象模型和类及关联的构造块之间,模板提供了一种集成的中间单元,模板中的类名及关联名是唯一的。
  ·动态模型
  动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制
  性质,它关心的是系统的控制,操作的执行顺序,它表示从对象的事件和状态的角度出发,表现了对象的相互行为。
  该模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织。使用状态图作为描述工具。它涉及到事件、状态、操作等重要概念。
  1.事件
  事件是指定时刻发生的某件事。
  2.状态
  状态是对象属性值的抽象。对象的属性值按照影响对象显著行为的性质将其归并到一个状态中去。状态指明了对象
  对输入事件的响应。
  3.状态图
  状态图是一个标准的计算机概念,他是有限自动机的图形表示,这里把状态图作为建立动态模型的图形工具。
  状态图反映了状态与事件的关系。当接收一事件时,下一状态就取决于当前状态和所接收的该事件,由该事件引起的状态变化称为转换。
  状态图是一种图,用结点表示状态,结点用圆圈表示;圆圈内有状态名,用箭头连线表示状态的转换,上面标记事件名,箭头方向表示转换的方向。
  ·功能模型
  功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。图10-15给出了一个窗口系统的图标显示的数据流图。
  数据流图中包含有处理、数据流、动作对象和数据存储对象。
  1.处理
  数据流图中的处理用来改变数据值。最低层处理是纯粹的函数,一张完整的数据流图是一个高层处理。
  2.数据流
  数据流图中的数据流将对象的输出与处理、处理与对象的输入、处理与处理联系起来。在一个计算机中,用数据流来表示一中间数据值,数据流不能改变数据值。
  3.动作对象
  动作对象是一种主动对象,它通过生成或者使用数据值来驱动数据流图。
  4.数据存储对象
  数据流图中的数据存储是被动对象,它用来存储数据。它与动作对象不一样,数据存储本身不产生任何操作,它只响应存储和访问的要求。
页: [1]
查看完整版本: 2011年软考系统分析师整理资料:面向对象(5)