资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
4.3 面向对象设计方法,OOD可分为两个阶段 系统设计阶段 目标:设计系统的整体结构, 选择构造系统的策略,包括: 分解系统为子系统 子系统到硬件的映射 数据管理策略 问控制策略 全局控制流机制的策略 对象设计阶段,http:/www.docin.com/sundae_meng,4.3.1 将OO分析模型转换到OO设计模型,用例,对象-关 系模型,类/对象 模型,属性、,子 系 统 设 计,类及对象设计,消息设计,责任设计,分析模型,设计模型(Pressman),操作、,协作者,对象-行为模型,http:/www.docin.com/sundae_meng,将分析模型转换为软件设计,数据 字典,数据 流图,E-R图,状态变迁图,加,工,规,约,控制规约,数,据,对,描 述,象,数 据 设 计,体系结构设计,接口设计,过程设计,分析模型,设计模型,http:/www.docin.com/sundae_meng,结构化设计 的四个层次,数 据 设 计,体系结构设计,接口设计,过程设计,子 系 统 设 计,类及对象设计,消息设计,责任设计,面向对象设计 的四个层次,http:/www.docin.com/sundae_meng,OOD的四个层次: 子系统层: 包含每个子系统的表示 类和对象层:包含类层次和每个对象 的设计表示 消息层: 包含使得每个对象能够和其 协作者通信的细节,建立系 统的外部和内部接口 责任层: 包含针对每个对象的所有属性 和操作的数据结构和算法的设计,http:/www.docin.com/sundae_meng,OOA与OOD的本质: OOA是一个分类活动,即分析问题力图 确定在开发解决方案时可应用的对象类, 同时确定对象关系和行为。 OOD使得软件工程师能够确定从类中导 出的对象,以及这些对象的相互关联, 此外,OOD描述了:对象间的关系如何达到; 行为如何实现; 对象间通信如何实现。,http:/www.docin.com/sundae_meng,从OOA到OOD,逐渐扩充模型的过程 OOD分为两个阶段: 高层设计(系统设计) 低层设计(对象设计),http:/www.docin.com/sundae_meng,OOD过程流,对象 设计,OOA,系统 设计,http:/www.docin.com/sundae_meng,OOD过程流,OOA,对象设计,系统设计,人机界面设计,数据管理设计,任务管理设计,http:/www.docin.com/sundae_meng,OMT的系统设计过程:,将分析模型划分为子系统 确定需要并发处理的子系统并为它们分配 处理器 描述子系统之间的通信 选择实现数据管理和任务管理的基本策略 确定人机交互构件 确定系统资源的管理和控制,http:/www.docin.com/sundae_meng,子系统设计 划分子系统 处理并发操作 描述子系统间通信 资源管理构件,http:/www.docin.com/sundae_meng,系统分解:,子系统既不是一个对象也不是一个功能,而是类、关联、操作、事件和约束的内聚集合。 定义子系统遵循的标准: 子系统应有良好的接口 除少数“通信类”,子系统中的类应只和 该子系统中的其它类协作 子系统数目不应太多 可在子系统内划分以降低复杂性,划分分析模型,子系统,http:/www.docin.com/sundae_meng,客户端 子系统,端子系统,服务器端 子系统,端子系统,请求,请求,请求,合约,合约,子系统间通信,子系统间协作的模型,合约,一个合约提供了对一个子系统和另一个子系统交互方式的标注,http:/www.docin.com/sundae_meng,由OO分析模型转换到OO设计模型,用例图 类 图 交互图 状态图,包图,方法描述:if A then Calculate Sales Tax Calculate Total Amount End if,设计带方法的类图,http:/www.docin.com/sundae_meng,客户支持系统,客户维护子系统,包图示例,库存管理子系统,订单输入子系统,目录维护子系统,订单执行子系统,http:/www.docin.com/sundae_meng,客户支持系统,包括设计类的包图示例,客户维护子系统,订单输入子系统,目录维护子系统,订单执行子系统,客户,目录,包,订单条目,订单交易,订单,退货条目,发运人,运输,http:/www.docin.com/sundae_meng,系统内部,保险单,包图示例,客户,保险单 填写界面,数据库界面 (abstract),Oracle界面,Sybase界面,http:/www.docin.com/sundae_meng,OOD导出的系统结构,数据管理,其它系统,文件 RDBMS OODBMS,设备,系统交互 界面,问题论域,人机交互 界面, . . . ., . . . .,窗口,报告,http:/www.docin.com/sundae_meng,第三层 数据库服务器,第二层 后台库服务器,第一层 前台客户机,http:/www.docin.com/sundae_meng,对象设计 对象设计着重于对象及其相互交互的描述。 在对象设计期间: 属性数据结构和所有操作的过程的详细规约被创建。 所有属性的可见性(公共的、私有的或保护的)被定义,对象间的接口被精化以定义完整的消息模型的细节。,http:/www.docin.com/sundae_meng,在对象设计过程中 将分析模型转换为设计模型,分析模型 类 属性 方法 关系 行为,设计模型 对象 数据结构 算法 消息传递 控制,http:/www.docin.com/sundae_meng,Fichman和Kemerer提出的10种设计建模成分 模块层次的表示 数据定义规约 过程逻辑的规约 端到端处理序列的指明 对象状态和变迁的表示 类及层次的定义 操作到类的赋予 详细的操作定义 消息连接的规约 排它服务的标识,结构化方法 所不支持的,http:/www.docin.com/sundae_meng,目前流行的OOD方法Booch方法 Booch认为:“设计的目的是为了渐进的实现创建一个系统结构,并制定系统的不同元素都必须采用的共同策略”。 设计阶段的活动包括: 系统结构计划 策略设计 发布计划,http:/www.docin.com/sundae_meng,Booch方法使用的图形文档(表示法)包括六种图: 类图 对象图 状态转换图 交互图 模块图 进程图,从两个侧面组织系统模型,http:/www.docin.com/sundae_meng,目前流行的OOD方法Coad-Yourdon方法 Coad-Yourdon方法特别强调OOA 与OOD采用完全一致的概念和表示法, 使分析和设计之间不需要表示法的转换。,http:/www.docin.com/sundae_meng,主体层,类及对象层,结构层,属性层,服务层,问题域 部分 (PDC),人机交 互部分 (HIC),任务管 理部分 (TMC),数据管 理部分 (DMC),OOD阶段建立,OOA 阶段模型,OOD由四个活动组成:,OOD模型及设计过程,http:/www.docin.com/sundae_meng,目前流行的OOD方法Rumbaugh方法(OMT) Rumbaugh方法(OMT)的OOD过程概述: 进行系统设计 进行对象设计 实现在系统设计中定义的控制机制 调整类结构以加强继承性 设计消息序列以实现对象关系(关联) 包装类和对象为模块,http:/www.docin.com/sundae_meng,目前流行的OOD方法Jacobson方法(OOSE) Jacobson方法(OOSE)是一种use case驱动的方法。,OOSE方法的过程与模型,分析,构造,测试,需求模型 分析模型,设计模型 实现模型,测试模型,OOSE的设计根据实现环境对分析模型进行细化,精确地定义对象的接口和操作的语义,其输出是设计模型。,http:/www.docin.com/sundae_meng,OOSE的设计 OOSE的设计根据实现环境对分析模型进行细化,精确地定义对象的接口和操作的语义,其输出是设计模型。,http:/www.docin.com/sundae_meng,统一的OOD方法 UML被组织进两个主要的设计活动: 系统设计 系统设计的主要目标是表示软件体系结构 对象设计 对象设计着重于对象及其相互交互的描述,http:/www.docin.com/sundae_meng,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号