一、指代不同
1、OOA:面向对象分析方法,是确定需求或者业务的角度,按照面向对象的思想来分析业务。
2、OOD:面向对象设计方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。
3、OOP:面向对象程序设计作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。
二、规则不同
1、OOA:只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的不同点相同点,确定问题中的对象。
2、OOD:是管理程序内部各部分的相互依赖。为了达到这个目标,OOD要求将程序分成块,每个块的规模应该小到可以管理的程度,然后分别将各个块隐藏在接口(interface)的后面,只通过接口相互交流。
3、OOP:模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。
三、侧重点不同
1、OOA:强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
2、OOD:是一种解决软件问题的设计范式(paradigm),一种抽象的范式。使用OOD这种设计范式,我们可以用对象(object)来表现问题领域(problem domain)的实体,每个对象都有相应的状态和行为。
3、OOP:通过建立模型而达到的抽象是人们对客体认识的深化。
参考资料来源:百度百科-OOD
参考资料来源:百度百科-OOP
参考资料来源:百度百科-OOA
首先讲OOA(面向对象的分析)、OOD(面向对象的设计)、OOP(面向对象的编程)不是JAVA中的,特别是OOA和OOD几乎和语言无关,是一种分析和设计的思想&方法。OOP则是实现OOD的方法,具体到了语言层面。
事实上应用面先对象的分析和面向对象的设计的系统,实现时甚至可以使用非面向对象的语言实现。
OOA是面向对象的分析 Analysis
OOD是面向对象的设计 Design
OOP是面向对象的编程 Programming
都是相辅相成的: 分析是为了设计,设计是为了编程。
都属于软件工程的不同课题。
三个过程通常会相互影响,不是个简单的顺序关系。这种“非顺序的关系”就是软件过程研究的主要内容。
ooa通过对象的思想进行用户业务的分析和构架,获得对象化的分析结果。
ood通过对象的思想进行软件系统设计,获得对应的详细设计结果,可能是文档化的详细设计,也可能是模型化的设计模型。
前两个都属于方法论的范畴,而后者则属于过程论的范畴。
oop是指在软件开发过程中通过oo的思想进行表达和实现。
ooa通过对象的思想进行用户业务的分析和构架,获得对象化的分析结果。
ood通过对象的思想进行软件系统设计,获得对应的详细设计结果,可能是文档化的详细设计,也可能是模型化的设计模型。
前两个都属于方法论的范畴,而后者则属于过程论的范畴。
oop是指在软件开发过程中通过oo的思想进行表达和实现。