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

  • 购买积分:11 如何计算积分?
  • 作  者:任传成主编;李丽,孟芸,徐硕博副主编
  • 出 版 社:北京:北京师范大学出版社
  • 出版年份:2017
  • ISBN:9787303228119
  • 页数:299 页
图书介绍:本书涵盖了软件工程基本理论、结构化分析与设计、面向对象分析与设计以及软件测试等有关软件工程的主要知识单元,内容丰富,组织结构严谨,重要的知识点与相应实例相结合,又配有大量的习题,讲解由浅入深,既保证知识点的科学性和先进性,又体现知识点的实际应用性,适合作为地方性应用型高校计算机科学与技术、软件工程、网络工程等相关专业本科生学习软件工程课程的教材。

第1章 软件工程概述 1

1.1 软件的概述 1

1.1.1 软件的发展历程 1

1.1.2 软件的分类 2

1.1.3 软件的特点 3

1.2 软件危机 4

1.2.1 软件危机的定义及表现 4

1.2.2 产生的原因及解决途径 4

1.3 软件工程概述 5

1.3.1 软件工程的定义 5

1.3.2 研究内容 5

1.3.3 基本原理 7

1.4 软件生命周期 8

1.5 软件过程模型 9

1.6 软件工程师职业道德规范与要求 16

本章小结 16

习题 17

第2章 软件项目可行性研究 18

2.1 可行性研究的目的和任务 18

2.2 可行性研究的步骤 19

2.3 可行性分析报告 21

2.4 成本和效益分析 22

2.5 软件项目人力资源管理 23

2.6 软件项目的计划 26

2.6.1 软件工作范围 26

2.6.2 资源 26

2.6.3 进度安排 27

本章小结 30

习题 30

第3章 软件项目需求分析 31

3.1 需求分析概述 31

3.1.1 需求分析的特点 31

3.1.2 需求分析的原则 32

3.1.3 需求分析的任务 32

3.1.4 需求分析的方法 33

3.2 需求分析的过程 35

3.2.1 获取用户需求 36

3.2.2 建立的逻辑模型 37

3.2.3 编写需求文档 38

3.2.4 文档评审 38

3.3 结构化需求分析模型 40

3.3.1 数据流图 40

3.3.2 数据字典 50

3.3.3 加工逻辑描述方法 53

3.3.4 实体关系模型 56

3.4 需求过程管理 59

本章小结 61

习题 62

第4章 结构化分析与设计 63

4.1 结构化分析与设计概述 63

4.1.1 结构化分析与设计的由来 63

4.1.2 总体设计的概述 64

4.1.3 详细设计的概述 66

4.2 软件设计的基本原理 66

4.2.1 抽象与逐步求精 67

4.2.2 模块和模块化 67

4.2.3 信息隐藏和局部化 68

4.2.4 模块独立性 68

4.2.5 复用性设计 73

4.2.6 软件结构设计的优化原则 74

4.3 面向数据流的设计方法 77

4.3.1 软件结构的图形表示 77

4.3.2 数据流的类型 79

4.3.3 设计过程 80

4.3.4 变换分析 81

4.3.5 事务分析 85

4.3.6 软件结构的优化 86

4.4 总体设计说明书与评审 89

4.4.1 总体设计说明书 89

4.4.2 总体设计评审 89

4.5 软件的详细设计 90

4.5.1 详细设计的任务 90

4.5.2 详细设计的原则 91

4.5.3 详细设计的方法 91

4.5.4 详细设计的工具 92

4.6 详细设计说明书与评审 100

4.6.1 详细设计说明书 100

4.6.2 详细设计评审 100

本章小结 101

习题 101

第5章 面向对象方法与UML 103

5.1 面向对象方法概述 103

5.1.1 面向对象方法简介 103

5.1.2 面向对象方法的发展史及现状简介 104

5.1.3 面向对象方法的基本概念和特征 104

5.2 面向对象的建模方法 106

5.2.1 Booch方法 106

5.2.2 OMT方法 107

5.2.3 OOSE方法 107

5.2.4 Coad-Yourdon方法 107

5.3 统一建模语言概述 108

5.3.1 UML的发展历程 108

5.3.2 UML的应用 109

5.3.3 UML的构成 109

5.4 UML的图 111

5.4.1 用例图 111

5.4.2 类图和对象图 119

5.4.3 包图 126

5.4.4 活动图 129

5.4.5 状态图 133

5.4.6 顺序图 137

5.4.7 通信图 143

5.4.8 定时图 146

5.4.9 交互概览图 148

5.4.10 组合结构图 149

5.4.11 组件图 151

5.4.12 部署图 154

本章小结 157

习题 158

第6章 面向对象的分析 161

6.1 概述 161

6.2 建立用例模型 162

6.2.1 建立用例模型的过程 162

6.2.2 使用EA创建用例模型 165

6.3 建立静态模型 168

6.3.1 划分子系统 169

6.3.2 确定类 169

6.3.3 识别实体类、边界类和控制类 169

6.3.4 确定关系 171

6.3.5 确定属性 172

6.3.6 确定操作 174

6.3.7 使用EA建立类图 175

6.4 建立行为模型 177

6.4.1 顺序图 177

6.4.2 通信图 180

6.4.3 状态图 181

6.4.4 活动图 182

6.5 实例分析 184

6.5.1 自动提款机系统的用例模型 185

6.5.2 自动提款机系统的静态模型 187

6.5.3 自动提款机系统的行为模型 189

本章小结 191

习题 191

第7章 面向对象的软件设计 193

7.1 面向对象设计的概述 193

7.1.1 面向对象设计的过程 193

7.1.2 面向对象设计的准则 195

7.2 软件体系结构设计 196

7.2.1 概述 196

7.2.2 类别与重要性 197

7.2.3 分布式软件体系结构 197

7.2.4 分布式对象体系结构 201

7.2.5 分布式实现机制 201

7.2.6 体系结构框架 203

7.3 系统分解与设计 206

7.3.1 子系统设计 206

7.3.2 组织系统的两种方案 207

7.3.3 设计问题域子系统 208

7.3.4 设计人机交互子系统 211

7.3.5 设计任务管理子系统 212

7.3.6 设计数据管理子系统 213

7.4 对象设计和优化 217

7.4.1 识别设计类 218

7.4.2 设计类的属性 218

7.4.3 设计类的服务 219

7.4.4 精化和优化设计类 220

7.5 网上购物系统的架构设计 222

7.5.1 网上购物系统的需求描述 222

7.5.2 网上购物系统的用例图 223

7.5.3 网上购物系统的3层架构 223

7.5.4 网上购物系统的类/对象设计 224

本章小结 226

习题 226

第8章 软件实现 227

8.1 程序设计语言 227

8.1.1 程序设计语言的特性 227

8.1.2 程序设计语言的种类 228

8.1.3 程序设计语言的基本元素 230

8.1.4 程序设计语言的选择 233

8.2 程序设计风格 235

8.2.1 源程序文档化 235

8.2.2 数据说明 239

8.2.3 语句构造说明 239

8.2.4 输入/输出 241

8.3 软件测试概述 241

8.3.1 软件错误、缺陷和故障 242

8.3.2 软件测试的概念 244

8.3.3 软件测试的原则 244

8.3.4 软件测试的方法 245

8.3.5 软件测试与软件开发各阶段的关系 246

8.3.6 软件测试文档 247

8.4 软件测试的基本方法 248

8.4.1 白盒测试 248

8.4.2 墨盒测试 256

8.5 软件测试策略 262

8.5.1 单元测试 262

8.5.2 集成测试 265

8.5.3 确认测试 269

8.5.4 系统测试 270

8.5.5 终止测试 272

8.6 面向对象的测试 273

8.6.1 面向对象的特性影响测试 273

8.6.2 面向对象测试模型 274

8.6.3 面向对象测试策略 276

8.7 Web应用软件测试 278

8.7.1 Web应用软件的基本结构 278

8.7.2 Web应用软件测试的内容与目的 279

8.7.3 Web应用软件的测试类型 279

8.7.4 Web应用软件的测试策略 282

8.8 软件调试 283

8.8.1 软件调试的目的 283

8.8.2 软件调试的原则 283

8.8.3 软件调试的步骤 284

8.8.4 软件调试的方法 285

本章小结 285

习题 286

第9章 软件维护 288

9.1 软件维护概述 288

9.1.1 软件维护的原因 288

9.1.2 软件维护的类型及策略 288

9.1.3 软件维护的特点 290

9.1.4 软件维护的过程 290

9.2 软件可维护性 292

9.3 软件再工程技术 294

9.3.1 软件再工程 294

9.3.2 软件再工程的过程 294

本章小结 296

习题 296

参考文献 297