《新编软件工程实用教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:周丽娟,王华编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121064500
  • 页数:260 页
图书介绍:本书从方法学的角度出发,概述了软件生存期模型和各种开发方法,介绍了结构化的设计方法。结合当前软件工程的理论和实践,以面向对象技术和UML语言为主线,详细介绍软件工程的技术方法和实践原则。同时讨论了软件维护和软件工程管理技术。本教材不仅介绍了软件工程的概念、原理、方法和技术,同时也强调方法和技术的实际应用。

第1章 概述 1

1.1 软件的概念和特征 1

1.1.1 软件的概念 1

1.1.2 软件的分类 2

1.1.3 软件的发展 3

1.2 软件危机 5

1.2.1 软件危机的主要表现 5

1.2.2 产生软件危机的原因 6

1.2.3 解决软件危机的途径 8

1.3 软件工程 8

1.3.1 软件工程的定义 8

1.3.2 软件工程的目标 9

1.3.3 软件工程的研究内容 10

1.3.4 软件工程的基本原理 11

本章小结 12

思考题和习题 13

第2章 软件开发模型 14

2.1 软件工程过程 14

2.1.1 软件过程定义 15

2.1.2 软件过程的基本活动 15

2.2 软件生存周期 16

2.2.1 软件生存周期定义 16

2.2.2 软件生存周期的基本任务 17

2.3 软件生存周期模型 18

2.3.1 瀑布模型 18

2.3.2 原型模型 19

2.3.3 螺旋模型 20

2.3.4 增量模型 21

2.3.5 喷泉模型 22

2.3.6 形式化方法模型 22

2.3.7 基于组件的开发模型 23

2.4 软件开发方法 23

2.4.1 结构化开发方法 24

2.4.2 面向数据结构的方法 25

2.4.3 面向对象方法 26

2.4.4 原型法 27

本章小结 28

思考题和习题 28

第3章 需求分析 29

3.1 需求分析概述 29

3.1.1 需求分析的特点 29

3.1.2 需求分析的原则 29

3.1.3 需求分析的任务 30

3.1.4 需求分析的方法 31

3.2 需求开发过程 32

3.2.1 需求的获取 32

3.2.2 需求分析 34

3.2.3 编写需求规格说明书 34

3.2.4 需求验证 35

3.3 需求的层次与种类 37

3.3.1 业务需求 37

3.3.2 用户需求 38

3.3.3 功能需求 38

3.3.4 非功能需求 38

3.4 需求管理 39

本章小结 40

思考题和习题 41

第4章 结构化分析与结构化设计基础 42

4.1 结构化分析 42

4.1.1 结构化分析策略 42

4.1.2 数据流图(DFD) 43

4.1.3 数据词典 47

4.1.4 数据加工逻辑 48

4.1.5 实体关系图 51

4.1.6 结构化分析实例 53

4.2 结构化设计 58

4.2.1 结构化设计概述 58

4.2.2 软件设计的基本原理 59

4.2.3 软件设计采用的工具 65

4.2.4 面向数据流的设计方法 68

4.2.5 概要设计说明书 69

本章小结 70

思考题和习题 71

第5章 构件级设计与实现 72

5.1 详细设计 72

5.1.1 详细设计概述 72

5.1.2 详细设计工具 73

5.1.3 程序复杂性度量 77

5.1.4 详细设计文档及设计复审 79

5.2 编码 81

5.2.1 程序设计语言特性 81

5.2.2 程序设计语言的选择 82

5.2.3 程序设计的风格 85

本章小结 87

思考题和习题 88

第6章 面向对象方法及UML建模语言 89

6.1 面向对象技术的发展历史 89

6.2 面向对象的基本概念 89

6.2.1 对象 89

6.2.2 类 90

6.2.3 消息 90

6.2.4 封装性 90

6.2.5 继承性 90

6.2.6 多态性 91

6.3 面向对象的开发方法 91

6.4 UML统一建模语言简介 92

6.4.1 UML的发展历史 93

6.4.2 UML的特点 93

6.4.3 UML用于软件的开发 94

6.5 UML的语言基础 94

6.6 用例图 95

6.6.1 用例图描述 95

6.6.2 建立用例模型 96

6.6.3 用例图示例 97

6.7 静态图 97

6.7.1 类图 97

6.7.2 对象图 100

6.7.3 包图 101

6.8 行为图 103

6.8.1 状态图 103

6.8.2 活动图 105

6.9 交互图 107

6.9.1 顺序图 108

6.9.2 合作图 110

6.10 实现图 111

6.10.1 构件图 111

6.10.2 配置图 112

本章小结 114

思考题和习题 114

第7章 面向对象分析 115

7.1 面向对象分析概述 115

7.1.1 面向对象分析的3个模型与5个层次 115

7.1.2 问题陈述 116

7.2 建立对象模型 118

7.2.1 标识类-对象 118

7.2.2 确定关联 119

7.2.3 定义属性 122

7.2.4 标识主题 123

7.2.5 识别结构 124

7.2.6 优化对象模型 124

7.3 建立动态模型 126

7.3.1 编写脚本 127

7.3.2 事件跟踪图 127

7.3.3 状态图 129

7.3.4 优化动态模型 129

7.4 建立功能模型 131

7.5 定义服务 132

本章小结 133

思考题和习题 133

第8章 面向对象的设计 134

8.1 面向对象设计准则 134

8.1.1 设计准则 134

8.1.2 设计策略 135

8.1.3 系统分解与组织 137

8.2 问题域子系统设计 139

8.3 人机交互子系统设计 140

8.4 任务管理子系统设计 142

8.5 数据管理子系统设计 144

8.5.1 选择数据存储管理模式 145

8.5.2 设计数据管理子系统 146

8.6 服务与关联的设计 148

8.6.1 设计服务 148

8.6.2 设计关联 149

8.7 面向对象设计的优化 150

本章小结 154

思考题和习题 154

第9章 软件测试 155

9.1 软件测试基本理论 155

9.1.1 软件测试的概念 155

9.1.2 软件测试的原则 155

9.2 软件测试方法和类型 156

9.2.1 静态测试和动态测试 156

9.2.2 白盒测试 157

9.2.3 黑盒测试 157

9.3 软件测试策略 161

9.3.1 单元测试 161

9.3.2 集成测试 162

9.3.3 确认测试 164

9.3.4 系统测试 165

9.4 面向对象软件测试 165

9.4.1 面向对象测试模型(Object-OrientTestModel) 166

9.4.2 面向对象分析的测试(OOATest) 167

9.4.3 面向对象设计的测试(OODTest) 169

9.4.4 面向对象编程的测试(OOPTest) 170

9.4.5 面向对象的单元测试(00UnitTest) 171

9.4.6 面向对象的集成测试(00IntegrateTest) 172

9.4.7 面向对象的系统测试(00SystemTest) 173

本章小结 174

思考题和习题 174

第10章 软件维护 176

10.1 软件维护概述 176

10.1.1 软件维护分类 176

10.1.2 软件维护成本 177

10.2 软件维护过程 178

10.2.1 软件维护活动 178

10.2.2 软件维护技术 181

10.3 软件可维护性 182

10.3.1 软件的可维护性 182

10.3.2 软件可维护性度量 183

10.3.3 提高可维护性的方法 183

10.4 软件维护的副作用 184

10.4.1 代码的副作用 185

10.4.2 数据副作用 185

10.4.3 文档副作用 185

10.5 软件再工程 186

10.5.1 软件再工程概述 186

10.5.2 软件再工程过程 186

10.5.3 软件再工程方法 188

本章小结 188

思考题和习题 188

第11章 软件工程管理 189

11.1 软件项目管理 189

11.1.1 软件项目管理的特点 189

11.1.2 软件项目管理活动 190

11.1.3 软件项目计划 191

11.2 软件风险管理 202

11.2.1 风险识别 202

11.2.2 风险分析 205

11.2.3 风险规划 207

11.2.4 风险控制 207

11.3 软件质量管理 208

11.3.1 软件质量基础 208

11.3.2 软件质量控制 208

11.4 软件配置管理 209

11.4.1 软件配置管理概述 210

11.4.2 软件配置管理过程 211

11.5 软件过程管理 212

11.5.1 ISO90000体系 212

11.5.2 能力成熟度模型 213

本章小结 215

思考题和习题 215

第12章 基于构件的软件开发 216

12.1 软件复用概述 216

12.1.1 软件复用的定义 217

12.1.2 软件复用的形式和级别 217

12.1.3 软件复用的过程 219

12.1.4 软件复用的意义 220

12.2 构件与构件技术 221

12.2.1 构件的定义及基本特征 221

12.2.2 构件技术的产生与基本思想 222

12.3 构件与构件系统 223

12.3.1 对可复用构件的要求 223

12.3.2 构件模型及系统 224

12.3.3 构件的分类模式 226

12.3.4 构件库的管理 227

12.4 领域工程 228

12.4.1 领域工程过程 228

12.4.2 领域工程实施 230

12.4.3 组织机构 230

12.4.4 相关技术 231

12.5 基于构件的软件开发 231

12.5.1 CBSE/CBD概述 231

12.5.2 CBSE过程 233

12.5.3 基于构件的系统的开发 234

12.5.4 构件构造 234

12.5.5 软件构件技术规范 235

12.6 CBD与传统的软件开发方法比较 238

本章小结 239

思考题和习题 240

第13章 Web工程 241

13.1 基于Web的系统和应用特点 241

13.2 Web工程的层次 242

13.2.1 过程 243

13.2.2 方法 243

13.2.3 工具和技术 244

13.3 Web分析 244

13.3.1 内容分析模型 244

13.3.2 交互分析模型 244

13.3.3 功能分析模型 245

13.3.4 配置分析模型 245

13.3.5 关系导航分析模型 246

13.4 Web设计 246

13.4.1 界面设计 247

13.4.2 美学设计 248

13.4.3 内容设计 249

13.4.4 体系结构设计 249

13.4.5 导航设计 250

13.4.6 构件设计 251

13.5 Web测试 251

13.5.1 内容测试 251

13.5.2 界面测试 252

13.5.3 构件级测试 253

13.5.4 导航测试 253

13.5.5 配置测试 254

13.5.6 安全性测试 255

13.5.7 性能测试 255

13.6 Web的项目管理 256

13.6.1 Web队伍 256

13.6.2 项目管理 257

13.6.3 配置管理 258

本章小结 259

思考题和习题 259

参考文献 260