《软件工程 原理、方法与应用》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:肖孟强,曲秀清主编;韩殿元,解圣庆,王宗江副主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2005
  • ISBN:7508432509
  • 页数:247 页
图书介绍:本书共12章,主要内容包括:软件工程概念、可行性研究与需求分析、软件设计、编码与编程语言、面向对象技术、统一建模语言、软件测试、软件维护、软件项目管理和质量保证、软件工程标准化、软件工程环境、嵌入式系统软件技术。本书强调内容的实用性,按软件工程的全过程来安排与组织内容,条理性强,以案例教学为驱动,易于学生学习与掌握。本书可作为应用型本科计算机、自动化、机电类等专业和高职高专计算机专业的教材。

目录 1

序 1

前言 1

第1章 软件工程概论 1

本章学习目标 1

1.1 引言 1

1.2 软件与软件危机 3

1.2.1 软件的定义 3

1.2.2 软件的特点 3

1.2.3 软件的分类 4

1.2.4 软件危机 5

1.3 软件工程的概念 7

1.3.1 软件工程的产生及发展 7

1.3.2 软件工程的定义及目标 9

1.3.3 软件工程学的范畴 10

1.4 软件生存周期及软件开发模型 11

1.4.1 软件生存周期 11

1.4.2 软件生存周期模型 13

1.4.3 瀑布模型(Waterfall Model) 13

1.4.4 演化模型(Evolutional Model) 14

1.4.5 螺旋模型(Spiral Model) 15

1.4.6 智能模型(Intelligence Model) 16

本章小结 16

习题 17

第2章 可行性研究与需求分析 18

本章学习目标 18

2.1 可行性研究 18

2.1.1 问题的定义 18

2.1.2 可行性研究的任务 19

2.1.3 可行性研究的步骤及工具 20

2.1.4 制订项目计划 23

2.2 需求分析 24

2.2.1 需求分析的目标和任务 24

2.2.2 软件需求的获取 25

2.2.3 需求分析的过程 26

2.2.4 快速原型方法 28

2.3 结构化分析方法 30

2.3.1 结构化分析模型 31

2.3.2 数据流图与数据字典 33

2.3.3 Warnier图 38

2.4 需求分析评审 39

2.4.1 需求规格说明书 39

2.4.2 评审过程 40

2.5.1 画分层数据流图 42

2.5 需求分析实例 42

2.5.2 确定数据定义与加工策略 44

2.5.3 实例的需求分析评审 45

本章小结 46

习题 46

第3章 软件设计 47

本章学习目标 47

3.1 软件设计的任务 47

3.2 软件设计的基本概念 49

3.2.1 软件设计的概念 49

3.2.2 模块化与模块独立性 50

3.2.3 抽象与信息隐蔽 55

3.2.4 软件设计原则 57

3.3 结构化设计方法 58

3.3.1 系统结构图 58

3.3.2 变换分析 60

7.4.1 单元测试 1 62

3.3.3 事务分析 63

3.4 设计优化 65

3.5 详细设计 68

3.5.1 详细设计概述 68

3.5.2 程序流程图 68

3.5.3 N-S图(盒图) 71

3.5.4 PAD图 72

3.5.5 判定表与判定树 73

3.5.6 PDL 75

本章小结 76

习题 77

第4章 面向对象技术 78

本章学习目标 78

4.1 面向对象的概念 78

4.1.1 面向对象 78

4.1.2 对象 78

4.1.3 类 79

4.1.4 继承 79

4.1.5 消息 80

4.1.6 多态性 80

4.1.7 封装性 80

4.2 面向对象的开发过程 81

4.2.1 应用生存期 81

4.2.2 类生存期 82

4.3 面向对象分析 83

4.3.1 面向对象分析 84

4.3.2 论域分析 84

4.3.3 应用分析(Application Analysis) 86

4.3.4 对象模型技术(OMT,Object Model Technology) 86

4.4 面向对象的设计与实现 90

4.4.1 高层设计 90

4.4.2 类的设计 91

4.4.3 系统的实现 94

4.5 Coad与Yourdon方法 94

4.5.1 面向对象的分析 95

4.5.2 面向对象的设计 97

4.5.3 Booch的方法 98

4.6.1 软件复用的基本概念 102

4.6 软件复用技术 102

4.6.2 软件复用技术分类 103

4.6.3 论域工程 104

4.6.4 基于构件的软件开发 106

4.6.5 面向对象方法与软件复用 107

习题 108

本章小结 108

第5章 统一建模语言UML 109

本章学习目标 109

5.1 UML的基本概念 109

5.1.1 UML语言的产生 109

5.1.2 UML的定义 110

5.1.3 UML的目标 110

5.1.4 UML语言的应用 110

5.2 UML语言概述 111

5.2.1 视图 111

5.2.2 图 111

5.2.3 UML的模型元素及表示方法 112

5.2.4 UML的通用机制和扩展机制 115

5.2.5 UML的规则 116

5.3 静态建模 117

5.3.1 用例模型 117

5.3.2 类和对象模型 117

5.3.3 类之间的关系 119

5.4 动态建模 122

5.4.1 消息 122

5.4.2 状态图和时序图 123

5.4.3 协作图和活动图 124

5.5 物理架构建模 126

5.5.1 逻辑架构与物理架构 126

5.5.2 组件图与部署图 128

5.6 基于UML的统一建模过程——RUP 128

本章小结 129

习题 130

第6章 编码和编程语言 131

本章学习目标 131

6.1 编码的目的 131

6.2 编码的风格 132

6.2.1 结构化程序设计 132

6.2.2 编码风格 137

6.3 编码语言 144

6.3.1 编码语言的发展 144

6.3.2 常用的编码语言 145

6.3.3 编码语言的选择 147

本章小结 149

习题 149

第7章 软件测试 150

本章学习目标 150

7.1 软件测试的基本概念 150

7.1.1 软件测试的定义 150

7.1.2 软件测试的目的和原则 151

7.1.3 软件测试的对象及信息流 152

7.2 黑盒测试 153

7.2.1 等价类划分法 153

7.2.2 边界值分析 155

7.2.4 因果图法 156

7.2.5 功能图 156

7.3 白盒测试 156

7.2.3 错误推测法 156

7.3.1 逻辑覆盖 157

7.3.2 基本路径测试 162

7.4 软件测试的步骤及过程 162

7.4.2 集成测试 164

7.4.3 确认测试 165

7.4.4 系统测试 166

7.4.5 人工测试 167

7.4.6 软件测试过程 167

7.5 软件的调试及排错 168

7.5.1 错误的诊断及排除 168

7.5.2 常用的几种调试方法 169

7.6.1 面向对象的测试模型 170

7.6 面向对象的软件测试 170

7.6.2 面向对象软件的测试策略 171

7.6.3 面向对象软件测试用例设计 172

本章小结 174

习题 174

第8章 软件维护 175

本章学习目标 175

8.1 软件维护概述 175

8.1.1 软件维护的基本概念 175

8.1.2 软件维护的种类 175

8.1.3 影响软件维护工作量的因素 177

8.1.4 软件维护的策略 177

8.2 软件维护的过程 178

8.2.1 维护机构 178

8.2.3 软件维护工作流程 179

8.2.2 软件维护申请报告 179

8.2.4 软件维护记录及评价 180

8.2.5 修改程序的副作用 181

8.3 软件的可维护性 181

8.3.1 可维护性的定义 182

8.3.2 可维护性的度量 182

8.4 提高可维护性的途径 184

8.4.1 建立明确的软件质量目标和优先级 184

8.4.2 使用提高软件质量的技术和工具 184

8.4.3 进行明确的质量保证审查 185

8.4.4 选择可维护的程序设计语言 187

8.4.5 改进程序的文档 188

8.5 逆向工程和再工程 189

本章小结 189

习题 190

9.1 软件度量技术 191

9.1.1 代码行度量技术 191

本章学习目标 191

第9章 软件工程管理与质量保证 191

9.1.2 功能点度量 192

9.1.3 COCOMO模型 194

9.2 软件估算 195

9.2.1 资源估算 196

9.2.2 成本估算 197

9.2.3 人员的分配与组织 200

9.2.4 项目进度安排 203

9.3 质量保证 208

9.3.1 软件的质量属性 208

9.3.2 质量保证的活动内容 209

9.4 软件可靠性 211

9.5 软件配置管理 211

9.5.1 软件配置管理 212

9.5.2 版本控制 213

9.5.3 配置状态报告 214

9.5.4 配置审计 215

本章小结 216

习题 216

第10章 软件工程标准化 217

本章学习目标 217

10.1 软件工程标准化 217

10.1.1 软件工程标准化的概念 217

10.2.1 ISO 9000系列标准 218

10.2 软件质量认证 218

10.1.2 软件工程标准化的意义 218

10.2.2 软件质量认证 219

10.2.3 ISO 9000-3的要点 219

10.3 软件文档 220

10.3.1 软件文档的作用 220

10.3.2 软件文档的分类 221

10.3.3 文档的管理与维护 221

10.3.4 常用的软件文档 221

10.4 CMM模型 222

10.4.1 软件过程成熟度模型 223

10.4.2 关键过程域 224

10.4.3 成熟度提问单 224

本章小结 226

习题 226

第11章 软件工程环境 227

本章学习目标 227

11.1 什么是软件工程环境 227

11.1.1 软件开发环境的特点 228

11.1.2 软件开发环境的模型 230

11.2 CASE环境 230

11.2.1 CASE环境 230

11.2.2 CASE环境的组成与结构 230

本章小结 233

习题 233

12.1.1 嵌入式系统的定义 234

12.1 嵌入式系统的基础知识 234

本章学习目标 234

第12章 嵌入式系统软件技术 234

12.1.2 嵌入式系统的特点 235

12.1.3 嵌入式系统的应用 236

12.2 嵌入式系统开发过程 236

12.2.1 嵌入式软件的开发特点 237

12.2.2 嵌入式软件的开发过程 238

12.3 嵌入式软件的测试 241

12.3.1 嵌入式软件的测试方法 241

12.3.2 嵌入式软件的测试策略 242

12.3.3 嵌入式软件的测试工具 243

12.4 嵌入式系统的调试 244

12.4.1 嵌入式系统的调试方式 244

12.4.2 嵌入式系统的调试方法 245

本章小结 246

习题 246

参考文献 247