《现代软件工程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陈松乔等编著
  • 出 版 社:北京:北方交通大学出版社
  • 出版年份:2002
  • ISBN:7810820168
  • 页数:332 页
图书介绍:

第1章 绪论 1

1.1 软件工程的产生 1

1.1.1 软件的特征 1

1.1.2 软件危机的出现 3

1.1.3 软件工程的提出 3

1.2 软件工程的研究对象与基本原理 3

1.2.1 软件工程的研究对象 4

1.2.2 软件工程的层次结构 4

1.2.3 软件工程的基本原理 5

1.3 软件开发方法 5

1.3.1 结构化方法 5

1.3.2 面向对象方法 6

1.3.3 形式化方法 7

1.3.4 结构化方法、面向对象方法和形式化方法的结合研究 7

1.4 软件工程工具和环境 8

1.4.1 软件工具 8

1.4.2 CASE集成环境 9

1.5 软件工程常用生存周期模型 10

1.5.1 瀑布模型 11

1.5.2 快速原型化模型 12

1.5.3 快速应用开发模型 14

1.5.4 渐增模型 15

1.5.5 螺旋模型 16

1.6 软件工程的并行工程 17

1.6.1 簇的基本概念 18

1.6.2 并行工程的提出 18

1.6.3 簇的基本步骤和任务 19

1.6.4 簇模型与并行工程 19

1.6.5 无缝开发和可逆性的基本概念 21

1.7 小结 21

习题 22

第2章 需求分析 23

2.1 需求分析的目标 23

2.2 可行性分析 23

2.2.1 可行性分析的内容 24

2.2.2 可行性分析的基本步骤 25

2.2.3 系统流程图 25

2.3 需求收集 27

2.3.1 需求收集的内容 27

2.3.2 需求收集的方法 27

2.4 需求规格说明 28

2.5 数据流建模 29

2.5.1 数据流图中的常用符号 29

2.5.2 数据流图的用途 32

2.5.3 数据词典和加工说明 33

2.6 实体-关系建模 36

2.6.1 实体-关系图 37

2.6.2 基数和模态 38

2.6.3 实体-关系图的例子 39

2.7 系统行为建模 40

2.7.1 处理模型和控制模型的关系 41

2.7.2 一个控制流图的例子 42

2.7.3 一个状态转移图的例子 43

2.8 IDEFO功能建模 44

2.8.1 IDEFO图 44

2.8.2 IDEFO建模步骤 44

2.8.3 绘制活动图形的注意事项 49

2.9 IDEFIX数据建模 50

2.9.1 IDEF1X图 50

2.9.2 IDEF1X建模步骤 55

2.10 面向对象建模 56

2.10.1 面向对象建模的发展 56

2.10.2 面向对象基础 58

2.10.3 面向对象分析模型 64

2.10.4 对象模型的建立 65

2.10.5 行为模型的建立 67

2.10.6 功能模型的建立 72

2.11 统一建模语言UML 75

2.11.1 UML的基本实体 76

2.11.2 UML的目标 77

2.11.3 UML的范畴 77

2.11.4 UML图的使用实例 77

2.12 小结 83

习题 83

第3章 概要设计 85

3.1 概要设计的任务和过程 85

3.1.1 数据设计(对象设计) 86

3.1.2 软件结构设计(子系统设计) 87

3.1.3 接口设计(消息设计) 87

3.1.4 过程设计(方法设计) 87

3.2 软件设计基本原则 87

3.2.1 抽象与求精 87

3.2.2 模块化和信息隐藏 89

3.2.3 模块独立性 90

3.3 面向数据流图的设计方法 93

3.3.1 软件结构的图形表示 93

3.3.2 数据流分析 95

3.3.3 事务分析 98

3.3.4 软件结构的改进 100

3.4 面向对象的设计方法 101

3.4.1 软件复用 101

3.4.2 面向对象设计 104

3.5 小结 110

习题 110

第4章 详细设计 112

4.1 详细设计的目标与任务 112

4.1.1 详细设计的目标 112

4.1.2 详细设计的任务 112

4.2 结构化程序的详细设计技术与工具 113

4.2.1 结构化程序的详细设计技术 113

4.2.2 结构化程序的详细设计工具 114

4.3 Jackson程序设计方法 119

4.3.1 Jackson图 119

4.3.2 Jackson伪代码 120

4.3.3 Jackson程序设计方法的步骤 121

4.4 Warnier程序设计方法 125

4.4.1 Wariner图 126

4.4.2 Warnier程序设计步骤 126

4.5 面向对象程序设计的详细设计 131

4.5.1 面向对象程序的特性 131

4.5.2 设计原则 138

4.6 基于组件的程序设计方法 140

4.6.1 三层应用体系结构 140

4.6.2 CORBA对象总线技术 143

4.6.3 COM对象总线技术 146

4.6.4 组件库技术 148

4.7 小结 152

习题 152

第5章 软件验证技术 154

5.1 软件测试基础 154

5.1.1 测试观点 154

5.1.2 测试原则 155

5.1.3 测试工具 155

5.1.4 测试组织 156

5.1.5 测试与调试 157

5.1.6 动态测试步骤 157

5.2 代码复审 158

5.2.1 代码复审内容 158

5.2.2 代码会审 159

5.2.3 走查 159

5.2.4 办公桌检查 159

5.3 白盒测试 160

5.3.1 逻辑覆盖法 160

5.3.2 基本路径覆盖法 162

5.3.3 循环覆盖法 165

5.4 黑盒测试 166

5.4.1 等价分类法 166

5.4.2 边界值分析法 168

5.4.3 猜错法 169

5.4.4 因果图法 169

5.5 单元测试 172

5.5.1 测试策略 173

5.5.2 测试内容 173

5.5.3 测试的阶段及活动 174

5.5.4 测试软件 175

5.6 集成测试 176

5.6.1 测试内容 176

5.6.2 测试策略 177

5.6.3 非渐增式测试 177

5.6.4 渐增式测试 177

5.6.5 回归测试 180

5.7 确认测试 180

5.7.1 确认测试内容 180

5.7.2 α测试和β测试 181

5.8 系统测试 182

5.8.1 恢复测试 182

5.8.2 安全性测试 182

5.8.3 可用性测试 183

5.8.4 安装测试 183

5.8.5 互连测试 183

5.9 程序正确性证明 183

5.9.1 程序正确性定义 184

5.9.2 Floyd不变式断言法 184

5.9.3 Floyd良序集方法 187

5.9.4 程序正确性证明的局限性 189

5.10 调试 189

5.10.1 调试的步骤 189

5.10.2 调试的策略 190

5.10.3 调试的原则 191

5.11 小结 191

习题 192

第6章 软件质量和软件质量保证体系 195

6.1 软件质量 195

6.1.1 软件质量特性 195

6.1.2 软件质量评价 196

6.1.3 软件质量保证 197

6.1.4 软件质量管理 198

6.2 软件复杂性分析 199

6.2.1 基于需求分析的复杂性分析 199

6.2.2 基于软件设计的复杂性分析 203

6.2.3 基于源程序代码的复杂性分析 206

6.2.4 基于软件维护的复杂性分析 208

6.3 软件可靠性分析 209

6.3.1 软件可靠性三要素 209

6.3.2 软件可靠性模型 211

6.3.3 软件可靠性工程 213

6.4 ISO 9000软件质量体系 215

6.4.1 ISO9000族国际标准 216

6.4.2 企业软件质量体系的建立和实施 218

6.5 软件配置管理 221

6.5.1 软件配置项 221

6.5.2 软件配置管理 222

6.6 软件过程能力成熟度模型简介 225

6.6.1 基本概念 225

6.6.2 软件过程能力成熟度等级 226

6.6.3 关键过程域 228

6.6.4 关键实践 230

6.6.5 软件过程能力成熟度模型的应用 231

6.7 小结 232

习题 233

第7章 软件维护技术 235

7.1 软件维护的基本概念 235

7.1.1 软件维护的类型 235

7.1.2 软件维护的策略 236

7.1.3 软件维护的成本 236

7.1.4 软件维护的副作用 238

7.1.5 软件维护的困难 238

7.2 软件维护的过程 239

7.2.1 维护组织 239

7.2.2 维护申请 240

7.2.3 维护工作的流程 240

7.2.4 维护记录与评价 241

7.3 软件可维护性 242

7.3.1 影响软件可维护性的软件属性 242

7.3.2 软件可维护性的定量度量 243

7.3.3 提高软件可维护性的方法 243

7.4 软件再工程技术 244

7.4.1 逆向工程 244

7.4.2 重构 245

7.4.3 正向工程 245

7.4.4 再工程的成本/效益分析 245

7.4.5 再工程的风险分析 246

7.5 小结 246

习题 247

第8章 软件项目计划 248

8.1 成本估计 248

8.1.1 自顶向下成本估计 248

8.1.2 自底向上成本分析 249

8.1.3 基于经验模型的成本估计 250

8.2 效益分析 255

8.2.1 度量方法 255

8.2.2 效益分析 256

8.3 风险分析 257

8.3.1 风险标识 258

8.3.2 风险估计 259

8.3.3 风险评价 259

8.3.4 风险管理与监控 260

8.4 进度安排 260

8.4.1 进度安排原则 261

8.4.2 工作量分配 261

8.4.3 进度安排方法 262

8.5 项目组织与计划 265

8.5.1 人员组织规律 265

8.5.2 人员组织形式 267

8.5.3 项目计划 269

8.6 小结 270

习题 270

第9章 软件工程标准化与文档写作 272

9.1 软件工程标准 272

9.1.1 软件工程标准的类型 272

9.1.2 软件工程标准的层次 273

9.1.3 软件工程国家标准 274

9.2 软件文档的编写步骤 275

9.2.1 软件文档的含义及要求 275

9.2.2 软件文档的种类 275

9.2.3 软件文档的编写步骤 277

9.3 软件文档的主要内容及写作要求 278

9.3.1 可行性研究报告的主要内容及写作要求 278

9.3.2 项目开发计划的主要内容及写作要求 279

9.3.3 软件需求说明书的主要内容及写作要求 280

9.3.4 概要设计说明书的主要内容及写作要求 281

9.3.5 详细设计说明书的主要内容及写作要求 281

9.3.6 其他文档 282

9.4 软件文档的管理 283

9.4.1 软件文档编写过程的管理 283

9.4.2 软件文档使用过程的管理 284

9.5 小结 285

习题 285

第10章 软件知识产权保护与道德规范 286

10.1 知识产权 286

10.1.1 知识产权的概念 286

10.1.2 知识产权的法律体系 287

10.1.3 知识产权的主要特点 287

10.1.4 知识产权的国际保护 288

10.1.5 计算机软件知识产权的保护 288

10.2 软件著作权 288

10.2.1 计算机软件著作权法的保护 289

10.2.2 软件著作权的客体 289

10.2.3 软件著作权的主体 290

10.2.4 软件著作权的权利内容 290

10.2.5 软件著作权的权利限制 291

10.2.6 软件著作权的取得 292

10.2.7 软件著作权的归属 292

10.2.8 软件著作权的行使 292

10.2.9 案例分析 293

10.3 软件著作权登记 293

10.3.1 实施计算机软件著作权登记的作用 294

10.3.2 软件著作权登记的形式 294

10.3.3 软件著作权登记程序 295

10.4 软件商业秘密 296

10.4.1 商业秘密 296

10.4.2 计算机软件的商业秘密 297

10.5 软件工程师的职业道德规范 298

10.5.1 职业道德 298

10.5.2 软件工程师的职业道德规范 298

10.6 小结 300

习题 300

附录A 302

附录B 325

参考文献 331