当前位置:首页 > 工业技术
软件工程方法与实践  第2版
软件工程方法与实践  第2版

软件工程方法与实践 第2版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:窦万峰主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111406969
  • 页数:308 页
图书介绍:本书分别从传统的结构化软件开发范型和面向对象软件开发范型两个方面,把软件工程的理论与方法融入到开发实践当中,通过丰富的案例分析与设计,深入地介绍软件开发中各个阶段的技术、方法和管理过程。本书分四个部分介绍了软件工程的基本概念、软件过程和软件过程模型,结构化分析与设计和面向对象分析与设计的基本概念、分析与设计过程、分析与设计模型以及相关技术与方法,以及软件测试原理与技术、维护策略与方法、软件项目管理等内容,是一本全面介绍软件开发的“工程化”思想的理想教材。本书适合作为高等院校软件工程课程的教材,既适用于计算机专业的学生,也适用于其他非计算机专业的学生以及从事软件开发与应用和管理的技术人员,同时也适合专业软件开发人员参考。
《软件工程方法与实践 第2版》目录

第一部分 软件工程基础 2

第1章 软件工程概述 2

1.1关于软件 2

1.1.1软件的定义与特性 2

1.1.2软件技术演化 3

1.1.3软件发展趋势 3

1.2关于软件工程 4

1.2.1软件危机 4

1.2.2软件危机的解决途径 5

1.2.3软件工程的概念 5

1.3软件工程原理与原则 6

1.3.1基本原理 6

1.3.2基本原则 8

1.4软件工程开发范型 9

1.4.1结构化开发范型 9

1.4.2面向对象开发范型 9

1.4.3重型软件工程与轻型软件工程 10

1.5软件工程活动 11

1.6小结 13

习题 13

第2章 软件过程 14

2.1关于软件过程 14

2.1.1软件过程框架 14

2.1.2软件过程模型 16

2.2软件过程技术 16

2.2.1产品与过程 16

2.2.2过程评估 17

2.2.3个人软件过程 17

2.2.4团队软件过程 18

2.3 CMM能力成熟度模型 19

2.3.1什么是能力成熟度模型 19

2.3.2 CMM的5级模型 20

2.3.3能力成熟度模型集成 23

2.4敏捷软件开发过程 24

2.4.1敏捷过程 24

2.4.2敏捷开发原则 25

2.5极限编程 25

2.5.1关于极限编程 25

2.5.2极限编程的精髓 26

2.6结对编程 27

2.6.1什么是结对编程 27

2.6.2结对编程分析 29

2.6.3结对编程方法 30

2.7小结 31

习题 32

第3章 软件过程模型 33

3.1软件生存周期 33

3.2瀑布模型 34

3.3增量模型 35

3.4螺旋模型 36

3.5构件集成模型 37

3.6形式化方法模型 38

3.7统一过程模型 40

3.8小结 42

习题 42

第二部分 结构化分析与设计 44

第4章 软件需求分析 44

4.1什么是软件需求 44

4.2软件需求分析过程 45

4.3会谈技术 48

4.3.1非正式会谈 48

4.3.2正式会谈 49

4.4调查表技术 50

4.4.1确定调查内容 50

4.4.2可靠可信分析 50

4.5场景分析 50

4.6小结 51

习题 52

第5章 结构化分析与建模 53

5.1结构化分析概述 53

5.2结构化分析模型 53

5.3面向数据流的建模方法 54

5.3.1数据流建模 54

5.3.2面对面结对编程系统分析 57

5.4面向数据的建模方法 58

5.4.1数据建模 58

5.4.2面对面结对编程系统实体关系图 59

5.5状态机建模方法 60

5.5.1状态机建模 60

5.5.2电梯控制系统分析 60

5.6结构化分析步骤 61

5.7需求规格说明文档编写示例 64

5.7.1引言 64

5.7.2任务概述 65

5.7.3数据描述 67

5.7.4功能需求 68

5.7.5性能需求 72

5.7.6运行需求 72

5.7.7其他需求 73

5.8小结 73

习题 74

第6章 结构化软件设计基础 75

6.1软件设计过程 75

6.1.1概要设计 75

6.1.2详细设计 78

6.2模块化设计原理 79

6.2.1分解 79

6.2.2抽象 80

6.2.3信息隐蔽 80

6.2.4逐步求精 80

6.2.5模块独立性 81

6.3模块独立性度量 81

6.3.1模块内聚性 81

6.3.2模块耦合性 81

6.4软件总体结构描述 82

6.4.1软件结构图 82

6.4.2软件结构优化 83

6.5小结 84

习题 84

第7章 结构化概要设计 85

7.1数据流模型 85

7.1.1变换流 85

7.1.2事务流 85

7.1.3混合流 85

7.2面向数据流的设计方法 86

7.3变换流设计 86

7.3.1变换流设计方法 87

7.3.2统计文件单词数程序 87

7.4事务流设计 88

7.4.1事务流设计方法 88

7.4.2自动柜员机业务 88

7.5混合流设计 89

7.6面向数据的JSD设计方法 90

7.6.1数据结构的表示 90

7.6.2面向数据的设计过程 90

7.6.3信用卡记账系统分析 91

7.7接口设计 93

7.8概要设计规格说明文档编写示例 96

7.8.1引言 96

7.8.2数据设计 96

7.8.3体系结构设计 98

7.8.4界面设计 100

7.8.5接口设计 101

7.8.6需求交叉索引 103

7.8.7测试部分 103

7.9小结 103

习题 104

第8章 结构化详细设计 105

8.1详细设计的基本任务 105

8.2结构化程序的控制结构 106

8.3结构化详细设计工具 106

8.3.1程序流程图 107

8.3.2盒图 108

8.3.3 PAD图 108

8.3.4 HIPO图 109

8.3.5判定表与判定树 112

8.3.6过程描述语言 113

8.4人机交互界面设计 114

8.4.1界面分析 114

8.4.2界面设计步骤 117

8.4.3界面设计指南 117

8.4.4 CAD系统界面设计 118

8.5数据库设计 119

8.6编码实现 120

8.6.1编码语言 120

8.6.2编码风格 121

8.7详细设计规格说明文档编写示例 122

8.7.1引言 122

8.7.2总体设计 123

8.7.3程序描述 123

8.8面对面结对编程系统的部分代码 124

8.8.1实现思路 124

8.8.2主界面的代码实现 130

8.9小结 134

习题 134

第三部分 面向对象分析与设计 138

第9章 面向对象基础 138

9.1面向对象概念 138

9.2面向对象模型 138

9.2.1用例模型 138

9.2.2逻辑模型 138

9.2.3交互模型 140

9.2.4部署模型 140

9.3 UML统一建模语言 140

9.3.1 UML的组成 141

9.3.2 UML的视图 142

9.4面向对象分析与设计过程 142

9.4.1面向对象分析过程 143

9.4.2面向对象设计过程 143

9.5小结 144

习题 144

第10章 面向对象分析与建模 145

10.1用例驱动分析 145

10.1.1用例建模分析 145

10.1.2开发活动图 150

10.1.3开发泳道图 151

10.2领域与业务建模 151

10.2.1识别业务类和领域类 152

10.2.2开发业务类图 153

10.2.3识别属性和操作 153

10.2.4开发交互图 155

10.2.5开发包图 156

10.2.6逻辑架构 156

10.3系统行为建模 157

10.3.1建立系统顺序图 157

10.3.2建立操作契约 158

10.3.3建立顺序图 159

10.3.4 POS机系统的状态图 160

10.4 POS机系统案例分析 161

10.5分布式结对编程系统分析与建模 163

10.5.1项目概述 163

10.5.2功能描述 164

10.5.3逻辑分析与建模 172

10.6小结 177

习题 178

第11章 面向对象设计与实现 179

11.1面向对象设计模型 179

11.2构件级设计 180

11.2.1关于构件 180

11.2.2构件级设计步骤 181

11.2.3构件级设计原则 182

11.3确定并发性 183

11.4使用设计模式 184

11.4.1基于职责的对象设计 184

11.4.2常见的设计模式 185

11.5面向对象详细设计 189

11.5.1模型精化 189

11.5.2逻辑架构的精化设计 193

11.5.3分层设计 195

11.5.4详细设计问题 197

11.5.5面向对象设计的进一步讨论 202

11.5.6详细设计中的实现问题 207

11.6数据存储与持久性设计 210

11.7部署设计与构件图 217

11.8面向对象设计案例分析 217

11.8.1 POS机系统 217

11.8.2分布式结对编程系统 223

11.9小结 226

习题 226

第四部分 软件测试、维护与管理 228

第12章软件测试 228

12.1软件测试概述 228

12.1.1软件测试的目的 228

12.1.2验证与确认 229

12.1.3软件测试的原则 229

12.2软件测试策略 230

12.2.1单元测试 230

12.2.2集成测试 232

12.2.3确认测试 233

12.2.4系统测试 233

12.3测试用例设计 234

12.4黑盒测试技术 234

12.4.1等价类划分 235

12.4.2边界值分析 236

12.4.3错误推测 237

12.4.4因果图 237

12.5白盒测试技术 239

12.5.1逻辑覆盖 240

12.5.2基本路径覆盖 242

12.5.3循环路径测试策略 245

12.6集成测试技术 246

12.6.1集成策略 246

12.6.2性能测试 248

12.6.3案例分析:ATM系统取款功能的测试 249

12.7面向对象测试技术 256

12.7.1面向对象分析的测试 256

12.7.2面向对象设计的测试 257

12.7.3面向对象编程的测试 257

12.7.4面向对象的单元测试 257

12.7.5面向对象的集成测试 258

12.7.6面向对象的系统测试 259

12.8调试技术 260

12.8.1调试过程 260

12.8.2调试策略 260

12.9测试管理 261

12.9.1测试计划与设计阶段 261

12.9.2测试实施阶段 262

12.9.3测试总结阶段 263

12.10软件测试文档编写 264

12.10.1软件测试计划文档 264

12.10.2软件集成测试文档 265

12.11小结 268

习题 269

第13章 软件维护 270

13.1软件维护概述 270

13.1.1软件维护的目的 270

13.1.2软件维护的特点 270

13.1.3软件的可维护性 271

13.2软件维护类型 271

13.3软件维护技术与过程 272

13.4非结构化维护和结构化维护 275

13.5提高软件的可维护性 275

13.6小结 276

习题 277

第14章 软件项目管理 278

14.1软件项目管理概述 278

14.2软件项目组织管理 280

14.2.1团队组织模式 280

14.2.2项目组织原则 281

14.3软件过程管理 282

14.3.1软件过程度量 282

14.3.2软件过程改进 283

14.3.3软件项目度量 284

14.4软件风险管理 284

14.4.1风险识别 284

14.4.2风险预测 285

14.4.3风险管理 285

14.5软件配置管理 286

14.5.1基本概念 286

14.5.2软件配置管理过程 286

14.5.3版本和发布管理 287

14.6软件项目估算 287

14.6.1软件项目估算概述 288

14.6.2软件规模度量 288

14.6.3软件项目估算管理 290

14.7软件项目估算的分解技术 290

14.7.1基于问题分解的估算 291

14.7.2基于过程分解的估算 292

14.8经验估算技术 293

14.8.1专家类比推断 293

14.8.2中级COCOMO模型 294

14.9软件质量管理 297

14.9.1软件质量保证 297

14.9.2软件质量度量 298

14.10软件项目进度计划 302

14.10.1进度计划 302

14.10.2进度安排 303

14.10.3进度跟踪管理 304

14.11小结 305

习题 305

参考文献 307

返回顶部