面向对象分析(object-orientedanalysis)简称OOA,就是抽取和整理用户需求并建立问题域精确模型的过程。
1.关键:
识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。
2.目的:
系统分析员应该深入理解用户需求,抽象出系统的本质属性,提取系统需求规格说明,并用模型准确地表示出来。
3.分析过程:
从分析陈述用户需求的文件开始。可能由用户单方面写出需求陈述,也可能由系统分析员配合用户,共同写出需求陈述。接下来,系统分析员应该深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。系统分析员必须与用户及领域专家密切配合协同工作,共同提炼和整理用户需求。
4.建模过程:
系统分析员必须认真向领域专家学习,仔细研究以前针对相同的或类似的问题域进行面向对象分析所得到的结果。
5.三种模型:对象模型,动态模型,功能模型。
(1)对象模型:
需求陈述、应用领域的专业知识以及关于客观世界的常识,是建立对象模型时的主要信息来源。
建立对象模型的一般步骤:
1.首先确定对象类和关联。2.对于大型复杂问题划分出若干个主题;3.然后给类和关联增添属性,以进一步描述它们,4.接下来利用适当的继承关系进一步合并和组织类。5.对于类中操作的最后确定,则等到建立了动态模型和功能模型之后,因为这两个子模型更准确地描述了对类中提供的服务的需求。
(2)动态模型:
脚本(script)是详细描述每一个动态交互过程动作序列的信息;
状态图是表达对象状态转换过程的图形方法;
事件跟踪图表达对象与对象之间可能发生的所有事件,以及按发生时间的先后顺序列出所有事件的一种图形方法。
动态模型主要由状态图和事件跟踪图构成。各类对象的状态图通过共享事件合并起来,就构成了系统的动态模型,而状态图的构造过程可从事件跟踪图开始。事件跟踪图实质上是扩充的图示脚本,因此,应该对每一个脚本构造一张事件跟踪图。
(3)功能模型:
基本系统模型由若干数据源点/终点和处理框三部分组成,首先建立一个基本系统模型,然后将单一的处理框按照功能进行细化,得到分层的系统流图,以描述系统加工,变换数据流的过程。待处理框细化到一定程度之后,就应该描述每一个处理框实现的功能。处理框的描述可以是说明性的,也可以是过程性的。