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

  • 购买积分:12 如何计算积分?
  • 作  者:刘金安主编
  • 出 版 社:上海:同济大学出版社
  • 出版年份:2012
  • ISBN:9787040338478
  • 页数:309 页
图书介绍:本书凝结了作者长期从事软件工程课程教学和工程项目实践的经验,以软件的生命周期为主线索,深入浅出地阐述软件工程方法、应用技术和实用工具等软件工程知识。全书共有12章。第1章进行了软件工程的概述,第2-7章是本书的重点,按软件生命周期过程,分别论述软件项目立项及可行性研究、需求分析、总体设计、详细设计、实现、测试、发布与实施、运行与维护阶段的各种方法和技术;第8-9章介绍了软件配置管理和有关软件项目组织、度量、计划、风险、质量等软件管理方面的内容;第11章介绍了项目管理、分析建模、软件测试和版本控制等常用项目管理工具;第12章以一个实例介绍软件工程方法和工具的实际应用。

第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 软件工程目标与原理 5

1.2.3 软件工程的基本原则 7

1.2.4 软件工程的内容 8

1.3 软件开发方法和理论 9

1.3.1 软件工程的3种开发方法 9

1.3.2 软件工程的5个面向理论 10

1.4 软件生存周期 10

1.4.1 软件生存周期的定义 10

1.4.2 软件生存周期划分阶段的原则 11

1.4.3 软件生存周期各阶段的任务 11

1.5 软件开发模型 12

1.5.1 瀑布模型 12

1.5.2 增量模型 13

1.5.3 螺旋模型 14

1.5.4 快速原型模型 15

1.5.5 喷泉模型 15

1.5.6 统一过程 16

1.6 典型例题解析 16

1.7 本章小结 18

1.8 习题 18

第2章 软件立项与合同 20

2.1 软件项目立项 20

2.1.1 软件项目分类 20

2.1.2 项目立项 21

2.1.3 项目可行性分析 21

2.1.4 可行性研究报告的主要内容 24

2.1.5 召开项目启动会议 25

2.2 系统流程图 25

2.3 成本-效益分析 27

2.3.1 成本估算方法 27

2.3.2 效益分析 31

2.4 软件投标及签订合同 32

2.5 制定项目任务书 33

2.6 软件项目计划 34

2.7 利用Project制定项目计划 34

2.8 典型例题解析 34

2.9 本章小结 35

2.10 习题 36

第3章 需求分析 37

3.1 需求分析概述 37

3.1.1 需求分析的定义 37

3.1.2 需求分析的重要性 37

3.1.3 需求分析的困难 38

3.2 需求分析的任务、过程和主要步骤 38

3.2.1 需求分析的任务 38

3.2.2 需求分析的工作过程 39

3.2.3 需求分析的主要步骤 40

3.2.4 需求分析的原则 41

3.3 需求调查的开展 42

3.3.1 需求调查规程 42

3.3.2 需求调查的方法 43

3.4 需求分析方法 44

3.5 结构化分析方法及工具 45

3.5.1 自顶向下逐层分解 45

3.5.2 数据流图 45

3.5.3 数据字典 49

3.5.4 加工逻辑说明 51

3.6 面向对象分析方法 53

3.6.1 面向对象的基本概念 53

3.6.2 面向对象分析过程 54

3.6.3 面向对象分析的3个模型 55

3.6.4 面向对象分析的5个层次 56

3.6.5 统一建模语言 56

3.7 软件需求规格说明书 56

3.8 需求变更 57

3.8.1 需求变更的代价和风险 57

3.8.2 需求变更控制过程 57

3.8.3 需求变更控制报告 58

3.9 典型例题解析 59

3.10 本章小结 60

3.11 习题 60

第4章 系统设计 62

4.1 系统设计的基本概念 62

4.2 系统设计的目的和任务 63

4.2.1 概要设计的基本任务 63

4.2.2 详细设计的基本任务 64

4.3 概要设计 64

4.3.1 概要设计原理 64

4.3.2 软件结构优化准则 68

4.3.3 软件结构设计的图形工具 70

4.3.4 面向数据流的设计方法 73

4.3.5 软件体系结构设计 77

4.3.6 概要设计说明书 81

4.4 详细设计 81

4.4.1 结构化程序设计方法 82

4.4.2 详细设计描述工具 82

4.4.3 用户界面设计 86

4.4.4 Jackson方法 89

4.4.5 详细设计说明书 92

4.5 数据库设计 92

4.5.1 数据库设计的目标 92

4.5.2 数据库设计的步骤 92

4.5.3 数据库设计的内容 93

4.6 面向对象设计 95

4.7 典型例题解析 95

4.8 本章小结 97

4.9 习题 98

第5章 软件实现 101

5.1 程序设计语言选择 101

5.2 结构化程序设计 102

5.2.1 关于GOTO语句的争论 102

5.2.2 结构化程序设计的原则 102

5.2.3 程序设计自顶向下、逐步求精 103

5.3 源程序设计风格 103

5.3.1 源程序文档化 103

5.3.2 语句结构 104

5.3.3 数据说明 104

5.3.4 输入和输出 104

5.3.5 效率 105

5.4 程序复杂性度量 105

5.4.1 代码行度量法 105

5.4.2 McCabe度量方法 106

5.4.3 Halstead度量方法 106

5.5 软件实现文档 107

5.6 典型例题解析 108

5.7 本章小结 109

5.8 习题 109

第6章 软件测试 111

6.1 软件测试目的和任务 111

6.2 软件测试的原则 112

6.3 软件测试的内容 113

6.4 软件测试方法 114

6.4.1 静态测试与动态测试 114

6.4.2 黑盒测试与白盒测试 114

6.5 软件测试步骤 125

6.5.1 单元测试 126

6.5.2 集成测试 128

6.5.3 确认测试 130

6.6 测试案例分析 131

6.6.1 测试引言 131

6.6.2 测试环境配置 132

6.6.3 测试计划 133

6.6.4 测试的自动化工具 138

6.6.5 测试的任务和安排 138

6.6.6 测试评价的标准 138

6.7 软件测试文档 139

6.7.1 测试计划 139

6.7.2 测试用例 139

6.7.3 测试报告 140

6.7.4 软件产品测试提问单 140

6.8 调试 142

6.8.1 调试的目的 142

6.8.2 调试技术 143

6.9 典型例题解析 145

6.10 本章小结 149

6.11 习题 149

第7章 软件发布与实施 151

7.1 软件产品分类 151

7.2 软件产品发布 152

7.3 软件培训 153

7.3.1 软件培训的3个层次 153

7.3.2 软件培训的文档 154

7.3.3 软件培训的流程 154

7.3.4 培训考核 155

7.4 软件产品实施 155

7.5 典型例题解析 157

7.6 本章小结 157

7.7 习题 158

第8章 软件维护 159

8.1 软件维护的概念 159

8.1.1 软件维护的定义 159

8.1.2 软件维护的原因 160

8.1.3 影响维护工作量的因素 160

8.1.4 软件维护的成本 161

8.2 软件的可维护性 162

8.3 软件维护的过程 166

8.4 软件维护的管理方法 167

8.5 软件维护文档 168

8.6 自动维护的工具 170

8.7 典型例题解析 171

8.8 本章小结 172

8.9 习题 172

第9章 软件配置管理 174

9.1 软件配置管理概念 174

9.1.1 配置管理的必要性 174

9.1.2 软件配置管理 175

9.1.3 软件配置项 176

9.1.4 基线 176

9.1.5 基线库 177

9.2 软件配置管理过程 178

9.2.1 软件配置项的标识 178

9.2.2 版本控制 179

9.2.3 变更控制 179

9.2.4 配置审计 180

9.2.5 状态报告 180

9.3 常用软件配置管理工具简介 181

9.4 本章小结 182

9.5 习题 182

第10章 软件项目管理 184

10.1 软件项目管理概念 184

10.1.1 项目干系人 184

10.1.2 软件项目管理 185

10.1.3 软件项目管理框架 186

10.1.4 软件项目管理过程 187

10.2 软件项目的团队组织 188

10.2.1 项目组人员管理原则 188

10.2.2 团队组织结构 189

10.3 软件度量 189

10.3.1 面向规模的度量 190

10.3.2 面向功能的度量 191

10.4 项目计划和跟踪 193

10.4.1 项目计划的制定 193

10.4.2 项目计划的跟踪与控制 194

10.5 风险管理 196

10.5.1 风险管理基础 197

10.5.2 风险识别 199

10.5.3 风险管理过程、原则 201

10.6 质量管理 205

10.6.1 软件质量 205

10.6.2 软件质量保证 206

10.6.3 CMM&CMMI 206

10.7 案例分析 208

10.7.1 建立“航空机票预订”项目的过程模型 208

10.7.2 实施跟踪与控制 209

10.8 本章小结 211

10.9 习题 212

第11章 软件工程常用工具 213

11.1 软件工程工具的分类 213

11.2 项目管理工具Microsoft Office Project 2007 215

11.2.1 Microsoft Office Project 2007简介 215

11.2.2 Microsoft Office Project 2007工作环境 215

11.2.3 Microsoft Office Project 2007使用示例 218

11.2.4 实验题目 224

11.3 统一建模语言及建模工具Rational Rose 224

11.3.1 UML简介 224

11.3.2 UML图 226

11.3.3 建模工具Rational Rose 2003 231

11.3.4 实验题目 237

11.4 建模工具Microsoft Office Visio 2007 240

11.4.1 Microsoft Office Visio 2007简介 240

11.4.2 Microsoft Office Visio 2007工作环境 240

11.4.3 Microsoft Office Visio 2007使用示例 242

11.4.4 实验题目 247

11.5 建模与设计工具PowerDesigner 15 247

11.5.1 PowerDesigner简介 247

11.5.2 PowerDesigner 15简介 248

11.5.3 PowerDesigner 15使用示例 250

11.5.4 实验题目 255

11.6 软件测试工具LoadRunner9.5 256

11.6.1 LoadRunner简介 256

11.6.2 LoadRunner 9.5工作环境 256

11.6.3 LoadRunner的功能 257

11.6.4 实验题目 264

11.7 版本控制工具VSS 264

11.7.1 VSS 2005工作环境及简单原理 264

11.7.2 VSS 2005使用示例 267

11.7.3 实验题目 276

11.8 本章小结 277

第12章 开发实例 278

12.1 项目概述 278

12.1.1 系统调查 278

12.1.2 系统的总体功能需求和性能要求 279

12.1.3 系统处理流程和数据流程 279

12.1.4 系统开发框架 280

12.2 可行性分析 280

12.2.1 技术可行性 280

12.2.2 经济可行性 280

12.2.3 社会可行性 281

12.2.4 开发环境可行性 281

12.3 项目开发计划 281

12.3.1 工作任务、任务分解与人员分工 281

12.3.2 进度计划 282

12.4 需求分析 283

12.4.1 需求概述 283

12.4.2 功能需求 283

12.4.3 非功能需求 285

12.5 系统设计 285

12.5.1 建立对象模型 285

12.5.2 建立动态模型 287

12.5.3 数据库设计 288

12.5.4 用户界面设计 290

12.6 系统实现 290

12.6.1 实现工具 290

12.6.2 软件编码原则 290

12.7 测试与维护 290

12.7.1 测试方案 290

12.7.2 测试项目 290

12.7.3 测试项目说明 291

12.7.4 软件测试分析报告 293

12.8 本章小结 294

12.9 习题 294

附录 295

1 可行性研究报告 295

2 项目开发计划 296

3 软件需求规格说明书 300

4 概要设计说明书 301

5 详细设计说明书 303

6 用户操作手册 303

7 软件测试计划 304

8 软件测试报告 305

9 软件配置管理计划 306

10 项目开发总结报告 307

参考文献 309