《软件工程 中级》求取 ⇩

第1篇 C++语言与面向对象程序设计1

第1章 C++简介1

1.1 C++历史1

1.2 C++语言特点1

1.3 本篇的组织结构2

第2章 熟悉C++3

2.1 环境3

2.2 第一个示例程序3

2.2.1 注释3

2.2.2 # include语句与预处理4

2.2.3 main函数5

2.2.4 从main中返回5

2.3 第二个示例程序6

2.2.5 终端输出输入6

2.3.1 数据类型7

2.3.2 常量8

2.3.3 变量10

2.3.4 表达式与操作符12

2.3.5 类型转换17

2.3.6 语句19

【习题】25

第3章 进一步熟悉C++27

3.1 更多的变量类型27

3.1.1 指针类型27

3.1.2 引用类型30

3.1.3 枚举类型31

3.1.4 数组类型32

3.1.5 用typedef定义自己的变量类型35

3.2 函数36

3.2.1 函数的参数与返回值37

3.2.2 内联函数40

3.2.3 递归函数41

3.2.4 作用域41

3.2.5 函数重载44

3.2.6 函数指针45

3.3 类与对象46

3.3.1 类与对象47

3.3.2 成员变量和成员函数47

3.3.3 访问权限48

3.3.4 构造函数与析构函数51

3.3.5 常量成员变量和函数58

3.3.6 静态成员变量和函数58

3.3.7 友元59

3.3.8 this指针60

3.4 结构、联合和位域61

3.4.1 结构61

3.4.2 联合62

3.4.3 位域62

3.4.4 指针与结构63

【习题】63

第4章 类与继承66

4.1 单继承66

4.1.1 成员访问控制方式67

4.1.2 一个继承的示例68

4.1.3 构造函数和析构函数69

4.1.4 虚函数70

4.1.5 抽象类与纯虚函数73

4.1.6 虚析构函数74

4.2 多继承75

4.2.1 多继承中的构造函数与析构函数75

4.2.2 歧义性77

4.2.3 虚基类77

4.2.4 多继承的应用78

【习题】79

第5章 C++高级应用80

5.1 模板80

5.1.1 函数模板80

5.1.2 类模板81

5.1.3 模板的应用82

5.2 I/O流83

5.2.1 标准I/O流83

5.2.2 文件I/O88

5.2.3 字符串I/O流89

5.2.4 重载操作符 << 和 >>92

5.3 堆管理93

5.3.1 动态空间申请与释放93

5.3.2 重载new和delete94

5.3.3 异常处理96

5.4 操作符重载96

5.4.1 双目运算符重载97

5.4.2 单目运算符重载99

5.4.3 引用在运算符重载中的应用99

5.5 异常100

5.5.1 异常处理101

5.5.2 异常发生之后102

5.5.4 处理未捕捉到的异常104

5.5.3 嵌套异常104

【习题】105

第2篇 数据结构107

第6章 基本概念107

6.1 什么是数据结构107

6.2 抽象数据类型及面向对象概念108

6.2.1 数据类型108

6.2.2 抽象与抽象数据类型108

6.3 数据结构的抽象层次110

6.4 算法定义112

6.5 性能分析与度量112

6.5.1 评价算法的标准113

6.5.2 算法效率的后期测量113

6.5.3 算法的事前估计114

6.5.4 大O表示法115

【习题】116

第7章 数组118

7.1 数组的概念118

7.1.1 数组的概念与数组抽象数据类型118

7.1.2 数组元素的定位121

7.2 顺序表122

7.2.1 顺序表的概念和定义122

7.2.2 顺序表的顺序搜索123

7.2.3 顺序表的插入和删除124

7.3 稀疏矩阵125

7.3.1 稀疏矩阵的概念125

7.3.2 稀疏矩阵的压缩存储表示125

7.4 字符串126

7.4.1 字符串的概念及其抽象数据类型126

7.4.2 字符串的运算127

7.4.3 字符串的模式匹配128

【习题】129

第8章 链表132

8.1 单链表132

8.1.1 单链表的概念132

8.1.2 单链表的类定义133

8.1.3 单链表的插入与删除134

8.1.4 带表头结点的单链表135

8.1.5 单链表的类模板136

8.1.6 单链表的游标类138

8.1.7 静态链表140

8.2 循环链表141

8.3.2 带表头结点的双向循环链表142

8.3.1 双向链表的概念142

8.3 双向链表142

8.3.3 双向循环链表的搜索、插入和删除算法143

8.4 稀疏矩阵145

【习题】146

第9章 栈和队列148

9.1 栈148

9.1.1 栈的定义148

9.1.2 栈的顺序方式实现(顺序栈)148

9.1.3 栈的链接方式实现(链式栈)150

9.2 队列151

9.2.1 队列的抽象数据类型151

9.2.2 队列的数组表示(循环队列)152

9.2.3 队列的链接存储表示(链式队列)154

9.3.1 优先级队列的定义156

9.3 优先级队列156

9.3.2 优先级队列的存储表示和实现157

【习题】158

第10章 递归160

10.1 递归的概念160

10.2 递归过程与递归工作栈163

10.3 广义表166

10.3.1 广义表的概念166

10.3.2 广义表的表示及操作168

10.3.3 广义表存储结构的实现169

10.3.4 广义表的访问算法171

10.3.5 广义表的递归算法172

【习题】177

11.1.1 树的定义与术语179

11.1 树和森林的概念179

第11章 树与森林179

11.1.2 树的抽象数据类型180

11.2 二叉树181

11.2.1 二叉树的定义与性质181

11.2.2 二叉树的类定义182

11.3 二叉树的表示182

11.3.1 数组表示182

11.3.2 链接表示183

11.4 二叉树遍历187

11.4.1 遍历二叉树的递归算法187

11.4.2 二叉树遍历的游标类189

11.5 线索化二叉树193

11.5.1 线索193

11.5.2 中序线索化二叉树193

11.5.3 前序与后序的线索化二叉树196

11.6 堆197

11.6.1 堆的定义198

11.6.2 堆的建立199

11.6.3 堆的插入与删除200

11.7 树与森林202

11.7.1 树的存储表示202

11.7.2 森林与二叉树的转换206

11.7.3 树的遍历207

11.7.4 森林的遍历208

11.8 二叉树的计数209

11.9 霍夫曼树211

11.9.1 路径长度211

11.9.2 霍夫曼树212

11.9.3 霍夫曼编码214

【习题】215

第12章 集合与搜索218

12.1 集合及其表示218

12.1.1 集合基本概念218

12.1.2 以集合为基础的抽象数据类型218

12.1.3 用位向量实现集合抽象数据类型219

12.1.4 用有序链表实现集合的抽象数据类型220

12.2 等价类和并查集223

12.2.1 等价关系与等价类223

12.4 二叉搜索树223

12.2.2 并查集224

12.3 静态搜索表227

12.3.1 搜索的概念227

12.3.2 静态搜索结构227

12.3.3 顺序搜索229

12.3.4 基于有序顺序表的折半搜索230

12.4.1 二叉搜索树的定义233

12.4.2 二叉搜索树上的搜索234

12.4.3 二叉搜索树的插入235

12.4.4 二叉搜索树的删除236

12.4.5 二叉搜索树的性能分析238

【习题】238

第13章 图241

13.1 图的基本概念241

13.2 图的存储表示243

13.2.1 邻接矩阵243

13.2.2 邻接表245

13.2.3 邻接多重表247

13.3 图的遍历与连通性248

13.3.1 深度优先搜索249

13.3.2 广度优先搜索250

13.3.3 连通分量251

13.3.4 重连通分量252

13.4 最小生成树253

13.4.1 克鲁斯卡尔算法253

13.4.2 普里姆算法255

13.5 最短路径257

13.5.1 边上权值非负情形的单源最短路径问题257

13.5.2 边上权值为任意值的单源最短路径问题259

13.5.3 所有顶点之间的最短路径262

13.6 活动网络263

13.6.1 用顶点表示活动的网络(AOV网络)263

13.6.2 用边表示活动的网络(AOE网络)266

【习题】270

第14章 排序272

14.1 概述272

14.2 插入排序273

14.2.1 直接插入排序273

14.2.2 折半插入排序274

14.2.3 链表插入排序275

14.2.4 希尔排序277

14.3 交换排序278

14.3.1 起泡排序278

14.3.2 快速排序279

14.4 选择排序282

14.4.1 直接选择排序282

14.4.2 锦标赛排序283

14.4.3 堆排序284

14.5 归并排序286

14.5.1 归并286

14.5.2 迭代的归并排序算法287

14.5.3 递归的表归并排序288

14.6 基数排序290

14.6.1 多关键码排序290

14.6.2 链式基数排序291

14.7 磁盘排序292

14.7.1 磁盘排序的基本过程292

14.7.2 k路平衡归并294

14.7.3 初始归并段的生成296

14.7.4 最佳归并树297

【习题】299

15.1.1 线性索引302

15.1 静态索引结构302

第15章 索引与散列302

15.1.2 倒排表303

15.1.3 m路静态搜索树305

15.2 AVL树306

15.2.1 AVL树的定义307

15.2.2 平衡化旋转307

15.2.3 AVL树的插入和删除310

15.2.4 AVL树的高度313

15.3 B_树与B+树313

15.3.1 动态的m路搜索树313

15.3.2 B_树315

15.3.3 B_树的插入316

15.3.4 B_树的删除317

15.3.5 B+树319

15.4.1 词典的抽象数据类型323

15.4 散列323

15.4.2 散列表与散列方法324

15.4.3 散列函数324

15.4.4 处理溢出的闭散列方法327

15.4.5处理溢出的开散列方法——链地址法332

15.4.6 散列表分析334

【习题】335

第3篇 软件工程方法338

第16章 软件工程基本概念338

16.1 软件的概念、特点和分类338

16.1.1 软件的概念与特点338

16.1.2 软件的分类340

16.2 软件的发展和软件危机343

16.3.2 软件生存期345

16.3 软件工程过程和软件生存期345

16.3.1 软件工程过程345

16.4 软件生存期模型346

16.4.1 瀑布模型346

16.4.2 进化模型348

16.4.3 螺旋模型348

16.4.4 喷泉模型350

16.4.5 智能模型350

16.5 软件工程的基本目标351

16.5.1 软件工程的定义351

16.5.2 软件工程项目的基本目标351

【习题】352

17.1 基于计算机的系统354

第17章 系统分析354

17.2 计算机系统工程355

17.2.1 硬件和硬件工程358

17.2.2 软件和软件工程359

17.2.3 人与人类工程361

17.2.4 数据库和数据库工程362

17.3 系统需求识别362

17.4 可行性研究363

17.5 系统结构的模型化365

17.5.1 结构图365

17.5.2 系统结构的规格说明定义367

17.5.3 系统定义与评审368

【习题】369

18.1 软件需求分析的任务和过程370

18.1.1 软件需求分析的任务370

第18章 面向过程的软件需求分析370

18.1.2 需求分析的过程371

18.1.3 软件需求分析的原则374

18.2 符号表示376

18.2.1 数据流图中的基本符号376

18.2.2 数据流与加工之间的关系377

18.2.3 分层的数据流图377

18.3 构造数据流模型378

18.3.1 构造数据流模型的步骤378

18.3.2 数据流图画法381

18.4 数据词典384

18.4.1 词条描述384

18.4.2 数据结构的描述386

18.4.3 加工逻辑说明387

18.5.1 状态迁移图391

18.5 系统行为描述391

18.5.2 时序图392

18.5.3 Petri网393

18.6 数据及数据库需求396

18.6.1 有关数据库的基本概念396

18.6.2 E-R方法和实体模型397

18.6.3 数据结构的规范化399

18.6.4 数据库分析的过程401

【习题】402

第19章 原型化方法404

19.1 为什么使用原型化方法404

19.2 软件原型的分类404

19.3 快速原型开发模型406

19.3.1 原型生存期406

19.3.2 软件开发过程409

19.4 原型开发技术411

19.4.1 可执行规格说明411

19.4.2 基于脚本的设计412

19.4.3 自动程序设计412

19.4.4 专用语言413

19.4.5 简化假设413

19.5 软件复用技术413

19.5.1 软件复用概述413

19.5.2 软件复用技术414

【习题】415

第20章 面向过程的软件设计方法417

20.1 软件设计的目标和任务417

20.1.1 软件设计在开发阶段中的重要性417

20.1.2 软件设计任务418

20.2 软件设计基础420

20.2.1 自顶向下,逐步细化420

20.2.2 软件结构420

20.2.3 程序结构421

20.2.4 数据结构423

20.2.5 模块化424

20.2.6 抽象化424

20.2.7 信息隐蔽425

20.3 模块设计425

20.3.1 模块425

20.3.2 模块独立性426

20.3.3 耦合性426

20.3.4 内聚性428

20.4 数据设计及文件设计429

20.4.1 数据设计的原则430

20.4.2 在设计程序结构时数据结构的选择方法431

20.4.3 文件设计431

20.5 结构化设计方法432

20.5.1 典型的系统结构形式433

20.5.2 变换分析435

20.5.3 事务分析437

20.5.4 软件模块结构的改进439

【习题】442

第21章 用户界面设计444

21.1 用户界面应具备的特性444

21.1.1 可使用性444

21.1.2 灵活性444

21.2 用户界面设计的任务分析445

21.1.3 复杂性和可靠性445

21.2.1 用户特性分析446

21.2.2 用户工作分析446

21.2.3 用户模型和观点447

21.3 用户界面任务和工作设计447

21.3.1 任务分配447

21.3.2 工作方式和工作设计448

21.4 界面设计的基本类型449

21.4.1 界面设计类型449

21.4.2 菜单界面的设计449

21.4.3 图像450

21.4.4 对话451

21.4.5 问题描述语言POL451

21.4.6 窗口451

21.5.1 数据输入的规则452

21.5 数据输入界面设计452

21.5.2 输入表格设计453

21.5.3 其他数据输入的方法455

21.6 数据显示界面设计456

21.6.1 数据显示的规则456

21.6.2 字符数据的显示457

21.6.3 图形显示458

21.6.4 报告461

21.7 控制界面的设计463

21.7.1 用控制对话选择操作命令463

21.7.2 用菜单界面进行控制463

21.7.3 用功能键定义操作命令465

21.7.4 用图标表示对象或命令465

21.7.5 直接操纵465

21.7.6 用窗口划分屏幕466

21.7.7 命令语言467

21.7.8 自然语言468

【习题】470

第22章 面向对象技术472

22.1 面向对象的概念472

22.2 面向对象方法的开发过程475

22.2.1 应用生存期476

22.2.2 类生存期476

22.2.3 应用开发过程480

22.2.4 系统体系结构481

【习题】481

第23章 面向对象分析与模型化483

23.1 面向对象分析483

23.1.1 论域分析483

23.2.1 对象模型486

23.1.2 应用分析486

23.2 对象模型技术486

23.2.2 动态模型488

23.2.3 功能模型490

23.2.4 基于三个模型的分析过程491

23.3 Coad与Yourdon的OOA方法491

23.3.1 面向对象的分析的考虑491

23.3.2 标识对象和类492

23.3.3 标识结构496

23.3.4 标识属性498

23.3.5 标识服务500

23.3.6 标识主题502

【习题】503

24.1.1 高层设计模型504

24.1 高层设计504

第24章 面向对象设计504

24.1.2 高层设计的规则505

24.2 Goad与Yourdon面向对象设计方法506

24.2.1 问题论域部分的设计506

24.2.2 用户界面部分的设计508

24.2.3 任务管理部分的设计509

24.2.4 数据管理部分的设计510

24.2.5 程序设计语言的影响512

24.3 类的设计513

24.3.1 类设计的目标513

24.3.2 类设计的方针514

24.3.3 通过复用设计类516

24.3.4 计数器类设计的实例518

【习题】519

1999《软件工程 中级》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由郑人杰主编;殷人昆等编著 1999 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

软件工程  初级(1999 PDF版)
软件工程 初级
1999 北京:清华大学出版社
军用软件工程( PDF版)
军用软件工程
CAD软件工程(1991年10月第1版 PDF版)
CAD软件工程
1991年10月第1版
软件工程引论(1995 PDF版)
软件工程引论
1995 天津:南开大学出版社
软件工程引论(1987 PDF版)
软件工程引论
1987 南京:南京大学出版社
软件工程引论(1987 PDF版)
软件工程引论
1987 成都:成都电讯工程学院出版社
软件工程概论(1987 PDF版)
软件工程概论
1987 长沙:湖南科学技术出版社
软件工程方法(1993 PDF版)
软件工程方法
1993 北京:科学出版社
软件工程学(1991 PDF版)
软件工程学
1991 北京:电子工业出版社
软件工程(1997 PDF版)
软件工程
1997 重庆:重庆大学出版社
ADA软件工程(1986 PDF版)
ADA软件工程
1986 北京:科学普及出版社
软件工程(1997 PDF版)
软件工程
1997 北京:高等教育出版社
软件工程  高级(1999 PDF版)
软件工程 高级
1999 北京:清华大学出版社
实用软件工程(1990 PDF版)
实用软件工程
1990 北京:科学技术文献出版社;重庆分社
软件工程基础(1986 PDF版)
软件工程基础
1986 上海:上海科学技术出版社