您的位置:网站首页 > app开发 > 专业做app软件开发 > 正文

郑州软件为您讲解面向对象设计

作者:知网科技 日期:2020/6/17 人气:
标签:


 

       郑州软件公司认为面向对象设计(OOD)将用面向对象分析所创建的分析模型转变为将作为软件构造的蓝图的设计模型和传统软件设计方法不同,00D实现一个完成一系列不同的模块性等级的设计。主要的系统构件被组织为称为子系统的系统级“模块”,数据和操纵数据的操作被封装为对象——一种作为面向对象系统的构造块的模块形式。此外,OOD必须描述属性的特定数据组织和个体操作的过程细节,这些表示了面向对象系统的数据和算法片,从而实现整体模块性。

 

       面向对象设计的独特性在于其基于4个重要的软件设计概念——抽象、信息隐蔽、功能独立性和模块性建造系统的能力。所有的设计方法均力图建造有这些基本特征的软件,但是,只有OOD提供了使设计者能够以较少的复杂性和折中达到所有这4个特征的机制。

 

       软件设计者的工作可能是使人畏缩的,对OOD的适当的精确的描述如下。

 

       郑州apple软件开发认为设计面向对象的软件是困难的,设计可复用的面向对象的软件更加困难。必须找到适当的对象、以适当的粒度将它们转化为类的因子、定义类接口和继承层次以及建立它们之间的关键关系。设计应该针对于手边的问题,但也应足够通用化以适应将来的问题和需求。也应避免重复设计,至少应使重设计减少到最小程度。有经验的面向对象设计者虽然不是不可能在第一次就达到目标,但可复用的灵活的设计是困难的。在设计完成前,他们通常尝试复用几次,并每次做一些修改。

 

       面向对象设计、面向对象编程和面向对象测试是构造面向对象系统的活动,在本章,我们考虑其中的第一步。

 

       面向对象系统的设计

 

       对面向对象系统,可以定义一个设计金字塔,但是层次略有不同。面向对象设计金字塔的4个层次如图9.1所示。

 

       子系统层。包含每个子系统的表示,这些子系统使得软件能够满足客户定义的需求,并实现支持客户需求的技术基础设施。

 

       类和对象层。包含类层次,它们使得系统能够以通用化方式创建并不断逼近特殊需求,这层也包含了每个对象的设计表示。

 

       消息层。包含使得每个对象能够和其协作者通信的细节,本层建立了系统的外部和内部接口。

 

       责任层。包含针对每个对象的所有属性和操作的数据结构和算法的设计。

 

        郑州ios开发认为设计金字塔着重于特定产品或系统的设计,然而,应该注意,存在另一个设计“层”,该层形成了金字塔的基础。基础层着重于领域对象(在本章后面称为设计模式)的设计,领域对象通过提供对人机界面活动、任务管理和数据管理的支持,在建造面向对象系统的基础设施方面扮演了关键角色。领域对象也可以被用于应用系统本身的设计。

 

 


 

       传统方法和面向对象方法

 

        郑州android开发认为传统的软件设计方法使用清楚的符号和一组启发规则将分析模型映射为设计模型,传统分析模型的每个元素被映射到设计模型的一个或多个层次内。和传统软件设计一样,OOD使用数据设计(当属性被表示时)、接口设计(当开发消息模型时)以及过程设计(在操作的设计中)。然而,体系结构的设计是不同的,和使用传统软件工程方法导出的体系结构设计不一样,面向对象设计并不展示层次化的控制结构,事实上,面向对象设计的“体系结构”更多地关心伴随着控制流程的对象间的协作。

 

       虽然在传统设计模型和面向对象设计模型间确实存在相似性,我们已经选择重命名设计金字塔的层次以更精确地反映面向对象设计的本质。

 

       郑州安卓软件开发认为子系统设计通过考虑整体客户需求(用用例表示)和外部可观察的事件和状态(对象一行为模型)而导出的类和对象设计通过对包含在CRC模型中的属性、操作和协作的描述的映射得来的;消息设计由对象一关系模型导出;责任设计利用 CRC模型中的属性、操作和协作导出。

 

       可用来比较各种传统的和面向对象的设计方法的10种设计建模成分如下。
 

       (1)模块层次的表示。

       (2)数据定义的规约。

       (3)过程逻辑的规约。

       (4)端到端处理序列的指明。

       (5)对象状态和转变的表示。

       (6)类及层次的定义。

       (7)将操作赋予类。

       (8)详细的操作定义。

       (9)消息连接的规约。

       (10)独有服务的标识。
 

       郑州苹果软件开发认为因为有很多传统的以及面向对象的设计方法,所以很难在两种方法间进行一般性的比较。然而,可以说,建模维数5~10是结构化方法或其派生方法所不支持的。

 

       设计问题

 

       有以下5种标准来判断设计方法的模块化的能力,并将它们和面向对象设计相联系。

 

       (1)分解性(decomPosabilitv)——一种设施,设计方法利用它帮助设计者将一个大型问题分解为易于求解的子问题。

 

       (2)组装性(composabilty)——一种级别,当设计方法保证当程序构件(模块)一旦被设计和建造到此级别后,即可被复用去创建其他系统。

 

       (3)易理解性(understandabflty)——一种简单度,程序构件在此简单度下,不参考其他信息或其他模块即可被理解。

 

       (4)连贯性(continuity)——在程序中进行小的修改的能力以及使这些修改在仅仅一个或很少的几个模块中发生对应修改下展示自己的能力。

 

       (5)保护性(Protection)——一个体系结构特征,它将在给定模块中发生错误时减少副作用的传播。

 

       根据这些标准,Meyer建议了可为模块化体系结构导出的5种基本设计原则:①语义模块单元。②很少的接口。③小的接口(弱耦合)。④显式的接口。⑤信息隐蔽。

 

       郑州plc开发认为对应于所用语言中的语法单元,模块被定义为语义模块单元,即所使用的程序设计语言应该有支持被直接定义的模块性的能力。例如,如果设计者创建了一个子过程,任何传统的编程语言(Fortaran、C、Pascal)可以实现它为一个语法单元,但是,如果定义一个包含数据结构和过程并将它们标识为单个单元的包,则需要如Ada的语言(或其他面向对象语言)以便可直接在语言句情中表示这种类型的模块。

 

       为了达到低耦合,模块间接口的数量应该最小化(很少的接口)并且在接口间传递的信息量也应该最小化(小的接口)。当模块通信时,它们应该以明显的和直接的方式进行(显式的接口)。例如,如果模块X和模块Y通过一个全局数据区域进行通信,它们便违反了显式接口的原则,因为模块间的通信对外部观察者来说是不明显的。最后,当关于模块的所有信息对外界访问是隐蔽的时,就达到了信息隐蔽的原则,除非该信息被特别地定义为“公共信息”。

 

       郑州erp软件认为在本节中提出的设计标准和原则可以被应用于任意设计方法(如可以将它们应用于结构化设计),然而,将看到,面向对象设计方法比其他方法能更高效地达到每个标准,并产生模块化的体系结构以允许更有效地满足每条模块性标准。

       转载请注明出处:郑州知网软件  http://www.nwisdom.com


(())
顶一下
参与讨论
姓名: 验证码:看不清楚,换一个
最新评论

联系我们

软件开发: 15838307519(司经理)

网络营销: 13676968269(王经理)

网络建设: 13073737771(郭经理)

24小时服务电话: 0371-56683330

了解更多APP开发

+好友