OOAD就是面向对象的分析与设计,OOAD是一种方法学。面向对象的方法按照人类的自然思维的方式,面对客观世界建立软件模型。充分体现了对复杂系统进行分解、抽象、模块化等思想。
OOA依照用户所理解的真实世界中的对象和概念,发现和分析对象的内部构成和外部关系,建立准确而简洁的软件系统的对象模型。
OOD是根据已建立的系统对象模型,运用面向对象技术,进行软件设计。
OOAD与传统设计分析(面向过程的)相比优点:
在实现的结果和实际问题之间存在一种很接近的匹配关系
促进对象的重用
由于对象的重用成为可能,从而可以减少错误和维护问题
对象的重用还加速了设计和开发的过程
符合人类认知的方式,因为这是我们自然的思考方式
加强数据封装
有助于处理软件开发的复杂性,并帮助生成可修改的、有弹性的软件系统
UML是这种OOAD方法学的表现形式,采用OOAD的建模结果就是各种各样UML图。UML和OOAD不可以单独而谈问题,它们密不可分。UML是一种建模语言,是一种标准的表示,而不是一种方法或方法学。方法是一种把人的思考和行动结构化的明确方式。方法需要定义软件开发的步骤,告诉人们做什么,如何做,什么时候做,以及为什么要这么做,而UML只定义了一些图以及它们的意义。它的思想是与方法无关,因此,我们会看到人们将用各种方法来使用 UML。而无论方法,如何变化它们的基础是UML的图,这就是 UML 的最终用途,为不同领域的人们提,供统一的交流标准。
软件开发的难点在于一个项目的参与包括领域专家、软件设计开发人员、客户以及用户,他们之间交流的难题成为软件开发的最大难题,UML的重要性在于,表示方法的标准化有效地促进了不同背景人们的交流,有效地促进软件设计 开发和测试人员的相互理解,无论分析设计和开发人员采取何种不同的方法或过程,他们提交的设计产品都是用UML来描述的,这有利地促进了相互的理解。