概述 1
軟件的基本概念 1
軟件的發(fā)展和軟件危機 1
第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.4 森林與二叉樹的轉換 73
2.5 圖的邏輯結構及其運算 73
2.6 圖類 75
2.6.1 鄰接矩陣 75
2.6.2 鄰接表 77
2.7 圖的遍歷 79
2.7.1 深度優(yōu)先遍歷連通圖 79
2.7.2 廣度優(yōu)先遍歷連通圖 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.2.3 分塊查找 94
3.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
3.11 小結 112
習題 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章 典型操作系統平臺下的編程模式 156
5.1 DOS操作系統編程模型 156
5.1.1 DOS結構 156
5.1.2 DOS編程流程及開發(fā)工具 158
5.1.3 內存分配圖 159
5.1.4 操作系統程序員接口 160
5.1.5 實例 162
5.2 UNIX操作系統編程模型 163
5.2.1 結構 163
5.2.2 編程流程及開發(fā)包 164
5.2.3 多進程編程特點 166
5.2.4 常見進程通訊方式 166
5.2.5 程序員接口 169
5.2.6 實例 169
5.3 Windows編程模型 170
5.3.1 Windows結構 170
5.3.2 WOSA及Windows DNA 172
5.3.3 事件及消息機制 172
5.3.4 多線程 175
5.3.5 編程流程及開發(fā)包 176
5.3.6 程序員接口 177
5.3.7 實例 178
5.4 小結 181
習題 182
第6章 數據庫系統基礎 184
6.1 概述 184
6.1.1 發(fā)展簡史 184
6.1.2 數據庫是什么 185
6.2 數據模型 187
6.3 數據庫系統的結構 191
6.3.1 三級模式結構體系 191
6.3.2 數據庫的構成 192
6.3.3 DBMS介紹 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 關系數據庫理論 214
7.3.1 概述 214
7.3.2 數據依賴 214
7.3.3 規(guī)范化 215
7.4 關系數據庫的安全性和完整性 218
7.4.1 安全性 218
7.4.2 完整性 219
7.4.3 并發(fā)控制 219
.5 新型關系數據庫概述 219
7.5.1 分布式關系數據庫 219
7.5.2 對象關系數據庫 220
7.5.3 數據倉庫 220
7.6 小結 220
習題 221
第8章 實用關系數據庫管理系統應用基礎 225
8.1 計算模式介紹 225
8.1.1 主機/終端模式 225
8.1.2 C/S分布式模式 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 存儲過程及觸發(fā)器 238
8.4 數據庫設計基礎 240
8.5 應用實例 241
8.4.1 系統簡介 241
8.4.2 系統分析和設計 242
8.4.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章 傳統的軟件開發(fā)方法 273
10.1 結構化開發(fā)方法概述 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.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 系統維護 315
10.6.1 系統維護概述 315
10.6.2 軟件維護的任務 316
10.6.3 軟件維護的副作用 318
10.6.4 軟件的可維護性 319
10.7 小結 321
習題 322
第11章 面向對象的軟件開發(fā)辦法 324
11.1 面向對象方法概述 325
11.1.1 面向對象方法 325
11.1.2 實體和對象 328
11.1.3 服務和消息 330
11.1.4 類和類層次 331
11.1.5 00方法的特點 334
11.2 面向對象分析00A 340
11.2.1 00A方法概述 340
11.2.2 確定對象 342
11.2.3 確定屬性和服務 344
11.2.4 建立結構 347
11.2.5 確定關聯 348
11.3 面向對象設計00D 351
11.3.1 00D的基本原則 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