第2章 什么是面向对象分析
面向对象分析(ObjectOriented Analysis,OOA),就是运用面向对象方法进行系统分析。它是软件生命周期的一个阶段,具有一般分析方法所共同具有的内容、目标及策略。但是OOA强调运用面向对象方法,对问题域和系统责任进行分析与理解,找出描述问题域和系统责任所需要的对象,定义对象的属性、操作以及对象之间的关系,目标是建立一个符合问题域、满足用户需求的OOA模型。
OOA对问题域的观察、分析和认识是很直接的,对问题域的描述也是很直接的。它所采用的概念与问题域中的事物保持了最大程度的一致,不存在语言上的鸿沟。问题域中有哪些值得考虑的事物,OOA模型中就有哪些对象,而且对象、对象的属性与操作的命名都强调与客观事物一致。另外,OOA模型也保留了问题域中事物之间关系的原貌。
面向对象分析与面向对象设计(ObjectOriented Design,OOD)的职责是不同的。在OOA阶段要用面向对象的建模语言对系统要实现的需求进行建模。OOA不考虑与系统的具体实现有关的因素(例如采用什么编程语言、图形用户界面和数据库等),从而使OOA模型独立于具体的实现环境。OOD则是针对系统的一组具体的实现条件,继续运用面向对象的建模语言进行系统设计。其中包括两方面的工作,一是根据实现条件对OOA模型做某些必要的修改和调整,作为OOD模型的一个部分;二是针对具体实现条件,建立人机界面、数据存储和控制驱动等模型。