- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 面向对象设计;分析是提取和整理用户需求,并建立问题域精确模型的过程。
设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。
从面向对象分析到面向对象设计(OOD),是一个逐渐扩充模型的过程。
在实际的软件开发过程中分析和设计的界限是模糊的。分析和设计活动是一个多次反复迭代的过程。 ;OOD模型;11.1 面向对象设计的准则;1. 模块化
对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。
2. 抽象
面向对象方法不仅支持过程抽象,而且支持数据抽象。
3. 信息隐藏
在面向对象方法中,信息隐藏通过对象的封装性实现。;4. 弱耦合
耦合指不同对象之间相互关联的紧密程度。
一般说来,对象之间的耦合可分为两大类:
交互耦合
如果对象之间的耦合通过消息连接来实现,则这种耦合就是交互耦合。
交互耦合应尽可能松散 。
继承耦合
与交互耦合相反,应该提高继承耦合程度。
继承是一般化类与特殊类之间耦合的一种形式。通过继承关系结合起来的基类和派生类,构成了系统中粒度更大的模块。彼此之间应该越紧密越好。;5. 强内聚
内聚衡量一个模块内各个元素彼此结合的紧密程度。
内聚定义为:设计中使用的一个构件内的各个元素,对完成一个定义明确的目的所做出的贡献程度。
在设计时应该力求做到高内聚。
在面向对象设计中存在下述3种内聚:
服务内聚。一个服务应该完成一个且仅完成一个功能。
类内聚。一个类应该只有一个用途,它的属性和服务应该是高内聚的。
一般-特殊内聚。设计出的一般-特殊结构,应该符合多数人的概念。;6. 可重用
软件重用是提高软件开发生产率和目标系统质量的重要途径。
重用基本上从设计阶段开始。
重用有两方面的含义:
一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类),
二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。 ;11.2 启发规则;3. 设计简单的类
应该尽量设计小而简单的类,以便于开发和管理。
为使类保持简单,应该注意以下几点:
避免包含过多的属性???
有明确的定义。
尽量简化对象之间的合作关系。
不要提供太多服务。
在开发大型软件系统时,设计出大量较小的类,需要划分“主题”。 ;4. 使用简单的协议
一般说来,消息中的参数不要超过3个。当然,不超过3个的限制也不是绝对的。
5. 使用简单的服务
一般说来,应该尽量避免使用复杂的服务。
如果一个服务中包含了过多的源程序语句,或者语句嵌套层次太多,或者使用了复杂的CASE语句,则应该仔细检查这个服务,设法分解或简化它,考虑用一般-特殊结构代替。;6. 把设计变动减至最小
出现必须修改设计的情况,应该使修改的范围尽可能小。;11.3 软件重用11.3.1 概述;2. 软件成分的重用级别
代码重用:通常把它理解为调用库中的模块。代码重用的几种形式:
源代码剪贴
源代码包含
继承
设计结果重用:重用某个软件系统的设计模型(即求解域模型)。这个级别的重用有助于把一个应用系统移植到完全不同的软硬件平台上。
分析结果重用:重用某个系统的分析模型。这种重用特别适用于用户需求未改变,但系统体系结构发生了根本变化的场合。 ;3. 典型的可重用软件成分
项目计划
成本估计
体系结构
需求模型和规格说明
设计
源代码
用户文档和技术文档
用户界面
数据
测试用例;11.3.2 类构件;2. 类构件的重用方式
实例重用
由于类的封装性,使用者无须了解实现细节就可以使用适当的构造函数,按照需要创建类的实例。这是最基本的重用方式。
继承重用
继承重用提供了一种安全地修改已有类构件,以便在当前系统中重用的手段。
多态重用
利用多态性不仅可以使对象的对外接口更加一般化,从而降低了消息连接的复杂程度,而且还提供了一种简便可靠的软构件组合机制。 ;11.3.3 软件重用的效益;11.4 系统分解;面向对象设计模型,与面向对象分析模型一样,也由主题、类与对象、结构、属性、服务等5个层次组成。
大多数系统的面向对象设计模型,在逻辑上都由4大部分组成。
问题域子系统
人机交互子系统
任务管理子系统
数据管理子系统
可以把4大组成部分想象成整个模型的4个垂直切片。;典型的面向对象设计模型;1. 子系统之间的两种交互方式
客户-供应商关系(Client-supplier)
作为“客户”的子系统调用作为“供应商”的子系统,后者完成某些服务工作并返回结果。
任何交互行为都是由前者驱动的。
平等伙伴关系(peer-to-peer)
每个子系统都可能调用其他子系统,因此,每个子系统都必须了解其他子系统的接口。
子系统之间的交互更复杂。
总的说来,单向交互比双向交互更容易理解,也更容易设计和修改,因此
您可能关注的文档
- 质量常用统计技术分析.pptx
- 质量意识和质量控制.pptx
- 质量成本及管理概述.pptx
- 质量成本控制培训.pptx
- 质量成本管理及品质管理.pptx
- 质量成本管理知识培训p.pptx
- 质量技术监督基础.pptx
- 质量技术监督法律基础.pptx
- 质量控制与质量保证管理培训.pptx
- 质量改进的理论与方法.pptx
- 2025年鸡西市麻山区公益性岗位招聘8人(公共基础知识)测试题附答案.docx
- 杭州之江湾股权投资基金管理有限公司招聘参考题库附答案.docx
- 2026江苏辖区农村商业银行常熟农商银行校园招聘200人(公共基础知识)测试题附答案.docx
- 2025年中国石油新疆油田分公司秋季高校毕业生招聘360人(公共基础知识)综合能力测试题附答案.docx
- 2023年攀枝花市直属机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026广发银行太原分行校园招聘(公共基础知识)测试题附答案.docx
- 2025四川成都医学院招聘事业编制辅导员10人(公共基础知识)测试题附答案.docx
- 2026年毛概期末考试试题库必考题.docx
- 2025年合肥市某国有企业2025年岗位外包招聘(公共基础知识)测试题附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
最近下载
- 管道内检测介绍.ppt VIP
- 衍纸教案(16课时)社团兴趣小组活动.doc VIP
- 绵阳市事业单位2025年公开选调工作人员备考题库(70人)附答案解析.docx VIP
- 乡镇畜牧站动物检疫员招聘面试经典题及答案.docx VIP
- 2026年哈尔滨中考历史备考全攻略 (知识点归纳,必考知识点 真题模拟试卷及解析).docx VIP
- (一诊)毕节市2025届高三第一次诊断性考试 语文试卷(含答案解析).docx
- 燃气从业人员安全知识培训.pptx VIP
- 数学史数学史试卷(数学史).doc VIP
- [2025秋期版]国开电大专科《监督学》一平台形成性考核一至四在线形考试题及答案 .pdf
- 2025额定电压1kV及以下钢丝加强芯架空绝缘电缆.docx VIP
原创力文档


文档评论(0)