新書推薦:
《
跟着渤海小吏读历史:大唐气象(全三册)
》
售價:NT$
989.0
《
心智的构建:大脑如何创造我们的精神世界
》
售價:NT$
352.0
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:NT$
352.0
《
中国古代北方民族史丛书——东胡史
》
售價:NT$
576.0
《
巨人传(插图珍藏本)
》
售價:NT$
3289.0
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:NT$
332.0
《
偿还:债务与财富的阴暗面
》
售價:NT$
347.0
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:NT$
408.0
|
內容簡介: |
本书得到全国高等院校计算机基础教育研究会立项支持。本书对软件体系结构和软件设计的基本原理和实例进行了系统的阐述,包括软件体系结构的定义和研究内容、经典软件体系结构风格、分布式软件体系结构风格、MVC风格与Struts框架、软件设计的目标、面向对象软件设计方法、设计原则、设计模式等内容。本书在介绍软件体系结构和软件设计原理的前提下,特别注重实用性。书中含有大量精心设计的程序实例,方便读者学习。本书集作者多年的教学经验编写而成,语言通俗易懂,内容安排合理,讲解深入浅出。本书适合为普通高等学校软件工程专业、计算机科学与技术专业以及信息类相关专业本科生和研究生的教材,也可作为软件工程培训教材,以及软件开发人员的参考书。
|
目錄:
|
第1章 概述 1
1.1 软件工程方法学 1
1.1.1 结构化方法 1
1.1.2 面向对象方法 3
1.2 软件设计与体系结构 5
习题 6
第2章 软件体系结构 7
2.1 软件体系结构的定义 7
2.2 组件与连接件 8
2.2.1 组件 8
2.2.2 连接与连接件 9
2.2.3 实例 10
2.3 软件体系结构的研究内容 14
2.4 软件体系结构风格 18
习题 20
第3章 经典软件体系结构风格 21
3.1 调用-返回风格 21
3.1.1 主程序-子程序风格 21
3.1.2 面向对象风格 23
3.2 数据流风格 28
3.2.1 批处理风格 28
3.2.2 管道过滤器风格 30
3.3 基于事件的隐式调用风格 34
3.3.1 原理 34
3.3.2 实例 35
3.4 层次风格 41
3.4.1 原理 41
3.4.2 实例 42
3.5 仓库风格 45
3.5.1 原理 45
3.5.2 实例 46
3.6 解释器风格 47
3.6.1 原理 47
3.6.2 实例 48
3.7 反馈控制环风格 50
3.7.1 原理 50
3.7.2 实例 51
习题 53
第4章 分布式软件体系结构风格 54
4.1 概述 54
4.2 两层CS体系结构风格 55
4.2.1 原理 55
4.2.2 实例 57
4.3 P2P体系结构风格 67
4.4 三层CS体系结构风格 68
4.5 BS体系结构风格 70
4.5.1 原理 70
4.5.2 实例 72
4.6 CS与BS混合软件体系结构 74
4.6.1 原理 74
4.6.2 实例 75
4.7 中间件 76
4.7.1 中间件简介 76
4.7.2 分布式系统中的中间件 79
习题 82
第5章 MVC风格与Struts框架 83
5.1 MVC风格 83
5.1.1 MVC风格概述 83
5.1.2 MVC在Java EE中的应用 85
5.1.3 实例 87
5.2 Struts框架 94
5.2.1 Struts框架概述 94
5.2.2 Struts框架的组件 96
5.2.3 实例 100
习题 104
第6章 软件设计的目标 105
6.1 概述 105
6.1.1 基本概念 105
6.1.2 实例与分析 106
6.2 健壮性 106
6.2.1 概念与实例 106
6.2.2 Java异常处理机制 108
6.3 可复用性 110
6.3.1 基本概念 110
6.3.2 例子 110
6.4 可维护性 112
6.4.1 基本概念 112
6.4.2 实例 112
6.5 高效性 119
6.6 软件设计度量、软件再工程和逆向工程 120
习题 120
第7章 软件设计面向对象方法 122
7.1 问题域部分的设计 122
7.1.1 复用已有的类 122
7.1.2 增加一般类 123
7.1.3 对多重继承的调整 123
7.1.4 对多态性的调整 129
7.1.5 提高性能 130
7.2 人机交互部分的设计 134
7.2.1 概述 134
7.2.2 可视化编程环境下的人机界面设计策略 134
7.2.3 界面类与问题域类间通信的设计 138
7.3 数据管理部分的设计 138
7.3.1 概述 138
7.3.2 针对关系数据库的数据存储设计 139
7.3.3 设计数据管理部分的其他方法 146
7.4 控制驱动部分的设计 146
7.4.1 概述 146
7.4.2 系统的并行并发性 147
7.4.3 设计控制驱动部分的方法 153
习题 158
第8章 设计原则 160
8.1 概述 160
8.1.1 软件系统的可维护性 160
8.1.2 系统的可复用性 161
8.1.3 可维护性复用、设计原则和设计模式 162
8.2 开-闭原则 162
8.2.1 概念 162
8.2.2 实现方法 163
8.2.3 与其他设计原则的关系 163
8.2.4 实例 163
8.3 里氏代换原则 164
8.3.1 概念 164
8.3.2 Java语言与里氏代换原则 165
8.3.3 实例 166
8.4 依赖倒转原则 170
8.4.1 倒转的含义 170
8.4.2 概念 171
8.4.3 实例 173
8.5 合成聚合复用原则 177
8.5.1 概念 177
8.5.2 合成聚合复用与继承复用 178
8.5.3 实例 178
8.6 迪米特法则 180
8.6.1 概念 180
8.6.2 实例 182
8.7 单一职责原则 184
8.7.1 概念 184
8.7.2 实例 185
8.8 接口隔离原则 185
8.8.1 概念 185
8.8.2 实例 186
习题 188
第9章 设计模式 189
9.1 概述 189
9.2 创建型模式 190
9.2.1 简单工厂模式 191
9.2.2 工厂方法模式 193
9.2.3 抽象工厂模式 196
9.2.4 单例模式 200
9.2.5 原型模式 201
9.2.6 建造者模式 205
9.3 结构型模式 208
9.3.1 外观模式 209
9.3.2 适配器模式 212
9.3.3 桥接模式 214
9.3.4 组合模式 217
9.3.5 装饰模式 220
9.3.6 代理模式 223
9.3.7 享元模式 225
9.4 行为型模式 229
9.4.1 模板方法模式 229
9.4.2 策略模式 232
9.4.3 状态模式 234
9.4.4 责任链模式 236
9.4.5 命令模式 239
9.4.6 观察者模式 242
9.4.7 中介者模式 245
9.4.8 迭代器模式 248
9.4.9 访问者模式 251
9.4.10 备忘录模式 254
9.4.11 解释器模式 257
习题 261
参考文献 262
|
內容試閱:
|
软件设计与体系结构是软件工程专业的核心课程。根据教育部高等学校计算机科学与技术教学指导委员会制定的《软件工程(本科)专业规范》,本课程主要是在学习软件工程概论的基础上,进一步深入学习软件体系结构和软件设计,从而提高软件的质量。本书面向普通高等学校的学生和从事软件开发以及相关领域的工程技术人员,紧密结合软件工程专业规范,覆盖规范中软件设计与体系结构课程要求的知识单元和知识点;同时,充分考虑普通高等院校学生的实际情况,加强实践教学的内容。
作者根据多年的教学和软件开发经验,对本书的内容取舍、组织编排和实例都进行了精心设计。在难易程度上遵循由浅入深、循序渐进的原则,特别考虑到普通高等学校本科学生的实际理解和接受能力。与以往许多软件工程相关教材主要以理论为主不同,本书突出实践性,将复杂的理论融于具体的实例和程序之中。书中的实例都是经过精心设计的,程序代码都认真做了调试,可以直接运行,方便读者理解和使用。同时,为了培养学生自学的能力、获取知识的能力,在编写本书的过程中,作者力图在内容编排、叙述方法上留有教师发挥的空间和学生自学的空间。
全书共分9章,第1章讲述软件体系结构和软件设计的基本概念;第2章讲述软件体系结构的定义、组件与连接件、软件体系结构等内容;第3章讲述经典软件体系结构风格,包括主程序-子程序风格、面向对象风格、批处理风格、管道过滤器风格、层次风格、基于事件的隐式调用风格、仓库风格、解释器风格、反馈控制环风格等;第4章讲述分布式软件体系结构风格,包括两层CS、三层CS、BS、P2P以及中间件等;第5章讲述MVC风格的概念及其应用、Struts框架的原理;第6章讲述软件设计的目标,包括正确性、健壮性、可复用性、可维护性和高效性等;第7章讲述面向对象软件设计,包括问题域部分、人机交互部分、数据管理部分和任务管理部分;第8章讲述软件设计原则,包括开-闭原则、里氏代换原则、合成聚合复用原则、依赖倒转原则、迪米特法则、接口隔离原则和单一职责原则等;第9章从原理、结构和示意源代码三方面介绍主要的创建型设计模式、结构型设计模式和行为型设计模式。
本书由刘其成、毕远伟主编,其中:第1~8章由刘其成编写,第9章由毕远伟编写,刘霄、王莹洁、王凯、苏浩、鲍凯丽、庞书杰参与了部分内容的编写。刘其成设计了全书的结构,并做了全书的统稿工作。
在本书的编写过程中,参阅了大量书籍和网站等资料,得到了童向荣教授及中国铁道出版社的支持和帮助,在此表示衷心感谢。
本书得到全国高等院校计算机基础教育研究会立项支持。
尽管书稿几经修改,但由于作者学识有限,书中仍难免有疏漏与不当之处,恳请各位同仁、读者不吝赐教。
编 者
2018年5月
|
|