《软件设计与体系结构 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:董威,文艳军,陈振邦编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2017
  • ISBN:9787040486308
  • 页数:339 页
图书介绍:本书是普通高等教育“十二五”国家级规划教材。本书对软件设计以及软件体系结构的相关思想、理论与方法进行了系统的介绍,包括软件设计与软件体系结构在软件工程中的地位和作用、软件设计的基本方法与原则、统一建模语言UML 2.0、面向对象的软件设计方法、面向数据流的软件设计方法、人机界面设计、软件体系结构风格与设计模式、基于构件的软件体系结构、软件体系结构评估、软件设计的进化等内容。本书包含了作者多年来在软件开发实践、软件工程教学和科研活动中的认识与体会,并结合大量的案例分析,力求全书内容与组织结构的系统性、先进性、基础性和实用性。本书可作为高等院校计算机科学与技术专业、软件工程专业以及信息类相关专业的本科生和研究生教材,培养学生的软件设计思维能力以及方法和技术的运用能力,同时也适用于开发人员和项目管理人员在软件开发实践中进行参考。

第1章 软件工程与软件设计 1

1.1 软件工程 1

1.1.1 软件概述 2

1.1.2 软件危机 4

1.1.3 软件工程的概念 5

1.1.4 软件工程的目标与原则 6

1.2 软件的生存周期 8

1.3 软件开发过程模型 12

1.3.1 瀑布模型 13

1.3.2 快速原型模型 14

1.3.3 螺旋模型 15

1.3.4 统一软件开发过程 16

1.4 软件设计 18

1.4.1 软件设计的重要性 18

1.4.2 软件设计的特征 19

1.4.3 软件设计的要素 20

1.4.4 软件设计的知识体 21

1.5 软件体系结构 24

1.5.1 软件体系结构的定义 24

1.5.2 软件体系结构的发展历程 25

1.5.3 软件体系结构的内容 26

小结 28

习题1 28

参考文献 29

第2章 统一建模语言UML 30

2.1 UML概述 30

2.1.1 UML的发展历程 30

2.1.2 UML的特点和用途 32

2.1.3 UML 2.0的建模机制 33

2.2 面向对象开发方法 35

2.2.1 基本概念 36

2.2.2 面向对象方法的优势 36

2.3 UML 2.0结构建模 38

2.3.1 类图 38

2.3.2 包图 41

2.3.3 对象图 43

2.3.4 构件图 44

2.3.5 组合结构图 46

2.3.6 部署图 48

2.4 UML 2.0行为建模 49

2.4.1 活动图 49

2.4.2 顺序图 51

2.4.3 通信图 55

2.4.4 交互概览图 55

2.4.5 时序图 57

2.4.6 状态图 58

2.4.7 用例图 61

小结 63

习题2 64

参考文献 64

第3章 软件设计基础 65

3.1 软件设计的基本概念 65

3.1.1 抽象与逐步求精 66

3.1.2 模块化与信息隐藏 67

3.1.3 内聚与耦合 69

3.2 软件设计过程 71

3.2.1 软件设计的一般过程 72

3.2.2 软件设计的主要活动 73

3.3 软件设计的质量 79

3.4 软件体系结构设计 81

3.4.1 软件体系结构设计方法概述 81

3.4.2 软件体系结构设计的步骤 89

3.5 高可信软件设计 95

3.5.1 可信软件的特点 96

3.5.2 容错设计 97

3.5.3 软件失效模式和影响分析 99

3.5.4 软件故障树分析 100

3.5.5 形式化方法 101

3.5.6 净室方法 103

3.5.7 嵌入式和实时软件设计 105

3.6 软件设计规格说明 109

3.7 软件设计评审 111

小结 113

习题3 114

参考文献 115

第4章 面向对象的软件设计方法 116

4.1 基于UML的分析与设计过程 116

4.2 用例分析与设计 119

4.2.1 确定用例 120

4.2.2 生成用例图 121

4.2.3 用例设计描述 123

4.3 概念模型与顶层架构设计 128

4.3.1 概念模型设计 128

4.3.2 顶层架构设计 130

4.4 用户界面设计 132

4.5 数据模型设计 136

4.6 设计精化 138

4.6.1 精化软件架构 139

4.6.2 调整软件构成类 140

4.6.3 精化交互模型 141

4.6.4 精化类之间的关系 142

4.7 类设计 144

4.7.1 精化类的属性与操作 144

4.7.2 类的行为模型设计 145

4.8 部署模型设计 149

小结 150

习题4 151

参考文献 151

第5章 面向数据流的软件设计方法 152

5.1 数据流图与数据字典 152

5.2 实体关系图 155

5.3 面向数据流的分析过程 157

5.3.1 建立数据流模型 158

5.3.2 过程规格说明 160

5.4 面向数据流的设计过程 160

5.4.1 变换流与事务流 161

5.4.2 变换分析 162

5.4.3 事务分析 168

5.5 启发式设计策略 173

小结 174

习题5 174

参考文献 174

第6章 用户界面设计 176

6.1 界面设计的基本原则 176

6.2 设计良好界面的主要途径 179

6.2.1 使系统处于用户控制之中 179

6.2.2 减少用户记忆负担 180

6.2.3 保持界面一致性 180

6.3 用户界面的分析与设计过程 181

6.3.1 界面交互方式 181

6.3.2 界面分析和设计模型 182

6.3.3 分析与设计过程 183

6.4 用户界面分析 184

6.4.1 用户分析 184

6.4.2 任务分析和建模 187

6.4.3 内容展示分析 190

6.4.4 工作环境分析 190

6.5 用户界面设计 191

6.5.1 界面对象、动作和布局的定义 192

6.5.2 界面设计需考虑的问题 194

6.6 用户界面原型 199

6.7 界面设计的评估 200

小结 202

习题6 203

参考文献 204

第7章 软件体系结构风格与设计模式 205

7.1 基本概念 205

7.2 软件体系结构描述语言 206

7.2.1 Wright ADL 206

7.2.2 图形化体系结构描述语言 208

7.3 软件体系结构风格 210

7.3.1 管道/过滤器风格 211

7.3.2 层次风格 213

7.3.3 客户/服务器风格 216

7.4 设计模式 218

7.4.1 Factory Method(工厂方法) 219

7.4.2 Abstract Factory(抽象工厂) 221

7.4.3 Singleton(单件) 225

7.4.4 Composite(组合) 229

7.4.5 Proxy(代理) 230

7.4.6 Iterator(迭代器) 231

7.4.7 Observer(观察者) 235

小结 239

习题7 239

参考文献 239

第8章 基于分布构件的体系结构 240

8.1 EJB分布构件框架 241

8.1.1 EJB简介 241

8.1.2 实例 242

8.1.3 原理分析 244

8.1.4 其他说明 247

8.2 DCOM分布构件框架 247

8.2.1 DCOM的基本概念 248

8.2.2 整体结构 249

8.2.3 实例 250

8.2.4 对原理的进一步分析 268

8.3 CORBA分布构件框架 269

8.3.1 基本体系结构 270

8.3.2 实例分析 271

8.3.3 完整体系结构 277

小结 278

习题8 279

参考文献 279

第9章 软件体系结构评估 280

9.1 软件体系结构评估概述 280

9.1.1 评估时机和参与人员 281

9.1.2 评估结果和质量属性 282

9.1.3 评估的益处和代价 284

9.2 软件体系结构评估方法 286

9.2.1 ATAM方法 286

9.2.2 SAAM方法 291

9.2.3 ARID方法 295

9.3 实例分析 297

9.3.1 ATAM方法实例 297

9.3.2 SAAM方法实例 305

小结 313

习题9 313

参考文献 314

第10章 软件设计的进化 315

10.1 遗留系统 315

10.2 软件的进化策略 316

10.2.1 进化策略的分类 317

10.2.2 进化策略的选择 317

10.3 软件再工程 320

10.3.1 业务过程重构 321

10.3.2 软件再工程的过程模型 322

10.3.3 软件再工程中的经济因素 324

10.3.4 信息恢复的级别和方法 325

10.4 软件体系结构的进化 326

10.4.1 软件体系结构进化的过程 328

10.4.2 软件体系结构的恢复 329

10.4.3 软件体系结构的改善 331

10.5 代码重构和数据重构 332

10.6 软件移植 333

小结 337

习题10 337

参考文献 338