图书介绍

软件工程原理PDF|Epub|txt|kindle电子书版本网盘下载

软件工程原理
  • 沈备军,陈昊鹏,陈雨亭编著;傅育熙主审 著
  • 出版社: 北京:高等教育出版社
  • ISBN:9787040369069
  • 出版时间:2013
  • 标注页数:540页
  • 文件大小:190MB
  • 文件页数:555页
  • 主题词:软件工程-高等学校-教材

PDF下载


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

下载说明

软件工程原理PDF格式电子书版下载

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

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

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

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

图书目录

第一部分 软件式工程基础3

第1章 绪论3

1.1软件3

1.1.1软件的作用和特性3

1.1.2软件的发展和面临的新挑战4

1.1.3软件危机6

1.2工程8

1.2.1软件开发与艺术、科学和工程的关系8

1.2.2工程的定义和特性8

1.2.3工程的准则9

1.3软件工程9

1.3.1软件工程的概念和知识域9

1.3.2软件工程的金三角10

1.3.3控制软件开发的复杂性13

1.3.4软件工程经济学15

1.4案例概述15

本章小结16

参考文献16

习题116

第2章 软件过程17

2.1软件过程的概念17

2.1.1软件过程的定义和作用17

2.1.2软件过程的分类17

2.1.3软件过程的核心元素19

2.2软件生命周期模型20

2.2.1瀑布模型20

2.2.2增量模型22

2.2.3演化模型23

2.3统一软件过程27

2.3.1阶段27

2.3.2迭代29

2.3.3过程规范29

2.4敏捷过程30

2.4.1敏捷过程的价值观和原则31

2.4.2 XP32

2.4.3 Scrum35

2.4.4 MSF37

2.5软件过程的选择、裁剪、评估和改进37

2.5.1软件过程的选择和裁剪37

2.5.2软件过程的评估39

2.5.3软件过程的改进43

本章小结45

参考文献45

习题245

第3章 软件建模47

3.1模型和建模47

3.1.1模型47

3.1.2软件模型的3个层次:CIM、PIM和PSM48

3.1.3软件建模方法48

3.2结构化方法49

3.2.1结构化分析49

3.2.2结构化设计55

3.3面向对象方法62

3.3.1面向对象的基本概念62

3.3.2面向对象的基本原则63

3.3.3面向对象的分析和设计65

3.3.4结构化方法和面向对象方法的比较66

3.4基于构件的开发方法67

3.4.1构件68

3.4.2基于构件的软件开发71

3.4.3构件开发72

3.4.4构件管理73

3.4.5应用开发和构件组装74

3.4.6与面向对象方法的关系75

3.5面向服务方法76

3.5.1面向服务架构的基本概念76

3.5.2面向服务建模的内涵78

3.5.3面向服务建模的方法80

3.6模型驱动开发方法81

3.6.1从代码驱动到模型驱动82

3.6.2元模型和MOF83

3.6.3基于MDA的软件开发方法85

3.7形式化方法88

3.7.1形式化方法的概念88

3.7.2形式化规约88

3.7.3形式化开发89

3.7.4形式化验证89

3.8敏捷建模方法90

3.8.1敏捷建模的原则90

3.8.2敏捷建模的实践92

本章小结93

参考文献93

习题394

第4章 需求工程95

4.1软件需求面临的挑战95

4.2需求工程的概念97

4.2.1软件需求97

4.2.2需求的层次98

4.2.3优秀需求应具有的特性99

4.2.4软件需求工程100

4.3需求获取101

4.3.1需求来源101

4.3.2需求获取技术102

4.4需求分析建模103

4.4.1分析模型103

4.4.2分析建模的准则104

4.5需求定义和验证104

4.5.1软件前景文档104

4.5.2软件需求规约108

4.5.3用户界面原型110

4.5.4软件需求验证110

4.6需求管理112

4.6.1定义需求基线112

4.6.2需求变更控制和版本控制113

4.6.3需求跟踪114

本章小结115

参考文献116

习题4116

第5章 面向对象的分析建模117

5.1面向对象的分析模型117

5.1.1用例图117

5.1.2活动图118

5.1.3类图120

5.1.4时序图124

5.1.5通信图126

5.1.6包图126

5.2分析建模的步骤127

5.3用例建模128

5.3.1执行者的识别128

5.3.2用例的识别129

5.3.3用例图的构建130

5.3.4用例规约的撰写131

5.3.5用例模型的优化135

5.4建立概念模型140

5.5用例实现的识别142

5.6分析类的识别142

5.6.1 3种分析类143

5.6.2识别边界类143

5.6.3识别控制类144

5.6.4识别实体类145

5.7用例分析146

5.7.1职责分配的通用原则146

5.7.2时序图和通信图的构建146

5.7.3类图的构建147

本章小结150

参考文献150

习题5150

第6章 设计工程151

6.1设计工程概述151

6.1.1软件设计过程151

6.1.2软件设计模型152

6.2软件设计原则152

6.2.1抽象153

6.2.2分解和模块化153

6.2.3封装和信息隐藏154

6.2.4高内聚和低耦合154

6.3软件质量属性的设计策略157

6.3.1可用性设计策略157

6.3.2可修改性设计策略159

6.3.3性能设计策略161

6.3.4安全性设计策略163

6.3.5可测试性设计策略164

6.3.6易用性设计策略165

6.4架构风格166

6.4.1通用结构的架构风格166

6.4.2分布式系统的架构风格170

6.4.3交互式系统的架构风格172

6.4.4自适应系统的架构风格174

6.4.5其他架构风格177

6.5设计模式179

6.5.1创建型设计模式180

6.5.2结构型设计模式185

6.5.3行为型设计模式191

6.6人机界面设计200

6.6.1界面设计原则200

6.6.2人机交互方式201

6.6.3界面设计过程202

6.6.4界面设计问题203

本章小结205

参考文献205

习题6206

第7章 面向对象的设计建模207

7.1面向对象的设计模型207

7.1.1设计建模过程207

7.1.2构件图208

7.1.3部署图210

7.1.4状态机图212

7.2架构设计213

7.2.1 4+1架构视图213

7.2.2逻辑视图设计213

7.2.3进程视图设计215

7.2.4开发视图设计216

7.2.5物理视图设计217

7.2.6场景视图设计218

7.2.7视图选择218

7.3包和子系统设计220

7.3.1包设计原则220

7.3.2子系统设计223

7.4类设计224

7.4.1类设计原则224

7.4.2类设计过程229

7.5持久化设计232

7.5.1实体对象模型与数据库设计232

7.5.2数据库设计236

7.5.3持久化框架240

本章小结241

参考文献241

习题7241

第8章 软件测试243

8.1软件测试概念243

8.1.1软件测试定义243

8.1.2软件测试原则244

8.1.3软件可测试性246

8.2软件测试策略247

8.2.1软件测试层次247

8.2.2软件质量属性测试250

8.2.3其他软件测试策略252

8.3软件测试技术254

8.3.1测试技术分类254

8.3.2基于直觉和经验的测试256

8.3.3基于代码的测试257

8.3.4基于规约的测试261

8.3.5基于错误的测试265

8.3.6基于模型的测试267

8.3.7基于应用类型的测试271

8.4软件测试过程274

8.4.1测试计划275

8.4.2测试设计275

8.4.3测试开发276

8.4.4测试执行276

8.4.5测试评估277

8.5自动化测试277

8.5.1自动化测试的定义和优势277

8.5.2自动化测试适用的场合279

8.5.3自动化测试的误区279

8.5.4测试工具280

本章小结281

参考文献281

习题8282

第9章 软件演化和软件维护283

9.1软件演化283

9.1.1软件演化的定义283

9.1.2软件演化法则284

9.2软件维护基础284

9.2.1软件维护的重要性284

9.2.2软件维护的概念和分类285

9.3软件维护的关键问题286

9.3.1技术问题286

9.3.2管理问题287

9.3.3维护成本估算288

9.4软件维护过程与维护活动289

9.4.1维护过程289

9.4.2维护活动290

9.5软件维护技术291

9.5.1程序理解291

9.5.2逆向工程292

9.5.3再工程293

本章小结293

参考文献293

习题9294

第二部分 软件工程管理297

第10章 软件项目管理297

10.1项目和项目管理297

10.1.1项目管理的基本概念297

10.1.2项目管理的相关标准298

10.1.3软件项目管理的特点299

10.2项目管理的知识域和过程299

10.2.1项目管理知识域299

10.2.2项目管理过程301

10.3软件项目从立项到收尾304

10.3.1软件项目立项304

10.3.2软件项目启动308

10.3.3软件项目规划309

10.3.4软件项目执行310

10.3.5软件项目监控311

10.3.6软件项目收尾312

10.4软件项目经理的职责312

本章小结314

参考文献314

习题10314

第11章 软件项目估算和计划315

11.1软件项目计划315

11.1.1软件项目计划的内容315

11.1.2软件项目规划的关键活动317

11.2软件估算318

11.2.1估算对项目的影响318

11.2.2估算原则319

11.2.3估算方法320

11.2.4软件规模估算323

11.2.5大致估算328

11.3进度安排332

11.3.1关键路径法333

11.3.2进度计划334

11.3.3战胜进度压力335

11.4挣值管理337

11.4.1 3个基本参数337

11.4.2 4个评价指标338

11.4.3两个预测变量339

本章小结340

参考文献340

习题11340

第12章 软件质量管理342

12.1软件质量概念342

12.1.1软件质量定义342

12.1.2软件质量模型342

12.1.3软件质量的价值和成本344

12.2软件质量管理345

12.2.1质量管理的发展345

12.2.2软件质量管理的内容346

12.3项目级软件质量管理347

12.3.1软件质量计划347

12.3.2验证和确认348

12.3.3质量分析与评价351

12.3.4软件配置管理353

12.4组织级软件质量管理359

12.4.1质量管理体系标准ISO 9000360

12.4.2质量管理体系的建立362

12.4.3质量管理体系的持续改进363

12.5软件质量管理技术363

12.5.1静态技术364

12.5.2动态技术364

12.6软件评审365

12.6.1评审方法分类366

12.6.2审查370

12.6.3评审的陷阱372

12.7软件审核374

12.7.1审核分类374

12.7.2审核过程374

本章小结375

参考文献375

习题12376

第13章 软件风险管理377

13.1风险管理概念377

13.1.1风险的定义和分类377

13.1.2风险管理的成本和收益378

13.1.3被动和主动的风险策略378

13.2风险管理的成熟度模型379

13.3风险管理过程380

13.3.1风险识别381

13.3.2风险分析与排序382

13.3.3风险管理计划制定384

13.3.4风险跟踪和报告385

13.3.5风险控制386

13.3.6从风险中学习386

13.4十大软件风险386

13.4.1需求误解387

13.4.2缺少上层的支持387

13.4.3需求变更失控387

13.4.4未能合理管理客户期望值388

13.4.5不现实的进度计划和成本预算388

13.4.6质量低劣390

13.4.7人员薄弱391

13.4.8技术和架构风险391

13.4.9软件外包失败391

13.4.10缺乏足够的用户参与392

本章小结392

参考文献392

习题13393

第14章 软件度量394

14.1软件度量的概念394

14.1.1度量目的394

14.1.2度量定义和分类394

14.1.3度量原则395

14.2软件产品度量396

14.2.1产品结构度量396

14.2.2产品质量度量398

14.3软件过程度量399

14.3.1过程度量的特性399

14.3.2常用过程度量方法400

14.3.3过程稳定性401

14.3.4过程能力402

14.3.5过程基准比对404

14.4软件度量过程404

14.4.1建立度量目标和选择度量405

14.4.2定义度量规程407

14.4.3获取度量数据407

14.4.4分析度量数据408

14.4.5存储和交流度量结果411

本章小结411

参考文献411

习题14412

第15章 软件人员管理413

15.1软件人员管理模型413

15.1.1软件人员的特点413

15.1.2 PCMM414

15.2激励416

15.2.1激励理论416

15.2.2开发人员的激励因素420

15.2.3最重要的激励因素421

15.3团队建设425

15.3.1高业绩团队425

15.3.2团队建设方法427

15.3.3团队建设的5个阶段428

15.4团队模式428

15.5沟通432

15.5.1有效的沟通方法432

15.5.2冲突管理432

本章小结433

参考文献433

习题15433

第三部分 高级主题437

第16章 软件产品线工程437

16.1软件产品线工程的提出437

16.2软件产品线工程的3个基本活动439

16.2.1软件产品线工程的组成439

16.2.2领域工程和应用工程的关系440

16.3产品线的可变性441

16.4领域工程444

16.4.1领域444

16.4.2领域分析446

16.4.3领域设计451

16.4.4领域实现454

16.5领域工程的代表性方法455

16.5.1 FODA455

16.5.2 FORM457

16.5.3 Software Product Lines457

16.5.4 FAST457

16.5.5 PuLSE458

16.5.6 FeatuRSEB458

16.5.7青鸟领域工程方法和FODM459

本章小结459

参考文献459

习题16460

第17章 面向服务的软件开发461

17.1面向服务架构概述461

17.1.1 SOA产生的动因461

17.1.2 SOA与Web Services462

17.1.3 SOA对应用系统的分析与设计的影响463

17.1.4 SOA对应用系统的开发与部署的影响464

17.2面向服务的分析与设计465

17.2.1业务建模的方法465

17.2.2企业服务总线466

17.2.3服务组织方式468

17.2.4业务服务到软件服务的映射469

17.2.5服务粒度的确定470

17.3面向服务的系统实现471

17.3.1服务的实现471

17.3.2 Web 2.0客户端472

17.3.3服务的调试与测试472

本章小结473

参考文献473

习题17474

第18章 形式化软件开发475

18.1形式化方法的概念475

18.2形式化规约476

18.2.1数学基础476

18.2.2形式化规约语言480

18.2.3 Z语言480

18.3形式化验证484

18.3.1定理证明485

18.3.2模型检验486

18.4软件开发过程中的形式化方法486

18.4.1考虑因素486

18.4.2在软件过程中引入形式化方法的策略490

18.4.3形式化方法的10条戒律492

18.5形式化方法的应用案例493

18.5.1案例介绍493

18.5.2具体案例:卡西尼号探测器故障保护软件495

18.6形式化方法的争议及未来497

本章小结498

参考文献498

习题18499

第19章 软件安全工程500

19.1软件安全基本概念500

19.1.1信息安全基本概念500

19.1.2软件确保与软件安全工程501

19.2安全软件开发过程503

19.3软件安全需求505

19.3.1软件安全需求工程SQUARE505

19.3.2合规性需求506

19.4安全的软件架构与设计507

19.4.1安全原则与目标507

19.4.2安全模式与安全设计模式509

19.4.3架构风险分析513

19.5安全编码517

19.5.1安全编码原则517

19.5.2安全编码规范519

19.5.3代码的静态分析520

19.6安全测试与应急响应520

19.7安全的项目管理521

本章小结522

参考文献522

习题19524

第20章 软件工程职业化建设和职业道德规范526

20.1软件工程的职业化建设526

20.1.1走向一个成熟的软件工程职业526

20.1.2职业化建设的框架527

20.1.3软件工程职业化建设的进展528

20.1.4职业化建设的3个层次531

20.2软件工程职业道德规范532

20.2.1软件工程职业道德规范和职业实践标准532

20.2.2职业道德规范的履行534

20.2.3软件工程师的职业责任535

本章小结536

参考文献536

习题20537

附录IEEE软件工程知识体系(SWEBOK)538

热门推荐