《软件工程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:卢潇主编;孙璐,刘娟,张科英编著
  • 出 版 社:清华大学出版社;北京交通大学出版社
  • 出版年份:2005
  • ISBN:7810824716
  • 页数:345 页
图书介绍:本书是作者在多年的软件工程教学和科研实践的基础上,总结和吸取了国内外大量同类书刊的精华,精心设计和撰写的。全书正文共13章,内容可分四部分:第一部分主要介绍软件工程的基本概念,并概要介绍了软件生存周期、开发模型及软件开发的各种方法;第二部分按生命周期模型详细介绍了软件计划、需求分析、设计、编码、测试和维护各个阶段的有关概念和工作内容;第三部分介绍面向对象的方法及UML建模语言;第四部分介绍了软件标准、文档、质量评价和质量保证技术、软件工程的管理、认证等内容。

第1章 概述 1

1.1 软件的概念 1

1.1.1 软件技术的发展阶段 1

目录 1

1.1.2 软件的定义 2

1.1.3 软件的分类 2

1.2.1 什么是软件危机 5

1.2.2 产生软件危机的原因 5

1.2 软件危机 5

1.2.3 解决软件危机的途径 8

1.3 软件工程 8

1.3.1 软件工程的定义 8

1.3.2 软件工程的内容 8

1.3.3 软件工程的基本原理 9

1.3.4 软件工程项目的基本目标 11

1.3.5 软件工程的开发原则 11

1.4.1 软件过程 12

1.4 软件过程和软件生存期 12

1.4.2 软件生存周期 14

1.5 软件开发过程模型 14

1.5.1 瀑布模型 15

1.5.2 原型模型(快速原型模型) 16

1.5.3 螺旋模型 17

1.5.4 喷泉模型 18

1.5.5 构件组装模型 19

1.5.6 统一过程RUP模型 20

1.5.7 第四代技术 21

1.6 软件开发方法简述 21

1.6.1 结构化方法 22

1.6.2 面向数据结构的开发方法 22

1.6.3 面向对象的方法 23

1.6.4 可视化开发方法 24

1.7 软件工程的最新发展动向 24

小结 25

习题1 26

2.1 可行性研究 27

2.1.1 可行性研究的任务 27

第2章 软件计划 27

2.1.2 可行性研究的步骤 28

2.2 系统流程图 30

2.2.1 系统流程图的符号 30

2.2.2 系统流程图举例 31

2.2.3 分层 32

2.3.1 确定软件计划 33

2.3 制定软件计划 33

2.3.2 复审软件计划 37

2.4 成本/效益分析 38

2.4.1 成本估算技术 38

2.4.2 成本/效益分析的方法 42

小结 43

习题2 44

3.1.2 需求的层次 45

3.1.1 需求的概念 45

3.1 需求分析的概念和任务 45

第3章 需求分析 45

3.1.3 需求分析的任务 46

3.2 获取需求的方法 52

3.2.1 存在问题 52

3.2.2 常用方法 52

3.2.3 需求分析的原则 54

3.2.4 需求分析方法概述 54

3.3 结构化分析方法 56

3.3.1 结构化分析方法的基本思想 56

3.3.2 描述工具 56

3.3.3 数据流图 57

3.3.4 数据字典 63

3.3.5 加工逻辑说明 65

3.4 原型法 68

3.4.1 原型的概念 68

3.4.2 快速原型开发过程 70

习题3 72

小结 72

第4章 总体设计 74

4.1 总体设计的任务及目标 74

4.1.1 总体设计的任务 74

4.1.2 总体设计的目标 77

4.2 总体设计的概念和原理 78

4.2.1 软件结构和过程 78

4.2.2 模块化 80

4.3 设计准则 91

4.4 总体设计的常用方法及工具 95

4.4.1 面向数据流的设计方法 95

4.4.2 面向数据结构的分析设计方法 103

小结 111

习题4 112

第5章 详细设计 113

5.1 详细设计的任务 113

5.2 详细设计的原则 113

5.3.1 详细设计的方法 114

5.3 详细设计的方法和工具 114

5.3.2 详细设计的工具 115

5.3.3 详细设计工具的选择 122

5.4 详细设计规格说明与复审 122

5.4.1 详细设计说明 122

5.4.2 设计复审 123

5.5 界面设计 123

5.5.1 用户界面设计的一般原则和步骤 124

5.5.2 字符界面设计 126

5.5.3 菜单设计 127

5.5.4 对话框设计 128

5.5.5 多窗口界面设计 128

5.6 软件体系结构 129

5.6.1 软件体系结构的兴起 129

5.6.2 软件体系结构的概念 129

5.6.3 软件体系结构的现状及发展方向 131

5.6.4 软件体系结构的风格 133

5.6.5 软件体系结构的描述方法 140

5.7 几种新型的软件体系结构 142

5.7.1 正交软件体系结构 142

5.7.2 三层C/S软件体系结构 143

5.7.3 C/S与B/S混合软件体系结构 145

5.8 软件体系结构与操作系统 146

5.8.1 操作系统的体系结构 146

5.8.2 模块结构 146

5.8.3 分层结构 147

5.8.4 微内核结构 148

小结 149

习题5 150

第6章 编码 151

6.1 程序设计语言 151

6.1.1 程序设计语言的分类 151

6.1.2 选择程序设计语言的标准 152

6.2 程序设计风格 153

6.2.1 源程序文档化 153

6.2.3 语句结构 155

6.2.2 数据说明 155

6.2.4 输入和输出(I/O) 156

6.3 实例 157

小结 159

习题6 159

第7章 软件测试 160

7.1 软件测试的任务和目标 160

7.1.1 软件测试的目标 160

7.1.2 软件测试原则 160

7.2.1 白盒测试法 162

7.2 软件测试的方法 162

7.2.2 黑盒测试法 168

7.3 软件测试的步骤 170

7.3.1 单元测试 170

7.3.2 集成测试 171

7.3.3 确认测试 174

7.3.4 系统测试 175

7.4.1 调试过程 176

7.4 调试 176

7.4.2 调试方法 177

7.4.3 调试原则 179

7.5 软件测试工具 179

7.5.1 自动软件测试的优点 180

7.5.2 测试工具分类 180

7.5.3 测试脚本 181

7.5.4 自动测试的相关问题 182

7.5.5 常用软件测试工具及特点 182

7.6 实例 183

小结 186

习题7 187

第8章 软件维护 188

8.1 软件维护的概念 188

8.2 软件维护的特点 189

8.2.1 影响维护的问题很多 189

8.3.1 维护申请报告 190

8.3 软件维护的步骤 190

8.2.2 维护的代价高昂 190

8.3.2 维护工作实施 191

8.3.3 维护文档整理 193

8.3.4 维护活动评价 193

8.4 软件的可维护性 194

8.4.1 影响软件可维护性的因素 194

8.4.2 提高软件的可维护性方法 195

8.5.2 软件的逆向工程和再工程 197

8.5.1 预防性维护 197

8.5 逆向工程和再工程 197

8.6 实例 198

小结 199

习题8 200

第9章 面向对象方法学 201

9.1 面向对象方法学的引入 201

9.1.1 传统方法学的缺点 201

9.1.2 面向对象技术特点 201

9.1.3 面向对象方法学的优点 202

9.2 面向对象的基本概念和特性 203

9.2.1 面向对象的基本概念 203

9.2.2 面向对象的基本特性 206

9.3 面向对象分析 207

9.3.1 面向对象分析的目标和任务 207

9.3.2 面向对象分析的基本原则 207

9.3.3 面向对象分析的基本过程 208

9.3.4 面向对象建模 209

9.4 面向对象设计 210

9.4.1 面向对象设计的基本原则 210

9.4.2 面向对象设计的基本内容 213

9.5 几种流行的面向对象方法 213

9.5.1 Coad-Yourdon方法 213

9.5.2 对象模型技术 219

9.5.3 Booch的方法 220

9.6.2 UML视图 221

9.6.1 统一建模语言概述 221

9.6 统一建模语言 221

9.6.3 对象建模 222

9.6.4 动态建模 228

9.6.5 功能建模 230

9.7 面向对象实现 232

9.7.1 程序设计语言 232

9.7.2 程序设计风格 233

9.7.3 面向对象的程序测试 234

9.8.1 图书馆管理信息系统的需求说明 235

9.7.4 面向对象的软件维护 235

9.8 面向对象实例 235

9.8.2 UML建模 236

小结 243

习题9 244

第10章 软件工程标准化和软件文档 245

10.1 软件工程标准化的概念 245

10.1.1 什么是软件工程标准化 245

10.1.3 软件工程标准化的类型 246

10.1.2 软件工程标准化的意义 246

10.2 软件工程标准的制定与推行 248

10.2.1 软件工程标准的制定与推行 248

10.2.2 软件工程标准在开发机构中的推行 248

10.3 软件工程标准的层次和体系框架 249

10.3.1 软件工程标准的层次 249

10.3.2 软件工程标准的体系框架 251

10.3.3 中国的软件工程标准化工作 254

10.4.1 ISO 9000标准概述 255

10.4 ISO 9000国际标准简介 255

10.4.2 ISO 9000标准的特点 256

10.4.3 ISO 9000标准的构成 257

10.5 软件文档 259

10.5.1 软件文档的作用和分类 259

10.5.2 软件文档的编制要求 262

10.5.3 软件文档的管理和维护 264

小结 264

习题10 265

第11章 软件工程质量 266

11.1 软件质量特性 266

11.1.1 软件质量的定义 266

11.1.2 软件质量的特性 266

11.2 软件质量的度量和评价 271

11.2.1 软件质量的度量 271

11.2.2 软件质量的评价 272

11.3.2 软件质量保证的主要任务 273

11.3.1 什么是软件质量保证 273

11.3 软件质量保证 273

11.3.3 软件质量保证体系 274

11.4 软件质量管理体系 277

11.4.1 软件产品质量管理的特点 277

11.4.2 软件质量管理的指导思想 278

11.4.3 软件开发的质量管理体系 279

小结 280

习题11 280

12.1.2 软件项目管理的主要职能 281

12.1.1 软件项目管理的特点 281

第12章 软件工程项目管理 281

12.1 软件项目管理 281

12.2 常见管理技术及工具简介 282

12.2.1 软件项目管理的主要内容 282

12.2.2 常见工具简介 289

12.3 软件过程成熟度模型 291

12.3.1 CMM概述 291

12.3.2 CMM的成熟度级别 292

12.4 利用CMM对软件机构进行成熟度评估 295

12.5 项目管理认证体系IPMP与PMP 296

12.5.1 IPMP概况 296

12.5.2 PMP简介 297

12.5.3 我国目前的项目管理认证体系的发展状况 298

小结 298

习题12 299

13.1 项目论证和计划 300

13.1.1 系统调查 300

第13章 开发实例 300

13.1.2 新系统的总体功能需求和性能要求 304

13.1.3 完成文档 306

13.2 需求分析 306

13.2.1 数据流分析 306

13.2.2 数据字典 310

13.2.3 处理逻辑描述 319

13.3 系统设计 321

13.2.4 形成需求规格说明书并进行需求评审 321

13.3.1 系统总体概要设计 322

13.3.2 代码设计 327

13.3.3 数据库设计 327

13.3.4 界面设计 329

13.3.5 完成设计文档和设计评审 330

13.4 系统实现 331

小结 331

附录A 项目开发文档 332

参考文献 345