軟體設計師教程(第5版)

《軟體設計師教程(第5版)》是2018年清華大學出版社出版的圖書,作者是褚華、霍秋艷。

基本介紹

  • 書名:軟體設計師教程(第5版)
  • 作者:褚華、霍秋艷
  • ISBN:9787302491224
  • 定價:119元
  • 出版時間:2018.02.01
  • 印次:5-2
  • 印刷日期:2018.03.08
內容簡介,圖書目錄,

內容簡介

本書作為中級職稱的全國計算機技術與軟體專業技術資格(水平)考試(簡稱“軟考”)指定教材,具有比較權威的指導意義。本書根據《軟體設計師考試大綱》(2018年審定通過)的重點內容,組織了12章的內容,考生在學習教材內容的同時,還須對照考試大綱,認真學習和複習大綱的知識點。本書是在《軟體設計師考試大綱》的指導下,對《軟體設計師教程(第4版)》進行了認真修編,部分章節是重寫後形成的。在本書中,強化了軟體工程部分的知識,增加了Web套用系統分析與設計知識。 本書適合參加本級別考試的考生和大學在校生作為教材。

圖書目錄

第1章 計算機網路概論 1
1.1 計算機系統基礎知識 1
1.1.1 計算機系統硬體基本組成 1
1.1.2 中央處理單元 1
1.1.3 數據表示 4
1.1.4 校驗碼 10
1.2 計算機體系結構 12
1.2.1 計算機體系結構的發展 12
1.2.2 存儲系統 20
1.2.3 輸入/輸出技術 31
1.2.4 匯流排結構 35
1.3 安全性、可靠性與系統性能評測
基礎知識 38
1.3.1 計算機安全概述 38
1.3.2 加密技術和認證技術 40
1.3.3 計算機可靠性 48
1.3.4 計算機系統的性能評價 51
第2章 程式設計語言基礎知識 56
2.1 程式設計語言概述 56
2.1.1 程式設計語言的基本概念 56
2.1.2 程式設計語言的基本成分 61
2.2 語言處理程式基礎 67
2.2.1 彙編程式基本原理 67
2.2.2 編譯程式基本原理 69
2.2.3 解釋程式基本原理 96
第3章數據結構 99
3.1線性結構 99
3.1.1線性表 99
3.1.2棧和佇列 104
3.1.3串 108
3.2數組、矩陣和廣義表 113
3.2.1數組 113
3.2.2矩陣 115
3.2.3廣義表 116
3.3樹 118
3.3.1樹與二叉樹的定義 118
3.3.2二叉樹的性質與存儲結構 119
3.3.3二叉樹的遍歷 122
3.3.4線索二叉樹 125
3.3.5最優二叉樹 126
3.3.6樹和森林 130
3.4圖 133
3.4.1圖的定義與存儲 134
3.4.2圖的遍歷 138
3.4.3生成樹及最小生成樹 140
3.4.4拓撲排序和關鍵路徑 143
3.4.5最短路徑 146
3.5查找 149
3.5.1查找的基本概念 149
3.5.2靜態查找表的查找方法 150
3.5.3動態查找表 154
3.5.4哈希表 161
3.6排序 165
3.6.1排序的基本概念 165
3.6.2簡單排序 165
3.6.3希爾排序 168
3.6.4快速排序 169
3.6.5堆排序 170
3.6.6歸併排序 173
3.6.7基數排序 174
3.6.8內部排序方法小結 175
3.6.9外部排序 176
第4章作業系統知識 180
4.1作業系統概述 180
4.1.1作業系統的基本概念 180
4.1.2作業系統分類及特點 181
4.1.3作業系統的發展 185
4.2進程管理 185
4.2.1基本概念 185
4.2.2進程的控制 189
4.2.3進程間的通信 189
4.2.4管程 193
4.2.5進程調度 195
4.2.6死鎖 198
4.2.7執行緒 202
4.3存儲管理 202
4.3.1基本概念 203
4.3.2存儲管理方案 204
4.3.3分頁存儲管理 205
4.3.4分段存儲管理 208
4.3.5段頁式存儲管理 209
4.3.6虛擬存儲管理 211
4.4設備管理 216
4.4.1設備管理概述 216
4.4.2I/O軟體 217
4.4.3設備管理採用的相關技術 218
4.4.4磁碟調度 221
4.5檔案管理 224
4.5.1檔案與檔案系統 224
4.5.2檔案的結構和組織 225
4.5.3檔案目錄 227
4.5.4存取方法和存儲空間的管理 229
4.5.5檔案的使用 231
4.5.6檔案的共享和保護 231
4.5.7系統的安全與可靠性 233
4.6作業管理 234
4.6.1作業與作業控制 235
4.6.2作業調度 236
4.6.3用戶界面 238
第5章軟體工程基礎知識 239
5.1軟體工程概述 239
5.1.1計算機軟體 240
5.1.2軟體工程基本原理 241
5.1.3軟體生存周期 243
5.1.4軟體過程 245
5.2軟體過程模型 247
5.2.1瀑布模型(WaterfallModel) 248
5.2.2增量模型(Incremental
Model) 249
5.2.3演化模型(Evolutionary
Model) 250
5.2.4噴泉模型
(WaterFountainModel) 252
5.2.5基於構件的開發模型
(Component-based
DevelopmentModel) 252
5.2.6形式化方法模型(Formal
MethodsModel) 253
5.2.7統一過程(UP)模型 253
5.2.8敏捷方法(Agile
Development) 254
5.3需求分析 256
5.3.1軟體需求 256
5.3.2需求分析原則 257
5.3.3需求工程 257
5.4系統設計 260
5.4.1概要設計 261
5.4.2詳細設計 262
5.5系統測試 262
5.5.1系統測試與調試 262
5.5.2傳統軟體的測試策略 264
5.5.3測試面向對象軟體 271
5.5.4測試Web套用 272
5.5.5測試方法 273
5.5.6調試 276
5.6運行和維護知識 278
5.6.1系統轉換 278
5.6.2系統維護概述 279
5.6.3系統評價 283
5.7軟體項目管理 284
5.7.1軟體項目管理涉及的範圍 284
5.7.2軟體項目估算 287
5.7.3進度管理 289
5.7.4軟體項目的組織 292
5.7.5軟體配置管理 294
5.7.6風險管理 296
5.8軟體質量 300
5.8.1軟體質量特性 300
5.8.2軟體質量保證 302
5.8.3軟體評審 304
5.8.4軟體容錯技術 306
5.9軟體度量 307
5.9.1軟體度量分類 307
5.9.2軟體複雜性度量 309
5.10軟體工具與軟體開發環境 311
5.10.1軟體工具 311
5.10.2軟體開發環境 313
第6章結構化開發方法 315
6.1系統分析與設計概述 315
6.1.1系統分析概述 315
6.1.2系統設計的基本原理 317
6.1.3系統總體結構設計 319
6.1.4系統文檔 323
6.2結構化分析方法 325
6.2.1結構化分析方法概述 325
6.2.2數據流圖 325
6.2.3數據字典(DD) 335
6.3結構化設計方法 337
6.3.1結構化設計的步驟 337
6.3.2數據流圖到軟體體系結構的
映射 338
6.4WebApp分析與設計 340
6.4.1WebApp的特性 341
6.4.2WebApp需求模型 341
6.4.3WebApp設計 344
6.5用戶界面設計 346
6.5.1用戶界面設計的黃金原則 346
6.5.2用戶界面的分析與設計 348
6.5.3用戶界面設計問題 349
第7章面向對象技術 351
7.1面向對象基礎 351
7.1.1面向對象的基本概念 351
7.1.2面向對象分析 354
7.1.3面向對象設計 355
7.1.4面向對象程式設計 357
7.1.5面向對象測試 362
7.2UML 363
7.2.1事物 364
7.2.2關係 365
7.2.3UML中的圖 366
7.3設計模式 378
7.3.1設計模式的要素 378
7.3.2創建型設計模式 379
7.3.3結構型設計模式 384
7.3.4行為設計模式 394
7.3.5套用舉例 407
第8章算法設計與分析 416
8.1算法設計與分析的基本概念 416
8.1.1算法 416
8.1.2算法設計 416
8.1.3算法分析 417
8.1.4算法的表示 417
8.2算法分析基礎 417
8.2.1時間複雜度 417
8.2.2漸進符號 418
8.2.3遞歸式 419
8.3分治法 422
8.3.1遞歸的概念 422
8.3.2分治法的基本思想 423
8.3.3分治法的典型實例 423
8.4動態規劃法 427
8.4.1動態規劃法的基本思想 427
8.4.2動態規劃法的典型實例 428
8.5貪心法 433
8.5.1貪心法的基本思想 433
8.5.2貪心法的典型實例 434
8.6回溯法 437
8.6.1回溯法的算法框架 437
8.6.2回溯法的典型實例 440
8.7分支限界法 445
8.8機率算法 446
8.9近似算法 448
8.10數據挖掘算法 448
8.11智慧型最佳化算法 450
第9章資料庫技術基礎 455
9.1基本概念 455
9.1.1資料庫與資料庫系統 455
9.1.2資料庫管理系統的功能 456
9.1.3資料庫管理系統的特徵及分類 457
9.1.4資料庫系統的體系結構 458
9.1.5資料庫的三級模式結構 461
9.1.6大數據 463
9.2數據模型 466
9.2.1基本概念 466
9.2.2數據模型的三要素 466
9.2.3E-R模型 466
9.2.4數據模型 472
9.2.5關係模型 473
9.3關係代數 474
9.3.1關係資料庫的基本概念 474
9.3.25種基本的關係代數運算 478
9.3.3擴展的關係代數運算 481
9.4關係資料庫SQL語言簡介 489
9.4.1SQL資料庫體系結構 490
9.4.2SQL的基本組成 490
9.4.3SQL數據定義 491
9.4.4SQL數據查詢 496
9.4.5SQL數據更新 504
9.4.6SQL訪問控制 505
9.4.7嵌入式SQL 507
9.5關係資料庫的規範化 508
9.5.1函式依賴 508
9.5.2規範化 509
9.5.3模式分解及分解應具有的特性 511
9.6資料庫的控制功能 512
9.6.1事務管理 512
9.6.2資料庫的備份與恢復 513
9.6.3並發控制 514
第10章網路與信息安全基礎知識 517
10.1網路概述 517
10.1.1計算機網路的概念 517
10.1.2計算機網路的分類 520
10.1.3網路的拓撲結構 521
10.1.4ISO/OSI網路體系結構 523
10.2網路互連硬體 526
10.2.1網路的設備 526
10.2.2網路的傳輸介質 529
10.2.3組建網路 531
10.3網路的協定與標準 534
10.3.1網路的標準 534
10.3.2區域網路協定 536
10.3.3廣域網協定 541
10.3.4TCP/IP協定族 544
10.4Internet及套用 549
10.4.1Internet概述 550
10.4.2Internet地址 550
10.4.3Internet服務 558
10.5信息安全基礎知識 564
10.6網路安全概述 568
第11章標準化和軟體智慧財產權基礎知識 573
11.1標準化基礎知識 573
11.1.1基本概念 573
11.1.2信息技術標準化 579
11.1.3標準化組織 581
11.1.4ISO9000標準簡介 584
11.1.5ISO/IEC15504過程評估
標準簡介 587
11.2智慧財產權基礎知識 588
11.2.1基本概念 589
11.2.2計算機軟體著作權 592
11.2.3計算機軟體的商業秘密權 603
11.2.4專利權概述 605
11.2.5企業智慧財產權的保護 610
第12章軟體系統分析與設計 612
12.1結構化分析與設計 612
12.1.1需求說明 614
12.1.2結構化分析 614
12.1.3總體設計 616
12.1.4詳細設計 617
12.2資料庫分析與設計 618
12.2.1資料庫設計的策略與步驟 618
12.2.2需求分析 619
12.2.3概念結構設計 621
12.2.4邏輯結構設計 623
12.2.5資料庫的物理設計 625
12.2.6資料庫的實施與維護 628
12.2.7案例分析 631
12.3面向對象分析與設計 635
12.3.1面向對象分析與設計的步驟 636
12.3.2需求說明 637
12.3.3建模用例 637
12.3.4建模活動 638
12.3.5設計類圖 640
12.3.6建模對象狀態 642
12.3.7建模互動 643
12.4算法分析與設計 645
12.4.1C程式設計語言與實現 646
12.4.2算法設計與實現 659
12.5面向對象的程式設計與實現 672
12.5.1設計與實現方法 672
12.5.2設計模式的套用 672

相關詞條

熱門詞條

聯絡我們