如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
面向对象的分析与设计方法面向对象方法的基本概念和特征1.面向对象技术的发展(1)在20世纪80年代初期以前:面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。(2)自80年代以来,面向对象方法已深入到计算机软件领域的几乎所有分支,远远超出了程序设计语言和编程技术的范畴。同时,面向对象方法也深入到计算机软件以外的一些领域。(3)目前看,面向对象方法最主要的应用范围仍是软件开发,对软件生命周期的各个阶段(包括分析、设计、编程、测试与维护),以及它所涉及的各个领域(如人机界面、数据库、软件复用、形式化方法、CASE工具等等),都已形成或正在形成面向对象的理论与技术体系。6.1.1面向对象方法概述面向方法的特点:·从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。·事物的静态特征(即可以用一些数据来表达的特征)用对象的属性表示,事物的动态特征(即事物的行为)用对象的服务(或操作)表示。·对象的属性与服务结合为一个独立的实体,对外屏蔽其内部细节,称作封装。·把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。·通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构造过程及其文档。·复杂的对象可以用简单的对象作为其构成部分,称作聚合。·对象之间通过消息进行通信,以实现对象之间的动态联系。·通过关联表达对象之间的静态关系。面向对象的定义一种使用对象(它将属性与操作封装为一体)、消息传送、类、继承、多态和动态绑定来开发问题域模型之解的范型。一种基于对象、类、实例和继承等概念的技术。用对象作为建模的原子。6.1.2面向对象的软件工程定义:是面向对象方法在软件工程领域的全面运用。组成部分:面向对象的分析(OOA)面向对象的设计(OOD)面向对象的编程(OOP)面向对象的测试(OOT)面向对象的软件维护面向对象的分析(OOA)特点:保留问题域中的单个事物和事物之间的关系的原貌(没有转换、扭曲、重新组合)直接针对问题域中客观存在的各项事物建立OOA模型中的对象。用对象的属性描述事物的静态特征用对象的服务描述事物的行为。对象及其服务的命名都强调与客观事物一致。模型中的对象数等于问题域中的值得考虑的事物(对象)数。保留了问题域中事物之间的关系。把具有相同属性和相同服务的对象归结为一类,用一般/特殊结构(又称分类结构)描述一般类与特殊类之间的关系(即继承关系)。用整体/部分结构(又称组装结构)描述事物间的组成关系,用实例连接和消息连接表示事物之间的静态联系和动态联系。(静态联系是指一个对象的属性与另一对象属性有关动态联系是指一个对象的行为与另一对象行为有关。)面向对象的设计(OOD)OOD是针对系统的一个具体的实现运用OO方法。包括两方面的工作:把OOA模型直接搬到OOD,(仅作某些必要的修改和调整),作为OOD的一个部分。针对具体实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。这些部分与OOA采用相同的表示法和模型结构。优点:OOA与OOD采用一致的表示法。从OOA到OOD不存在转换,只有很局部的修改或调整,并增加几个与实现有关的独立部分。降低了从OOA过波到OOD的难度、工作量和出错率。面向对象的编程(OOP)用一种面向对象的编程语言把OOD模型中的每个成分书写出来。程序员需要动脑筋的工作:用具体的数据结构来定义对象的属性,用具体语句来实现服务流程图所表示的算法。面向对象的测试(OOT)在测试过程中继续运用OO技术,进行以对象概念为中心的软件测试。面向对象的软件维护为改进维护提供了有效的途径:程序与问题域一致各个阶段的表示一致,从而降低理解的难度。对象的封装性使对一个对象的修改对其他影响小。6.1.3面向对象的基本概念和特征对象定义:对象是问题域或实现域中的某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。对象的理解:从动态的观点来看,对象的操作就是对象的行为。从存储的角度来看,对象是私有存储,其中有数据也有方法。其他对象的方法不能直接操纵该对象的私有数据,只有对象私有的方法才可操纵它。从对象的实现机制来看,对象是一台自动机,其中私有数据表示了对象的状态,该状态只能由私有的方法改变它。在面向对象的程序设计中,对象是系统中的基本运行实体。对象的两个主