- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第7章面向对象设计
本章概述
本章学习目标
主要内容
1
面向对象设计承接着需求分析和系统实现,是将抽象需求转化为具体实现方案的桥梁。在面向对象方法中,设计不仅仅是技术层面的工作,更是一种将现实世界的问题映射到计算机世界的思考方式。在面向对象设计的过程中,不仅关注系统的功能和性能需求,还注重成本和质量要求,力求在各方面达到平衡。通过逐步扩充模型,从面向对象分析过渡到面向对象设计,复杂的系统问题变得更易于管理和理解,分析和设计的多次反复迭代,模型也更加精确和完善。面向对象方法学在概念和表示方法上的一致性,使得开发任务能够平滑过渡,这也是我们选择面向对象方法进行软件设计的重要原因。在接下来的章节中,我们将深入探讨面向对象设计的核心理念和技术细节,帮助读者更好地理解和掌握这一关键技能。
本章概述
2
软件工程实用教程(微课版)
第一章软件工程概述
本章学习目标
理解并掌握面向对象设计的七大原则
理解启发规则与系统分解相关概念
掌握分解思想及子系统相关概念
掌握问题域子系统的设计方法
掌握人机交互子系统的设计方法
掌握任务管理子系统的设计方法
掌握数据管理子系统的设计方法
理解设计关联与设计优化相关概念
3
软件工程实用教程(微课版)
第一章软件工程概述
主要内容
7.1面向对象设计原则
7.2启发规则
7.3系统分解
7.4设计问题域子系统
7.5设计人-机交互子系统
7.6设计任务管理子系统
7.7设计数据管理子系统
7.8设计类中的服务
7.9设计关联
7.10设计优化
7.11本章小结
7.12思考和练习
4
软件工程实用教程(微课版)
第一章软件工程概述
5
面向对象设计主要有七大设计原则,单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则,不同的设计原则有着不同的设计方法,如下表所示。
面向对象七大设计原则及其简介
面向对象设计原则
单一职责原则(SingleResponsibilityPrinciple,SRP)
类的职责要单一,不能将太多的职责放在一个类中
开闭原则(Open-ClosedPrinciple,OCP)
软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能
里氏代换原则(LiskovSubstitutionPrinciple,LSP)
在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象
依赖倒转原则(DependencyInversionPrinciple,DIP)
要针对抽象层编程,而不要针对具体类编程
接口隔离原则(InterfaceSegregationPrinciple,ISP)
使用多个专门的接口来取代一个统一的接口
合成复用原则(CompositeReusePrinciple,CRP)
在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系
迪米特法则(LawofDemeter,LoD)
一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三者发生间接交互
主要内容
7.1面向对象设计原则
7.2启发规则
7.3系统分解
7.4设计问题域子系统
7.5设计人-机交互子系统
7.6设计任务管理子系统
7.7设计数据管理子系统
7.8设计类中的服务
7.9设计关联
7.10设计优化
7.11本章小结
7.12思考和练习
6
软件工程实用教程(微课版)
第一章软件工程概述
使用简单的服务
最小化设计变动
设计简洁的类
采用简洁的协议
保持适当的一般-特殊结构深度
设计的清晰性与可理解性
1
2
3
4
5
6
启发规则
面向对象方法学开发软件的历史虽短,但已经积累了一些宝贵的经验。基于这些经验,涌现出了几条重要的启发式规则,这些规则对于软件开发人员提高面向对象设计的质量具有重要的指导意义。
7
主要内容
7.1面向对象设计原则
7.2启发规则
7.3系统分解
7.4设计问题域子系统
7.5设计人-机交互子系统
7.6设计任务管理子系统
7.7设计数据管理子系统
7.8设计类中的服务
7.9设计关联
7.10设计优化
7.11本章小结
7.12思考和练习
8
软件工程实用教程(微课版)
第一章软件工程概述
9
系统分解
分解思想--通过先将庞大而复杂的系统拆分成若干个相对较小、功能更为单一的部分,再逐一针对这些部分进行详细设计
子系统--在复杂的软件系统中,那些承担主要功能、可以独立运行或作为系
您可能关注的文档
- 软件工程实用教程(微课版)课件 第1章 软件工程概述 .pptx
- 软件工程实用教程(微课版)课件 第2章 软件过程 .pptx
- 软件工程实用教程(微课版)课件 第3章 需求分析与软件需求规约 .pptx
- 软件工程实用教程(微课版)课件 第4章 结构化分析.pptx
- 软件工程实用教程(微课版)课件 第5章 结构化设计.pptx
- 软件工程实用教程(微课版)课件 第6章 面向对象分析 .pptx
- 软件工程实用教程(微课版)课件 第8章 统一建模语言.pptx
- 软件工程实用教程(微课版)课件 第9章 编码与测试 .pptx
- 软件工程实用教程(微课版)课件 第10章 软件项目管理.pptx
- (3篇)八一建军节走访慰问活动实施方案.docx
最近下载
- GB∕T 19292.1-2018 金属和合金的腐蚀 大气腐蚀性 第1部分:分类测定和评估(高清版).pdf
- SPSS在调查研究中的应用解析.pptx VIP
- 22J403-1 楼梯 栏杆 栏板一.docx VIP
- QC小组活动成果报告—降低空气压缩机组故障次数.docx
- !24J306图集窗井、设备吊装口、排水沟、集水坑.pdf VIP
- 基于大数据处理的农产品数据分析方法及云平台.pdf VIP
- 社交礼仪(多选题)题库.pdf VIP
- 本科毕业论文机械专业煤泥烘干机毕业设计.doc
- 2025年江苏省淮安市洪泽区小升初数学模拟试卷附答案解析.pdf
- 22J403-1 楼梯 栏杆 栏板一 (1).docx VIP
文档评论(0)