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

软件工程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:钟珞主编;袁景凌等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302118493
  • 页数:312 页
图书介绍:本书面向普通高等院校本科教学的需要及软件工程技术的发展,主要特色在于理论、方法与应用相结合,不仅对软件的分析、设计、开发到维护过程进行全面地讲述,而且配有丰富的实例,每章还提供典型习题。除了对传统的软件工程方法进行讲述外,还增添了面向对象的软件工程方法、CMM成熟度模型以及软件工具与环境等较为成熟的内容。
《软件工程》目录

第1章 软件工程概述 1

1.1 软件工程的产生 1

1.1.1 计算机软件及其特点 1

目录 1

1.1.2 软件危机 3

1.1.3 软件工程的定义 4

1.2 软件工程的研究对象和基本原理 5

1.2.1 软件工程的研究对象 5

1.2.2 软件工程的基本原理 6

1.3 软件的生存期及常用的开发模型 7

1.3.1 软件的生存期 7

1.3.2 常用的软件开发模型 9

本章小结 12

习题1 14

2.1 问题定义 15

2.1.1 问题定义的基本任务 15

第2章 可行性研究和需求定义 15

2.1.2 问题定义报告 16

2.2 可行性研究 16

2.2.1 可行性研究的内容及过程 17

2.2.2 可行性研究报告 18

2.3 需求定义 19

2.3.1 需求获取的内容 19

2.3.2 需求获取的方法 20

2.3.3 需求规格说明的内容 21

2.3.4 需求规格说明的评审 22

2.3.5 需求规格说明书 23

2.4 典型应用分析 25

本章小结 29

习题2 29

第3章 需求分析 30

3.1 需求分析的目标与原则 30

3.1.2 需求分析的原则 31

3.1.1 需求分析的目标 31

3.2 需求分析的过程及方法 32

3.2.1 需求分析的过程 32

3.2.2 需求分析方法 33

3.3 需求分析的工具 50

3.3.1 SADT 50

3.3.2 PSL/PSA 51

3.4 传统的软件建模 52

3.4.1 软件建模 52

3.4.2 数据模型的建立 53

3.4.3 功能模型、行为模型的建立及数据字典 54

3.5 用例建模 56

3.5.1 用例图 57

3.5.2 参与者及用例的描述 60

3.5.3 用例建模过程 62

3.6.1 面向对象基础 63

3.6 面向对象建模 63

3.6.2 面向对象分析模型 69

3.6.3 对象模型的建立 70

3.6.4 行为模型的建立 72

3.6.5 功能模型的建立 76

3.7 统一建模语言UML 78

3.7.1 UML的基本实体 79

3.7.2 UML的目标及范畴 79

3.7.3 UML图的使用实例 80

3.8 典型应用分析 84

3.8.1 结构化分析示例 84

3.8.2 面向对象分析示例 88

3.8.3 面向问题域的分析示例 91

本章小结 94

习题3 95

4.1.2 系统设计的过程 96

4.1.1 系统设计的任务 96

第4章 系统设计 96

4.1 系统设计的任务和过程 96

4.2 系统设计的基本原则 97

4.2.1 软件设计 97

4.2.2 模块设计 100

4.2.3 结构设计 101

4.3 面向数据流图的设计方法 101

4.3.1 典型的系统结构图 101

4.3.2 变换分析 103

4.3.3 事务分析 105

4.3.4 软件模块结构的改进 106

4.4 面向对象的设计方法 106

4.4.1 面向对象的基本概念和特征 106

4.4.2 面向对象的技术要点 106

4.5.1 设计模式描述 107

4.5.2 设计模式的分类 107

4.5 面向对象软件设计模型 107

4.4.3 面向对象分析模型 107

4.6 模型-视图-控制器框架 108

4.6.1 MVC模式 108

4.6.2 MVC中的模型类、视图类和控制类 109

4.6.3 MVC的实现 110

4.7 系统设计说明书 111

4.8 典型应用分析 112

4.8.1 类设计的目标 112

4.8.2 类设计的方针 112

4.8.3 通过复用设计类 113

4.8.4 计数器类设计的实例 113

本章小结 114

习题4 115

5.1.1 详细设计的任务 116

5.1.2 详细设计的过程 116

第5章 详细设计 116

5.1 详细设计的任务及过程 116

5.1.3 详细设计的原则 117

5.1.4 详细设计工具 117

5.2 结构化设计方法 122

5.2.1 基于数据流的结构化设计方法 122

5.3 Jackson程序设计方法 123

5.3.1 Jackson方法的基本思想 123

5.2.2 面向数据结构的结构化设计方法 123

5.3.2 Jackson方法的设计技术及实例 124

5.4 Warnier程序设计方法 131

5.4.1 Warnier方法的基本思想 131

5.4.2 Warnier方法的设计技术及实例 131

5.5 基于组件的设计方法 135

5.5.1 基于组件的基本思想 135

5.5.2 基于组件的设计技术及实例 136

5.6.1 引言 142

5.6 详细设计说明书 142

5.5.3 应用 142

5.6.2 总体设计概述 143

5.6.3 程序描述 143

本章小结 143

习题5 144

第6章 程序编码 145

6.1 程序设计语言 145

6.1.1 程序设计语言的发展及分类 145

6.1.2 程序设计语言的选择 147

6.2 程序设计风格 148

6.2.1 源程序文档化 148

6.2.2 数据说明 149

6.2.3 表达式和语句 149

6.2.4 输入输出 150

6.3 程序设计方法 150

6.3.1 结构化程序设计方法 150

6.3.2 面向对象的程序设计方法 152

6.4.1 程序的复杂性 154

6.4.2 McCabe度量法 154

6.4 程序的复杂性及度量 154

6.4.3 Halstead方法 155

本章小结 156

习题6 157

第7章 软件测试 158

7.1 软件测试的基本方法 158

7.1.1 静态测试和动态测试 158

7.1.2 白盒测试和黑盒测试 159

7.2.1 单元测试 160

7.2.2 集成测试 160

7.1.3 ALAC测试 160

7.2 软件测试过程 160

7.2.3 确认测试 161

7.2.4 系统测试 162

7.3 软件测试 163

7.3.1 软件测试角色 163

7.3.3 软件测试的需求规格说明 164

7.3.2 软件测试环境 164

7.3.4 软件测试设计说明 170

7.3.5 测试评价 171

7.4 面向对象软件测试 174

7.4.1 面向对象测试模型 174

7.4.2 面向对象分析的测试 174

7.4.3 面向对象设计的测试 175

7.4.4 面向对象编程的测试 175

7.4.5 面向对象的单元测试 176

7.4.6 面向对象的集成测试 176

7.4.7 面向对象的系统测试 176

7.5 典型应用分析 177

本章小结 183

习题7 184

第8章 软件维护 185

8.1 软件维护的基本概念 185

8.1.2 软件维护的分类 186

8.1.1 软件维护的定义 186

8.2 软件维护的特点及过程 187

8.2.1 影响软件维护的因素 187

8.2.2 软件维护的标准化 188

8.2.3 软件维护的特点 189

8.2.4 软件维护过程 190

8.3 软件的可维护性 192

8.3.1 软件可维护性的定义 192

8.3.2 软件可维护性的度量及评估 192

8.3.3 提高软件可维护性的方法 195

本章小结 196

习题8 196

第9章 软件项目计划与管理 197

9.1 成本估计 199

9.1.1 项目成本估计的基本要素与模式 200

9.1.2 软件开发成本估算的常用方法 203

9.1.3 软件成本估算的经验模型 208

9.2 效益分析 213

9.2.1 几种效益度量方法 214

9.2.2 效益分析方法 215

9.3 项目组织与计划 217

9.3.1 项目计划的制定 218

9.3.2 项目组人员配备规则 220

9.3.3 人员组织与管理 222

9.4 进度计划 225

9.4.1 制定开发进度计划 225

9.4.2 甘特图与时间管理 226

9.4.3 工程网络与关键路径 227

9.4.4 项目进度跟踪与控制 229

9.5 风险管理 230

9.5.1 风险识别与分类 231

9.5.2 风险评估与分析 233

9.5.3 风险策划与管理 235

9.5.4 风险规避与监控 237

9.6 软件质量 238

9.6.1 软件质量特性与度量 240

9.6.2 软件质量体系与控制 245

9.6.3 软件质量保证与评审 247

9.6.4 软件配置项及其管理 250

9.7 软件工程标准 253

9.7.1 软件工程标准化及其意义 253

9.7.2 软件工程标准的类型与层次 254

9.7.3 软件质量标准与认证 258

9.7.4 软件文档标准化 260

本章小结 263

习题9 264

第10章 软件过程能力成熟度模型CMM 265

10.1 软件过程与软件过程成熟度 265

10.1.1 软件过程 265

10.1.3 软件过程改进框架 266

10.1.2 软件过程成熟度 266

10.2 CMM简介 267

10.2.1 CMM的发展过程 268

10.2.2 软件过程成熟度的基本概念 268

10.2.3 全面质量管理和CMM 269

10.2.4 基于模型改进的优点与风险 273

10.3 软件过程成熟度框架 275

10.3.1 成熟度的5个级别 275

10.3.2 软件过程的可视性 277

10.3.3 跳越成熟度级别 278

10.4 能力成熟度模型的结构 279

10.4.1 成熟度级别的内部结构 279

10.4.2 关键过程域 280

10.4.3 关键实践 280

10.4.4 共同特性 281

10.5 CMM的应用 281

10.5.1 基于CMM的估价方法 281

10.5.2 软件过程评估及软件能力评价 283

10.5.3 软件过程改进 285

10.5.4 使用CMM 287

10.5.5 CMM实施工具 288

本章小结 290

习题10 291

第11章 软件的可靠性 292

11.1 软件可靠性基本概念 292

11.1.1 软件可靠性定义 292

11.1.2 软件可靠性的主要指标 293

11.1.3 软件生存期与软件寿命 293

11.2 软件可靠性评估 294

11.2.1 软件可靠性模型 294

11.2.2 估算软件中错误的方法 296

11.3 软件可靠性技术 298

11.3.1 算法模型化 298

11.3.2 软件容错技术 299

本章小结 301

习题11 302

第12章 软件工具及环境 303

12.1 软件工具 304

12.1.1 软件工具的作用与功能 304

12.1.2 软件工具的分类 305

12.2 软件开发环境 305

12.2.1 软件开发环境的分类 306

12.2.2 软件开发环境的特点 306

12.3 计算机辅助软件工程(CASE) 307

12.2.3 软件开发环境的组成与结构 307

12.3.1 CASE的概念及现状 308

12.3.2 CASE技术的功能及组成 308

12.3.3 CASE工具分类及特点 309

12.3.4 CASE与软件工程的关系 310

本章小结 311

习题12 311

参考文献 312

返回顶部