个人总结,仅供参考,欢迎加好友一起讨论
系分 - (概念)面向对象的方法
面向对象的方法(OO,Object-Oriented)是一种基于对象模型的程序设计方法,包括面向对象的分析(OOA,Object-Oriented Analysis)、面向对象的设计(OOD,Object-Oriented Design)、面向对象的程序设计(OOP,Object-Oriented Programming),是目前应用范围最广的设计方法。
面向对象方法的本质是主张参照人们认识一个现实系统的方法,完成分析、设计与实现一个软件系统,提倡用人类在现实生活中常用的思维方法来认识和理解描述客观事物,强调最终建立的系统能映射问题域,使得系统中的对象,以及对象之间的关系能够如实地反映问题域中固有的事物及其关系。
面向对象开发方法认为客观世界是由对象组成的,对象由属性和操作组成,对象可按其属性进行分类,对象之间的联系通过传递消息来实现,对象具有封装性、继承性和多态性。面向对象开发方法是以用例驱动的、以体系结构为中心的、迭代的和渐增式的开发过程,主要包括需求分析、系统分析、系统设计和系统实现四个阶段,但是各个阶段的划分不像结构化开发方法那样清晰,而是在各个阶段之间迭代进行的。
面向对象方法是一种运用对象、类、继承封装、聚合、消息传递和多态等概念来设计系统的软件开发方法,弥补了传统的功能分解方法(反映管理功能的结构状态)、数据流模型(反映事物的信息特征和流程)、信息模拟(被动迎合实际问题需要)的不足。
典型的面向对象方法
Coad/Yourdon方法
Coad/Yourdon方法特别强调OOA和OOD采用完全一致的概念和表示法,使分析和设计之间不需要表示法的转换。
Booch方法
开发模型包括静态模型和动态模型,静态模型分为逻辑模型(类图、对象图)和物理模型(模块图、进程图),用来描述系统的构成和结构。动态模型包括状态图和顺序图,用来描述对象的状态变化和交互过程。
OMT方法
使用了建模的思想,采用对象模型(对象图)、动态模型(状态图)和功能模型(DFD)来建立建立一个实际的应用模型。
OOSE
使用用例(use case)取代了DFD来进行需求分析和建立功能模型。
面向对象的分析(OOA,Object-Oriented Analysis)
面向对象的分析方法(OOA),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析SA有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
用OOA方法对所调查结果进行分析处理时,一般依据以下几项原则:抽象(abstraction),封装,继承(inheritance),相关(association),消息通信(communication with message),组织方法,比例(scale),行为范畴(categories Of behavior)。
面向对象的分析方法(OOA)大致上遵循如下五个基本步骤:
- 确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。
- 确定结构(structure)。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。
- 确定主题(subject)。主题是指事物的总体概貌和总体分析模型。
- 确定属性(attribute)。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。
- 确定方法(method)。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。
面向对象的分析方法(OOA)可以用以下几部分UML图来表示:
- 功能模型,用例图
- 行为模型,活动区、顺序图、状态图
- 数据模型,类图
面向对象的设计(OOD,Object-Oriented Design)
面向对象的设计方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。在OOD的设计过程中,要展开的主要有如下几项工作:
-
规格的求精过程
对于OOA所抽象出来的对象-&-类以及汇集的分析文档,OOD需要有一个根据设计要求整理和求精的过程,使之更能符合OOP的需要。这个整理和求精过程主要有两个方面:一是要根据面向对象的概念模型整理分析所确定的对象结构、属性、方法等内容,改正错误的内容,删去不必要和重复的内容等。二是进行分类整理,以便于下一步数据库设计和程序处理模块设计的需要。整理的方法主要是进行归类,对类、对象、属性、方法和结构、主题进行归类。
-
数据模型和数据库设计
数据模型的设计需要确定类或对象属性的内容、消息连接的方式、系统访问、数据模型的方法等。最后每个对象实例的数据都必须落实到面向对象的库结构模型中。
-
优化
OOD的优化设计过程是从另一个角度对分析结果和处理业务过程的整理归纳,优化包括对象和结构的优化、抽象、集成。
面向对象的程序设计(OOP,Object-Oriented Programming)
面向对象程序设计(Object Oriented Programming,OOP)是一种计算机编程架构。OOP的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。OOP=对象+类+继承+多态+消息,其中核心概念是类和对象。
面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。
面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。类是对现实世界的抽象,包括表示静态属性的数据和对数据的操作,对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。在面向对象的程序设计中,对象是组成程序的基本模块。
面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性)、消息传递。通过这些概念面向对象的思想得到了具体的体现。