图书介绍

软件工程与计算 卷2 软件开发的技术基础PDF|Epub|txt|kindle电子书版本网盘下载

软件工程与计算 卷2 软件开发的技术基础
  • 络斌主编 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111407508
  • 出版时间:2012
  • 标注页数:440页
  • 文件大小:207MB
  • 文件页数:458页
  • 主题词:软件工程-高等学校-教材;软件开发-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件工程与计算 卷2 软件开发的技术基础PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 软件工程概论2

第1章 软件工程基础2

1.1软件2

1.1.1软件独立于硬件2

1.1.2软件是一种工具2

1.1.3软件的核心是程序3

1.1.4软件开发远比编程要复杂3

1.1.5应用软件基于现实又高于现实4

1.2软件工程4

1.2.1定义4

1.2.2软件工程是一种工程活动4

1.2.3软件工程的动机5

1.2.4软件工程是科学性、实践性和工艺性并重的6

1.2.5软件工程追求足够好,不是最好8

1.2.6软件工程的产品是基于虚拟计算机的软件方案8

1.2.7软件工程的最终目的9

1.3软件工程概览9

1.3.1软件工程知识域9

1.3.2软件开发活动11

1.3.3软件工程的角色分工13

1.4习题14

第2章 软件工程的发展15

2.1软件工程的发展脉络15

2.2 20世纪50年代的软件工程17

2.3 20世纪60年代的软件工程19

2.4 20世纪70年代的软件工程22

2.5 20世纪80年代的软件工程26

2.6 20世纪90年代的软件工程31

2.7 21世纪00年代的软件工程37

2.8习题39

第二部分 项目启动42

第3章 示例项目描述42

3.1背景42

3.2目标42

3.3系统用户42

3.4用户访谈要点43

3.5项目实践过程47

第4章 项目管理基础48

4.1项目和项目管理48

4.2团队组织与管理49

4.2.1团队的特征49

4.2.2团队结构49

4.2.3团队建设51

4.3软件质量保障53

4.3.1软件质量53

4.3.2质量保障55

4.3.3评审56

4.3.4质量度量57

4.4软件配置管理57

4.4.1配置管理动机57

4.4.2配置项58

4.4.3基线58

4.4.4配置管理活动59

4.4.5变更控制60

4.5项目实践62

4.6习题62

第三部分 需求开发阶段66

第5章 软件需求基础66

5.1引言66

5.2需求工程基础67

5.2.1需求工程简介67

5.2.2需求工程活动67

5.2.3需求获取68

5.2.4需求分析69

5.2.5需求规格说明70

5.2.6需求验证70

5.2.7需求管理71

5.3需求基础71

5.3.1需求71

5.3.2需求的层次性71

5.3.3结合层次性的需求开发73

5.3.4区分需求、问题域与规格说明74

5.4需求分类75

5.4.1需求谱系75

5.4.2软件需求的分类76

5.5项目实践79

5.6习题80

第6章 需求分析方法82

6.1需求分析基础82

6.1.1需求分析的原因82

6.1.2需求分析模型83

6.2结构化分析84

6.2.1结构化分析方法84

6.2.2数据流图85

6.2.3实体关系图90

6.3面向对象分析92

6.3.1面向对象分析方法92

6.3.2用例93

6.3.3用例图94

6.3.4用例描述96

6.3.5概念类图(领域模型)98

6.3.6交互图(顺序图)104

6.3.7状态图106

6.4使用需求分析方法细化和明确需求108

6.4.1细化和明确需求内容108

6.4.2建立系统级需求109

6.5项目实践112

6.6习题113

第7章 需求文档化与验证115

7.1文档化的原因115

7.2需求文档基础115

7.2.1需求文档的交流对象115

7.2.2用例文档116

7.2.3软件需求规格说明文档116

7.3需求文档化要点118

7.3.1技术文档写作要点118

7.3.2需求书写要点119

7.3.3软件需求规格说明文档书写要点120

7.4评审软件需求规格说明文档121

7.4.1需求验证与确认121

7.4.2评审需求的注意事项121

7.5以需求为基础开发系统测试用例122

7.5.1开发测试用例套件123

7.5.2开发测试用例125

7.6度量需求125

7.7将需求制品纳入配置管理129

7.8项目实践130

7.9习题130

第四部分 软件设计133

第8章 软件设计基础133

8.1软件设计思想的发展133

8.2软件设计的核心思想134

8.3理解软件设计135

8.3.1设计与软件设计135

8.3.2工程设计与艺术设计136

8.3.3理性主义和经验主义137

8.3.4软件设计的演化性137

8.3.5软件设计的决策性138

8.3.6软件设计的约束满足和多样性138

8.4软件设计的分层139

8.5软件设计过程的主要活动140

8.6软件设计的方法和模型140

8.6.1软件设计的方法140

8.6.2软件设计的模型141

8.7软件设计描述141

8.7.1设计视图和设计图142

8.7.2设计视角和设计关注143

8.7.3需求和涉众144

8.7.4设计理由144

8.7.5设计描述的模板145

8.7.6软件设计文档书写要点145

8.8项目实践146

8.9习题146

第9章 软件体系结构基础148

9.1软件体系结构的发展148

9.2理解软件体系结构148

9.2.1定义148

9.2.2区分软件体系结构的抽象与实现149

9.2.3部件150

9.2.4连接件150

9.2.5配置151

9.3体系结构风格初步153

9.3.1主程序/子程序153

9.3.2面向对象式154

9.3.3分层156

9.3.4 MVC157

9.4项目实践159

9.5习题159

第10章 软件体系结构设计与构建160

10.1体系结构设计过程160

10.1.1分析关键需求和项目约束160

10.1.2选择体系结构风格162

10.1.3软件体系结构逻辑设计162

10.1.4软件体系结构实现165

10.1.5完善软件体系结构设计170

10.1.6定义构件接口172

10.2体系结构的原型构建173

10.2.1包的创建173

10.2.2重要文件的创建174

10.2.3定义构件之间的接口174

10.2.4关键需求的实现175

10.3体系结构集成与测试175

10.3.1集成的策略175

10.3.2桩、驱动与集成测试用例177

10.4软件体系结构设计文档描述180

10.5体系结构评审181

10.6项目实践181

10.7习题182

第11章 人机交互设计183

11.1引言183

11.2人机交互设计的目标184

11.3人机交互设计的人类因素185

11.3.1精神模型185

11.3.2差异性186

11.4人机交互设计的计算机因素186

11.4.1可视化设计186

11.4.2常见界面类型187

11.5人机交互设计的交互性188

11.5.1导航188

11.5.2反馈189

11.5.3一些人机交互设计原则190

11.6人机交互设计过程192

11.6.1基本过程192

11.62示例193

11.7项目实践195

11.8习题195

第12章 详细设计的基础197

12.1详细设计概述197

12.1.1详细设计出发点197

12.1.2详细设计的上下文198

12.2结构化设计199

12.2.1结构化设计的思想199

12.2.2结构化设计的过程200

12.3面向对象设计202

12.3.1面向对象设计的思想202

12.3.2面向对象设计的过程202

12.3.3通过职责建立静态模型203

12.3.4通过协作建立动态模型206

12.4为类间协作开发集成测试用例210

12.5详细设计文档描述212

12.6详细设计的评审213

12.7项目实践213

12.8习题213

第13章 详细设计中的模块化与信息隐藏215

13.1模块化与信息隐藏思想215

13.1.1设计质量215

13.1.2模块化与信息隐藏思想的动机215

13.1.3模块化与信息隐藏思想的发展216

13.2模块化217

13.2.1分解与模块化217

13.2.2结构化设计中的耦合219

13.2.3结构化设计中的内聚220

13.2.4回顾:MSCS系统设计中的模块化思想221

13.3信息隐藏222

13.3.1抽象与信息隐藏222

13.3.2信息与隐藏224

13.3.3模块说明225

13.3.4回顾:MSCS系统设计中的信息思想226

13.4习题226

第14章 详细设计中面向对象方法下的模块化228

14.1面向对象中的模块228

14.1.1类228

14.1.2类之间的联系228

14.2访问耦合229

14.2.1访问耦合的分析229

14.2.2降低访问耦合的方法230

14.3继承耦合234

14.3.1继承耦合的分析234

14.3.2降低继承耦合的方法235

14.4内聚237

14.4.1面向对象中的内聚237

14.4.2提高内聚的方法238

14.5耦合与内聚的度量241

14.5.1耦合的度量241

14.5.2内聚的度量242

14.6项目实践243

14.7习题243

第15章 详细设计中面向对象方法下的信息隐藏246

15.1封装类的职责246

15.1.1类的职责246

15.1.2封装——分离接口与实现247

15.1.3封装实现细节247

15.2为变更而设计251

15.2.1封装变更/开闭原则251

15.2.2多态252

15.2.3依赖倒置原则253

15.2.4总结257

15.3项目实践257

15.4习题258

第16章 详细设计的设计模式262

16.1设计模式基础262

16.2可修改性及其基本实现机制262

16.3策略模式265

16.3.1典型问题265

16.3.2设计分析266

16.3.3解决方案266

16.3.4模式实例268

16.4抽象工厂模式270

16.4.1典型问题270

16.4.2设计分析272

16.4.3解决方案272

16.4.4模式实例274

16.5单件模式276

16.5.1典型问题276

16.5.2设计分析276

16.5.3解决方案276

16.5.4模式实例277

16.6迭代器模式277

16.6.1典型问题277

16.6.2设计分析279

16.6.3解决方案279

16.6.4模式实例280

16.7项目实践280

16.8习题280

第五部分 软件构造、测试、交付与维护282

第17章 软件构造282

17.1概述282

17.1.1软件构造的定义282

17.1.2软件构造是设计的延续283

17.2软件构造活动283

17.2.1详细设计283

17.2.2编程284

17.2.3测试284

17.2.4调试285

17.2.5代码评审286

17.2.6集成与构建288

17.2.7构造管理288

17.3软件构造实践方法288

17.3.1重构289

17.3.2测试驱动开发291

17.3.3结对编程295

17.4项目实践295

17.5习题296

第18章 代码设计298

18.1设计易读的代码298

18.1.1格式298

18.1.2命名302

18.1.3注释302

18.2设计易维护的代码304

18.2.1小型任务305

18.2.2复杂决策306

18.2.3数据使用308

18.2.4明确依赖关系308

18.3设计可靠的代码308

18.3.1契约式设计308

18.3.2防御式编程310

18.4使用模型辅助设计复杂代码310

18.4.1决策表311

18.4.2伪代码311

18.4.3程序流程图313

18.5为代码开发单元测试用例313

18.5.1为方法开发测试用例313

18.5.2使用Mock Object测试类方法313

18.5.3为类开发测试用例315

18.6代码复杂度度量316

18.7问题代码317

18.8项目实践318

18.9习题319

第19章 软件测试320

19.1引言320

19.1.1验证与确认320

19.1.2软件测试的目标321

19.1.3测试用例321

19.1.4桩与驱动321

19.1.5缺陷、错误与失败322

19.2测试层次323

19.2.1测试层次的划分323

19.2.2单元测试323

19.2.3集成测试324

19.2.4系统测试325

19.3测试技术325

19.3.1测试用例的选择325

19.3.2随机测试326

19.3.3基于规格的技术——黑盒测试方法327

19.3.4基于代码的技术——白盒测试方法329

19.3.5特定测试技术331

19.4测试活动331

19.5测试度量334

19.6项目实践334

19.7习题335

第20章 软件交付336

20.1安装与部署336

20.1.1安装336

20.1.2部署337

20.2培训与文档支持338

20.2.1培训338

20.2.2文档支持339

20.3项目评价341

20.3.1项目评价的原因341

20.3.2项目评价的内容341

20.3.3项目评价的方法341

20.3.4注意事项343

20.4项目实践343

20.5习题344

第21章 软件维护与演化345

21.1软件维护345

21.1.1软件可修改性与软件维护345

21.1.2软件维护的类型345

21.1.3软件维护的高代价性346

21.1.4开发可维护的软件348

21.1.5软件维护过程与活动349

21.2软件演化350

21.2.1演化与维护350

21.2.2软件演化定律351

21.2.3软件演化生命周期模型与演化活动352

21.3软件维护与演化的常见技术354

21.3.1遗留软件355

21.3.2逆向工程355

21.3.3再工程356

21.4项目实践356

21.5习题357

第六部分 软件过程模型与职业基础360

第22章 软件开发过程模型360

22.1软件开发的典型阶段360

22.1.1软件需求工程360

22.1.2软件设计361

22.1.3软件构造361

22.1.4软件测试363

22.1.5软件交付363

22.1.6软件维护363

22.2软件生命周期模型364

22.3软件过程模型364

22.4构建-修复模型366

22.5瀑布模型367

22.6增量迭代模型368

22.7演化模型370

22.8原型模型371

22.9螺旋模型372

22.10 Rational统一过程374

22.11敏捷过程376

22.12习题378

第23章 软件工程职业基础379

23.1软件工程职业379

23.1.1软件行业的发展379

23.1.2软件工程职业的出现380

23.1.3软件工程师职业素质380

23.2软件工程职业概况381

23.2.1知识体系381

23.2.2教育体系381

23.2.3职业道德规范382

23.2.4认证体系382

23.2.5行业协会383

23.3软件工程的行业标准383

23.4习题384

附录A软件需求规格说明文档模板385

附录B文档注释规范391

附录C软件工程道德和职业实践规范(5.2版)的八项原则395

附录D连锁商店管理系统(MSCS)相关文档399

参考文献428

热门推荐