⾯向对象分析之三个⼦模型与五个层次
⾯向对象建模得到的模型包含系统的3个要素:静态结构(对象模型)、交互次序(动态模型)和数据变换(功能模型)。
这三个模型解决的问题不同,其重要程度也不同:⼏乎解决任何⼀个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型;当问题涉及交互作⽤和时序时(⽐如,⽤户界⾯及过程控制等),动态模型很重要;解决运算量很⼤的问题(⽐如,⾼级语⾔编译科学与⼯程计算等),则功能模型更重要。
复杂问题(⼤型系统)的对象模型可以由下⾯五个层次组成:主体层、类与对象层、结构层、属性层、服务层。这5个层次就像叠在⼀起的5张透明塑料⽚,它们⼀层⽐⼀层显现出对象模型的更多细节。
建⽴对象模型
⾯向对象分析⾸要的⼯作,是建⽴问题域的对象模型。这个模型描述了现实世界中的“类与对象”以及它们之间的关系,表⽰了⽬标系统的静态数据结构。静态数据结构对应⽤细节依赖较少,⽐较容易确定;当⽤户的需求变化时,静态数据结构相对来说⽐较稳定。因此,⽤⾯向对象⽅法开发绝⼤多数软件时,都⾸先建⽴对象模型,然后再建⽴另外两个⼦模型。
对象模型通常有5个层次,基本的⼯作步骤是:⾸先确定对象类和关联(因为它们影响系统整体结构和解决问题的⽅法),对于⼤型复杂问题还要进⼀步划分不同主题;然后给类和关联添加属性,⽬的为进⼀步描述它们;接下来利⽤适当的继承关系进⼀步合并和组织类。⽽对类中操作的最后确定,则需要等建⽴了动态模型和功能模型之后,因为这两个⼦模型更准确地描述了对类中提供的服务的需求。
建⽴动态模型
第⼀步,编写典型交互⾏为的脚本。虽然脚本中不可能包括每个偶然事件,但是,⾄少必须保证不遗漏常见的交互⾏为。
第⼆步,从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的⽬标对象。
第三步,排列事件发⽣的次序,确定每个对象可能有的状态及状态间的转换关系,并⽤状态图描绘它们。
最后,⽐较各个对象的状态图,检查它们之间的⼀致性,确保事件之间的匹配。
顺便解释⼀下什么是脚本,“脚本”原意是指“表演戏曲、话剧、拍摄电影、电视剧等所依据的本⼦,⾥⾯记载台词、故事情节等”。
在建⽴动态模型的过程中,脚本是指系统在某⼀执⾏期间内出现⼀系列事件。
对象模型是什么 建⽴功能模型
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由⼀组数据流图组成。其中的处理功能可以⽤IPO图(或表)、伪码等多种⽅式进⼀步描述。通常在建⽴对象模型和动态模型之后再建⽴功能模型。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论