文档介绍:第八章面向对象设计
面向对象设计概述
问题域子系统(PDC)的设计
人—机交互子系统(HIC)的设计
任务管理子系统(DMC)的设计
数据管理子系统(DMC)的设计
面向对象设计(OOD)仍然需要进行总体设计和详细设计。在面向对象方法中,总体设计和详细设计也没有清晰的界限。本章主要介绍如何建立系统的基本框架。
总体设计将系统分成几个子系统,建立系统的基本框架,每个子系统使用与面向对象分析一致的表示方法建立模型,可以说,总体设计是逐渐扩充面向对象分析模型的过程;详细设计则针对每个子系统中的每个类的作用、类的内部构成(属性和服务)以及类之间关系进行清晰、具体的描述,使得在实现阶段程序员根据该描述能很容易地转化成程序。
第一节面向对象设计概述
一、面向对象设计系统的基本框架
面向对象分析集中于问题域、系统责任和需求,它是独立于编程语言的,面向对象设计集中于用可得到的技术实现上述需求,在很大程度上仍然独立于编程语言。面向对象设计是面向对象分析的扩充,主要是增加各种组成部分。具体地说,面向对象分析识别和定义类—&—对象,这些类—&—对象直接反映问题域和系统任务。而面向对象设计识别和定义其它附加类—&—对象,它们反映需求的一种实现。
面向对象设计的模型仍然由5层组成,但划分为四个组成部分:人机交互部分(HIC:Human ponent)、问题域(PDC:Problem ponent)、任务管理(TMC:Task ponent)和数据管理(DMC:Data ponent)。
人机交
互部分
主题层
类—&—对象层
结构层
属性层
方法层
问题域
部分
任务管
理部分
数据管
理部分
面向对象设计模型
人机交互部分包括:
有效的人机交互所必需的实际显示和输入,负责向用户提供良好的界面;
问题域部分就是对面向对象分析的结果进行改进;
任务管理部分是对系统中若干任务并发执行时,设计合理的任务执行方案;
数据管理部分是对数据的存放和相应的服务进行设计。
这四个部分相对独立,它们之间通过消息相互联系。之所以这样划分是出于使整个系统容易维护的考虑,让将来的每一次变动使系统的修改程度最小。
例如将来考虑将系统的鼠标点击输入改为语音输入,那么只需修改人机交互部分,其它部分不用改动。
二、面向对象设计的准则
结构化方法中软件设计的基本原理在进行面向对象设计时仍然成立,但是增加了一些与面向对象方法密切相关的新特点,从而具体化为面向对象设计准则。
(一)模块化
面向对象软件开发模式,很自然地支持了把系统分解成模块的设计原理:类就是模块。
它是把数据结构和对数据的操作紧密地结合在一起所构成的模块。