《软件工程学教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:周苏,王文编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2002
  • ISBN:7030107977
  • 页数:351 页
图书介绍:

第1章 传统软件工程概述 1

1.1计算机系统的发展 2

1.1.1计算机系统及其软件的发展 2

1.1.2计算机系统工程 4

1.2软件和软件生存周期 4

1.3软件生存周期模型 7

1.3.1瀑布模型 7

1.3.2渐增模型 9

1.3.3演化模型 10

1.3.4螺旋模型 11

1.3.5喷泉模型 12

1.3.6智能模型 13

1.4软件工程定义 14

1.4.1软件工程学的内容 15

1.4.2软件工程过程 16

1.4.3软件工程学的基本目标和原则 16

1.4.4软件工程与一般工程的差异 18

1.5小结 19

思考与习题 20

第2章 系统定义与软件计划 21

2.1系统定义 21

2.1.1系统分析 22

2.1.2可行性研究 28

2.1.3成本-收益分析 29

2.1.4功能分配 31

2.1.5系统规格说明 31

2.1.6系统定义复审 32

2.2软件计划 33

2.2.1软件的范围 34

2.2.2资源 35

2.2.3软件成本估算 37

2.2.4软件生产率数据 37

2.3进度安排 39

2.4软件计划文件与复审 42

2.5小结 43

思考与习题 44

第3章 软件需求分析 46

3.1需求分析阶段的任务 46

3.2结构化分析方法 48

3.3数据流程图 50

3.4数据字典 54

3.4.1数据流条目 55

3.4.2文件条目 56

3.4.3数据项条目 57

3.4.4加工条目 57

3.5加工的分析与表达 59

3.5.1结构化语言 60

3.5.2判定表 61

3.5.3判定树 63

3.5.4三种表达工具的比较 63

3.6需求分析工具 64

3.7软件需求分析文件与复审 65

3.7.1国标GB8567-88规定的文件 65

3.7.2国标GB9385-88规定的软件文件 68

3.7.3软件需求分析的复审 70

3.8小结 71

思考与习题 71

第4章 软件概要设计 73

4.1模块的划分 73

4.1.1系统性能的衡量标准 74

4.1.2软件结构 75

4.1.3模块划分的基本原则 76

4.1.4内聚度 76

4.1.5耦合度 78

4.1.6高内聚和低耦合 79

4.1.7模块划分的方法 79

4.2结构化设计方法 82

4.2.1变换与事务型数据流分析 82

4.2.2模块化设计 85

4.2.3模块结构图 86

4.2.4从数据流程图导出模块结构图 88

4.3PARNAS方法 90

4.3.1信息隐蔽原则 90

4.3.2加强系统各成分间的检查 91

4.4JACKSON方法 91

4.4.1JACKSON方法的基本思想 92

4.4.2JACKSON方法的描述方式 92

4.4.3JACKSON方法的基本步骤 93

4.5程序的逻辑构造方法 94

4.5.1WARNIER图 94

4.5.2LCP设计方法 94

4.6概要设计文件与复审 95

4.6.1概要设计说明书 95

4.6.2概要设计的复审 96

4.7小结 96

思考与习题 97

第5章 软件详细设计 100

5.1概述 100

5.2结构化构造 101

5.3图形设计工具 102

5.3.1程序流程图 102

5.3.2方块图 106

5.3.3HIPO图 108

5.3.4PAD图 109

5.4伪码与程序设计语言 112

5.5各种详细设计工具的比较 115

5.6详细设计文件与复审 116

5.6.1详细设计说明书 117

5.6.2详细设计的复审 117

5.7小结 118

思考与习题 118

第6章 软件界面设计 120

6.1代码设计 120

6.1.1代码基础 120

6.1.2代码的种类 122

6.1.3各种代码形态的比较 125

6.1.4代码设计步骤 126

6.1.5代码设计文件 126

6.2输出设计 128

6.2.1输出设计的研究范围 128

6.2.2输出设计的规则 129

6.2.3输出种类 130

6.2.4输出设计方法 131

6.3输入设计 135

6.3.1输入设计的研究范围 135

6.3.2输入设计的规则 136

6.3.3输入种类 137

6.3.4输入设计方法 138

6.4用户界面设计 143

6.4.1用户界面开发的基本原则 144

6.4.2出错控制与处理 147

6.5小结 148

思考与习题 148

第7章 数据结构和数据库设计 150

7.1数据存储文件设计 150

7.1.1文件设计内容 151

7.1.2文件类别 151

7.1.3文件媒体的选择 152

7.1.4文件组织方式 153

7.1.5文件记录格式设计 157

7.2数据库设计文件 158

7.3小结 158

思考与习题 158

第8章 软件安全性设计 160

8.1系统安全的基本概念 160

8.1.1系统安全控制的目的 160

8.1.2系统中不安全的因素 161

8.2软件安全控制的基本方法 163

8.2.1数据的证实 163

8.2.2用户的同一性检查 165

8.2.3用户的使用权限检查 165

8.2.4运行日志 166

8.2.5违规行为的监查 167

8.2.6加密 168

8.3软件的安全控制设计 169

8.4初级阶段的安全控制计划 169

8.4.1分析软件安全运行的可能性 170

8.4.2不安全因素分析 170

8.5开发阶段的安全控制设计 172

8.5.1定义安全控制的主要功能 172

8.5.2软件安全控制的设计 173

8.5.3程序设计的安全控制 175

8.6系统运行中的安全控制 176

8.6.1数据的控制 176

8.6.2系统工作人员的管理 177

8.6.3安全教育 177

8.6.4异常现象的处理 177

8.6.5硬、软件设备的增加和维护 178

8.6.6事故处理计划 178

8.6.7安全管理 179

8.7小结 179

第9章 软件编码 180

9.1结构化程序设计方法 180

9.2程序设计语言 182

9.3程序设计风格 183

9.3.1源程序 183

9.3.2数据说明 185

9.3.3语句结构 186

9.4源代码文件 186

9.4.1综合文件 186

9.4.2程序组织文件 187

9.4.3指令级注释 189

9.5冗余程序设计 189

9.6防错性程序设计 190

9.7程序设计质量的评价 191

9.8软件编码工具 192

9.9软件编码文件与复审 192

9.10小结 193

思考与习题 193

第10章 软件测试 196

10.1测试的基本概念 196

10.2测试方法 199

10.2.1静态分析技术 199

10.2.2动态测试技术 201

10.3单元测试 202

10.4组装测试 203

10.5确认测试 207

10.6测试用例设计 209

10.6.1白盒法 209

10.6.2黑盒法 212

10.7测试工具 215

10.7.1静态分析工具 215

10.7.2动态分析工具 216

10.7.3测试数据生成工具 216

10.8测试文件 216

10.8.1测试文件综述 216

10.8.2测试文件的内容要求 218

10.8.3测试文件编制指南 222

10.9测试的复审 222

10.10排错技术 224

10.10.1蛮干法 225

10.10.2原因消除法 225

10.11系统转换 228

10.12小结 229

思考与习题 230

第11章 软件文件 236

11.1目的和作用 236

11.2软件生存周期与各种文件的编制 237

11.3文件编制中考虑的因素 239

11.3.1文件的读者 239

11.3.2文件内容的重复性 240

11.3.3文件内容的灵活性 241

11.4各种文件的内容要求 243

11.4.1用户手册 243

11.4.2操作手册 244

11.4.3模块开发卷宗 244

11.4.4开发进度月报 245

11.4.5项目开发总结报告 246

11.5文件编制实施规定的实例 247

11.6文件编制的质量要求 249

11.7文件的管理和维护 251

11.7.1文件的形成 251

11.7.2文件的分类与标识 251

11.7.3文件控制 251

11.7.4文件的修改管理 252

11.8文件编制工具 253

11.9小结 253

思考与习题 254

第12章 软件维护 256

12.1概述 256

12.1.1软件维护工作的必要性 256

12.1.2软件维护的内容 258

12.1.3维护工作的过程 259

12.1.4影响维护工作的因素 260

12.1.5维护策略 261

12.2软件的可维护性 267

12.2.1可维护性的度量 267

12.2.2提高软件的可维护性 273

12.3软件维护的副作用 278

12.3.1修改代码的副作用 279

12.3.2修改数据的副作用 279

12.3.3文件的副作用 280

12.4软件维护工具 280

12.4.1维护技术方面的工具 280

12.4.2维护管理方面的工具 281

12.5软件维护的管理 281

12.6软件维护的文件 283

12.6.1软件问题报告 283

12.6.2软件修改报告 285

12.7小结 287

思考与习题 288

第13章 软件工具和软件开发环境 290

13.1软件开发工具 290

13.1.1软件工具的基础 291

13.1.2软件工具的作用 291

13.1.3软件工具的通用性 291

13.1.4软件工具的分类 292

13.2软件开发环境 292

13.2.1软件开发环境的类型 293

13.2.2软件开发环境的构成 293

13.2.3对软件开发环境的要求 294

13.3计算机辅助软件工程 295

13.4小结 297

思考与习题 297

第14章 软件的质量与评价 298

14.1各类人员对质量的不同需求 298

14.2软件质量度量模型 299

14.3软件质量评价过程模型 301

14.3.1质量需求的定义 301

14.3.2评价的准备 301

14.3.3评价过程 302

14.4软件复杂性度量 302

14.5软件可靠性评价 303

14.6软件性能评价 304

14.7软件运行评价 305

14.8小结 305

思考与习题 307

第15章 软件管理 310

15.1软件项目的特点与软件管理职能 310

15.1.1软件项目的特点 310

15.1.2软件管理的特殊困难 311

15.1.3软件管理的主要职能 311

15.2软件开发组织 312

15.2.1软件设计小组的形式 312

15.2.2对项目经理人员的要求 313

15.2.3评价软件人员的条件 314

15.3标准化管理 314

15.3.1软件工程标准化 314

15.3.2软件工程标准化的意义 315

15.3.3软件工程国家标准 316

15.4软件配置管理 318

15.4.1软件配置 318

15.4.2配置标识 319

15.4.3里程碑与变更控制 320

15.4.4配置状态登录 321

15.4.5配置审查 321

15.5软件的知识产权 322

15.5.1软件知识产权的法律保护 322

15.5.2计算机软件是著作权法保护的客体 324

15.5.3软件著作权人享有的专有权利 326

15.5.4软件著作权的登记 328

15.6小结 328

思考与习题 329

第16章 软件工程的发展 331

16.1软件工程的四个发展阶段 331

16.2原型化方法 332

16.3面向对象的分析与设计 333

16.3.1面向对象的基本概念 334

16.3.2面向对象分析 336

16.3.3面向对象设计 337

16.4统一的建模语言 337

16.4.1UML概述 338

16.4.2使用UML的过程 339

16.5软件工程过程 341

16.5.1软件过程的定义 342

16.5.2软件过程的基本成分 343

16.5.3软件过程标准 343

16.5.4软件过程工程的定义 345

16.5.5软件过程工程和软件项目工程 345

16.5.6软件过程周期 346

16.6软件复用和构件技术 346

16.6.1软件复用的概念 347

16.6.2软件复用的过程 348

16.6.3构件和体系结构 348

16.6.4构件和构件系统 349

16.7小结 349

思考与习题 350

参考文献 351