- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
22章节 面向对象设计
第22章?? 面向对象设计 ;第22章?? 面向对象设计;OOD基于四个软件设计概念:抽象、信息隐蔽、功能独立性和模块性建造系统的能力,提供了使设计者能以较小的复杂性和折衷达到所有这四个特征的机制。;22.1 面向对象系统的设计;;用例;数据
字典;结构化设计
的四个层次;OOA方法,把问题当作一组相互作用的实体,并
确定实体间关系。OO设计的“体系结构”更多地关心
对象间的协作,而不是系统构件间的控制流。
判断设计方法的模块化能力的5种标准:
分解性
组装性
易理解性
连贯性
保护性;模块化体系结构导出的设计原则:
语义模块单元;
很少的接口;
小的接口(弱耦合);
显式的接口;
信息隐蔽。;流行的几种面向对象设计方法:
Booch方法
Coad-Yourdon方法
Rumbaugh 方法(简称OMT)
(Object Modeling Technology)
Jacobson 方法(简称OOSE)
由Rumbaugh 、 Booch 、 Jacobson
提出的统一建模语言
(Unify Modeing Language简称UML);目前流行的OOD方法概述
Coad-Yourdon方法
Coad-Yourdon的OOD概述:
强调应用,强调应用的基础设施,强调四
种主要的系统构件的表示:
问题域构件
人机交互构件
任务管理构件
数据管理构件
;目前流行的OOD方法概述
Booch方法在设计的语境内,宏开发包含了体系结
构计划活动:将类似的对象聚集到分离的体系结构
划分中,按抽象层次分层对象,标识相关的场景,
创建设计原型,以及通过应用到使用场景而确认设
计原型。微开发定义了一组“规则”,用于管理操作
和属性的使用及内存管理、错误处理和其他基础设
施功能的领域特定的方针,开发描述规则和方针的
语义的场景,为每个方针创建原型、精化原型以及
评审每个方针使其“广播其体系结构设想”。
;目前流行的OOD方法概述
Rumbaugh方法(简称OMT)
Rumbaugh的OOD过程概述:
系统设计:着重于构造一个完全的产品或系统所需的构件的布局。
对象设计:强调个体对象的详细布局。;统一的OOD方法
由Rumbaugh 、 Booch 、Jacobson
提出的统一建模语言
(Unify Modeing Language简称UML);22.2 系统设计过程;22.2.1 划分分析模型;22.2.2 并发性和子系统分配;22.2.3 任务管理构件 ;2.管理并发任务的对象的设计策略;3.怎样设计任务管理部分
任务管理主要包括任务的选择和调整
识别事件驱动任务
识别时钟驱动任务
识别优先任务和关键任务
识别协调者
审查每个任务
定义每个任务;22.2.4 用户界面构件;22.2.5 数据管理构件;数据管理设计为分层模式,其思想是分离操纵数
据结构的低层需求和处理系统属性的高层需求。
数据管理构件的设计包括管理对象所需的属性和操
作的实现,相关的属性被附于问题域中的每个对象。
如何设计数据管理部分
(1)数据存储方法设计
(2)相应服务的设计
为每个需存储其对象的类增加一个
属性和服务;22.2.6 资源管理构件;22.2.7 子系统间通信;刻画存在子系统间的合约的步骤:;22.3 对象设计过程;设计算法和数据结构;程序构件和接口;22.4 设计模式;面向对象设计(简化的C++类库管理系统)
设计类库结构
两种可把类条目组织成类库得数据结构:
二叉树
链表: 容易表示多重继承
设计问题域子系统—对对象模型做补充和细化
类条目(ClassEntry)
类库(ClassEntryLink)
父类(ClassBase)、成员函数(ClassFun)
和数据成员(ClassData)
类条目缓冲区(ClassEntryBuffer);面向对象设计(简化的C++类库管理系统)
设计人机交互子系统
窗口
登录窗口(用户输???账号、确认/放弃)
主窗口(创建/浏览/存储/退出)
创建窗口(输入新类名/选择已有类名,三个分组框分别管理父类、成员函数和数据成员,每组框有:添加/编辑/删除)
选择浏览方式窗口(按类名浏览/按类关系浏览)
类名浏览窗口
类关系浏览窗口
重用: 基于VC开发环境,尽可能重用MFC中类
设计其它类;22.6 小结
文档评论(0)