《软件工程方法与管理》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:汤庸编著
  • 出 版 社:北京:冶金工业出版社
  • 出版年份:2002
  • ISBN:7502430792
  • 页数:284 页
图书介绍:

第1章 绪论 1

1.1 软件工程的产生与发展 1

1.1.1 软件危机 1

1.1.2 程序设计方法学 2

1.1.3 软件工程 2

1.1.4 软件工程方法学 2

1.1.5 软件产业化 3

1.2 软件生命周期 3

1.3 典型软件方法 7

1.3.1 结构化方法 7

1.3.2 面向对象方法 8

1.4 软件开发过程模型与管理 10

1.4.1 瀑布模型 10

1.4.2 原形模型 10

1.4.3 综合模型 11

1.4.4 过程控制与管理 12

小结 12

练习题一 12

第2章 结构化方法 13

2.1 结构化程序 13

2.1.1 结构化程序设计 13

2.1.2 控制结构 14

2.1.3 结构化程序形式定义 15

2.1.4 结构化定理 18

2.1.5 非结构化程序转换到结构化程序的方法 20

2.2 结构化分析与设计的一般步骤 22

2.3 结构化分析 23

2.3.1 数据流分析 24

2.3.2 数据流图 25

2.3.3 数字字典 26

2.3.4 逻辑分析工具 30

2.4 结构化设计的图表工具 32

2.4.1 IPO图 33

2.4.2 结构图 34

2.4.3 程序流程图 36

2.4.4 盒图 37

2.4.5 PAD图 38

2.4.6 过程设计语言PDL 39

2.5 面向数据流的设计 40

2.5.1 变换流与事务流 41

2.5.2 设计步骤 42

2.5.3 变换设计 43

2.5.4 事务设计 44

2.6.1 Jackson图 45

2.6 面向数据结构的设计 45

2.6.2 Jackson方法 46

2.6.3 设计实例 46

2.7 模块化技术 50

2.7.1 模块与模块化 50

2.7.2 模块的特征与独立性 51

2.7.3 模块的耦合 52

2.7.4 模块的内聚 53

2.7.5 模块设计的一般准则 55

2.7.6 模块的作用域与控制域 57

2.8 一个简单的例子 58

小结 60

练习题二 60

第3章 面向对象方法 62

3.1 面向对象概念与特征 62

3.1.1 对象 62

3.1.2 消息与方法 64

3.1.3 类 67

3.1.4 基本特征 68

3.2 软件生命周期与开发模型 72

3.2.1 面向对象的软件生命周期 72

3.2.2 面向对象方法与快速原型技术 73

3.3 Coad和Yourdon面向对象方法 74

3.3.1 OOA的形成 74

3.3.2 多层次多组成模型 75

3.3.3 OOA步骤 78

3.3.4 标识类/对象 78

3.3.5 标识结构 80

3.3.6 标识主题 81

3.3.7 定义属性 83

3.3.8 定义服务 86

3.3.9 面向对象设计 88

3.4 标准建模语言UML 89

3.4.1 Booch 93、OOSE、OMT与UML 89

3.4.2 UML的组成 90

3.4.4 UML应用领域与建模步骤 93

3.4.5 UML的静态建模 94

3.4.6 UML的动态建模机制 100

3.5 Rational Rose 104

3.5.1 Rational Rose的主要功能 104

3.5.2 RUP的开发过程 106

小结 109

练习题三 110

第4章 软件实现技术 111

4.1 程序设计 111

4.1.1 程序设计语言 111

4.1.3 编程风格 112

4.1.2 编程语言的选择 112

4.1.4 程序设计范型 113

4.1.5 编程途径 114

4.2 面向对象程序设计 114

4.2.1 OOD与实现语言 114

4.2.2 面向对象程序设计语言 115

4.2.3 Smaltalk面向对象编程 117

4.2.4 C++面向对象编程 122

4.3 软件重用与构件技术 134

4.3.1 软件重用分类 134

4.3.2 实现重用的关键因素 135

4.3.3 领域工程 136

4.3.4 软件构件技术 138

4.3.5 重用成熟度模型和重用效益 141

4.4.1 组件对象模型COM 142

4.4 软件实现新技术 142

4.4.2 .NET技术 145

4.4.3 J2EE技术 148

小结 152

练习题四 152

第5章 程序正确性与软件测试 153

5.1 程序正确性问题 153

5.1.1 程序正确性定义 153

5.1.2 递归与迭代 154

5.1.3 递归的程序模式与计算规则 155

5.1.4 结构归纳法 157

5.1.5 良序归纳法 158

5.2 软件测试的基本概念 159

5.2.1 什么是软件测试 160

5.2.2 黑盒测试与白盒测试 160

5.2.3 测试配置与测试过程 162

5.2.4 单元测试 163

5.2.5 集成测试 164

5.2.6 验收测试 166

5.2.7 Alpha测试与Beta测试 167

5.2.8 面向对象软件测试 167

5.3 测试方案设计 168

5.3.1 测试方案设计的基本原则 169

5.3.2 逻辑覆盖 169

5.3.3 等价类划分 172

5.3.4 边界值分析 172

5.4 测试自动化 173

5.4.1 测试自动化的产生与发展 173

5.4.2 测试自动化的基本概念 173

5.4.3 测试自动化的过程 174

5.4.4 测试自动化的优缺点 178

5.5 调试 179

小结 181

练习题五 181

第6章 软件质量与维护管理 183

6.1 软件质量 183

6.1.1 软件质量的定义 183

6.1.2 软件质量保证 184

6.2 软件质量度量模型 185

6.2.1 Boehm模型 185

6.2.2 McCall模型 185

6.2.3 ISO建议模型 187

6.2.4 软件质量因素 188

6.3 软件复杂性度量 189

6.3.1 McCabe软件复杂性度量 190

6.3.2 Halstad软件复杂性度量方法 191

6.4.1 硬件导出模型 192

6.4 软件可靠性度量方法 192

6.4.2 基于程序内部特性的模型 193

6.4.3 植入模型 193

6.5 软件维护 193

6.5.1 软件维护的分类 193

6.5.2 软件的可维护性 194

6.5.3 软件维护工作量模型 194

6.5.4 软件维护的典型问题 195

6.5.5 维护的代价与副作用 195

6.6 维护组织与管理 196

6.6.1 维护组织 196

6.6.2 维护管理 197

6.6.3 维护报告 198

6.6.4 维护的记录与评价 198

6.6.5 变更控制与版本更新 199

6.7 面向对象软件质量与维护 200

小结 201

练习题六 201

第7章 软件计划与过程管理 203

7.1 软件立项 203

7.1.1 问题定义 203

7.1.2 可行性研究 204

7.2 软件计划与进度安排 205

7.2.1 软件范围 205

7.2.2 环境资源 205

7.2.3 软件成本 207

7.2.4 制定进度表 212

7.3 项目组织 213

7.3.1 软件项目组 214

7.3.2 程序员组的组织形式 215

7.4 软件配置管理 216

7.4.2 基线 217

7.4.1 软件配置项 217

7.5 软件能力成熟度模型 218

7.5.1 CMM概述 218

7.4.3 软件配置管理过程 218

7.5.2 CMM的结构 219

7.5.3 关键过程域 221

7.5.4 应用CMM 224

7.6 个体软件开发过程PSP 225

7.6.1 基本概念 225

7.6.2 过程框架 226

7.7 中小型软件工程管理实践 227

7.7.1 项目组织与协同工作 228

7.7.2 管理规范与文档模板制定 229

7.7.3 资源管理与过程控制 230

7.7.4 版本管理与应用服务 230

练习题七 231

小结 231

第8章 软件标准与文档管理 232

8.1 软件工程国际标准 232

8.1.1 ISO9000系列标准基本思想 232

8.1.2 ISO9000-3标准 233

8.1.3 ISO9000标准与CMM 234

8.2 软件文档管理 235

8.2.1 主要文档 235

8.2.2 文档的使用 236

8.2.3 软件生命周期与文档编写 236

8.2.4 编写文档应考虑的因素 238

8.2.5 文档管理 240

8.3 GB8567-88规范参考格式 242

8.3.1 可行性研究报告 242

8.3.2 项目开发计划 243

8.3.3 软件需求说明书 244

8.3.4 数据要求说明书 245

8.3.5 概要设计说明书 245

8.3.6 细节设计说明书 246

8.3.7 数据库设计说明书 247

8.3.8 用户手册 248

8.3.9 操作手册 249

8.3.10 模块开发卷宗 249

8.3.11 测试计划 250

8.3.12 测试分析报告 251

8.3.13 开发进度月报 252

8.3.14 项目开发总结报告 252

小结 253

练习题八 253

A 可行性研究报告编写 254

附录 G8567-88软件开发主要文档编写提示 254

B 项目开发计划的编写 259

C 软件需求说明书的编写 261

D 数据要求说明书的编写 263

E 概要设计说明书的编写 265

F 详细设计说明书的编写 268

G 数据库设计说明书的编写 269

H 用户手册的编写 271

I 操作手册的编写 274

J 模块开发卷宗的编写 276

K 测试计划的编写 277

L 测试分析报告的编写 279

M 开发进度月报的编写 280

N 项目开发总结报告的编写 282

参考文献 284