正在加载图片...
出了利用既存类的三个途径: 原封不动地复用既存类 对既存类进行演化以得到满足要求的类。演化可以是横向的,也可以是纵向的。横向 的演化生成既存类的一个新的版本,而纵向的演化将从既存类导出新类 重新开始进行开发。 一个新的继承结构将建立两种类:一种是抽象类,它概括了将要表达的概念:另一种是 具体类,它要实现这个概念 ③求精和维护:维护活动是针对应用系统的,但求精过程是针对类和结构的。因为我 们利用抽象进行开发,因此,维护活动每时每刻都可能修改这些抽象。随着经验的增长,还 可以标识抽象的抽象,使得继承结构通过一般化,增加新的层次。 为便于类的调整,应尽量做到定义与实现分离,实现概念封装和信息隐蔽,使得类具有 更大的独立性。在使用一个类或复用一个类时,类与类之间产生一种相互依赖关系。但对一 个类的公有界面所做的多次修改不应影响使用它的那些类,在公有界面上增加新的操作不应 改变既存的软件。需要谨慎处理的是删除操作或改变操作的特征。 (3)面向对象软件的开发过程 面向对象软件的开发过程开始于问题论域,经历从问题提出到解决的一系列过程。下面 具体说明在过程中的这些步骤。 ①分析阶段:分析阶段包括两个步骤:论域分析和应用分析。它们都要标识问题论域 中的抽象。在分析中,需要找到特定对象,基于对象的公共特性把它们组合成集合,标识出 对这个问题的一个抽象。同时要标识抽象之间的关系,并建立对象之间的消息连接 ■论域分析:论域分析开发问题论域的模型。论域分析应当在应用分析之前进行,我 们在了解问题之前应当对问题敞开思想考虑,考察问题论域内的一个较宽的范围,分析覆盖 的范围应比直接要解决的问题更多 应用分析:应用(或系统)分析细化在论域分析阶段所开发出来的信息,并且把注意 力集中于当前要解决的问题。因为通过论域分析,分析人员具有了较宽的论域知识,因而能 开发出更好的抽象。 ②高层设计:在一个纯面向对象环境中,软件体系结构设计与类设计常常是同样的过 程,但还是应当把体系结构设计与类的设计分开。在高层设计阶段,设计应用系统的顶层视 图。这相当于开发一个代表系统的类,通过建立该类的一个实例并发送一个消息给它来完成 系统的“执行”。 ③类的开发:根据高层设计所标识的对各个类的要求和类的规格说明,进行类的开发 因为一个应用系统往往是一个类的继承层次。对这些类的开发是最基本的设计活动 ④实例的建立:建立各个对象的实例,实现问题的解决方案 ⑤组装测试:按照类与类之间的关系组装一个完整的应用系统的过程中进行的测试 各个类的封装和类测试的完备性可减少组装测试所需要的时间。 ⑥维护:维护的要求将影响应用和各个类。继承关系可支持对现有应用的扩充,或者 加入新的行为,或者改变某些行为的工作方式。 ■应用系统的维护:包括在系统的操作中定位故障、在既存的系统中加入新的行为 应用的维护能够简化对类实例的定位、修改其类的实现、通过改变消息或接收消息的次序来 改变应用中特殊对象的角色。新的行为可通过定义新的类和建立实例来实现 ■类的维护:把类的实现与其规格说明分离可局部化修改的影响。一般情况下,修正 问题要求应尽可能不改变类的界面。然而,为了在系统中增加新的行为,偶尔会有改变界面 的需求。 3.面向对象分析(OA)与模型化7 出了利用既存类的三个途径: ▪ 原封不动地复用既存类。 ▪ 对既存类进行演化以得到满足要求的类。演化可以是横向的,也可以是纵向的。横向 的演化生成既存类的一个新的版本,而纵向的演化将从既存类导出新类。 ▪ 重新开始进行开发。 一个新的继承结构将建立两种类:一种是抽象类,它概括了将要表达的概念;另一种是 具体类,它要实现这个概念。 ③ 求精和维护 :维护活动是针对应用系统的,但求精过程是针对类和结构的。因为我 们利用抽象进行开发,因此,维护活动每时每刻都可能修改这些抽象。随着经验的增长,还 可以标识抽象的抽象,使得继承结构通过一般化,增加新的层次。 为便于类的调整,应尽量做到定义与实现分离,实现概念封装和信息隐蔽,使得类具有 更大的独立性。在使用一个类或复用一个类时,类与类之间产生一种相互依赖关系。但对一 个类的公有界面所做的多次修改不应影响使用它的那些类,在公有界面上增加新的操作不应 改变既存的软件。需要谨慎处理的是删除操作或改变操作的特征。 (3) 面向对象软件的开发过程 面向对象软件的开发过程开始于问题论域,经历从问题提出到解决的一系列过程。下面 具体说明在过程中的这些步骤。 ① 分析阶段 :分析阶段包括两个步骤:论域分析和应用分析。它们都要标识问题论域 中的抽象。在分析中,需要找到特定对象,基于对象的公共特性把它们组合成集合,标识出 对这个问题的一个抽象。同时要标识抽象之间的关系,并建立对象之间的消息连接。 ▪ 论域分析 :论域分析开发问题论域的模型。论域分析应当在应用分析之前进行,我 们在了解问题之前应当对问题敞开思想考虑,考察问题论域内的一个较宽的范围,分析覆盖 的范围应比直接要解决的问题更多。 ▪ 应用分析 :应用(或系统)分析细化在论域分析阶段所开发出来的信息,并且把注意 力集中于当前要解决的问题。因为通过论域分析,分析人员具有了较宽的论域知识,因而能 开发出更好的抽象。 ② 高层设计 :在一个纯面向对象环境中,软件体系结构设计与类设计常常是同样的过 程,但还是应当把体系结构设计与类的设计分开。在高层设计阶段,设计应用系统的顶层视 图。这相当于开发一个代表系统的类,通过建立该类的一个实例并发送一个消息给它来完成 系统的“执行”。 ③ 类的开发 :根据高层设计所标识的对各个类的要求和类的规格说明,进行类的开发。 因为一个应用系统往往是一个类的继承层次。对这些类的开发是最基本的设计活动。 ④ 实例的建立:建立各个对象的实例,实现问题的解决方案。 ⑤ 组装测试:按照类与类之间的关系组装一个完整的应用系统的过程中进行的测试。 各个类的封装和类测试的完备性可减少组装测试所需要的时间。 ⑥ 维护:维护的要求将影响应用和各个类。继承关系可支持对现有应用的扩充,或者 加入新的行为,或者改变某些行为的工作方式。 ▪ 应用系统的维护 :包括在系统的操作中定位故障、在既存的系统中加入新的行为。 应用的维护能够简化对类实例的定位、修改其类的实现、通过改变消息或接收消息的次序来 改变应用中特殊对象的角色。新的行为可通过定义新的类和建立实例来实现。 ▪ 类的维护 :把类的实现与其规格说明分离可局部化修改的影响。一般情况下,修正 问题要求应尽可能不改变类的界面。然而,为了在系统中增加新的行为,偶尔会有改变界面 的需求。 3. 面向对象分析(OOA)与模型化
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有