图书介绍

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

软件工程
  • 齐治昌等编著 著
  • 出版社: 北京:高等教育出版社
  • ISBN:7040146282
  • 出版时间:2004
  • 标注页数:458页
  • 文件大小:22MB
  • 文件页数:471页
  • 主题词:软件工程-高等学校-教材

PDF下载


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

下载说明

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

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

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

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

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

图书目录

第一章 软件与软件工程1

1.1 软件1

1.1.1 软件与软件的组成1

目录1

1.1.2 软件的特点2

1.1.3 软件的分类3

1.1.4 软件的发展5

1.1.5 软件危机6

1.2 软件工程的概念8

1.2.1 软件工程的定义9

1.2.2 软件工程的目标9

1.2.3 软件工程的原则11

1.3.1 软件定义12

1.3 软件生存周期12

1.3.2 软件开发14

1.3.3 软件使用、维护和退役15

1.4 软件开发模型16

1.4.1 瀑布模型17

1.4.2 原型模型18

1.4.3 螺旋模型19

1.4.4 基于四代技术的模型21

1.4.5 变换模型21

1.4.6 组合模型22

1.5 CASE工具及环境23

1.5.1 计算机辅助软件工程24

1.5.2 CASE工具24

1.5.3 集成化的CASE环境25

习题27

小结27

第二章 软件项目管理28

2.1 软件度量28

2.1.1 度量、测量和估算29

2.1.2 面向规模的度量30

2.1.3 面向功能的度量31

2.1.4 代码行度量与功能点度量34

的比较34

2.2 软件项目估算34

2.2.1 代码行、功能点和工作35

量估算35

CoCoMo模型37

2.2.2 经验估算模型之一:37

2.2.3 经验估算模型之二:39

Putnam模型39

2.3 软件质量度量41

2.3.1 软件质量定义及三层次度量41

模型41

2.3.2 软件质量要素43

2.3.3 软件质量要素评价准则44

2.4 软件复杂性度量48

2.4.1 软件复杂性及度量原则48

2.4.2 控制结构的复杂性度量49

2.4.3 文本复杂性度量50

2.5.1 软件可靠性的概念51

2.5 软件可靠性度量51

2.5.2 软件修复和软件有效性53

2.5.3 软件可靠性估算54

2.6 软件开发过程的管理57

2.6.1 风险分析57

2.6.2 进度安排60

2.6.3 软件开发标准63

2.6.4 软件质量保证65

2.6.5 软件开发人员的组织与分工67

2.6.6 软件项目的开发过程管理68

2.7 软件过程及软件成熟度69

模型CMM69

2.7.1 引言69

2.7.2 CMM的基本概念70

2.7.3 能力成熟度模型CMM71

2.7.4 能力成熟度模型集成CMMI77

2.7.5 CMM和CMMI的选择和82

应用82

2.8 软件项目管理中的83

CASE工具83

小结84

习题84

第三章 计算机系统工程86

3.1 计算机系统工程87

3.1.1 硬件和硬件工程87

3.1.2 软件和软件工程88

3.1.3 人机工程91

3.1.4 数据库工程92

3.2 可行性研究93

3.2.1 引言93

3.2.2 经济可行性94

3.2.3 技术可行性96

3.2.4 方案选择97

3.3 系统模型与模拟99

3.3.1 系统模型99

3.3.2 系统建模和模拟101

3.4 系统规格说明及评审103

3.4.1 系统规格说明103

小结104

3.4.2 系统规格说明评审104

习题105

第四章 需求分析基础106

4.1 分析的任务与原则106

4.2 初步需求获取技术107

4.2.1 访谈与会议108

4.2.2 观察用户工作流程108

4.2.3 用户和开发人员共同组成108

联合小组108

4.2.4 实例分析109

4.3 需求建模110

4.4 问题抽象、问题分解与多视点110

分析110

4.5 支持需求分析的快速原型技术111

4.6 需求规格说明与评审112

4.6.1 需求规格说明书的目标112

与内容112

4.6.2 需求评审114

小结116

习题116

第五章 面向数据流的分析方法119

5.1 数据流图与数据字典119

5.2 实体-关系图122

5.2.1 数据对象、属性与关系122

5.2.2 实体-关系图123

*5.3 数据流图的实时系统扩充124

5.3.1 Ward Mellor扩充125

5.3.2 Hatley Pirbhai扩充126

5.4 基于数据流的分析方法129

5.4.1 创建数据流模型130

*5.4.2 创建控制流模型132

5.4.3 过程规格说明132

5.5 基于数据流图的需求分析CASE134

工具134

5.5.1 核心思想134

5.5.2 语言机制136

5.5.3 动态分析142

5.5.4 基于CASE工具的需求分析143

小结143

习题144

6.1 面向对象的概念与思想145

第六章 面向对象的需求分析145

6.2 UML概述146

6.2.1 UML的语言机制146

6.2.2 基于UML的软件开发过程150

6.3 基于UML的需求分析152

6.3.1 开发场景153

6.3.2 生成用例154

6.3.3 用活动图表示用例155

6.3.4 生成用例图158

6.3.5 建立顶层架构159

6.3.6 建立领域概念模型162

习题165

小结165

第七章 面向数据的分析方法与形式167

化方法167

7.1 面向数据结构的系统开发方法167

7.1.1 Warnier图167

7.1.2 DSSD方法168

7.2 Jackson系统开发方法171

7.2.1 标识实体与行为171

7.2.2 生成实体结构图171

7.2.3 创建软件系统模型172

*7.3 形式化方法175

7.3.1 主要思想175

7.3.2 形式化规格说明语言简介176

7.3.3 形式化需求描述178

趋势183

7.3.4 形式化方法的现状与发展183

小结184

习题184

第八章 软件设计基础185

8.1 软件设计过程185

8.2 软件设计基本概念186

8.2.1 抽象与逐步求精186

8.2.2 模块化与信息隐藏189

8.2.3 软件总体结构设计192

8.2.4 数据结构设计193

8.2.5 软件过程设计194

8.3.1 结构化程序设计195

8.3 过程设计技术和工具195

8.3.2 图形表示法196

8.3.3 判定表198

8.3.4 过程设计语言(PDL)199

8.3.5 过程设计工具之比较202

8.4 设计规格说明与评审203

小结205

习题205

第九章 面向数据流的设计方法207

9.1 基本概念和设计过程207

9.2 变换分析209

9.3 事务分析216

9.4 启发式设计策略219

9.5 设计优化原则221

9 6 实时系统设计222

9.6.1 实时系统性能要求222

9.6.2 实时系统设计要素222

9.6.3 实时系统设计方法223

9.6.4 设计实例225

小结228

习题229

第十章 面向对象的设计方法231

10.1 设计用例实现方案232

10.1.1 顺序图232

10.1.2 协作图233

控制类234

10.1.3 提取边界类、实体类和234

10.1.4 构造交互图235

10.1.5 精化类图237

10.2 设计技术支撑方案241

10.2.1 数据持久存储服务241

10.2.2 并发与同步控制服务242

10.2.3 技术支撑方案与用例实现242

方案的融合242

10.3 设计用户界面243

10.4 精化设计模型244

10.4.1 状态图244

10.4.2 精化体系结构246

10.4.3 精化类之间的关系247

10.4.4 精化类的属性和操作250

10.4.5 设计状态图251

10.4.6 设计活动图252

小结253

习题254

第十一章 面向数据的设计方法255

11.1 面向数据设计255

11.2 Jackson系统开发方法256

11.2.1 JSD分析技术回顾256

11.2.2 扩充功能性过程257

11.2.3 施加时间约束262

11.2.4 实现与JSP技术262

11.2.5 产生过程表示264

(DSSD)方法265

11.3 基于结构化数据的系统开发265

11.3.1 DSSD设计步骤266

11.3.2 推导输出数据的逻辑结构266

11.3.3 推导处理过程的逻辑结构267

11.3.4 复杂过程逻辑的描述269

小结270

习题270

第十二章 人机界面设计272

12.1 人的因素272

12.1.1 人类感知基础272

12.1.2 用户的技能273

12.1.3 任务与用户的特殊要求273

12.2 人机界面风格274

12.3 人机界面设计过程275

12.3.1 界面设计的有关模型275

12.3.2 任务分析与建模276

12.3.3 界面设计的一般问题276

12.3.4 实现工具277

12.4 人机界面实现的原则278

12.4.1 一般可交互性278

12.4.2 信息显示278

12.4.3 数据输入279

12.5 人机界面标准279

12.6 支持界面设计的CASE工具280

习题283

小结283

第十三章 程序设计语言和编码285

13.1 程序设计语言285

13.1.1 程序设计语言的特性285

13.1.2 程序设计语言的基本机制286

13.1.3 程序设计语言的演变288

和分类288

13.1.4 程序设计语言的选择289

13.2 程序设计过程290

13.2.1 面向对象语言对OOD的290

支持290

13.2.2 基于对象语言对OOD的293

支持293

的支持296

13.2.3 过程式语言对OOD296

13.3 编程标准297

13.4 编程风格299

13.5 程序设计支持环境(PSE)300

小结302

习题302

第十四章 软件测试304

14.1 基本概念304

14.1.1 软件测试的目标304

14.1.2 测试阶段的信息流程304

14.1.3 测试用例和场景的设计305

14.1.4 软件测试的步骤307

14.2.1 白盒测试308

14.2 软件测试技术308

14.2.2 黑盒测试316

14.3 软件测试策略318

14.3.1 单元测试318

14.3.2 综合测试321

14.3.3 确认测试325

14.3.4 系统测试326

14.3.5 排错327

14.4 基于CASE工具的软件测试329

和排错329

14.4.1 自动测试工具329

14.4.2 调试器330

习题331

小结331

第十五章 软件维护335

15.1 软件维护的分类335

15.2 维护过程336

15.2.1 结构化与非结构化的维护336

15.2.2 维护的成本337

15.2.3 可能存在的问题338

15.3 可维护性338

15.3.1 影响可维护性的因素338

15.3.2 若干量化的测度339

15.3.3 保证可维护性的复审339

15.4 维护活动340

15.4.1 维护组织340

15.4.3 维护活动的事件流341

15.4.2 维护的报告与评估341

15.4.4 保存维护记录343

15.4.5 评价维护活动344

15.5 维护的副作用344

15.6 逆向工程与重构工程345

15.6.1 恢复信息的级别346

15.6.2 恢复信息的方法346

小结347

习题347

第十六章 软件配置管理348

16.1 软件配置管理348

16.1.1 基线技术348

16.1.2 软件配置项349

16.2.1 标识配置对象351

16.2 软件配置管理任务351

16.2.2 版本控制352

16.2.3 系统建立353

16.2.4 修改控制353

16.2.5 配置审计355

16.2.6 配置状况报告356

16.3 软件配置管理标准356

16.4 配置管理的CASE工具356

小结358

习题358

第十七章 软件重用技术360

17.1 软件重用360

17.1.1 软件重用的概念360

17.1.2 软件重用的过程与意义361

17.1.3 重用项目的管理362

17.2 软部件库的构造362

17.2.1 域分析363

17.2.2 软部件的开发365

17.2.3 软部件库的组织367

17.3 软部件的重用370

17.3.1 检索与提取软部件371

17.3.2 理解与评价软部件372

17.3.3 修改软部件372

17.3.4 软部件的合成373

17.4 面向对象的软件重用技术373

17.4.1 类库的构造374

17.4.3 面向对象的合成375

17.4.2 类库的检索375

17.5 软件重用项目的管理378

17.5.1 组织机构379

17.5.2 软件重用的考核指标380

17.5.3 创造重用氛围380

17.6 支持软件重用的CASE工具381

17.6.1 软件重用对CASE工具381

的需求381

17.6.2 类库的组织与检索工具382

小结384

习题384

第十八章 快速原型技术386

18.1 瀑布模型的缺陷386

18.2 快速原型方法388

18.2.1 原型及其作用389

18.2.2 快速原型的构造过程390

18.3 基于快速原型的进化式软件391

开发391

18.3.1 螺旋模型391

18.3.2 螺旋模型的评价393

18.4 快速原型的技术支持394

18.4.1 用户界面自动生成工具395

18.4.2 面向数据库应用的开发398

工具398

18.4.3 四代语言402

18.4.5 程序设计环境403

18.4.4 可重用工具403

小结405

习题405

第十九章 集成化CASE环境407

19.1 概述407

19.2 CASE工具的集成形式408

19.2.1 信息交换408

19.2.2 公共界面409

19.2.3 公共信息管理与信息共享409

19.2.4 高度集成409

19.3 集成化CASE环境的总体结构411

19.3.1 界面集成411

19.3.2 工具集成411

19.3.3 信息集成412

19.3.4 软件工程信息库413

19.4 可移植的通用工具环境PCTE416

19.4.1 基本机制416

19.4.2 用户接口417

19.4.3 分布式机制418

小结418

习题419

第二十章 新型软件开发技术420

20.1 Internet与Java简介420

20.1.1 Internet简介420

20.1.2 Java的发展历史422

20.1.3 Java的特征422

20.1.4 Java的语法机制424

20.1.5 Java的意义430

20.2 Java与Internet环境下的软431

件开发431

20.2.1 基于Java的软件开发过程431

20.2.2 Java与多媒体主页的制作432

20.2.3 Java与交互式主页的制作438

20.2.4 Java与图形界面439

20.2.5 Java与网络程序设计442

20.3 对象链接与嵌入(OLE)技术443

20.3.1 OLE简介443

20.3.2 构件对象模型444

20.3.3 结构化存储与复合文件445

20.3.4 数据对象传送446

20.3.5 复合文档447

20.3.6 OLE自动化448

20.3.7 OLE控件448

20.4 CORBA与分布计算技术449

20.4.1 分布计算环境449

20.4.2 分布计算技术450

20.4.3 CORBA概述451

20.4.4 Internet环境下的分布式453

软件开发453

小结454

习题455

参考文献456

热门推荐