《软件工程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陈明编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2011
  • ISBN:9787113123918
  • 页数:344 页
图书介绍:本书主要内容包括:软件工程概述、软件项目分析、需求分析、概要设计、详细设计、面向对象的分析与设计方法、用户界面设计、编码、软件质量与质量保证、项目计划与管理、软件维护、软件开发工具与环境概述、软件建模等。

第1章 软件工程概述 1

1.1 软件 1

1.1.1 软件的发展 2

1.1.2 软件的定义 3

1.1.3 软件的特点 3

1.1.4 软件的分类 5

1.2 软件工程的内容与方法 7

1.2.1 软件危机与软件工程的定义 7

1.2.2 软件工程的基本内容与目标 9

1.2.3 软件的基本开发方法 10

1.2.4 软件工程的基本原则 10

1.2.5 软件工具与环境 11

1.3 软件生存周期与软件开发模型 11

1.3.1 软件生存周期 11

1.3.2 软件开发模型 13

1.4 软件工程学的知识体系 21

小结 22

习题 22

第2章 软件项目分析 23

2.1 可行性研究的任务 23

2.2 可行性研究的步骤 24

2.3 可行性研究的要素 26

2.3.1 经济可行性 26

2.3.2 技术可行性 26

2.3.3 社会环境 27

2.4 系统流程图 27

2.5 成本-效益分析 29

2.5.1 成本估计 29

2.5.2 费用估算 30

2.5.3 度量效益的方法 31

小结 32

习题 32

第3章 软件需求工程 33

3.1 概述 34

3.1.1 软件需求分类 35

3.1.2 需求规格说明 36

3.1.3 需求工程概念 37

3.1.4 需求工程过程 37

3.2 需求获取方法 38

3.3 需求分析的任务与原则 40

3.3.1 需求分析的任务 40

3.3.2 需求分析的原则 41

3.4 需求建模方法 41

3.4.1 结构化需求建模方法 42

3.4.2 数据流图 44

3.4.3 数据字典 51

3.5 需求分析图形工具 55

3.5.1 层次方框图 56

3.5.2 Warnier图 56

3.5.3 IPO图 57

3.6 需求验证 57

3.6.1 目的与任务 57

3.6.2 内容与方法 58

3.6.3 需求评审 59

3.7 需求管理 60

3.7.1 需求管理的目标 60

3.7.2 需求管理的原则 60

3.7.3 需求开发的管理 61

3.7.4 需求管理活动 62

小结 64

习题 64

第4章 概要设计 65

4.1 软件体系结构 66

4.1.1 概述 66

4.1.2 系统构成 68

4.1.3 控制模型 71

4.1.4 模块化分解 74

4.1.5 领域相关的体系结构 76

4.2 概要设计任务与步骤 78

4.2.1 概要设计任务 78

4.2.2 概要设计过程 79

4.3 软件设计的基本概念 80

4.3.1 模块化与模块独立性 80

4.3.2 抽象 85

4.3.3 结构设计原则 87

4.3.4 软件复用 90

4.3.5 设计模式 93

4.4 面向数据流的设计方法 95

4.4.1 基本概念 95

4.4.2 系统结构图的组成 96

4.4.3 变换分析 98

4.4.4 事务分析 102

4.4.5 设计优化 103

4.5 面向数据结构的分析设计方法 104

4.5.1 Jackson系统开发方法 104

4.5.2 Warnier方法 113

4.6 概要设计文档评审 114

小结 115

习题 115

第5章 详细设计 116

5.1 详细设计的任务与原则 117

5.1.1 详细设计的任务 117

5.1.2 详细设计的原则 117

5.2 详细设计工具 118

5.2.1 程序流程图 118

5.2.2 N-S图 119

5.2.3 PAD图 121

5.2.4 PDL 122

5.2.5 HIPO图 124

5.2.6 详细设计工具的选择 125

5.3 详细设计规格说明与复审 126

5.3.1 详细设计说明书 126

5.3.2 设计复审 127

小结 127

习题 128

第6章 面向对象设计 129

6.1 面向对象方法 130

6.1.1 面向对象方法概述 130

6.1.2 面向对象软件工程 131

6.1.3 面向对象的基本概念和特征 135

6.2 面向对象分析 142

6.2.1 面向对象分析过程与原则 142

6.2.2 确定对象与类 146

6.2.3 确定属性 149

6.2.4 定义服务 149

6.2.5 对象间通信 153

6.3 面向对象设计的概念和方法 158

6.3.1 面向对象设计的概念 159

6.3.2 面向对象设计的方法 160

小结 163

习题 163

第7章 用户界面设计 164

7.1 用户界面的主要特征 165

7.1.1 用户界面的质量特征 165

7.1.2 用户界面的图形特征 165

7.1.3 用户界面的优点 166

7.2 设计原则 166

7.3 用户交互 168

7.3.1 用户交互类型 168

7.3.2 交互类型的比较 168

7.4 信息表示 169

7.4.1 用户界面的信息表示方法 169

7.4.2 用户界面的信息表示形式 170

7.5 帮助系统 171

7.6 界面设计 173

7.6.1 数据输入界面设计 173

7.6.2 数据显示界面设计 174

7.6.3 控制界面设计 174

7.7 界面设计评价 174

7.7.1 界面设计评价指标 174

7.7.2 界面设计评价方法 175

小结 176

习题 176

第8章 编码 177

8.1 程序设计语言 178

8.1.1 程序设计语言的分类 178

8.1.2 程序设计语言的特点 180

8.1.3 程序设计语言的选择 182

8.2 编码风格 184

8.2.1 源程序文档化 184

8.2.2 数据说明 186

8.2.3 语句结构 186

8.2.4 输入/输出 189

8.3 程序效率 189

8.3.1 程序效率准则 190

8.3.2 算法对效率的影响 190

8.3.3 影响存储器效率的因素 190

8.3.4 影响输入/输出效率的因素 190

8.4 编程安全 191

8.4.1 冗余程序设计 191

8.4.2 防错程序设计 192

8.5 面向对象程序设计步骤 193

8.6 编码优化 193

8.6.1 优化的内容与原则 193

8.6.2 程序结构优化 194

8.6.3 程序代码优化 195

小结 195

习题 195

第9章 软件质量与软件测试 196

9.1 软件质量 197

9.1.1 软件质量定义 197

9.1.2 影响软件质量的因素 197

9.1.3 软件质量保证策略 198

9.1.4 软件质量保证活动 199

9.1.5 软件质量保证标准 200

9.2 软件评审 201

9.2.1 设计质量评审内容 202

9.2.2 程序质量评审内容 206

9.3 结构化程序测试 208

9.3.1 软件测试目的 209

9.3.2 软件测试原则 209

9.3.3 软件测试对象 210

9.3.4 软件测试过程 210

9.3.5 软件测试技术 211

9.3.6 设计测试方案 212

9.3.7 软件测试步骤 214

9.3.8 软件纠错技术 219

9.4 面向对象软件测试 220

9.4.1 面向对象分析和设计模型测试 220

9.4.2 面向对象测试策略 222

9.4.3 面向对象软件测试集设计 223

9.5 测试计划与测试分析报告 225

小结 227

习题 227

第10章 软件交付与维护 228

10.1 软件发布与部署 228

10.1.1 软件产品发布 229

10.1.2 软件产品实施 229

10.2 软件演化的特征 230

10.2.1 大型程序演化的动态特征 230

10.2.2 软件体系结构的进化 231

10.3 软件维护 231

10.3.1 软件维护分类与特点 232

10.3.2 软件维护步骤 234

10.3.3 软件的可维护性 237

10.3.4 软件维护的副作用 238

10.4 逆向工程和再生工程 239

小结 240

习题 240

第11章 项目计划与管理 242

11.1 软件项目特点及软件管理功能 243

11.1.1 软件项目的特点 243

11.1.2 软件管理的功能 243

11.1.3 软件项目的工作范围 244

11.2 软件项目的资源 244

11.2.1 人力资源 244

11.2.2 硬件资源 245

11.2.3 软件资源 245

11.3 人员的计划和组织 246

11.4 成本估计及控制 247

11.4.1 软件开发成本估计方法 247

11.4.2 专家估算法 247

11.4.3 成本估算模型 248

11.5 进度计划 251

11.5.1 各阶段工作量的分配 251

11.5.2 制定开发进度计划 251

11.6 软件配置管理 252

11.6.1 基线 252

11.6.2 软件配置项 253

11.6.3 软件配置管理过程 255

11.7 软件管理方案 258

11.8 软件能力成熟度模型 259

11.8.1 软件过程评估的必要性 259

11.8.2 能力成熟度模型的主要用途 260

11.8.3 能力成熟度模型中的概念 261

11.8.4 软件能力成熟度的等级 263

11.8.5 能力成熟度模型的内部结构 266

11.8.6 能力成熟度模型的应用 268

小结 270

习题 270

第12章 软件建模及其工具 271

12.1 模型概述 271

12.1.1 模型的定义 271

12.1.2 模型的分类 272

12.2 软件建模中最常用的模型 272

12.2.1 业务模型 272

12.2.2 功能模型 272

12.2.3 数据模型 273

12.3 需求建模 273

12.4 统一建模语言(UML) 274

12.4.1 UML概述 274

12.4.2 UML表示法 280

12.4.3 UML软件开发过程概述 291

小结 294

习题 294

第13章 软件开发工具与环境 295

13.1 软件开发工具概述 295

13.2 软件开发工具的功能 296

13.3 软件开发工具的特性 297

13.4 软件开发工具的分类 298

13.5 软件开发环境 300

13.6 常用开发环境 301

13.6.1 Windows开发环境 301

13.6.2 Linux开发环境 305

13.6.3 UNIX开发环境 309

13.7 软件开发工具的发展 313

13.8 CASE技术 314

小结 316

习题 316

附录A 可行性研究报告规范 317

附录B 项目开发计划规范 322

附录C 需求规格说明书规范 325

附录D 概要设计说明书规范 330

附录E 详细设计说明书规范 333

附录F 测试计划 336

附录G 测试分析报告 339

附录H 项目开发总结报告规范 341

参考文献 343