软件体系结构与设计实用教程(第二版) / 普通高等院校“十四五”计算机类专业系列教材
定价:¥43.00
作者: 刘其成,毕远伟
出版时间:2023-10
最新印次日期:2024-1
出版社:中国铁道出版社
- 中国铁道出版社
- 9787113301859
- 2版
- 502194
- 60269815-1
- 16开
- 2023-10
- 工学
- 计算机类
- 软件工程类
- 本科
作者简介
内容简介
本书根据普通高等院校计算机、软件工程等专业教学要求,对软件体系结构和软件设计的基本原理和实例进行了系统论述,包括面向对象方法、经典软件体系结构风格、分布式软件体系结构风格、MVC风格与Struts框架、软件设计目标、设计原则、创建型设计模式、结构型设计模式以及行为型设计模式等内容。
本书在论述软件体系结构和软件设计原理的前提下,特别注重实用性。书中含有大量精心设计的程序实例,以方便读者学习。本书集作者多年的教学经验编写而成,内容安排合理,讲解深入浅出。
本书适合作为普通高等院校软件工程专业、计算机科学与技术专业以及信息类相关专业本科生和研究生的教材,也可作为软件工程培训教材,以及软件开发人员的参考书。
本书在论述软件体系结构和软件设计原理的前提下,特别注重实用性。书中含有大量精心设计的程序实例,以方便读者学习。本书集作者多年的教学经验编写而成,内容安排合理,讲解深入浅出。
本书适合作为普通高等院校软件工程专业、计算机科学与技术专业以及信息类相关专业本科生和研究生的教材,也可作为软件工程培训教材,以及软件开发人员的参考书。
目录
1.1 软件工程方法学1
1.1.1 结构化方法1
1.1.2 面向对象方法3
1.2 软件设计与体系结构5
习题6
第2章 面向对象方法7
2.1 面向对象分析基础7
2.1.1 用例图7
2.1.2 类图10
2.1.3 描述接口的类图11
2.1.4 类图中的关系11
2.2 软件体系结构14
2.2.1 软件体系结构的定义14
2.2.2 组件与连接件15
2.2.3 软件体系结构的研究内容18
2.2.4 软件体系结构风格21
2.3 面向对象设计23
2.3.1 问题域部分的设计23
2.3.2 人机交互部分的设计33
2.3.3 数据管理部分的设计37
2.3.4 控制驱动部分的设计43
习题50
第3章 经典软件体系结构风格52
3.1 调用-返回风格52
3.1.1 主程序-子程序风格52
3.1.2 面向对象风格54
3.2 数据流风格56
3.2.1 批处理风格57
3.2.2 管道/过滤器风格59
3.3 基于事件的隐式调用风格62
3.3.1 原理62
3.3.2 实例64
3.4 层次风格67
3.4.1 原理67
3.4.2 实例68
3.5 仓库风格71
3.5.1 原理71
3.5.2 实例72
3.6 解释器风格74
3.6.1 原理74
3.6.2 实例75
3.7 反馈控制环风格76
3.7.1 原理76
3.7.2 实例77
习题78
第4章 分布式软件体系结构风格79
4.1 概述79
4.2 两层C/S体系结构风格80
4.2.1 原理80
4.2.2 实例82
4.3 P2P体系结构风格92
4.4 三层C/S体系结构风格93
4.5 B/S体系结构风格95
4.5.1 原理95
4.5.2 实例97
4.6 C/S与B/S混合软件体系结构99
4.6.1 原理99
4.6.2 实例101
4.7 中间件102
4.7.1 中间件简介102
4.7.2 分布式系统中的中间件103
习题106
第5章 MVC风格与Struts框架107
5.1 MVC风格107
5.1.1 MVC风格概述107
5.1.2 MVC在Java技术中的应用109
5.1.3 实例111
5.2 Struts框架118
5.2.1 Struts框架概述118
5.2.2 Struts框架的组件120
习题124
第6章 软件设计目标125
6.1 概述125
6.1.1 基本概念125
6.1.2 实例与分析126
6.2 健壮性126
6.2.1 概念与实例126
6.2.2 Java异常处理机制128
6.3 高效性129
6.4 可复用性130
6.4.1 基本概念130
6.4.2 例子131
6.5 可维护性132
6.5.1 基本概念132
6.5.2 实例133
6.6 可维护性复用140
6.6.1 可维护性复用的概念140
6.6.2 可维护性复用与设计原则140
6.6.3 可维护性复用与设计模式141
6.7 软件设计度量、软件再工程和逆向工程142
习题143
第7章 设计原则144
7.1 开-闭原则144
7.1.1 概念144
7.1.2 实现方法144
7.1.3 与其他设计原则的关系145
7.1.4 实例145
7.2 里氏代换原则146
7.2.1 概念146
7.2.2 Java语言与里氏代换原则147
7.2.3 实例147
7.3 依赖倒转原则152
7.3.1 倒转的含义152
7.3.2 概念152
7.3.3 实例154
7.4 合成/聚合复用原则159
7.4.1 概念159
7.4.2 合成/聚合复用与继承复用159
7.4.3 实例160
7.5 迪米特法则161
7.5.1 概念161
7.5.2 实例163
7.6 单一职责原则165
7.6.1 概念165
7.6.2 实例166
7.7 接口隔离原则166
7.7.1 概念166
7.7.2 实例167
习题169
第8章 创建型设计模式170
8.1 简单工厂模式170
8.2 工厂方法模式172
8.3 抽象工厂模式175
8.4 单例模式179
8.5 原型模式182
8.6 建造者模式185
习题189
第9章 结构型设计模式190
9.1 外观模式190
9.2 适配器模式193
9.3 桥接模式196
9.4 组合模式199
9.5 装饰模式202
9.6 代理模式205
9.7 享元模式207
习题210
第10章 行为型设计模式211
10.1 模板方法模式211
10.2 策略模式214
10.3 状态模式216
10.4 责任链模式219
10.5 命令模式221
10.6 观察者模式224
10.7 中介者模式227
10.8 迭代器模式230
10.9 访问者模式233
10.10 备忘录模式237
10.11 解释器模式239
习题244
参考文献244
1.1.1 结构化方法1
1.1.2 面向对象方法3
1.2 软件设计与体系结构5
习题6
第2章 面向对象方法7
2.1 面向对象分析基础7
2.1.1 用例图7
2.1.2 类图10
2.1.3 描述接口的类图11
2.1.4 类图中的关系11
2.2 软件体系结构14
2.2.1 软件体系结构的定义14
2.2.2 组件与连接件15
2.2.3 软件体系结构的研究内容18
2.2.4 软件体系结构风格21
2.3 面向对象设计23
2.3.1 问题域部分的设计23
2.3.2 人机交互部分的设计33
2.3.3 数据管理部分的设计37
2.3.4 控制驱动部分的设计43
习题50
第3章 经典软件体系结构风格52
3.1 调用-返回风格52
3.1.1 主程序-子程序风格52
3.1.2 面向对象风格54
3.2 数据流风格56
3.2.1 批处理风格57
3.2.2 管道/过滤器风格59
3.3 基于事件的隐式调用风格62
3.3.1 原理62
3.3.2 实例64
3.4 层次风格67
3.4.1 原理67
3.4.2 实例68
3.5 仓库风格71
3.5.1 原理71
3.5.2 实例72
3.6 解释器风格74
3.6.1 原理74
3.6.2 实例75
3.7 反馈控制环风格76
3.7.1 原理76
3.7.2 实例77
习题78
第4章 分布式软件体系结构风格79
4.1 概述79
4.2 两层C/S体系结构风格80
4.2.1 原理80
4.2.2 实例82
4.3 P2P体系结构风格92
4.4 三层C/S体系结构风格93
4.5 B/S体系结构风格95
4.5.1 原理95
4.5.2 实例97
4.6 C/S与B/S混合软件体系结构99
4.6.1 原理99
4.6.2 实例101
4.7 中间件102
4.7.1 中间件简介102
4.7.2 分布式系统中的中间件103
习题106
第5章 MVC风格与Struts框架107
5.1 MVC风格107
5.1.1 MVC风格概述107
5.1.2 MVC在Java技术中的应用109
5.1.3 实例111
5.2 Struts框架118
5.2.1 Struts框架概述118
5.2.2 Struts框架的组件120
习题124
第6章 软件设计目标125
6.1 概述125
6.1.1 基本概念125
6.1.2 实例与分析126
6.2 健壮性126
6.2.1 概念与实例126
6.2.2 Java异常处理机制128
6.3 高效性129
6.4 可复用性130
6.4.1 基本概念130
6.4.2 例子131
6.5 可维护性132
6.5.1 基本概念132
6.5.2 实例133
6.6 可维护性复用140
6.6.1 可维护性复用的概念140
6.6.2 可维护性复用与设计原则140
6.6.3 可维护性复用与设计模式141
6.7 软件设计度量、软件再工程和逆向工程142
习题143
第7章 设计原则144
7.1 开-闭原则144
7.1.1 概念144
7.1.2 实现方法144
7.1.3 与其他设计原则的关系145
7.1.4 实例145
7.2 里氏代换原则146
7.2.1 概念146
7.2.2 Java语言与里氏代换原则147
7.2.3 实例147
7.3 依赖倒转原则152
7.3.1 倒转的含义152
7.3.2 概念152
7.3.3 实例154
7.4 合成/聚合复用原则159
7.4.1 概念159
7.4.2 合成/聚合复用与继承复用159
7.4.3 实例160
7.5 迪米特法则161
7.5.1 概念161
7.5.2 实例163
7.6 单一职责原则165
7.6.1 概念165
7.6.2 实例166
7.7 接口隔离原则166
7.7.1 概念166
7.7.2 实例167
习题169
第8章 创建型设计模式170
8.1 简单工厂模式170
8.2 工厂方法模式172
8.3 抽象工厂模式175
8.4 单例模式179
8.5 原型模式182
8.6 建造者模式185
习题189
第9章 结构型设计模式190
9.1 外观模式190
9.2 适配器模式193
9.3 桥接模式196
9.4 组合模式199
9.5 装饰模式202
9.6 代理模式205
9.7 享元模式207
习题210
第10章 行为型设计模式211
10.1 模板方法模式211
10.2 策略模式214
10.3 状态模式216
10.4 责任链模式219
10.5 命令模式221
10.6 观察者模式224
10.7 中介者模式227
10.8 迭代器模式230
10.9 访问者模式233
10.10 备忘录模式237
10.11 解释器模式239
习题244
参考文献244













