图书介绍

软件工程 修订版 第4版PDF|Epub|txt|kindle电子书版本网盘下载

软件工程 修订版 第4版
  • (美)莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger),(加)乔安妮·M.阿特利 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115498076
  • 出版时间:2019
  • 标注页数:551页
  • 文件大小:129MB
  • 文件页数:567页
  • 主题词:软件工程-高等学校-教材

PDF下载


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

下载说明

软件工程 修订版 第4版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 软件工程概述1

1.1什么是软件工程1

1.1.1问题求解2

1.1.2软件工程师的角色是什么3

1.2软件工程取得了哪些进展4

1.3什么是好的软件6

1.3.1产品的质量7

1.3.2过程的质量8

1.3.3商业环境背景下的质量8

1.4软件工程涉及的人员10

1.5系统的方法11

1.5.1系统的要素11

1.5.2相互联系的系统13

1.6工程的方法14

1.6.1盖房子15

1.6.2构建系统16

1.7开发团队的成员17

1.8软件工程发生了多大的变化19

1.8.1变化的本质19

1.8.2软件工程的W asserman规范20

1.9信息系统的例子25

1.10实时系统的例子26

1.11本章对单个开发人员的意义27

1.12本章对开发团队的意义28

1.13本章对研究人员的意义28

1.14学期项目28

1.15 主要参考文献29

1.16练习30

第2章 过程和生命周期的建模32

2.1过程的含义32

2.2软件过程模型34

2.2.1瀑布模型34

2.2.2 V模型37

2.2.3原型化模型37

2.2.4可操作规格说明38

2.2.5可转换模型38

2.2.6阶段化开发:增量和迭代39

2.2.7螺旋模型40

2.2.8敏捷方法41

2.3过程建模工具和技术44

2.3.1静态建模:Lai表示法45

2.3.2动态建模:系统动力学47

2.4实际的过程建模49

2.4.1 Marvel的案例研究49

2.4.2过程建模工具和技术应该具有的特性51

2.5信息系统的例子51

2.6实时系统的例子53

2.7本章对单个开发人员的意义54

2.8本章对开发团队的意义54

2.9本章对研究人员的意义54

2.10学期项目54

2.11主要参考文献56

2.12练习57

第3章 计划和管理项目58

3.1跟踪项目进展58

3.1.1工作分解和活动图60

3.1.2估算完成时间61

3.1.3跟踪进展的工具65

3.2项目人员67

3.2.1人员角色和特性67

3.2.2工作风格70

3.2.3项目组织71

3.3工作量估算73

3.3.1专家判断75

3.3.2算法方法77

3.3.3机器学习方法81

3.3.4找出适合具体情形的模型83

3.4风险管理84

3.4.1什么是风险84

3.4.2风险管理活动85

3.5项目计划87

3.6过程模型和项目管理88

3.6.1注册管理88

3.6.2责任建模90

3.6.3紧密结合里程碑92

3.7信息系统的例子94

3.8实时系统的例子95

3.9本章对单个开发人员的意义96

3.10本章对开发团队的意义96

3.11本章对研究人员的意义96

3.12学期项目96

3.13主要参考文献97

3.14练习97

第4章 获取需求100

4.1需求过程101

4.2需求引发102

4.3需求的类型105

4.3.1解决冲突107

4.3.2两种需求文档108

4.4需求的特性109

4.5建模表示法110

4.5.1实体-联系图111

4.5.2例子:UML类图112

4.5.3事件踪迹114

4.5.4例子:消息时序图114

4.5.5状态机115

4.5.6例子:UML状态图116

4.5.7例子:Petri网119

4.5.8 数据流图121

4.5.9例子:用例122

4.5.10函数和关系123

4.5.11例子:判定表124

4.5.12例子:Parnas表124

4.5.13逻辑125

4.5.14例子:对象约束语言(OCL)126

4.5.15例子:Z127

4.5.16代数规格说明129

4.5.17例子:SDL数据130

4.6需求和规格说明语言132

4.6.1统一建模语言(UML)132

4.6.2规格说明和描述语言(SDL)133

4.6.3软件成本降低(SCR)133

4.6.4需求表示法的其他特征134

4.7原型化需求134

4.8需求文档135

4.8.1需求定义136

4.8.2需求规格说明137

4.8.3过程管理和需求的可跟踪性138

4.9确认和验证138

4.9.1需求确认139

4.9.2验证141

4.10测量需求142

4.11选择规格说明技术143

4.12信息系统的例子145

4.13实时系统的例子147

4.14本章对单个开发人员的意义149

4.15本章对开发团队的意义149

4.16本章对研究人员的意义149

4.17学期项目150

4.17.1前提和假设150

4.17.2功能的高层描述150

4.17.3功能需求150

4.17.4数据约束151

4.17.5设计和接口约束152

4.17.6质量需求152

4.18主要参考文献152

4.19练习153

第5章 设计体系结构156

5.1设计过程156

5.1.1设计是一种创造性过程157

5.1.2设计过程模型160

5.2体系结构建模161

5.3分解和视图162

5.4体系结构风格和策略165

5.4.1管道和过滤器165

5.4.2客户-服务器166

5.4.3对等网络167

5.4.4发布-订阅168

5.4.5信息库168

5.4.6分层169

5.4.7组合体系结构风格170

5.5满足质量属性171

5.5.1可修改性171

5.5.2性能173

5.5.3安全性174

5.5.4可靠性175

5.5.5健壮性177

5.5.6易使用性178

5.5.7商业目标178

5.6协作设计179

5.7体系结构的评估和改进180

5.7.1测量设计质量181

5.7.2故障树分析181

5.7.3安全性分析183

5.7.4权衡分析184

5.7.5成本效益分析188

5.7.6原型化190

5.8文档化软件体系结构191

5.8.1视图间的映射193

5.8.2文档化设计合理性193

5.9体系结构设计评审193

5.9.1确认194

5.9.2验证194

5.10软件产品线195

5.10.1战略范围197

5.10.2产品线体系结构的优势197

5.10.3产品线的演化198

5.11信息系统的例子198

5.12实时系统的例子200

5.13本章对单个开发人员的意义201

5.14本章对开发团队的意义201

5.15本章对研究人员的意义202

5.16学期项目202

5.17主要参考文献203

5.18练习203

第6章 设计模块205

6.1设计方法205

6.2设计原则207

6.2.1模块化207

6.2.2接口212

6.2.3信息隐藏213

6.2.4增量式开发214

6.2.5抽象215

6.2.6通用性216

6.3面向对象的设计218

6.3.1术语218

6.3.2继承与对象组合221

6.3.3可替换性222

6.3.4德米特法则223

6.3.5依赖倒置224

6.4在UML中体现面向对象设计225

6.4.1过程中的UML225

6.4.2 UML类图227

6.4.3其他UML图232

6.5面向对象设计模式240

6.5.1模板方法模式241

6.5.2工厂方法模式241

6.5.3策略模式242

6.5.4装饰者模式242

6.5.5观察者模式244

6.5.6组合模式244

6.5.7访问者模式245

6.6设计中其他方面的考虑247

6.6.1数据管理247

6.6.2异常处理247

6.6.3用户界面设计249

6.6.4框架250

6.7面向对象度量250

6.7.1面向对象系统规模的度量251

6.7.2面向对象系统设计质量的度量252

6.7.3在何处进行面向对象测量258

6.8设计文档259

6.9信息系统的例子261

6.10实时系统的例子262

6.11本章对单个开发人员的意义263

6.12本章对开发团队的意义263

6.13本章对研究人员的意义263

6.14学期项目263

6.15 主要参考文献264

6.16练习264

第7章 编写程序267

7.1编程标准和过程267

7.1.1对单个开发人员的标准268

7.1.2对其他开发人员的标准268

7.1.3设计和实现的匹配269

7.2编程的指导原则269

7.2.1控制结构269

7.2.2算法270

7.2.3数据结构271

7.2.4通用性指导原则273

7.3文档276

7.3.1内部文档276

7.3.2外部文档279

7.4编程过程280

7.4.1将编程作为问题求解280

7.4.2极限编程281

7.4.3结对编程281

7.4.4编程向何处去282

7.5信息系统的例子282

7.6实时系统的例子283

7.7本章对单个开发人员的意义284

7.8本章对开发团队的意义284

7.9本章对研究人员的意义284

7.10学期项目285

7.11主要参考文献285

7.12练习285

第8章 测试程序287

8.1软件故障和失效287

8.1.1故障的类型288

8.1.2正交缺陷分类289

8.2测试的相关问题291

8.2.1测试的组织291

8.2.2对测试的态度292

8.2.3谁执行测试293

8.2.4测试对象的视图293

8.3单元测试295

8.3.1检查代码295

8.3.2证明代码正确性297

8.3.3测试程序构件301

8.3.4技术比较304

8.4集成测试305

8.4.1自底向上集成305

8.4.2自顶向下集成306

8.4.3一次性集成308

8.4.4三明治集成308

8.4.5集成策略的比较309

8.5测试面向对象系统311

8.5.1代码测试311

8.5.2面向对象测试和传统测试之间的区别311

8.6测试计划313

8.6.1计划的目的313

8.6.2计划的内容313

8.7自动测试工具314

8.7.1代码分析工具314

8.7.2测试执行工具315

8.7.3测试用例生成器316

8.8什么时候停止测试316

8.8.1故障播种317

8.8.2软件中的可信度318

8.8.3其他的停止测试的标准319

8.8.4识别易出故障的代码319

8.9信息系统的例子320

8.10实时系统的例子321

8.11本章对单个开发人员的意义321

8.12本章对开发团队的意义322

8.13本章对研究人员的意义322

8.14学期项目322

8.15 主要参考文献322

8.16练习323

第9章 测试系统325

9.1系统测试的原则325

9.1.1软件故障根源325

9.1.2系统测试过程327

9.1.3配置管理329

9.1.4 测试小组333

9.2功能测试334

9.2.1目的与职责334

9.2.2因果图335

9.3性能测试338

9.3.1目的和职责338

9.3.2性能测试的类型338

9.4可靠性、可用性以及可维护性339

9.4.1定义339

9.4.2失效数据340

9.4.3测量可靠性、可用性和可维护性341

9.4.4可靠性稳定性和可靠性增长342

9.4.5可靠性预测343

9.4.6操作环境的重要性345

9.5验收测试346

9.5.1目的和职责346

9.5.2验收测试的种类346

9.5.3验收测试的结果347

9.6安装测试348

9.7自动化系统测试348

9.8测试文档349

9.8.1测试计划349

9.8.2测试规格说明和评估351

9.8.3测试描述353

9.8.4测试分析报告355

9.8.5问题报告表355

9.9测试安全攸关的系统357

9.9.1设计多样性358

9.9.2软件安全性案例359

9.9.3净室方法361

9.10信息系统的例子364

9.11实时系统的例子366

9.12本章对单个开发人员的意义367

9.13本章对开发团队的意义367

9.14本章对研究人员的意义367

9.15 学期项目367

9.16主要参考文献368

9.17练习368

第10章 交付系统372

10.1培训372

10.1.1培训的种类373

10.1.2培训助手374

10.1.3培训的指导原则375

10.2文档375

10.2.1文档的种类375

10.2.2用户帮助和疑难解答379

10.3信息系统的例子380

10.4实时系统的例子381

10.5本章对单个开发人员的意义381

10.6本章对开发团队的意义381

10.7本章对研究人员的意义382

10.8学期项目382

10.9主要参考文献382

10.10练习382

第11章 维护系统384

11.1变化的系统384

11.1.1系统的类型384

11.1.2在系统生命周期过程中发生的变化387

11.1.3系统生命周期跨度388

11.2维护的本质389

11.3维护问题392

11.3.1人员问题392

11.3.2技术问题393

11.3.3必要的妥协394

11.3.4维护成本395

11.4测量维护特性397

11.4.1可维护性的外部视图398

11.4.2影响可维护性的内部属性398

11.4.3其他的产品测量400

11.5维护技术和工具401

11.5.1配置管理401

11.5.2影响分析403

11.5.3自动化维护工具406

11.6软件再生407

11.6.1文档重构408

11.6.2重组409

11.6.3逆向工程410

11.6.4再工程410

11.6.5软件再生的前景411

11.7信息系统的例子412

11.8实时系统的例子412

11.9本章对单个开发人员的意义413

11.10本章对开发团队的意义413

11.11本章对研究人员的意义414

11.12学期项目414

11.13主要参考文献414

11.14练习414

第12章 评估产品、过程和资源416

12.1评估的方法416

12.1.1特征分析416

12.1.2调查417

12.1.3案例研究417

12.1.4正式试验418

12.1.5准备评估418

12.2选择评估技术419

12.2.1关键选择因素420

12.2.2相信什么420

12.3评价与预测423

12.3.1确认预测系统423

12.3.2确认测量425

12.3.3对确认的紧迫需求425

12.4评估产品426

12.4.1产品质量模型426

12.4.2建立基线和设定目标430

12.4.3软件可复用性431

12.5评估过程437

12.5.1事后分析437

12.5.2过程成熟度模型441

12.6评估资源448

12.6.1人员成熟度模型448

12.6.2投资回报450

12.7信息系统的例子451

12.8实时系统的例子452

12.9本章对单个开发人员的意义452

12.10本章对开发团队的意义452

12.11本章对研究人员的意义453

12.12学期项目453

12.13主要参考文献453

12.14练习454

第13章 改进预测、产品、过程和资源455

13.1改进预测455

13.1.1预测的精确性455

13.1.2处理偏误:u曲线456

13.1.3处理噪声:prequential似然度458

13.1.4重新校准预测459

13.2改进产品462

13.2.1审查462

13.2.2复用464

13.3改进过程465

13.3.1过程和能力成熟度465

13.3.2维护467

13.3.3净室方法468

13.4改进资源470

13.4.1工作环境470

13.4.2成本和进度的权衡471

13.5总体改进指导原则472

13.6 信息系统的例子473

13.7实时系统的例子473

13.8本章对单个开发人员的意义473

13.9本章对开发团队的意义474

13.10本章对研究人员的意义474

13.11学期项目474

13.12主要参考文献475

13.13练习475

第14章 软件工程的未来476

14.1已经取得的进展476

14.1.1 Wasserman的获得成熟度的措施476

14.1.2当前要做的工作478

14.2技术转移478

14.2.1现在我们怎样做出技术转移的决策479

14.2.2在技术决策中使用证据479

14.2.3支持技术决策的证据480

14.2.4对证据的进一步讨论481

14.2.5技术转移的新模型483

14.2.6改进技术转移的下一步483

14.3软件工程中的决策484

14.3.1大量的决策484

14.3.2群体决策486

14.3.3我们实际上如何决策486

14.3.4群体实际上如何决策488

14.3.5一个适度的观察研究489

14.3.6获得的经验教训492

14.4软件工程的职业化:执照发放、认证和伦理492

14.4.1将重点放在人员上493

14.4.2软件工程教育493

14.4.3软件工程知识体系495

14.4.4给软件工程师颁发执照496

14.4.5认证500

14.4.6伦理守则502

14.4.7职业发展503

14.4.8研究和实践的进一步发展504

14.5学期项目505

14.6主要参考文献505

14.7练习505

参考文献注解507

索引536

热门推荐