《软件工程原理及应用》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张永恒,艾晓燕主编;刘红霞,杨斐,吴敏宁,张慧副主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2013
  • ISBN:7517007296
  • 页数:408 页
图书介绍:

第1章 概述 1

1.1 软件及软件危机 1

1.1.1 软件 1

1.1.2 软件危机 4

1.2 软件工程的概念 6

1.2.1 软件工程的定义 6

1.2.2 软件工程的目标和原则 7

1.2.3 软件工程的基本原理分析 9

1.3 软件生命周期 11

1.3.1 软件生命周期的概念 11

1.3.2 软件生命周期的阶段划分 11

1.4 软件过程模型 12

1.4.1 瀑布模型 13

1.4.2 快速原型模型 14

1.4.3 增量模型 15

1.4.4 螺旋模型 16

1.4.5 喷泉模型 17

1.4.6 智能模型 18

1.4.7 构件组装模型 19

1.4.8 统一过程模型 20

第2章 可行性研究与软件项目开发计划 23

2.1 可行性研究 23

2.1.1 可行性研究的目的和意义 23

2.1.2 可行性研究的任务 24

2.1.3 可行性研究的步骤 25

2.1.4 系统流程图 26

2.1.5 可行性研究的文档 28

2.2 软件项目开发计划 30

第3章 软件需求分析 33

3.1 需求分析概述 33

3.1.1 需求分析的任务 33

3.1.2 需求分析的原则 35

3.1.3 需求开发过程 35

3.2 获取需求的方法 37

3.3 结构化分析方法 39

3.3.1 结构化分析概述 39

3.3.2 数据流图 41

3.3.3 数据字典 45

3.3.4 加工逻辑说明 46

3.4 快速原型分析方法 49

3.4.1 原型化方法的基本思想 49

3.4.2 构造原型的方法与工具 49

3.4.3 快速原型的开发过程分析 50

3.5 需求规格说明与评审 52

3.5.1 需求规格说明的主要内容 52

3.5.2 需求评审 55

3.6 需求管理 55

3.6.1 需求管理概述 55

3.6.2 需求变更 57

3.6.3 需求追踪 63

第4章 软件设计原理与方法研究 65

4.1 软件设计的概念与原则 65

4.1.1 模块化 65

4.1.2 抽象与逐步求精 66

4.1.3 信息隐藏 67

4.1.4 模块独立性 67

4.2 软件概要设计 72

4.2.1 概要设计的过程 72

4.2.2 概要设计的准则 73

4.2.3 概要设计评审 76

4.3 软件体系结构设计 77

4.3.1 软件体系结构的概念 77

4.3.2 软件体系结构的重要性 77

4.3.3 软件体系结构风格 78

4.4 软件详细设计 84

4.4.1 详细设计的任务 84

4.4.2 详细设计的原则 84

4.4.3 详细设计的工具 85

4.5 结构化设计方法 89

4.5.1 数据流的类型 89

4.5.2 变换分析方法 90

4.5.3 事务分析方法 92

4.5.4 混合型分析方法 93

4.6 面向数据结构的设计方法 94

4.6.1 Jackson方法 95

4.6.2 Warnier方法 100

第5章 软件实现探析 103

5.1 软件实现概述 103

5.1.1 软件实现的目标 103

5.1.2 软件实现的策略 103

5.2 程序设计语言 104

5.2.1 程序设计语言的分类 104

5.2.2 程序设计语言的选择 107

5.3 编码风格 109

5.3.1 源程序文档化 109

5.3.2 数据说明 111

5.3.3 语句构造 111

5.3.4 输入/输出 113

5.3.5 错误处理 114

5.4 程序效率 114

5.4.1 代码效率 115

5.4.2 存储效率 115

5.4.3 输入/输出效率 115

5.5 程序的复杂性度量 116

5.5.1 代码行度量法 116

5.5.2 McCabe度量法 117

5.5.3 Halstead软件科学 118

第6章 面向对象的分析、设计与实现 121

6.1 面向对象方法学概述 121

6.1.1 面向对象的基本概念 121

6.1.2 面向对象方法学的特点 126

6.1.3 面向对象的软件工程 129

6.2 面向对象的分析 130

6.2.1 面向对象分析的概念 130

6.2.2 面向对象分析的特点 132

6.2.3 面向对象分析的过程与原则 133

6.2.4 面向对象分析的模型 138

6.2.5 面向对象分析实例 140

6.3 面向对象的设计 146

6.3.1 面向对象设计的概念 146

6.3.2 面向对象设计的准则 149

6.3.3 面向对象设计的方法 151

6.3.4 问题域子系统设计 155

6.3.5 人机交互子系统设计 157

6.3.6 任务管理子系统设计 158

6.3.7 数据管理子系统设计 159

6.4 面向对象的实现 161

6.4.1 常见的面向对象设计语言 161

6.4.2 面向对象设计语言的选择 163

6.4.3 面向对象程序设计风格 165

6.4.4 面向对象软件实现过程 166

6.5 统一建模语言UML 168

6.5.1 UML的内容 168

6.5.2 UML的表示方法 172

第7章 软件测试与维护 177

7.1 软件测试概述 177

7.1.1 软件测试的定义 177

7.1.2 软件测试的特性 178

7.1.3 软件测试的原则 179

7.2 软件测试的方法 181

7.2.1 白金测试 182

7.2.2 黑盒测试 189

7.3 软件测试的策略 195

7.3.1 单元测试 195

7.3.2 集成测试 199

7.3.3 确认测试 203

7.3.4 系统测试 205

7.3.5 验收测试 208

7.4 软件调试 210

7.4.1 软件调试的过程 210

7.4.2 软件调试的方法 211

7.4.3 软件调试的原则 214

7.5 面向对象的测试 215

7.5.1 面向对象的单元测试 215

7.5.2 面向对象的集成测试 216

7.5.3 面向对象的确认与系统测试 217

7.6 软件维护研究 217

7.6.1 软件维护概述 217

7.6.2 软件维护的过程 220

7.6.3 软件可维护性分析 223

7.6.4 软件再工程 231

第8章 软件复用与构件技术 235

8.1 软件复用概述 235

8.1.1 软件复用的概念 235

8.1.2 软件复用的级别 235

8.1.3 软件复用的意义 237

8.1.4 软件复用的实施过程 238

8.2 可复用构件与构件工程 239

8.2.1 可复用构件 239

8.2.2 基于构件的软件工程 241

8.3 领域工程 242

8.3.1 领域的概念 242

8.3.2 领域工程与应用工程 243

8.3.3 领域工程的实施过程 245

8.3.4 领域工程的实施原则 249

8.4 基于构件的软件开发 250

8.4.1 基于构件的软件开发特点 250

8.4.2 构件系统的体系结构 252

8.4.3 构造可复用构件 254

8.4.4 组装应用系统 257

8.4.5 软件构件技术的技术规范 259

第9章 软件质量与质量保证技术 263

9.1 软件质量概述 263

9.1.1 软件质量的定义 263

9.1.2 软件质量的特性 264

9.1.3 影响软件质量的因素 266

9.1.4 常见的软件质量模型 268

9.2 软件质量保证 270

9.2.1 软件质量保证概述 270

9.2.2 软件质量保证的目标 271

9.2.3 软件质量保证的内容 271

9.2.4 软件质量保证的过程 273

9.2.5 软件质量保证的措施 274

9.3 软件质量度量与评价 276

9.3.1 软件质量度量的概念 276

9.3.2 软件质量度量的分类 276

9.3.3 软件质量度量的标度 279

9.3.4 软件质量度量的准则 281

9.3.5 软件质量度量的方法 284

9.3.6 软件质量的评价 285

9.4 软件评审 286

9.4.1 软件评审概述 286

9.4.2 评审的内容 287

9.4.3 评审会议 289

9.4.4 评审报告和记录保存 290

9.4.5 评审指南 290

9.5 软件过程能力成熟度模型CMM 291

9.5.1 CMM的发展史及用途 291

9.5.2 CMM的基本概念 293

9.5.3 CMM的等级分析 295

9.5.4 CMM的内部结构 298

9.5.5 CMM实施的人员构成和组织机构的划分 301

第10章 软件工程项目管理研究 304

10.1 软件项目管理概述 304

10.1.1 软件项目的定义与分类 304

10.1.2 软件项目管理的主要活动 306

10.1.3 软件项目管理的基本特征 308

10.1.4 软件项目失控的原因分析 309

10.2 软件项目进度计划与管理 312

10.2.1 项目进度计划的指导原则 312

10.2.2 编制软件项目进度计划 313

10.2.3 进度计划图 317

10.2.4 软件项目进度控制 320

10.2.5 软件项目进度更新 324

10.3 软件项目成本管理 326

10.3.1 软件项目成本管理概述 326

10.3.2 软件项目资源计划 328

10.3.3 软件项目成本估算 330

10.3.4 软件项目成本预算 337

10.3.5 软件项目成本控制 340

10.4 软件项目风险管理 343

10.4.1 软件项目风险管理概述 343

10.4.2 软件项目风险识别 346

10.4.3 软件项目风险分析 351

10.4.4 软件项目风险应对 355

10.4.5 软件项目风险监控 358

10.5 软件项目团队建设与管理 361

10.5.1 软件项目团队建设 361

10.5.2 软件项目的沟通管理 364

10.5.3 软件项目的冲突管理 368

第11章 软件开发工具与开发环境探析 372

11.1 软件开发工具 372

11.1.1 软件开发工具的分类 372

11.1.2 软件开发工具的功能 375

11.1.3 软件开发工具的评价 376

11.2 软件开发环境 377

11.2.1 软件开发环境的分类 377

11.2.2 软件开发环境的特性与结构 379

11.2.3 软件开发工具与开发环境的关系 380

11.2.4 常用的软件开发环境 381

11.3 计算机辅助软件工程 394

11.3.1 CASE概述 394

11.3.2 集成化CASE开发环境 398

11.3.3 常见的CASE工具 402

11.3.4 CASE工具的评价与选择 405

参考文献 408