当前位置:首页 > 工业技术
软件工程学教程
软件工程学教程

软件工程学教程PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:陈明编著
  • 出 版 社:北京:北京理工大学出版社
  • 出版年份:2013
  • ISBN:9787564079260
  • 页数:357 页
图书介绍:本书是软件工程方面的教材,主要内容包括:软件工程概述、软件项目分析、需求工程、软件项目概要设计、软件项目详细设计、面向对象的分析与设计方法、用户界面设计、软件项目编码、软件质量与质量保证、软件项目测试、软件交付与维护、软件项目管理、软件建模与建模语言等。本教材的特点是内容系统、语言精炼、概念准确,本书可作为高等学校软件工程课程的教材,也可作为从事软件工程人员的参考书。
《软件工程学教程》目录

第1章 软件工程概述 1

1.1 软件 1

1.1.1 软件的发展 1

1.1.2 软件的定义 3

1.1.3 软件的特点 3

1.1.4 软件的分类 5

1.2 软件工程的内容与方法 7

1.2.1 软件危机与软件工程的定义 7

1.2.2 软件工程的基本内容与目标 10

1.2.3 软件的基本开发方法 10

1.2.4 软件工程的基本原则 11

1.3 软件生存周期与软件开发模型 11

1.3.1 软件生存周期 12

1.3.2 软件开发模型 13

1.4 软件工具与环境 21

1.4.1 软件工具概述 21

1.4.2 软件开发工具的功能 22

1.4.3 软件开发工具的特性 23

1.4.4 软件开发工具的分类 24

1.4.5 软件开发环境 25

1.5 软件工程学的知识体系 26

小结 27

习题1 27

第2章 软件项目可行性分析 28

2.1 软件项目可行性分析的任务 28

2.2 软件项目可行性分析的步骤 29

2.3 软件项目可行性分析的要素 30

2.3.1 经济可行性 31

2.3.2 技术可行性 31

2.3.3 社会环境可行性 31

2.4 系统流程图 32

2.5 成本-效益分析 33

2.5.1 成本估计 33

2.5.2 费用估计 35

2.5.3 度量效益的方法 36

小结 37

习题2 37

第3章 软件需求工程 38

3.1 概述 38

3.1.1 软件需求分类 39

3.1.2 需求规格说明 40

3.1.3 需求工程概念 41

3.1.4 需求工程过程 41

3.2 需求获取方法 42

3.3 需求分析的任务与原则 44

3.3.1 需求分析的任务 44

3.3.2 需求分析的原则 45

3.4 需求建模方法 45

3.4.1 需求分析模型 46

3.4.2 结构化需求建模方法 46

3.4.3 数据流图 49

3.4.4 数据字典 55

3.5 需求图形工具 59

3.5.1 层次框图 59

3.5.2 Warnier图 60

3.5.3 IPO图 60

3.6 需求描述 61

3.6.1 需求规格说明文档的作用 61

3.6.2 需求规格说明文档的类型 62

3.7 需求验证 62

3.7.1 目的与任务 63

3.7.2 内容与方法 63

3.7.3 需求评审 64

3.8 需求管理 65

3.8.1 需求管理的目标 65

3.8.2 需求管理的原则 65

3.8.3 需求开发的管理 66

3.8.4 需求管理活动 67

小结 68

习题3 69

第4章 软件项目概要设计 70

4.1 软件体系结构 70

4.1.1 概述 70

4.1.2 系统构成 72

4.1.3 控制模型 77

4.1.4 模块化分解 80

4.1.5 领域相关的体系结构 82

4.2 概要设计任务与过程 84

4.2.1 概要设计任务 84

4.2.2 概要设计过程 84

4.3 软件设计的基本概念 85

4.3.1 模块化与模块独立性 86

4.3.2 抽象 91

4.3.3 结构设计原则 93

4.3.4 软件复用 96

4.3.5 设计模式 98

4.4 面向数据流的设计方法 100

4.4.1 基本概念 100

4.4.2 系统结构图的组成 101

4.4.3 变换分析 103

4.4.4 事务分析 106

4.4.5 设计优化 108

4.5 面向数据结构的设计方法 108

4.5.1 Jackson系统开发方法 108

4.5.2 Warnier方法 117

4.6 概要设计文档评审 118

4.7 设计特征与设计原则 119

小结 119

习题4 119

第5章 软件项目详细设计 121

5.1 详细设计的任务与原则 121

5.1.1 详细设计的任务 121

5.1.2 详细设计的原则 122

5.2 详细设计工具 122

5.2.1 程序流程图 123

5.2.2 N-S图 124

5.2.3 PAD图 125

5.2.4 PDL 127

5.2.5 HIPO图 128

5.2.6 详细设计工具的属性 129

5.3 详细设计规格说明与复审 130

5.3.1 详细设计说明书 130

5.3.2 设计复审 131

5.4 模块文件夹 131

小结 132

习题5 132

第6章 面向对象的分析与设计 133

6.1 面向对象方法 133

6.1.1 面向对象方法概述 134

6.1.2 面向对象软件工程(OOSE) 135

6.1.3 面向对象的基本概念和特征 138

6.2 面向对象的分析 145

6.2.1 面向对象分析过程与原则 145

6.2.2 确定对象与类 149

6.2.3 确定属性 152

6.2.4 定义服务 152

6.2.5 对象间通信 156

6.3 面向对象设计 162

6.3.1 面向对象设计的概念 162

6.3.2 面向对象设计的方法 163

小结 165

习题6 166

第7章 用户界面的设计 167

7.1 用户界面的主要特征 167

7.1.1 用户界面的质量特征 167

7.1.2 用户界面的图形特征 168

7.1.3 用户界面的优点 168

7.2 设计原则 168

7.3 用户交互 170

7.3.1 交互方式 170

7.3.2 交互方式的比较 171

7.4 信息表示 172

7.4.1 用户界面的信息表示方法 172

7.4.2 用户界面信息表示的一些问题 172

7.5 帮助系统 174

7.6 界面设计 175

7.6.1 数据输入界面设计 176

7.6.2 数据显示界面设计 176

7.6.3 控制界面设计 177

7.7 界面设计评价 177

7.7.1 界面设计评价指标 178

7.7.2 界面评价方法 178

小结 179

习题7 179

第8章 软件项目编码 180

8.1 程序设计语言 180

8.1.1 程序设计语言的分类 180

8.1.2 程序设计语言的特点 182

8.1.3 程序设计语言的选择 184

8.2 编码风格 186

8.2.1 源程序文档化 186

8.2.2 数据说明 188

8.2.3 语句结构 188

8.2.4 输入/输出 191

8.3 程序效率 191

8.3.1 程序效率准则 191

8.3.2 算法对效率的影响 192

8.3.3 影响存储器效率的因素 192

8.3.4 影响输入/输出的因素 192

8.4 编程安全 193

8.4.1 冗余程序设计 193

8.4.2 防错程序设计 193

8.5 面向对象程序设计步骤 194

8.6 编码优化 195

8.6.1 优化的内容与原则 195

8.6.2 程序结构优化 196

8.6.3 程序代码优化 196

小结 196

习题8 197

第9章 软件质量与质量保证 198

9.1 软件质量的定义 198

9.2 影响软件质量的因素 199

9.3 软件质量保证 200

9.3.1 软件质量保证概念 200

9.3.2 软件质量保证策略 200

9.3.3 SQA小组的任务 201

9.4 软件质量保证活动 202

9.5 软件评审 202

9.5.1 设计质量的评审内容 203

9.5.2 程序质量的评审内容 207

9.6 软件质量保证的标准 210

9.7 软件质量评价 211

9.7.1 软件质量评价体系 211

9.7.2 软件质量评价标准 213

9.8 软件质量框架 214

9.8.1 高质量软件的特性 214

9.8.2 软件质量框架的组成 214

9.9 软件开发质量的定量描述 216

9.9.1 基本的定量估算 216

9.9.2 软件需求的估算 217

9.9.3 估算验收测试阶段预期发现的缺陷数 217

9.9.4 维护活动设计的度量 218

9.9.5 软件可用性的计算 218

9.9.6 基于植入故障方法的原有故障总数EN估算 218

小结 219

习题9 219

第10章 软件项目测试 220

10.1 概述 220

10.1.1 软件测试技术的发展 220

10.1.2 软件错误与缺陷 221

10.1.3 软件测试的定义 222

10.1.4 软件测试的对象 222

10.1.5 软件测试的目的 222

10.1.6 软件测试的原则 223

10.1.7 软件测试的复杂性 223

10.1.8 软件开发各阶段的测试 224

10.2 软件测试方法 224

10.2.1 静态分析 224

10.2.2 动态测试 226

10.2.3 人工测试与机器测试 227

10.2.4 黑盒测试 228

10.2.5 白盒测试 237

10.2.6 白盒测试和黑盒测试的比较 243

10.3 单元测试与集成测试 244

10.3.1 单元测试 245

10.3.2 集成测试 248

10.3.3 确认测试 253

10.3.4 系统测试 256

10.3.5 终止测试 260

10.4 面向对象测试 261

10.4.1 面向对象测试基础 261

10.4.2 面向对象测试模型 262

10.4.3 类测试 267

10.4.4 面向对象的集成测试 271

10.4.5 面向对象的系统测试 273

10.4.6 面向对象测试与传统测试的比较 274

10.5 测试的设计与实现 274

10.5.1 测试计划 275

10.5.2 测试设计 281

10.5.3 测试执行 287

10.5.4 测试总结 289

小结 290

习题10 290

第11章 软件项目交付与维护 293

11.1 软件发布与部署 293

11.1.1 软件产品发布 293

11.1.2 软件产品实施 294

11.2 软件演化的特征 295

11.2.1 软件演化的动态特征 295

11.2.2 软件体系结构的进化 296

11.3 软件维护 296

11.3.1 软件维护分类与特点 296

11.3.2 软件维护步骤 298

11.3.3 软件的可维护性 301

11.3.4 软件维护的副作用 302

11.4 逆向工程和再生工程 303

小结 304

习题11 304

第12章 软件项目管理 305

12.1 软件项目特点及软件管理功能 305

12.1.1 软件项目的特点 305

12.1.2 软件管理的功能 306

12.1.3 软件项目的工作范围 306

12.2 软件与硬件资源 307

12.2.1 人力资源 307

12.2.2 硬件 307

12.2.3 软件 307

12.3 人员的计划和组织 308

12.4 成本估计及控制 309

12.4.1 软件开发成本估算方法 309

12.4.2 专家估算法 310

12.4.3 成本估算模型 310

12.5 进度计划 313

12.5.1 软件工作的特殊性 313

12.5.2 各阶段工作量的分配 313

12.5.3 制定开发进度 314

12.6 软件配置管理 314

12.6.1 基线 314

12.6.2 软件配置项 315

12.6.3 软件配置管理过程 317

12.7 软件管理方案 319

12.8 能力成熟度模型 320

12.8.1 软件过程评估的必要性 320

12.8.2 CMM的主要用途 322

12.8.3 CMM的体系结构 322

12.8.4 CMM的等级 324

12.8.5 CMM的内部结构 327

12.8.6 CMM的应用 330

小结 331

习题12 331

第13章 软件建模及UML建模语言 332

13.1 模型概述 332

13.1.1 模型的定义 332

13.1.2 模型的分类 332

13.2 常用的软件建模模型 333

13.2.1 业务模型 333

13.2.2 功能模型 333

13.2.3 数据模型 333

13.3 需求建模 334

13.3.1 关联模型 334

13.3.2 行为模型 334

13.3.3 面向对象模型 334

13.3.4 需求数据模型 334

13.4 统一建模语言 334

13.4.1 UML的概述 335

13.4.2 UML的表示法 340

13.4.3 UML软件开发过程概述 351

13.4.4 Rational Rose概述 353

13.5 形式化方法 355

小结 356

习题13 356

参考文献 357

相关图书
作者其它书籍
返回顶部