当前位置:首页 > 工业技术
软件设计与体系结构
软件设计与体系结构

软件设计与体系结构PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:齐治昌主编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2010
  • ISBN:9787040284089
  • 页数:294 页
图书介绍:本书是普通高等教育“十一五”国家级规划教材。软件工程强调以工程化思想和方法开发软件,而软件设计作为软件开发过程中的核心活动之一,对开发出满足需要的高质量软件起到关键作用。本书对软件设计以及软件体系结构的相关思想、理论与方法进行了系统的介绍,包括软件设计与软件体系结构在软件工程中的地位和作用、软件设计的基本方法与原则、统一建模语言UML2.0、面向对象的软件设计方法、面向数据流的软件设计方法、人机界面设计、软件体系结构风格与设计模式、基于构件的软件体系结构、软件体系结构评估、软件设计的进化等内容。本书包含了作者多年来在软件开发实践、软件工程教学和科研活动中的认识与体会,并结合大量的案例分析,力求全书内容与组织结构的系统性、先进性、基础性和实用性。本书可作为高等院校计算机科学与技术专业、软件工程专业方向以及信息类相关专业的本科生和研究生教材,培养学生的软件设计思维能力以及方法和技术的运用能力,同时也适用于开发人员和项目管理人员在软件开发实践中进行参考。
《软件设计与体系结构》目录

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

1.1 软件工程 1

1.1.1 软件概述 2

1.1.2 软件危机 3

1.1.3 软件工程的概念 4

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

1.2 软件的生存周期 7

1.3 软件开发过程模型 10

1.3.1 瀑布模型 11

1.3.2 快速原型模型 12

1.3.3 螺旋模型 12

1.3.4 统一软件开发过程 13

1.4 软件设计 15

1.4.1 软件设计的重要性 16

1.4.2 软件设计的特征 17

1.4.3 软件设计的要素 17

1.5 软件体系结构 18

1.5.1 软件体系结构的定义 18

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

1.5.3 软件体系结构的内容 20

1.6 小结 21

习题 22

参考文献 22

第2章 统一建模语言UML 23

2.1 UML概述 23

2.1.1 UML的发展历程 23

2.1.2 UML的特点和用途 25

2.1.3 UML 2.0的建模机制 25

2.2 面向对象开发方法 28

2.2.1 基本概念 28

2.2.2 面向对象方法的优势 29

2.3 UML 2.0结构建模 30

2.3.1 类图 30

2.3.2 包图 33

2.3.3 对象图 34

2.3.4 构件图 35

2.3.5 组合结构图 37

2.3.6 部署图 38

2.4 UML 2.0行为建模 39

2.4.1 活动图 39

2.4.2 顺序图 41

2.4.3 通信图 44

2.4.4 交互概览图 45

2.4.5 时序图 45

2.4.6 状态图 47

2.4.7 用例图 50

2.5 小结 52

习题 53

参考文献 53

第3章 软件设计基础 54

3.1 软件设计的基本概念 54

3.1.1 抽象与逐步求精 55

3.1.2 模块化与信息隐藏 57

3.1.3 内聚与耦合 58

3.2 软件设计过程 60

3.2.1 软件设计的一般过程 60

3.2.2 软件设计的主要活动 61

3.3 软件设计的质量 66

3.4 软件体系结构设计 68

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

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

3.5 高可信软件设计 80

3.5.1 可信软件的特点 80

3.5.2 容错设计 81

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

3.5.4 软件故障树分析 84

3.5.5 形式化方法 85

3.5.6 净室方法 86

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

3.6 软件设计规格说明 91

3.7 软件设计评审 93

3.8 小结 95

习题 95

参考文献 96

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

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

4.2 用例分析与设计 101

4.2.1 确定用例 101

4.2.2 生成用例图 103

4.2.3 用例设计描述 105

4.3 概念模型和顶层架构设计 109

4.3.1 概念模型设计 109

4.3.2 顶层架构设计 111

4.4 用户界面设计 112

4.5 数据模型设计 116

4.6 设计精化 118

4.6.1 精化软件架构 118

4.6.2 调整软件构成类 119

4.6.3 精化交互模型 120

4.6.4 精化类之间的关系 121

4.7 类设计 122

4.7.1 精化类的属性与操作 123

4.7.2 类的行为模型设计 125

4.8 部署模型设计 127

4.9 小结 128

习题 129

参考文献 130

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

5.1 数据流图与数据字典 131

5.2 实体关系图 134

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

5.3.1 建立数据流模型 136

5.3.2 过程规格说明 138

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

5.4.1 变换流与事务流 139

5.4.2 变换分析 141

5.4.3 事务分析 145

5.5 启发式设计策略 149

5.6 小结 150

习题 150

参考文献 151

第6章 用户界面设计 152

6.1 界面设计的基本原则 152

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

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

6.2.2 减少用户记忆负担 155

6.2.3 保持界面一致性 155

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

6.3.1 界面交互方式 156

6.3.2 界面分析和设计模型 157

6.3.3 分析与设计过程 158

6.4 用户界面分析 159

6.4.1 用户分析 159

6.4.2 任务分析和建模 161

6.4.3 内容展示分析 164

6.4.4 工作环境分析 164

6.5 用户界面设计 165

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

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

6.6 用户界面原型 172

6.7 界面设计的评估 173

6.8 小结 175

习题 175

参考文献 176

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

7.1 基本概念 177

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

7.2.1 Wright ADL 178

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

7.3 软件体系结构风格 182

7.3.1 管道/过滤器风格 182

7.3.2 层次风格 184

7.3.3 客户/服务器风格 186

7.4 设计模式 188

7.4.1 Factory Method(工厂方法) 189

7.4.2 Abstract Factory(抽象工厂) 191

7.4.3 Singleton(单件) 194

7.4.4 Composite(组合) 198

7.4.5 Proxy(代理) 199

7.4.6 Iterator(迭代器) 200

7.4.7 Observer(观察者) 203

7.5 小结 207

习题 207

参考文献 207

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

8.1 EJB分布构件框架 209

8.1.1 EJB简介 209

8.1.2 实例 210

8.1.3 原理分析 212

8.1.4 其他说明 214

8.2 DCOM分布构件框架 215

8.2.1 DCOM的基本概念 215

8.2.2 整体结构 216

8.2.3 实例 217

8.2.4 对原理的进一步分析 234

8.3 CORBA分布构件框架 235

8.3.1 基本体系结构 236

8.3.2 实例分析 237

8.3.3 完整体系结构 242

8.4 小结 243

习题 244

参考文献 244

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

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

9.1.1 评估时机和参与人员 246

9.1.2 评估结果和质量属性 247

9.1.3 评估的益处和代价 248

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

9.2.1 ATAM方法 250

9.2.2 SAAM方法 254

9.2.3 ARID方法 257

9.3 实例分析 259

9.3.1 ATAM方法实例 259

9.3.2 SAAM方法实例 267

9.4 小结 273

习题 274

参考文献 274

第10章 软件设计的进化 275

10.1 遗留系统 275

10.2 软件的进化策略 276

10.2.1 进化策略的分类 277

10.2.2 进化策略的选择 277

10.3 软件再工程 280

10.3.1 业务过程重构 281

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

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

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

10.4 软件体系结构的进化 285

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

10.4.2 软件体系结构的恢复 286

10.4.3 软件体系结构的改善 288

10.5 代码重构和数据重构 289

10.6 软件移植 290

10.7 小结 293

习题 294

参考文献 294

返回顶部