《软件技术基础》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:冯博琴主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2000
  • ISBN:7115086168
  • 页数:362 页
图书介绍:本书介绍了计算机软件技术的基础知识。全书包括数据结构、操作系统、数据库和软件工程四部分内容,每部分都融入了计算机软件方面的最新技术,既有基本原理的叙述,又有实例和应用的介绍。数据结构全部以C++ 来描述算法;操作系统着重阐述DOS、UNIX和Windows三种平台上的软件开发技术;数据库以流行的关系数据库为蓝本,重点介绍SQL;软件工程重点讲述了传统的和面向对象的软件开发技术。本书读者对象为非计算机专业的本科生、研究生以及广大从事计算机软件开发的科技人员。

概述 1

软件的基本概念 1

软件的概念 1

软件的特征 1

软件的分类 3

软件的发展和软件危机 6

软件的发展 6

软件危机 8

产生软件危机的原因 10

解决软件危机的途径 11

第1章 线性数据结构 13

1.1 数据结构概述 13

1.1.1 数据和数据结构 13

1.1.2 算法的描述及评价 15

1.2 线性表 17

1.2.1 线性表的逻辑结构及运算 17

1.2.2 顺序表类 18

1.2.3 链表类 20

1.2.4 线性表的基本应用 27

1.3 栈和队列 32

1.3.1 栈的逻辑结构与运算 32

1.3.2 堆栈类 33

1.3.3 队列 37

1.3.4 队列类 37

1.3.5 栈和队列的基本应用 44

1.4 串和数组 47

1.4.1 串及其运算 47

1.4.2 串的顺序和链式存储结构 48

1.4.3 数组 51

1.4.4 数组的顺序存储结构 52

1.4.5 矩阵的压缩存储 53

1.5 小结 54

习题 55

第2章 非线性数据结构 57

2.1 树的逻辑结构及其运算 57

2.2 二叉树 58

2.2.1 二叉树的定义及其运算 58

2.2.2 二叉树类 60

2.2.3 特殊二叉树 61

2.2.4 二叉树的遍历 65

2.3 树类 70

2.5 图的逻辑结构及其运算 73

2.4 森林与二叉树的转换 73

2.6 图类 75

2.6.1 邻接矩阵 75

2.6.2 邻接表 77

2.7 图的遍历 79

2.7.1 深度优先遍历连通图 79

2.7.2 广度优先遍历连通图 82

2.8 树和图的基本应用 84

2.9 小结 88

习题 88

第3章 查找和排序 90

3.1 什么是查找 90

3.2 顺序表的查找 91

3.2.1 顺序查找 91

3.2.2 折半查找 93

3.3 树表查找 94

3.2.3 分块查找 94

3.4 哈希查找 96

3.4.1 什么是哈希表 96

3.4.2 哈希表的建立 97

3.4.3 解决冲突的方法 97

3.4.4 哈希查找 99

3.4.5 平均查找长度的计算举例 100

3.5 什么是排序 102

3.6 简单插入排序 104

3.7 简单选择排序 105

3.8 冒泡排序 106

3.9 快速排序 107

3.10 归并排序 109

习题 112

3.11 小结 112

第4章 操作系统基础 114

4.1 操作系统概述 114

4.1.1 操作系统定义 114

4.1.2 CPU及进程管理 117

4.1.3 内存管理 122

4.1.4 外设管理 129

4.1.5 外存及文件系统 135

4.1.6 用户接口 147

4.1.7 程序员接口 150

4.2 三种典型操作系统的特点及比较 151

4.3 小结 153

习题 154

5.1 DOS操作系统编程模式 156

5.1.1 DOS结构 156

第5章 典型操作系统平台下的编程模式 156

5.1.2 DOS编程流程及开发工具 158

5.1.3 内存分配图 159

5.1.4 操作系统程序员接口 160

5.1.5 实例 162

5.2 UNIX操作系统编程模式 163

5.2.1 结构 163

5.2.2 编程流程及开发包 164

5.2.3 多进程编程特点 166

5.2.4 常见进程通信方式 166

5.2.5 程序员接口 169

5.2.6 实例 169

5.3 Windows编程模式 170

5.3.1 Widnows结构 170

5.3.2 WOSA及Windows DNA 172

5.3.3 事件及消息机制 173

5.3.4 多线程 175

5.3.5 编程流程及开发包 176

5.3.6 程序员接口 177

5.3.7 实例 178

5.4 小结 181

习题 182

第6章 数据库系统基础 184

6.1 概述 184

6.1.1 发展简史 184

6.1.2 数据库是什么 185

6.2 数据模型 187

6.3 数据库系统的结构 191

6.3.1 三级模式结构体系 191

6.3.3 数据库管理系统 192

6.3.2 数据库系统的构成 192

6.4 小结 193

习题 194

第7章 关系数据库系统基础 195

7.1 关系模型的数学定义和关系代数 195

7.1.1 关系模型的数学定义 195

7.1.2 关系代数及关系运算 198

7.2 关系数据库标准查询语言(SQL) 201

7.2.1 概述 201

7.2.2 DDL 202

7.2.3 DML 205

7.2.4 DCL 209

7.3.2 数据依赖 214

7.3.1 概述 214

7.3 关系数据库理论 214

7.3.3 规范化 215

7.4 关系数据库的安全性和完整性 218

7.4.1 安全性 218

7.4.2 完整性 219

7.4.3 并发控制 219

7.5 新型关系数据库概述 219

7.5.1 分布式关系数据库 219

7.5.2 对象关系数据库 220

7.5.3 数据仓库 220

7.6 小结 220

习题 221

8.1.1 主机/终端模式 225

8.1.2 C/S分布式模式 225

8.1 计算模式介绍 225

第8章 实用关系数据库管理系统应用基础 225

8.1.3 B/S模式 226

8.2 Oracle RDBMS介绍 226

8.2.1 概述 226

8.2.2 Oracle数据库的体系结构 227

8.2.3 分布式处理功能 229

8.3 PL/SQL语言 230

8.3.1 PL/SQL程序的结构 230

8.3.2 存储过程及触发器 238

8.4 数据库设计基础 240

8.5 应用实例 241

8.5.1 系统简介 241

8.5.2 系统分析和设计 242

8.5.3 系统实施 244

8.6 小结 246

习题 246

第9章 软件工程 248

9.1 软件工程 248

9.1.1 软件工程概述 248

9.1.2 软件工程的基本原理 250

9.1.3 软件工程的基本目标 251

9.1.4 传统软件工程模式 252

9.1.5 现代软件工程模式 253

9.2 软件生存周期 254

9.2.1 软件生存周期各个阶段的主要任务 256

9.2.2 软件生存周期模型 258

9.3 软件工程管理 261

9.3.1 软件工程项目管理的任务 261

9.3.2 软件人员组织与管理 264

9.3.3 软件配置管理 266

9.3.4 软件知识产权保护 268

9.4 小结 270

习题 271

第10章 传统的软件开发方法 273

10.1 结构化开发方法概述 273

10.2 系统分析与定义 274

10.2.1 需求分析概述 274

10.2.2 需求分析的任务 275

10.2.3 系统需求分析的原则 277

10.2.4 系统需求分析的工具 277

10.2.5 结构分析方法(SA方法) 280

10.3 系统设计 282

10.3.1 软件设计概述 282

10.3.3 软件设计准则 284

10.3.2 软件设计原则 284

10.3.4 面向数据流的设计 288

10.3.5 详细设计 295

10.3.6 面向数据结构的设计 298

10.4 系统编程 303

10.4.1 软件编程概述 303

10.4.2 软件编程风格 303

10.4.3 程序设计语言 305

10.5 系统测试 306

10.5.1 软件测试概述 306

10.5.2 测试用例的设计 307

10.5.3 测试实施方法 311

10.5.4 软件调试 313

10.6.1 软件维护概述 315

10.6 软件维护 315

10.6.2 软件维护的任务 316

10.6.3 软件维护的副作用 318

10.6.4 软件的可维护性 319

10.7 小结 321

习题 322

第11章 面向对象的软件开发方法 324

11.1 面向对象方法概述 325

11.1.1 面向对象方法 325

11.1.2 实体和对象 328

11.1.3 服务和消息 330

11.1.4 类和类层次 331

11.1.5 OO方法的特点 334

11.2.1 OOA方法概述 340

11.2 面向对象分析OOA 340

11.2.2 确定对象 342

11.2.3 确定属性和服务 344

11.2.4 建立结构 347

11.2.5 确定关联 348

11.3 面向对象设计OOD 351

11.3.1 OOD的基本准则 351

11.3.2 设计要点 352

11.3.3 系统分解 352

11.3.4 问题域子系统的设计 353

11.3.5 用户界面子系统的设计 356

11.3.6 任务管理子系统的设计 357

11.3.7 数据管理子系统的设计 358

11.3.8 程序设计语言的影响 359

11.4 小结 360

习题 361