1、面向对象分析(object-oriented analysis ,OOA),运用面向对象方法进行系统分析,他是软件开发周期的一个阶段。OOA强调运用面向对象方法,对问题域和系统责任进行分析和理解,找出描述问题域和系统所需要的对象,定义对象的属性、操作以及对象之间的关系,目标是建立一个符合问题域,满足用户需求的OOA模型。
2、面向对象分析OOA 与面向对象设计OOD 区别
两者的职责不同。
OOA阶段要用面向对象的建模语言对系统要实现的需求进行建模,不考虑与系统的具体实现有关的因素(如采用什么编程语言、图形用户界面设计、数据等),从而使OOA模型独立于具体的实现环境。
OOD则是针对系统的一组具体的实现条件,继续运用面向对象的建模语言进行系统设计。其中包括两方面的工作,一是根据实现条件对OOA模型做某些必要的修改和调整,作为OOD模型的一部分;二是针对具体实现条件,建立人机界面,数据存储和控件驱动等模型。
3、分析面临的主要问题
1)问题域和系统责任
问题域:被开发系统的应用以领域,即在显示世界中这个系统所涉及的业务范围
系统责任:被开发系统应该具备的职能。
2)交流问题:分析阶段所产生的文档要所有开发人员都能看懂
3)需求的不断变化
4)软件的复用
4、OOA阶段所用到的概念包括:对象、属性、操作、类、继承、聚合、关联等
5、OOA模型
通过面向对象的分析所建立的模型,表达了在OOA阶段所认识到的系统成分及彼此之间的关系。
1)用况图用来捕捉与描述用户的要求,即系统的需求,从而建立系统需求模型
2)用类图构建的模型是系统的基本模型,主要是因为类图为面向对象编程提供了最直接的依据。基本模型是静态模型,他描述系统的结构特征。类图的主要构成部分是:类、属性、操作、泛化、关联、依赖。这些成分表达的模型信息可以从一下三个层次看待:
对象层:给出系统中所有反映问题域与系统责任的对象。
特征层:给出每一个类的内部特征,即每个类的属性和操作。
关系层:给出各类之间的关系,描述了对象与外部的联系。
概括来说,OOA模型的三个层次分别描述了:
1)系统应该设立哪几类对象
2)每个类对象的内部构成
3)每类对象与外部的关系
6、OOA过程