【实用软件工程】面向对象设计

【实用软件工程】面向对象设计

ID:40172447

大小:113.50 KB

页数:53页

时间:2019-07-24

【实用软件工程】面向对象设计_第1页
【实用软件工程】面向对象设计_第2页
【实用软件工程】面向对象设计_第3页
【实用软件工程】面向对象设计_第4页
【实用软件工程】面向对象设计_第5页
资源描述:

《【实用软件工程】面向对象设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章面向对象设计面向对象设计概述问题域子系统(PDC)的设计人—机交互子系统(HIC)的设计任务管理子系统(DMC)的设计数据管理子系统(DMC)的设计面向对象设计(OOD)仍然需要进行总体设计和详细设计。在面向对象方法中,总体设计和详细设计也没有清晰的界限。本章主要介绍如何建立系统的基本框架。总体设计将系统分成几个子系统,建立系统的基本框架,每个子系统使用与面向对象分析一致的表示方法建立模型,可以说,总体设计是逐渐扩充面向对象分析模型的过程;详细设计则针对每个子系统中的每个类的作用、类的内部构成(属性和服务)以及类之间关系进行清晰、

2、具体的描述,使得在实现阶段程序员根据该描述能很容易地转化成程序。第一节面向对象设计概述一、面向对象设计系统的基本框架面向对象分析集中于问题域、系统责任和需求,它是独立于编程语言的,面向对象设计集中于用可得到的技术实现上述需求,在很大程度上仍然独立于编程语言。面向对象设计是面向对象分析的扩充,主要是增加各种组成部分。具体地说,面向对象分析识别和定义类—&—对象,这些类—&—对象直接反映问题域和系统任务。而面向对象设计识别和定义其它附加类—&—对象,它们反映需求的一种实现。面向对象设计的模型仍然由5层组成,但划分为四个组成部分:人机交互部分

3、(HIC:HumanInterfaceComponent)、问题域(PDC:ProblemDomainComponent)、任务管理(TMC:TaskManagementComponent)和数据管理(DMC:DataManagementComponent)。人机交互部分主题层类—&—对象层结构层属性层方法层问题域部分任务管理部分数据管理部分面向对象设计模型人机交互部分包括:有效的人机交互所必需的实际显示和输入,负责向用户提供良好的界面;问题域部分就是对面向对象分析的结果进行改进;任务管理部分是对系统中若干任务并发执行时,设计合理的任务

4、执行方案;数据管理部分是对数据的存放和相应的服务进行设计。这四个部分相对独立,它们之间通过消息相互联系。之所以这样划分是出于使整个系统容易维护的考虑,让将来的每一次变动使系统的修改程度最小。例如将来考虑将系统的鼠标点击输入改为语音输入,那么只需修改人机交互部分,其它部分不用改动。二、面向对象设计的准则结构化方法中软件设计的基本原理在进行面向对象设计时仍然成立,但是增加了一些与面向对象方法密切相关的新特点,从而具体化为面向对象设计准则。(一)模块化面向对象软件开发模式,很自然地支持了把系统分解成模块的设计原理:类就是模块。它是把数据结构和

5、对数据的操作紧密地结合在一起所构成的模块。(二)抽象面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型,它对外开放的公共接口构成了类的规格说明(即协议),这种接口规定了外界可以使用的合法操作符,利用这些操作符可以对类实例中包含的数据进行操作。使用者无须知道这些操作符的实现算法和类中数据元素的具体表示方法,就可以通过这些操作符使用类中定义的数据。通常把这类抽象称为规格说明抽象。(三)信息隐藏在面向对象方法中,信息隐藏通过对象的封装来实现。对于用户来说,类中的属性的表示方法和操作的实现算法都应该是隐藏的。(四)弱耦合

6、结构化方法中耦合是指在系统中的各个模块之间的相互连接或相互依赖的强度。在面向对象方法中,耦合主要指不同对象之间通过消息相互关联的紧密程度。应该遵守下列准则使这种耦合尽量松散:1.尽量降低消息连接的复杂程度。应该尽量减少消息中包含的参数个数,降低参数的复杂程度。2.减少对象发送(或接收)的消息数。(五)强内聚内聚用于描述系统内组成部分中各元素彼此结合的紧密程度,应尽量避免低内聚。在面向对象设计中,从三个层次来考察内聚性。1.单个方法的内聚性:方法是指操作的实现过程,一个操作由一个或多个方法实现。对方法的内聚性的评价与结构化设计中的相同,具

7、有高内聚的方法应当只执行一个功能。2. 类的内聚性:设计类的原则是,一个类应该只有一个用途,类中的属性和操作应该全都是完成该类的任务所必需的,其中不包括无用的属性和操作。如果某个类有多个用途,通常应该把它分解成多个专用的类。3.层次结构的内聚性:对象之间通过继承关系而构成的层次结构,特殊类应该确实是对它的一般化类的一种具体化。如果一个派生类摒弃了它基类的许多属性和服务,那就是一个低内聚的。(六)可重用软件重用是提高软件开发生产率和目标系统质量的重要途径。重用基本上从设计开始。重用有两方面的含义:一是尽量使用已有的类(包括开发环境提供的类

8、库,以及以往开发类似系统是创建的类);二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。第二节问题域子系统(PDC)的设计一般来说,基于问题域的总体组织框架是长时间保持稳定的(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。