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

  • 购买积分:12 如何计算积分?
  • 作  者:史济民等编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2002
  • ISBN:7040115611
  • 页数:339 页
图书介绍:高等学校教材:本书介绍了软件工程的基本概念和软件开发模型;介绍了需求分析、系统设计、编码、测试、维护的基本概念以及软件管理、质量保证和工程环境等知识。

第一章 绪论 1

1.1 软件与软件危机 1

1.1.1 软件的定义 1

1.1.2 软件的特征 2

1.1.3 软件危机 2

1.2 软件工程学的范畴 4

1.2.1 软件开发方法学 5

1.2.2 软件工具 5

1.2.3 软件工程环境 6

1.2.4 软件工程管理 6

1.3 传统统计工程和面向对象软件工程 6

1.3.1 程序设计方法的两次飞跃 7

1.3.2 面向对象程序设计的优势 7

1.3.3 两类软件工程范型的简单比较 8

1.4 软件工程的应用 9

1.4.1 在各种规模软件开发中的应用 9

1.4.2 软件工程的成就与局限 10

1.5 软件工程的教学:本书导读 11

小结 13

习题 13

第二章 软件开发模型 15

2.1 转换生存周期 15

2.2 传统软件开发模型 17

2.2.1 瀑布模型 18

2.2.2 快速原型模型 19

2.3 软件演化模型 20

2.3.1 增量模型 20

2.3.2 螺旋模型 21

2.4 面向对象开发模型 22

2.4.1 面向对象的基本概念 23

2.4.2 构件集成模型 24

2.5 形式化方法模型 25

2.5.1 转换模型 25

2.5.2 净室模型 26

2.6 开发模型选用实例 27

2.6.1 瀑布模型实例:教材购销系统(面向过程软件) 27

2.6.2 螺旋模型实例:显像管生产监测系统(面向对象软件) 28

小结 29

习题 29

第三章 软件需求分析 30

3.1 需求分析的任务与步骤 30

3.1.1 需求分析的任务 30

3.1.2 需求分析的步骤 31

3.2 需求获取的常用方法 33

3.2.1 常规的需求获取方法 34

3.2.2 快速原型法在需求分析中的应用 35

3.3 分析建模 36

3.3.1 两种分析模型 36

3.3.2 分析模型的组成与描述工具 38

3.4 软件需求说明 53

3.5.1 画分层数据流图 54

3.5 结构化分析方法 54

3.5.2 确定数据定义与加工策略 57

3.5.3 需求分析的复审 58

3.6 面向对象分析方法 60

3.6.1 定义用例 60

3.6.2 领域分析 62

3.6.3 类/对象建模 63

3.6.4 建立对象-关系模型 66

3.6.5 建立对象-行为模型 67

小结 68

习题 68

第四章 软件设计概述 70

4.1 软件设计的任务 70

4.2 软件设计的基本概念 71

4.2.1 模块与构件 71

4.2.2 抽象与细化 71

4.2.3 信息隐藏 72

4.3 模块化设计 73

4.3.1 分解 73

4.2.4 软件复用 73

4.3.2 模块独立性 74

4.3.3 自顶向下与由底向上设计 78

4.4 其他设计问题的处理 79

4.4.1 协同设计 79

4.4.2 用户界面设计 79

4.4.3 并发系统设计 80

4.5 设计文档及其复审 81

4.5.1 软件设计说明书 81

4.5.2 设计复审 81

小结 84

习题 85

5.1 概述 86

5.1.1 面向数据流设计和面向数据设计 86

第五章 传统的设计方法 86

5.1.2 从分析模型导出设计模型 87

5.2 结构化设计方法 88

5.2.1 SC图 88

5.2.2 数据流图的类型与SD方法的步骤 89

5.2.3 变换映射 91

5.2.4 事务映射 95

5.2.5 结构设计的优化规则 97

5.2.6 教材购销系统的结构设计示例 100

5.3 过程设计 105

5.3.1 目的与任务 105

5.3.2 过程设计的原则与方法 106

5.3.3 常用的表达工具 109

5.3.4 过程设计示例 112

5.4 Jackson方法 116

5.4.1 Jackson表示法 116

5.4.2 Jackson方法的设计步骤 117

5.4.3 Jackson方法示例 118

习题 122

小结 122

第六章 面向对象设计方法 125

6.1 面向对象设计概述 125

6.1.1 面向对象设计的任务 125

6.1.2 面向对象的设计模型 126

6.2.1 系统设计过程 127

6.2.2 子系统设计 127

6.2 系统设计 127

6.2.3 人机交互设计 130

6.2.4 任务管理设计 131

6.2.5 数据管理设计 132

6.3 对象设计 133

6.3.1 对象描述 134

6.3.2 算法设计 136

6.3.3 程序构件与接口 137

6.4.1 领域对象的设计内容 138

6.4 领域对象设计 138

6.4.2 领域对象的设计模板 140

小结 141

习题 142

第七章 统一建模语言UML 143

7.1 UML的组成、特点与应用 143

7.1.1 UML的组成 144

7.1.2 UML的特点 148

7.1.3 UML的应用 148

7.2 静态建模 149

7.2.1 用例模型 149

7.2.2 类和对象模型 150

7.2.3 包 158

7.3 动态建模 158

7.3.1 消息 158

7.3.2 状态图和时序图 159

7.3.3 协作图和活动图 162

7.3.4 动态图的运用 164

7.4 物理架构建模 165

7.4.1 逻辑架构与物理架构 165

7.4.2 构件图与配置图 167

7.5 基于UML的统一建模过程——RUP 167

小结 169

习题 169

第八章 编码和语言选择 171

8.1 编码的目的 171

8.2 编码的风格 172

8.3 编码使用的语言 180

8.3.1 编码语言的发展 180

8.3.2 常用的编码语言 182

8.3.3 编码语言的选择 185

小结 186

习题 187

第九章 软件测试 188

9.1 测试的基本概念 188

9.1.1 目的与任务 188

9.1.2 测试的特性 189

9.1.3 测试的种类 190

9.1.4 测试的文档 191

9.2 黑盒测试 192

9.2.1 等价分类法 192

9.2.2 边界值分析法 193

9.2.3 错误猜测法 195

9.3 白盒测试 195

9.3.1 逻辑覆盖测试法 196

9.3.2 路径测试法 200

9.4 测试用例设计 205

9.4.1 黑盒测试用例设计 205

9.4.2 白盒测试用例设计 207

9.5.1 纠错的策略 210

9.5 软件的纠错 210

9.5.2 常用的纠错技术 212

9.5.3 纠错举例 215

9.6 多模块程序的测试策略 221

9.6.1 测试的层次性 221

9.6.2 程序错误的类型 222

9.6.3 单元测试 225

9.6.4 集成测试 226

9.6.5 确认测试 229

9.6.6 系统测试 230

9.6.7 终止测试的标准 230

9.7 面向对象系统的测试 230

9.7.1 面向对象软件的测试策略 231

9.7.2 面向对象软件测试用例设计 232

小结 235

习题 235

10.1.1 软件复用的定义 238

10.1 软件复用的基本概念 238

第十章 软件复用 238

10.1.2 软件复用的重要性 239

10.1.3 软件复用的粒度 240

10.2 领域工程 241

10.2.1 领域工程的活动内容 241

10.2.2 实施领域分析 242

10.2.3 开发可复用构件 242

10.2.4 建立可复用构件库 245

10.3.1 构件集成的过程 246

10.3 基于构件的软件开发 246

10.3.2 应用系统工程 247

10.4 面向对象与软件复用 247

10.4.1 面向对象方法对软件复用的支持 248

10.4.2 复用技术对面向对象方法的支持 249

小结 251

习题 251

11.1 软件维护的种类 252

第十一章 软件维护 252

11.2 软件可维护性 253

11.3 软件维护的实施 256

11.4 软件维护的管理 258

11.5 软件再工程 260

小结 262

习题 262

第十二章 软件项目计划 264

12.1 问题定义 265

12.2 可行性研究 266

12.3 软件风险分析 270

12.4 项目实施计划 273

小结 274

习题 275

第十三章 软件工程管理 276

13.1 管理的目的与内容 276

13.2.1 资源估算模型 277

13.2 软件估算模型 277

13.2.2 COCOMO模型 279

13.3 软件成本估计 281

13.4 人员的分配与组织 287

13.5 项目进度安排 290

13.6 软件知识产权保护 294

13.6.1 软件著作权 294

13.6.2 软件侵权及法律保护 295

13.6.3 软件工程师的职业道德规范 296

小结 299

习题 300

第十四章 软件质量管理 301

14.1 从质量保证到质量认证 301

14.2 质量保证 302

14.2.1 软件的质量属性 302

14.2.2 质量保证的活动内容 303

14.3.1 可靠性的定义和分级 304

14.3 软件可靠性 304

14.3.2 可靠性模型 306

14.3.3 软件容错技术 308

14.4 程序正确性证明 311

14.5 CMM软件能力成熟度模型 313

14.5.1 CMM的基本概念 313

14.5.2软件能力成熟度等级 314

14.5.3 CMM的应用 315

14.5.4 CMM评估的实施 316

14.5.5 软件过程评估的SPICE国际标准 316

14.6 ISO 9000国际标准 317

14.6.1 ISO 9001和ISO 9000-3 317

14.6.2 ISO 9000标准对软件企业的重要性 318

14.6.3 怎样在软件企业实施ISO 9000标准 318

14.7 软件度量 319

14.7.1 项目度量 319

14.7.2 过程度量 321

小结 322

习题 323

第十五章 软件工程环境 324

15.1 什么是软件工程环境 324

15.1.1 软件开发环境的特点 324

15.1.2 理想环境的模型 326

15.2 CASE环境的组成与结构 327

15.2.1 CASE的组成构件 327

15.1.3 CASE环境 327

15.2.2 CASE的一般结构 329

15.3 CASE环境实例 331

15.3.1 SUITE企业开发环境 331

15.3.2 青岛系统 336

小结 337

习题 337

附录 缩略语中英文对照表 338

参考文献 340