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

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

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:窦万峰等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111267584
  • 页数:288 页
图书介绍:本书将软件工程原理和实践分析相结合,以案例项目为主线贯穿全书,介绍了软件工程涉及的概念、原理和方法,按照软件工程阶段要求建立系统模型,包括分析、设计、测试、管理等。
《软件工程方法与实践》目录

第一部分 软件工程与过程 2

第1章 概述 2

1.1软件工程的基本概念 2

1.1.1软件的角色和特性 2

1.1.2软件演化 3

1.1.3软件神化和危机 4

1.1.4软件危机的解决途径 4

1.2工程化思想 5

1.2.1工程化所涉及的范围 5

1.2.2工程化管理思想 5

1.3软件工程两大范型 5

1.4软件工程思想与基本原理 6

1.4.1软件工程基本原理 7

1.4.2软件工程思想 7

1.5软件工程活动 9

1.5.1软件开发活动 9

1.5.2软件项目管理活动 9

1.5.3软件过程改进活动 10

1.6小结 10

习题 10

第2章 软件过程 11

2.1软件过程概述 11

2.1.1过程方法与工具 11

2.1.2软件过程框架 12

2.1.3软件过程模型 12

2.2软件生命周期 12

2.3能力成熟度模型集成 13

2.4敏捷过程 16

2.4.1什么是敏捷过程 17

2.4.2极限编程 18

2.4.3自适应软件开发 20

2.4.4动态系统开发 21

2.4.5特征驱动开发 21

2.5软件工程实践 22

2.5.1概念 22

2.5.2沟通实践 23

2.5.3计划实践 23

2.6小结 24

习题 24

第3章 软件过程模型 25

3.1瀑布模型 25

3.2增量模型 26

3.2.1增量构造模型 27

3.2.2演化提交模型 27

3.3螺旋模型 27

3.4协同开发模型 28

3.5面向对象过程模型 29

3.5.1面向对象概念 29

3.5.2统一过程模型 30

3.5.3组件集成模型 33

3.6面向方面的软件开发 34

3.7小结 36

习题 36

第4章 案例研究 37

4.1案例研究中涵盖的内容 37

4.2案例1:出卷系统 37

4.3案例2:短信系统 37

4.4案例3:POS机系统 38

4.5案例4:ATM机系统 38

4.6案例5:图书馆系统 38

4.7小结 38

习题 38

第二部分 软件需求分析与建模 40

第5章 软件需求分析过程 40

5.1什么是软件需求 40

5.1.1功能需求 40

5.1.2非功能需求 40

5.1.3领域需求 41

5.2需求分析过程 43

5.2.1初步沟通 43

5.2.2导出需求 43

5.2.3分析和精化 44

5.2.4可行性研究 44

5.2.5协商与沟通 44

5.2.6规格说明 44

5.2.7需求验证 46

5.2.8需求变更管理 46

5.3启动分析过程 46

5.3.1确认利益相关者 46

5.3.2识别视点 47

5.3.3协同工作 47

5.3.4首次提问 47

5.4非形式化需求分析技术 47

5.4.1会谈 47

5.4.2调查表 49

5.4.3场景分析 49

5.5案例分析 49

5.5.1出卷系统 49

5.5.2 POS机系统 50

5.5.3图书馆系统 50

5.5.4短信系统 51

5.5.5 ATM机系统 51

5.6小结 51

习题 52

第6章 结构化分析建模 53

6.1分析模型概述 53

6.1.1分析模型元素 53

6.1.2分析模式 54

6.1.3目标与原理 54

6.2结构化需求分析 54

6.2.1结构化分析方法 55

6.2.2结构化分析模型 55

6.3面向数据的建模方法 56

6.3.1实体 56

6.3.2属性 56

6.3.3关系 57

6.3.4基数 57

6.3.5案例分析 57

6.4面向数据流的建模 58

6.4.1数据流图 58

6.4.2数据字典 60

6.4.3状态转换图 61

6.4.4加工逻辑的描述 61

6.5案例分析 64

6.5.1出卷系统 64

6.5.2图书馆系统 66

6.5.3 POS机系统 68

6.5.4短信系统 69

6.6小结 71

习题 71

第7章 面向对象分析 73

7.1面向对象建模 73

7.1.1面向对象模型 73

7.1.2统一建模语言(UML) 75

7.2用例建模 76

7.2.1编写用例 76

7.2.2开发活动图 81

7.2.3泳道图 82

7.3建立领域模型 82

7.3.1识别分析类 83

7.3.2用例实现分析 84

7.3.3关联与依赖 86

7.3.4识别属性和操作 86

7.4行为建模 87

7.4.1系统顺序图 87

7.4.2操作契约 88

7.4.3顺序图与协作图 89

7.4.4状态图 90

7.5案例分析 90

7.5.1 POS机系统 91

7.5.2 ATM机系统 92

7.5.3短信系统 96

7.6小结 98

习题 98

第三部分 软件设计与建模 100

第8章 软件设计 100

8.1软件设计概述 100

8.1.1软件设计过程和设计质量 100

8.1.2概要设计说明书 101

8.1.3详细设计说明书 102

8.2软件模块化设计 103

8.2.1软件模块化 103

8.2.2抽象 104

8.2.3体系结构 104

8.2.4信息隐蔽 104

8.2.5模块独立性 105

8.2.6逐步求精 106

8.2.7重构 106

8.3软件结构 106

8.3.1软件结构图 106

8.3.2模块化设计的优化 107

8.4软件系统结构模型 108

8.4.1系统构成模型 108

8.4.2系统控制模型 110

8.5体系结构模式 111

8.6小结 111

习题 111

第9章 结构化设计方法 113

9.1结构化设计方法概述 113

9.1.1概要设计 113

9.1.2详细设计 113

9.2数据流类型 114

9.2.1变换型数据流 114

9.2.2事务型数据流 114

9.2.3混合型数据流 114

9.3数据流设计方法 115

9.3.1数据流映射步骤 115

9.3.2变换流设计 115

9.3.3事务流设计 116

9.3.4综合分层的数据流设计 117

9.4面向数据的设计 118

9.4.1 Jackson图 118

9.4.2 JSD方法设计步骤 118

9.4.3 JSD举例分析 119

9.5结构化程序设计方法 121

9.5.1基本概念 121

9.5.2结构化程序设计工具 122

9.6案例分析 126

9.6.1出卷系统 126

9.6.2图书馆系统 129

9.7小结 131

习题 131

第10章 面向对象设计 134

10.1面向对象设计过程 134

10.1.1系统模型描述 134

10.1.2逻辑架构和包图 134

10.1.3对象识别 135

10.1.4设计模型 135

10.1.5对象接口描述 137

10.2构件级设计 137

10.2.1构件类 137

10.2.2构件级设计步骤 138

10.2.3基于类的构件设计原则 139

10.3设计模式 140

10.3.1设计模式概述 140

10.3.2基于职责的设计 140

10.4面向对象详细设计 144

10.4.1领域模型精化 144

10.4.2逻辑架构精化 147

10.4.3包设计 149

10.4.4精化的交互图 150

10.4.5精化的类图 152

10.4.6持久性设计 154

10.4.7部署图与构件图 156

10.5案例分析 157

10.5.1 POS机系统 157

10.5.2 短信系统 158

10.5.3 ATM机系统 159

10.6小结 163

习题 164

第11章 软件实现 165

11.1编码语言 165

11.1.1编码语言的分类 165

11.1.2编码语言特性 165

11.1.3面向对象语言的特点 166

11.1.4编码语言的选择 167

11.2编码风格 168

11.2.1编码的基本原则 168

11.2.2面向对象编码原则 169

11.3人机界面设计 171

11.3.1人机界面分析和设计 171

11.3.2人机界面设计步骤 173

11.3.3人机界面设计指南 174

11.4案例分析 175

11.4.1 POS机系统 175

11.4.2短信系统 177

11.4.3出卷系统 191

11.5小结 194

习题 194

第四部分 软件测试与维护 196

第12章 软件测试 196

12.1软件测试的任务 196

12.1.1验证与确认 196

12.1.2软件测试的组织形式 197

12.1.3软件测试的目的与原则 197

12.1.4完成标准 199

12.2软件测试过程模型 200

12.2.1 V模型 200

12.2.2 W模型 200

12.2.3 H模型 201

12.3软件测试策略 201

12.3.1单元测试 202

12.3.2集成测试 204

12.3.3确认测试 205

12.3.4系统测试 205

12.4测试用例设计 205

12.4.1 测试用例设计的目的 205

12.4.2测试用例设计的方法和描述 206

12.4.3测试用例设计的重要性和影响因素 206

12.4.4编写测试用例时的注意事项 206

12.5黑盒技术 207

12.5.1等价类划分法 207

12.5.2边界值分析法 208

12.5.3错误推测法 209

12.5.4因果图法 209

12.6白盒技术 211

12.6.1逻辑覆盖法 212

12.6.2基本路径测试法 214

12.6.3循环测试法 218

12.7集成测试技术 219

12.7.1集成策略 219

12.7.2接口测试 221

12.8自动测试工具 221

12.9调试 222

12.9.1调试过程 222

12.9.2调试策略 223

12.10案例分析 224

12.11小结 229

习题 230

第13章 软件维护 231

13.1软件维护概述 231

13.1.1软件维护的任务 231

13.1.2软件维护的特点 231

13.1.3软件可维护性 232

13.2软件维护类型 232

13.2.1纠错性维护 232

13.2.2完善性维护 233

13.2.3适应性维护 233

13.2.4预防性维护 233

13.3软件维护技术与过程 233

13.3.1面向维护的技术 234

13.3.2维护支援技术 234

13.3.3软件维护过程 234

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

13.5提高可维护性 236

13.6面向对象的软件维护 238

13.7小结 238

习题 238

第五部分 软件工程管理 240

第14章 软件项目管理 240

14.1项目管理概述 240

14.2软件项目管理范围 241

14.2.1人员 241

14.2.2项目和过程 242

14.2.3软件度量 243

14.2.4软件项目管理计划文档 244

14.3软件团队组织范式 246

14.3.1民主分权式 246

14.3.2控制集权式 247

14.3.3控制分权式 248

14.3.4敏捷团队 248

14.4项目组织原则 249

14.5软件过程管理 249

14.5.1软件过程度量 249

14.5.2软件过程改进 250

14.5.3项目度量 251

14.6风险管理 251

14.6.1风险识别 252

14.6.2风险预测 252

14.6.3风险管理 252

14.7软件配置管理 253

14.7.1 SCM基本概念 253

14.7.2 SCM过程 254

14.7.3 SCM中心存储库 255

14.8小结 256

习题 256

第15章 软件项目估算 257

15.1概述 257

15.1.1项目计划与范围 257

15.1.2项目资源 257

15.2软件规模度量 258

15.2.1面向规模的度量 258

15.2.2面向对象的度量 260

15.3软件成本估算的分解技术 260

15.3.1基于问题分解的估算 260

15.3.2基于过程分解的估算 262

15.4经验估算模型 263

15.4.1专家类比推断 263

15.4.2由底向上估算方法 263

15.4.3构造性成本模型 264

15.5成本估算管理 266

15.6案例分析 266

15.6.1短信系统 266

15.6.2 POS机系统 267

15.7小结 268

习题 269

第16章 软件项目计划与管理 270

16.1软件质量管理 270

16.1.1质量概念 270

16.1.2软件质量保证 271

16.1.3软件质量度量 272

16.1.4软件复审 275

16.1.5软件质量认证标准 276

16.2项目计划 278

16.2.1项目进度安排 278

16.2.2进度安排方法 279

16.2.3项目进度的跟踪管理 281

16.3软件项目管理工具 281

16.4小结 286

习题 287

参考文献 288

返回顶部