图书介绍

软件工程 实践者的研究方法 原书第7版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

软件工程 实践者的研究方法 原书第7版
  • (美)普雷斯曼著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111335818
  • 出版时间:2011
  • 标注页数:642页
  • 文件大小:261MB
  • 文件页数:664页
  • 主题词:软件工程-高等学校-教学参考资料

PDF下载


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

下载说明

软件工程 实践者的研究方法 原书第7版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 软件和软件工程1

1.1软件的本质2

1.1.1定义软件3

1.1.2软件应用领域5

1.1.3遗留软件6

1.2 WebApp的特性7

1.3软件工程8

1.4软件过程9

1.5软件工程实践11

1.5.1实践的精髓11

1.5.2一般原则12

1.6软件神话14

1.7这一切是如何开始的15

1.8 小结16

习题与思考题17

推荐读物与阅读信息17

第一部分 软件过程20

第2章 过程模型20

2.1通用过程模型21

2.1.1定义框架活动22

2.1.2明确任务集23

2.1.3过程模式23

2.2过程评估与改进25

2.3惯用过程模型26

2.3.1瀑布模型26

2.3.2增量过程模型28

2.3.3演化过程模型29

2.3.4协同模型33

2.3.5演化模型的最终评述34

2.4专用过程模型34

2.4.1基于构件的开发35

2.4.2形式化方法模型35

2.4.3面向方面的软件开发35

2.5统一过程37

2.5.1简史37

2.5.2统一过程的阶段37

2.6个人过程模型和团队过程模型38

2.6.1个人软件过程39

2.6.2团队软件过程39

2.7过程技术40

2.8产品与过程41

2.9小结42

习题与思考题42

推荐读物与阅读信息43

第3章 敏捷开发45

3.1什么是敏捷46

3.2敏捷及变更的成本费用47

3.3敏捷过程是什么47

3.3.1敏捷原则48

3.3.2敏捷开发的战略48

3.3.3人的因素49

3.4极限编程50

3.4.1极限编程的权值50

3.4.2极限编程过程51

3.4.3工业极限编程53

3.4.4关于XP的争论54

3.5其他敏捷过程模型55

3.5.1自适应软件开发56

3.5.2 Scrum57

3.5.3动态系统开发方法58

3.5.4 Crystal59

3.5.5特征驱动开发59

3.5.6精益软件开发60

3.5.7敏捷建模60

3.5.8敏捷统一过程61

3.6 敏捷过程工具集62

3.7小结63

习题与思考题63

推荐读物与阅读信息64

第二部分 建模68

第4章 指导实践的原则68

4.1软件工程知识69

4.2核心原则69

4.2.1指导过程的原则69

4.2.2指导实践的原则70

4.3指导每个框架活动的原则71

4.3.1沟通原则71

4.3.2策划原则73

4.3.3建模原则74

4.3.4构造原则77

4.3.5部署原则79

4.4小结80

习题与思考题81

推荐读物与阅读信息81

第5章 理解需求83

5.1需求工程84

5.2建立根基88

5.2.1确认利益相关者88

5.2.2识别多重观点88

5.2.3协同合作88

5.2.4首次提问89

5.3导出需求89

5.3.1协作收集需求90

5.3.2质量功能部署92

5.3.3用户场景92

5.3.4导出工作产品93

5.4开发用例94

5.5构建需求模型97

5.5.1需求模型的元素98

5.5.2分析模式100

5.6协商需求100

5.7确认需求101

5.8小结102

习题与思考题102

推荐读物与阅读信息103

第6章 需求建模:场景、信息与类分析105

6.1需求分析106

6.1.1总体目标和原理106

6.1.2分析的经验原则107

6.1.3域分析107

6.1.4需求建模的方法109

6.2基于场景建模110

6.2.1新建初始用例110

6.2.2细化初始用例112

6.2.3编写正规的用例113

6.3补充用例的UML模型115

6.3.1开发活动图115

6.3.2泳道图115

6.4数据建模概念116

6.4.1数据对象117

6.4.2数据属性117

6.4.3关系118

6.5基于类的建模119

6.5.1识别分析类119

6.5.2描述属性121

6.5.3定义操作122

6.5.4类-职责-协作者建模124

6.5.5关联和依赖128

6.5.6分析包129

6.6小结130

习题与思考题130

推荐读物与阅读信息131

第7章 需求建模:流程、行为、模式和Web应用132

7.1需求建模策略132

7.2面向数建模133

7.2.1创建数据流模型133

7.2.2创建控制流模型135

7.2.3控制规格说明135

7.2.4处理规格说明137

7.3生成行为模型138

7.3.1识别用例事件139

7.3.2状态表现139

7.4需求建模的模式141

7.4.1发现分析模式142

7.4.2需求模式举例:执行器-传感器142

7.5 Web应用系统的需求建模145

7.5.1如何分析145

7.5.2需求建模的输入146

7.5.3需求建模的输出146

7.5.4 Web应用系统内容建模147

7.5.5 Web应用系统的交互模型148

7.5.6 Web应用系统的功能模型148

7.5.7 Web应用系统的配置模型149

7.5.8导航建模150

7.6小结150

习题与思考题151

推荐读物与阅读信息151

第8章 设计概念152

8.1软件工程中的设计153

8.2设计过程155

8.2.1软件质量指导原则和属性155

8.2.2软件设计的演化156

8.3设计概念157

8.3.1抽象158

8.3.2体系结构158

8.3.3模式159

8.3.4关注点分离159

8.3.5模块化159

8.3.6信息隐蔽160

8.3.7功能独立160

8.3.8求精161

8.3.9方面161

8.3.10重构162

8.3.11面向对象的设计概念163

8.3.12设计类163

8.4设计模型165

8.4.1数据设计元素166

8.4.2体系结构设计元素166

8.4.3接口设计元素166

8.4.4构件级设计元素168

8.4.5部署级设计元素168

8.5小结169

习题与思考题169

推荐读物与阅读信息170

第9章 体系结构设计172

9.1软件体系结构172

9.1.1什么是体系结构173

9.1.2体系结构为什么重要174

9.1.3体系结构描述174

9.1.4体系结构决策175

9.2体系结构类型175

9.3体系结构风格177

9.3.1体系结构风格的简单分类178

9.3.2体系结构模式180

9.3.3组织和求精181

9.4体系结构设计181

9.4.1系统环境的表示181

9.4.2定义原型182

9.4.3将体系结构精化为构件183

9.4.4描述系统实例184

9.5评估可选的体系结构设计185

9.5.1体系结构权衡分析方法185

9.5.2体系结构复杂性187

9.5.3体系结构描述语言187

9.6使用数据流进行体系结构映射188

9.6.1变换映射188

9.6.2精化体系结构设计193

9.7小结194

习题与思考题194

推荐读物与阅读信息195

第10章 构件级设计196

10.1什么是构件197

10.1.1面向对象的观点197

10.1.2传统观点198

10.1.3过程相关的观点199

10.2设计基于类的构件200

10.2.1基本设计原则200

10.2.2构件级设计指导方针203

10.2.3内聚性203

10.2.4耦合性205

10.3实施构件级设计206

10.4 WebApp的构件级设计210

10.4.1构件级内容设计210

10.4.2构件级功能设计211

10.5设计传统构件211

10.5.1图形化设计表示211

10.5.2表格式设计表示212

10.5.3程序设计语言213

10.6基于构件的开发214

10.6.1领域工程215

10.6.2构件合格性检验、适应性修改与组合215

10.6.3复用的分析与设计217

10.6.4构件分类与检索217

10.7小结218

习题与思考题219

推荐读物与阅读信息220

第11章 用户界面设计221

11.1黄金规则222

11.1.1用户操纵控制222

11.1.2减轻用户记忆负担223

11.1.3保持界面一致224

11.2用户界面的分析与设计225

11.2.1用户界面分析和设计模型225

11.2.2过程226

11.3界面分析227

11.3.1用户分析227

11.3.2任务分析和建模228

11.3.3显示内容分析232

11.3.4工作环境分析232

11.4界面设计步骤233

11.4.1应用界面设计步骤233

11.4.2用户界面设计模式235

11.4.3设计问题235

11.5 WebApp界面设计237

11.5.1界面设计原则与指导方针238

11.5.2 WebApp的界面设计工作流241

11.6设计评估242

11.7小结243

习题与思考题244

推荐读物与阅读信息245

第12章 基于模式的设计246

12.1设计模式247

12.1.1模式的种类248

12.1.2框架249

12.1.3描述模式250

12.1.4模式语言和存储库251

12.2基于模式的软件设计251

12.2.1不同环境下基于模式的设计252

12.2.2在模式中思考252

12.2.3设计任务253

12.2.4建立模式组织表254

12.2.5常见设计错误255

12.3体系结构模式255

12.4构件级设计模式257

12.5用户界面设计模式259

12.6 WebApp设计模式261

12.6.1设计焦点261

12.6.2设计粒度261

12.7小结262

习题与思考题263

推荐读物与阅读信息263

第13章WebApp设计265

13.1 WebApp设计质量266

13.2设计目标268

13.3 WebApp设计金字塔269

13.4 WebApp界面设计269

13.5美学设计270

13.5.1布局问题270

13.5.2美术设计问题271

13.6内容设计271

13.6.1内容对象271

13.6.2内容设计问题272

13.7体系结构设计272

13.7.1内容体系结构273

13.7.2 WebApp体系结构274

13.8导航设计275

13.8.1导航语义275

13.8.2导航语法276

13.9构件级设计277

13.10面向对象的超媒体设计方法277

13.10.1 OOHDM的概念设计278

13.10.2 OOHDM的导航设计279

13.10.3抽象界面设计与实现279

13.11小结279

习题与思考题280

推荐读物与阅读信息280

第三部分 质量管理284

第14章 质量概念284

14.1什么是质量285

14.2软件质量285

14.2.1 Garvin的质量维度286

14.2.2 McCall的质量因素287

14.2.3 ISO 9126质量因素287

14.2.4定向质量因素288

14.2.5过渡到量化观点289

14.3软件质量困境289

14.3.1“足够好”的软件289

14.3.2质量成本290

14.3.3风险291

14.3.4疏忽和责任292

14.3.5质量和安全292

14.3.6管理活动的影响292

14.4实现软件质量293

14.4.1软件工程方法293

14.4.2项目管理技术293

14.4.3质量控制294

14.4.4质量保证294

14.5小结294

习题与思考题294

推荐读物与阅读信息295

第15章 评审技术296

15.1软件缺陷对成本的影响297

15.2缺陷放大和消除297

15.3评审度量及其应用299

15.3.1分析度量数据299

15.3.2评审的成本效益300

15.4评审:正式程度301

15.5非正式评审301

15.6正式技术评审303

15.6.1评审会议303

15.6.2评审报告和记录保存304

15.6.3评审指导原则304

15.6.4样本驱动评审305

15.7小结306

习题与思考题306

推荐读物与阅读信息307

第16章 软件质量保证308

16.1背景问题309

16.2软件质量保证的要素309

16.3软件质量保证的任务、目标和度量311

16.3.1软件质量保证任务311

16.3.2目标、属性和度量311

16.4软件质量保证的形式化方法312

16.5统计软件质量保证313

16.5.1一个普通的例子313

16.5.2软件工程中的六西格玛314

16.6软件可靠性314

16.6.1可靠性和可用性的测量315

16.6.2软件安全316

16.7 ISO 9000质量标准316

16.8 SQA计划317

16.9小结318

习题与思考题318

推荐读物与阅读信息319

第17章 软件测试策略320

17.1软件测试的策略性方法321

17.1.1验证与确认321

17.1.2软件测试的组织322

17.1.3软件测试策略——宏观322

17.1.4测试完成的标准324

17.2策略问题324

17.3传统软件的测试策略325

17.3.1单元测试325

17.3.2集成测试327

17.4面向对象软件的测试策略331

17.4.1面向对象环境中的单元测试331

17.4.2面向对象环境中的集成测试332

17.5 WebApp的测试策略332

17.6确认测试333

17.6.1确认测试准则333

17.6.2配置评审333

17.6.3 α测试与β测试333

17.7系统测试334

17.7.1恢复测试335

17.7.2安全测试335

17.7.3压力测试335

17.7.4性能测试336

17.7.5部署测试336

17.8调试技巧337

17.8.1调试过程337

17.8.2心理因素338

17.8.3调试策略338

17.8.4纠正错误340

17.9小结340

习题与思考题340

推荐读物与阅读信息341

第18章 测试传统的应用系统343

18.1软件测试基础344

18.2测试的内部视角和外部视角345

18.3白盒测试346

18.4基本路径测试346

18.4.1流图表示346

18.4.2独立程序路径347

18.4.3导出测试用例349

18.4.4图矩阵350

18.5控制结构测试351

18.5.1条件测试351

18.5.2数据流测试351

18.5.3循环测试352

18.6黑盒测试353

18.6.1基于图的测试方法353

18.6.2等价类划分354

18.6.3边界值分析355

18.6.4正交数组测试355

18.7基于模型的测试357

18.8针对特定环境、体系结构和应用系统的测试358

18.8.1图形用户界面测试358

18.8.2客户/服务器体系结构测试358

18.8.3文档测试和帮助设施测试359

18.8.4实时系统的测试360

18.9软件测试模式361

18.10小结362

习题与思考题362

推荐读物与阅读信息363

第19章 测试面向对象的应用系统364

19.1扩展测试的视野364

19.2测试OOA和OOD模型365

19.2.1 OOA和OOD模型的正确性365

19.2.2面向对象模型的一致性366

19.3面向对象测试策略367

19.3.1面向对象环境中的单元测试367

19.3.2面向对象环境中的集成测试368

19.3.3面向对象环境中的确认测试368

19.4面向对象测试方法368

19.4.1面向对象概念的测试用例设计的含义369

19.4.2传统测试用例设计方法的可应用性369

19.4.3基于故障的测试369

19.4.4测试用例与类层次370

19.4.5基于场景的测试设计370

19.4.6表层结构和深层结构的测试371

19.5类级可应用的测试方法372

19.5.1面向对象类的随机测试372

19.5.2类级的划分测试373

19.6 类间测试用例设计373

19.6.1多类测试374

19.6.2从行为模型导出的测试374

19.7小结375

习题与思考题376

推荐读物与阅读信息376

第20章 测试Web应用系统377

20.1 WebApp的测试概念377

20.1.1质量维度378

20.1.2 WebApp环境中的错误378

20.1.3 测试策略379

20.1.4测试策划379

20.2测试过程概述380

20.3内容测试380

20.3.1内容测试的目标381

20.3.2数据库测试381

20.4用户界面测试383

20.4.1界面测试策略383

20.4.2测试界面机制383

20.4.3测试界面语义385

20.4.4可用性测试385

20.4.5兼容性测试386

20.5构件级测试387

20.6导航测试388

20.6.1测试导航语法388

20.6.2测试导航语义389

20.7配置测试390

20.7.1服务器端问题390

20.7.2客户端问题390

20.8安全性测试391

20.9性能测试392

20.9.1性能测试的目标392

20.9.2负载测试393

20.9.3压力测试393

20.10小结395

习题与思考题396

推荐读物与阅读信息396

第21章 形式化建模与验证398

21.1净室策略399

21.2功能规格说明400

21.2.1黑盒规格说明401

21.2.2状态盒规格说明401

21.2.3清晰盒规格说明402

21.3净室设计402

21.3.1设计求精402

21.3.2设计验证403

21.4净室测试404

21.4.1统计使用测试404

21.4.2认证405

21.5形式化方法的概念406

21.6应用数学表示法描述形式化规格说明408

21.7形式化规格说明语言409

21.7.1对象约束语言409

21.7.2 Z规格说明语言412

21.8小结414

习题与思考题415

推荐读物与阅读信息415

第22章 软件配置管理417

22.1软件配置管理概述418

22.1.1 SCM场景418

22.1.2配置管理系统元素419

22.1.3基线419

22.1.4软件配置项420

22.2 SCM中心存储库421

22.2.1中心存储库的作用421

22.2.2一般特征和内容421

22.2.3 SCM特征422

22.3 SCM过程423

22.3.1软件配置中的对象标识424

22.3.2版本控制424

22.3.3变更控制425

22.3.4配置审核428

22.3.5状态报告428

22.4 WebApp配置管理429

22.4.1 WebApp配置管理的主要问题429

22.4.2 WebApp的配置对象430

22.4.3内容管理430

22.4.4变更管理432

22.4.5版本控制434

22.4.6审核和报告435

22.5小结436

习题与思考题436

推荐读物与阅读信息437

第23章 产品度量438

23.1产品度量框架439

23.1.1测度、度量和指标439

23.1.2产品度量的挑战439

23.1.3 测量原则440

23.1.4面向目标的软件测量440

23.1.5有效软件度量的属性441

23.2需求模型的度量442

23.2.1基于功能的度量443

23.2.2规格说明质量的度量445

23.3设计模型的度量446

23.3.1体系结构设计度量446

23.3.2面向对象设计度量447

23.3.3面向类的度量——CK度量集448

23.3.4面向类的度量——MOOD度量集450

23.3.5 Lorenz与Kidd提出的面向对象度量451

23.3.6构件级设计度量451

23.3.7面向操作的度量453

23.3.8用户界面设计度量453

23.4 WebApp的设计度量453

23.5源代码度量455

23.6测试的度量456

23.6.1用于测试的Halstead度量456

23.6.2面向对象测试的度量457

23.7维护的度量457

23.8小结458

习题与思考题459

推荐读物与阅读信息459

第四部分 软件项目管理462

第24章 项目管理概念462

24.1管理涉及的范围463

24.1.1人员463

24.1.2产品463

24.1.3过程463

24.1.4项目464

24.2人员464

24.2.1利益相关者464

24.2.2团队负责人464

24.2.3软件团队465

24.2.4敏捷团队467

24.2.5协调与沟通问题468

24.3产品469

24.3.1软件范围469

24.3.2问题分解469

24.4过程470

24.4.1合并产品和过程470

24.4.2过程分解470

24.5项目471

24.6 W5HH原则472

24.7关键实践473

24.8小结474

习题与思考题474

推荐读物与阅读信息474

第25章 过程度量和项目度量477

25.1过程领域和项目领域中的度量478

25.1.1过程度量和软件过程改进478

25.1.2项目度量479

25.2软件测量480

25.2.1面向规模的度量481

25.2.2 面向功能的度量482

25.2.3调和代码行度量和功能点度量482

25.2.4面向对象的度量484

25.2.5面向用例的度量485

25.2.6 Web应用项目度量485

25.3软件质量度量486

25.3.1测量质量487

25.3.2缺陷排除效率488

25.4在软件过程中集成度量489

25.4.1支持软件度量的论点489

25.4.2建立基线490

25.4.3度量收集、计算和评估490

25.5小型组织的度量490

25.6制定软件度量大纲491

25.7小结493

习题与思考题493

推荐读物与阅读信息494

第26章 软件项目估算496

26.1对估算的观察497

26.2项目策划过程498

26.3软件范围和可行性498

26.4资源499

26.4.1人力资源499

26.4.2可复用软件资源500

26.4.3环境资源500

26.5软件项目估算500

26.6分解技术501

26.6.1软件规模估算501

26.6.2基于问题的估算502

26.6.3基于LOC估算的实例503

26.6.4基于FP估算的实例505

26.6.5基于过程的估算505

26.6.6基于过程估算的实例506

26.6.7基于用例的估算507

26.6.8基于用例的估算实例508

26.6.9协调不同的估算方法508

26.7经验估算模型509

26.7.1估算模型的结构509

26.7.2 COCOMOⅡ模型510

26.7.3软件方程511

26.8面向对象项目的估算512

26.9特殊的估算技术512

26.9.1敏捷开发的估算512

26.9.2 Web应用项目的估算513

26.10自行开发或购买的决策514

26.10.1创建决策树514

26.10.2外包515

26.11小结517

习题与思考题517

推荐读物与阅读信息518

第27章 项目进度安排519

27.1基本概念520

27.2项目进度的安排521

27.2.1基本原则522

27.2.2人员与工作量之间的关系522

27.2.3工作量分配524

27.3为软件项目定义任务集524

27.3.1任务集举例525

27.3.2软件工程活动求精525

27.4定义任务网络526

27.5进度安排527

27.5.1时序图528

27.5.2跟踪进度529

27.5.3跟踪OO项目的进展530

27.5.4 WebApp项目进度安排530

27.6挣值分析533

27.7小结534

习题与思考题534

推荐读物与阅读信息535

第28章 风险管理537

28.1被动风险策略和主动风险策略538

28.2软件风险538

28.3风险识别539

28.3.1评估整体项目风险540

28.3.2风险因素和驱动因子540

28.4风险预测541

28.4.1建立风险表542

28.4.2评估风险影响543

28.5风险求精545

28.6风险缓解、监测和管理545

28.7 RMMM计划546

28.8小结548

习题与思考题548

推荐读物与阅读信息549

第29章 维护与再工程550

29.1软件维护551

29.2软件可支持性552

29.3再工程552

29.4业务过程再工程553

29.4.1业务过程553

29.4.2 BPR模型554

29.5软件再工程555

29.5.1软件再工程过程模型555

29.5.2软件再工程活动556

29.6逆向工程557

29.6.1理解数据的逆向工程558

29.6.2理解处理的逆向工程559

29.6.3用户界面的逆向工程559

29.7重构560

29.7.1代码重构560

29.7.2数据重构560

29.8正向工程561

29.8.1客户/服务器体系结构的正向工程562

29.8.2面向对象体系结构的正向工程563

29.9再工程经济学563

29.10小结564

习题与思考题564

推荐读物与阅读信息565

第五部分 软件工程高级课题568

第30章 软件过程改进568

30.1什么是SPI569

30.1.1 SPI的方法569

30.1.2成熟度模型570

30.1.3 SPI适合每个人吗571

30.2 SPI过程571

30.2.1评估和差距分析572

30.2.2教育和培训573

30.2.3选择和合理性判定573

30.2.4设置/迁移574

30.2.5评价574

30.2.6 SPI的风险管理574

30.2.7关键的成功因素575

30.3 CMMI576

30.4人员CMM579

30.5其他SPI框架580

30.6 SPI的投资收益率581

30.7 SPI趋势582

30.8小结582

习题与思考题583

推荐读物与阅读信息583

第31章 软件工程的新趋势584

31.1技术演变585

31.2观察软件工程的发展趋势586

31.3识别“软趋势”587

31.3.1管理复杂性588

31.3.2开放世界的软件589

31.3.3意外需求589

31.3.4人才结构590

31.3.5软件构造块590

31.3.6对“价值”认识的转变591

31.3.7开源591

31.4技术方向592

31.4.1过程趋势592

31.4.2巨大的挑战593

31.4.3协同开发594

31.4.4需求工程595

31.4.5模型驱动的软件开发595

31.4.6后现代设计596

31.4.7测试驱动的开发596

31.5相关工具的趋势597

31.5.1顺应软趋势的工具598

31.5.2涉及技术趋势的工具599

31.6小结599

习题与思考题599

推荐读物与阅读信息600

第32章 结束语601

32.1再论软件的重要性601

32.2人员及其构造系统的方式602

32.3表示信息的新模式602

32.4远景603

32.5软件工程师的责任604

32.6结束语605

附录1UML简介607

附录2面向对象概念620

参考文献625

热门推荐