面向对象分析(Object-Oriented Analysis)

文章来自:ITjob

面向对象分析(OOA)方法是建立在对象及其属性、类属及其成员、整体及其部分这些基本概念的基础上。
大英百科全书指出:
人类在认识和理解现实世界的过程中普遍运用着三个构造法则:
a.区分对象及其属性。例如,区分一棵树和树的大小或空间位置关系。
b.区分整体对象及其组成部分。例如,区分一棵树和树枝。
c.不同对象类的形成及区分。例如,所有树的类和所有石头的类的形成和区分。
OOA就是建立在以上三个原则的基础上的,每个软件都建立在特定的现实世界中,OOA阶段产生的模型就是用来形式化该现实世界的"视图"---我们称之为建模。有许多优秀的方法作用于整个OOA阶段,如Shlaer-Mellor, Jacobson, Coad-Yourdon, Charles,Abbott等,还有现今已成为建模主流的UML(Unified Model Language)。
OOA就是仔细的划分系统的各个部分,明确它们之间的层次关系,然后将各个部分作为一个对象进行功能上的分析的一个过程。包括业务分析和需求分析。
OOA:是一种分析方法,它以可在问题域的词汇表中找到的类和对象的观点来理解、审视需求。(摘自<<Objects-Oriented Analysis and Design with Applications>>第二版)
虽然面向对象分析和面向对象设计的侧重点很不相同,但二者之间的界限是很模糊的,在开发中,我们往往不能明确的区分二者的范围。从上面的描述可以知道,在分析中,我们通过发现构成问题域中的词汇表来寻找类和对象,从而模拟现实世界对软件建模。
OOA阶段的方法众多,各有其特点,这里我们只介绍一种最简单的方法:非形式化的语言描述。这个方法是由Abbott提出,他建议用语言(英语)写出问题的描述,接着在名词和动词下面划线;名词代表对象,动词代表对象的操作。
例子
描述一个顾客购买机票的场景。
顾客选择某一个柜台,首先顾客向柜台助手查询某一天的航班信息以及是否有机票预订,柜台助手往电脑里输入查询信息并查看结果,如果有机票,顾客则填写预订表预订机票,柜台助手输入预订信息并打印机票,最后将机票返回给顾客。
单下划线代表对象,双下划线代表操作。通过Abbott方法我们可以分析出该场景中的对象和操作,名词:顾客、柜台助手、航班信息、机票、查询信息、机票;动词:查询、预订、打印。
在使用UML建模时,OOA阶段主要是通过另一种方法---用例分析来实现系统的用例图以及简单类图和时序图等,既UML是将系统用一种统一标准的图形来表示(在后期会专门学习)。

posted @ 2012-01-05 16:04  JAVA教程  阅读(366)  评论(0编辑  收藏  举报