《软件工程理论与实践》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:王振武编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302373780
  • 页数:328 页
图书介绍:本教材将面向过程和面向对象的软件工程方法都进行了介绍,教材按照软件生命周期的阶段组织各个章节,通过一个完整的例子来讲解各章节的具体实现,以便让读者有个清晰的认识,避免大部分软件工程教材枯燥乏味的缺点,同时读者学完本书之后会对软件工程的实践步骤有一个清晰的认识。

第1章 软件工程概述 1

1.1 软件 1

1.1.1 软件的定义 1

1.1.2 软件的特点 2

1.1.3 软件的分类 2

1.2 软件危机与软件工程 5

1.2.1 软件危机 5

1.2.2 软件工程 6

1.2.3 软件工程的基本内容 7

1.2.4 软件工程的基本原则 7

1.3 软件生命周期与软件开发模型 8

1.3.1 软件生命周期 8

1.3.2 软件开发模型 9

1.4 软件开发方法 17

1.4.1 结构化开发方法 17

1.4.2 面向对象开发方法 20

1.5 CASE工具与环境 22

1.5.1 Sybase PowerDesigner 22

1.5.2 Rational Rose 24

1.5.3 Microsoft Visio 24

1.6 软件工程的演变与发展 24

1.6.1 软件发展的新阶段和新问题 24

1.6.2 软件工程的发展 25

小结 25

习题 26

第2章 可行性研究 27

2.1 可行性研究的含义 27

2.2 可行性研究的任务和步骤 28

2.2.1 可行性研究的任务 28

2.2.2 可行性研究的步骤 29

2.3 可行性研究的要素 31

2.3.1 经济可行性 31

2.3.2 技术可行性 31

2.3.3 社会环境可行性 32

2.4 成本/效益分析 32

2.4.1 成本估计 32

2.4.2 费用估计 33

2.4.3 度量效益的方法 34

2.5 方案选择与决策 35

2.6 可行性分析实例——《学生教材购销系统》可行性研究报告 36

小结 45

习题 45

第3章 需求分析 47

3.1 需求分析的基本概念 47

3.1.1 软件需求的定义和特点 47

3.1.2 需求分析的目标和任务 48

3.1.3 需求分析的原则 50

3.2 需求获取的方法 50

3.2.1 用户访谈 50

3.2.2 问卷调查 50

3.2.3 专题讨论会 51

3.2.4 快速建立软件原型 52

3.3 需求建模方法 53

3.3.1 数据流图 53

3.3.2 数据字典 57

3.3.3 层次方框图 60

3.3.4 Warnier图 61

3.3.5 E-R图 61

3.3.6 状态转换图 64

3.4 需求验证 65

3.4.1 需求验证的内容 66

3.4.2 需求验证的方法 67

3.5 需求分析实例——《学生教材购销系统》需求规格说明书 67

3.5.1 《学生教材购销系统》非功能性需求 68

3.5.2 《学生教材购销系统》功能性需求 77

小结 86

习题 86

第4章 概要设计 87

4.1 概要设计概述 87

4.2 概要设计的主要内容 88

4.2.1 概要设计的任务和过程 88

4.2.2 软件体系结构设计 89

4.2.3 数据库设计 94

4.3 概要设计的原则 98

4.3.1 模块化 98

4.3.2 耦合 99

4.3.3 内聚 101

4.3.4 启发规则 103

4.3.5 面向对象设计模式 103

4.4 概要设计的工具 104

4.4.1 层次方框图 104

4.4.2 IPO图 104

4.4.3 HIPO图 105

4.5 概要设计实例——《学生教材购销系统》概要设计说明书 105

小结 113

习题 114

第5章 详细设计 116

5.1 详细设计的内容与原则 116

5.1.1 详细设计的内容 116

5.1.2 详细设计的原则 117

5.2 数据代码设计的工具 117

5.2.1 程序流程图 118

5.2.2 N-S图 119

5.2.3 PAD图 120

5.2.4 伪代码和PDL语言 122

5.2.5 判定表和判定树 123

5.2.6 详细设计工具的选择 125

5.3 人-机界面设计 125

5.4 程序结构复杂性的定量度量 127

5.4.1 McCabe方法 127

5.4.2 Halstead方法 130

5.5 详细设计实例——《学生教材购销系统》详细设计说明书 130

小结 140

习题 140

第6章 编码 143

6.1 程序设计语言 143

6.1.1 程序设计语言的分类 143

6.1.2 程序设计语言的特点 146

6.1.3 程序设计语言的选择 148

6.2 编程风格 150

6.2.1 良好编程风格的意义 150

6.2.2 编程风格的内容 151

6.3 程序效率 156

6.3.1 程序效率准则 156

6.3.2 算法对效率的影响 157

6.4 编程实例分析——《学生教材购销系统》编码规范说明 157

小结 170

习题 170

第7章 测试 172

7.1 软件测试概述 172

7.1.1 软件测试的定义 172

7.1.2 软件测试的对象 173

7.1.3 软件测试的准则 173

7.1.4 软件测试的方法 174

7.2 单元测试 175

7.3 集成测试 177

7.4 确认测试 179

7.5 白盒测试 180

7.6 黑盒测试 184

7.7 调试过程、技术与原则 187

7.7.1 调试过程 187

7.7.2 调试技术 188

7.7.3 调试原则 189

7.8 测试实例——《学生教材购销系统》测试报告 190

小结 195

习题 195

第8章 维护 197

8.1 软件维护概述 197

8.1.1 软件维护的分类 197

8.1.2 软件维护的特点 198

8.2 维护任务的实施 199

8.2.1 维护组织 200

8.2.2 维护报告 200

8.2.3 维护过程 201

8.3 软件的可维护性 201

8.3.1 软件可维护性的定义 201

8.3.2 影响软件可维护性的因素 201

8.3.3 提高软件可维护性的方法 202

8.4 软件维护的副作用 204

8.4.1 修改代码的副作用 204

8.4.2 修改数据的副作用 205

8.4.3 修改文档的副作用 205

8.5 软件再工程 205

8.6 维护报告实例——《学生教材购销系统》软件维护报告 206

小结 211

习题 211

第9章 软件项目管理 212

9.1 软件项目管理概述 212

9.2 软件进度计划管理 214

9.2.1 进度计划管理概述 214

9.2.2 进度计划编制方法 216

9.2.3 进度计划控制 218

9.3 软件质量管理 219

9.3.1 软件质量 219

9.3.2 软件质量保证措施 222

9.3.3 能力成熟度模型 223

9.4 软件成本管理 227

9.4.1 软件成本分析 227

9.4.2 软件成本估算 228

9.4.3 软件成本控制 229

9.5 配置管理 232

9.5.1 配置管理概述 232

9.5.2 配置管理的组织 232

9.5.3 配置管理的主要活动 235

9.6 人力资源管理 238

9.6.1 软件项目人力资源的特征 238

9.6.2 人力资源管理的主要内容 238

9.6.3 人员的组织与分工 239

9.7 项目管理实例——《学生教材购销系统》项目管理方案 242

小结 251

习题 252

第10章 面向对象方法与UML建模 254

10.1 面向对象方法概述 254

10.1.1 面向对象方法的含义 254

10.1.2 面向对象的软件工程 256

10.1.3 面向对象的基本概念和特征 260

10.2 统一建模语言 267

10.2.1 模型的建立 267

10.2.2 UML的特点与应用 272

10.2.3 UML提供的常用图 274

10.3 用例图 275

10.4 状态图 277

10.5 活动图 278

10.6 类图 280

10.7 对象图 286

10.8 顺序图 286

10.9 协作图 287

10.10 组件图 288

10.11 部署图 288

10.12 使用PowerDesigner进行建模 289

10.12.1 PowerDesigner的安装 289

10.12.2 PowerDesigner的功能 290

10.12.3 PowerDesigner的运行界面 292

小结 293

习题 294

第11章 面向对象分析与设计 296

11.1 面向对象分析 296

11.1.1 面向对象分析的过程与原则 296

11.1.2 确定对象与类 301

11.1.3 确定属性 303

11.1.4 定义服务 304

11.1.5 对象间的通信 308

11.2 面向对象设计概述 314

11.2.1 面向对象设计的概念 314

11.2.2 面向对象设计的准则及启发规则 315

11.2.3 面向对象设计的方法 317

11.3 使用PowerDesigner画学生教材购销系统的9种图 319

11.3.1 学生教材购销系统的用例图 319

11.3.2 学生教材购销系统的类图 320

11.3.3 学生教材购销系统的对象图 321

11.3.4 学生教材购销系统的状态图 321

11.3.5 学生教材购销系统的活动图 323

11.3.6 学生教材购销系统的顺序图 323

11.3.7 学生教材购销系统的协作图 325

11.3.8 学生教材购销系统的组件图 325

11.3.9 学生教材购销系统的部署图 325

小结 326

习题 326

参考文献 328