目 錄
第1章 俄羅斯方塊遊戲
1.1 贏在規劃 2
1.1.1 贏在起點——程式設計師的職業
規劃 2
1.1.2 贏在項目開發伊始——做好
項目分析 2
1.2 第一個項目 4
1.3 系統分析 5
1.3.1 功能分析 5
1.3.2 結構規劃 6
1.3.3 核心處理模組分析 6
1.3.4 設計界面 7
1.4 編碼工作的第一步——單機版 10
1.4.1 準備素材 10
1.4.2 添加新類 10
1.4.3 系統類 11
1.4.4 編碼實現函式 11
1.5 編碼工作的第二步——對戰版 24
1.6 編碼工作的第三步——配合版 29
1.7 編碼工作的第四步——網路版 34
1.8 項目調試 40
第2章 學校圖書館管理系統
2.1 訓練程式設計師的基本功 44
2.1.1 IT界中的兩類開發者 44
2.1.2 贏在自身——打造紮實的
基礎 44
2.2 新的項目 45
2.3 系統概述和總體設計 46
2.3.1 系統需求分析 46
2.3.2 系統運行流程 47
2.4 資料庫設計 48
2.4.1 後台資料庫及資料庫訪問
接口的選擇 48
2.4.2 資料庫結構的設計 48
2.5 系統框架設計 51
2.5.1 創建工程及設計主界面 51
2.5.2 為資料庫表添加對應的類 53
2.5.3 系統登錄模組的設計 57
2.6 基本信息管理模組 60
2.6.1 院系信息管理 60
2.6.2 專業信息管理 64
2.6.3 學生信息管理 68
2.6.4 圖書信息管理 70
2.7 用戶管理模組 72
2.7.1 用戶編輯對話框 72
2.7.2 用戶管理對話框 73
2.7.3 修改密碼對話框 74
2.8 圖書借閱和歸還模組 76
2.8.1 圖書借閱 76
2.8.2 圖書歸還 78
2.8.3 圖書借閱與歸還管理 79
2.9 項目調試 80
第3章 企業人事管理系統
3.1 程式設計師職場生存必殺技 84
3.1.1 程式設計師的生存現狀 84
3.1.2 歐美企業、日韓企業和中資
企業的文化 84
3.1.3 贏在職場——修煉程式設計師
職場秘籍 85
3.2 新的項目 87
3.3 需求分析 88
3.3.1 系統分析 88
3.3.2 系統目標 88
3.4 功能模組劃分 88
3.5 搭建開發環境 89
3.6 設計資料庫 90
3.6.1 E-R圖 90
3.6.2 設計數據表 91
3.7 編碼工作 95
3.7.1 設計員工模組 95
3.7.2 考勤模組 105
3.7.3 設計工資模組 111
3.7.4 用戶管理模組 115
3.7.5 資料庫備份模組 116
3.7.6 資料庫還原模組 117
3.7.7 用戶登錄模組 118
3.8 項目測試 119
第4章 安全衛士防火牆系統
4.1 企業的溝通之道 124
4.1.1 開發公司的部門現狀 124
4.1.2 贏在公司——探討部門之間的
溝通之道 125
4.2 第一個盈利項目 126
4.2.1 什麼是防火牆 126
4.2.2 防火牆的類型 126
4.2.3 防火牆的結構 127
4.2.4 實現防火牆的幾種方式 129
4.2.5 防火牆編程 129
4.3 一個簡單的防火牆程式 132
4.3.1 原理 133
4.3.2 具體實現 133
4.4 網路防火牆系統 137
4.4.1 設計界面 137
4.4.2 具體實現 138
第5章 視頻播放器
5.1 體驗語言之美 160
5.1.1 程式設計師經常忽視的問題 160
5.1.2 贏在代碼本身——體現
代碼之美 160
5.2 新的項目 161
5.3 項目規劃分析 162
5.3.1 需求分析 162
5.3.2 可行性分析 163
5.3.3 編寫項目計畫書 164
5.4 搭建開發環境 166
5.4.1 搭建DirectShow SDK開發
環境 166
5.4.2 安裝Visual Studio 2013開發
環境 168
5.5 設計FilterGraph結構 170
5.5.1 設計FilterGraph的結構 171
5.5.2 實現GraphEdit模擬 171
5.6 設計界面 174
5.7 具體編碼 180
5.7.1 CDXGraph類的初始化 180
5.7.2 創建Graph濾波器鍊表 182
5.7.3 設計圖像視窗 183
5.7.4 媒體播放控制 184
5.7.5 視頻全螢幕顯示 187
5.7.6 抓圖保存 187
5.7.7 播放控制 188
5.8 項目調試 197
第6章 專業理財系統
6.1 架構中的可擴展性 200
6.1.1 軟體的發展是一個不斷完善的
過程 200
6.1.2 贏在項目——讓程式具有
更好的可擴展性 200
6.2 新的項目 201
6.3 系統分析 203
6.3.1 需求分析 203
6.3.2 可行性分析 203
6.4 系統設計 204
6.4.1 系統目標 204
6.4.2 系統模組的結構 204
6.5 設計資料庫 205
6.5.1 設計管理系統的?E-R?圖 205
6.5.2 設計資料庫表 206
6.6 設計系統的主框架 207
6.7 具體編碼 211
6.7.1 用戶管理模組 211
6.7.2 收支信息模組 218
6.7.3 理財分析模組的功能分析 228
6.7.4 設計理財分析模組的界面 228
6.7.5 理財分析模組的編碼實現 229
6.8 項目調試 233
第7章 仿QQ聊天系統
7.1 模組化編程 238
7.1.1 談模組化設計思想 238
7.1.2 贏在模組化思想——實現
高內聚和低耦合的代碼 239
7.2 系統背景介紹 241
7.3 系統分析 241
7.3.1 系統需求分析 242
7.3.2 總體設計 242
7.3.3 系統檔案概述 245
7.4 伺服器端編碼 246
7.4.1 設計伺服器界面 247
7.4.2 用戶信息管理模組 247
7.4.3 客戶端請求信息的處理 252
7.4.4 系統群訊息傳送功能 255
7.5 客戶端編碼 256
7.5.1 設計客戶端界面 256
7.5.2 基本信息與訊息的設計 258
7.5.3 執行緒函式的設計與實現 258
7.5.4 與伺服器端的互動功能 263
7.5.5 客戶端之間的互動 269
7.6 系統調試 276
第8章 XX中學成績管理系統
8.1 程式的可移植性 278
8.1.1 什麼是程式的可移植性 278
8.1.2 贏在技術——實現開發工具
跨平台轉換 278
8.2 新的項目 279
8.3 系統分析 280
8.3.1 開發背景 280
8.3.2 需求分析 280
8.3.3 功能描述 280
8.4 模組規劃 281
8.5 搭建資料庫 282
8.6 前期編碼——設計公共類 286
8.7 設計界面 287
8.8 後期編碼 288
8.8.1 科目信息管理模組 288
8.8.2 學生信息管理模組 295
8.8.3 錄入學生成績模組 299
8.8.4 成績等級管理模組 302
8.8.5 學生違規查詢模組 310
8.8.6 報表列印模組 312
8.9 項目調試 316
8.10 將VC++ 6.0項目轉換為
Visual Studio 2013項目 318
第9章 圖像處理系統
9.1 考慮所有可能會發生的情形 324
9.1.1 一段房貸代碼所引發的
思考 324
9.1.2 贏在高質量——提高程式的
健壯性 324
9.2 新的項目 326
9.3 系統設計 327
9.4 功能模組劃分 327
9.5 設計界面 328
9.6 設計類 330
9.6.1 編寫點陣圖類 330
9.6.2 CColorGrid類 333
9.6.3 CPaintParambar類 333
9.6.4 主框架類 334
9.6.5 繪圖工具條類 335
9.7 具體編碼 336
9.7.1 檔案處理模組 336
9.7.2 工具條和狀態條 338
9.7.3 橡皮筋矩形選塊和畫圖 343
9.7.4 繪製曲線和寫字 352
9.7.5 拖動一個選塊 361
9.7.6 貼上板 362
9.8 項目調試 365
第10章 視頻監控系統
10.1 做好項目管理者 370
10.1.1 軟體工程師到項目管理者
之路 370
10.1.2 贏在管理——運轉一個
高效的開發團隊 370
10.2 新的項目 373
10.3 系統分析 373
10.3.1 背景 373
10.3.2 可行性分析 374
10.3.3 編寫項目計畫書 375
10.4 系統設計 376
10.5 資料庫設計 378
10.5.1 資料庫分析 378
10.5.2 資料庫概念設計 379
10.5.3 資料庫邏輯結構的設計 379
10.6 設計公共類 380
10.6.1 實現按鈕修飾 380
10.6.2 特殊訊息處理 382
10.6.3 修飾子類化處理 384
10.6.4 定義安裝鉤子的函式 384
10.6.5 定義卸載鉤子的函式 385
10.7 設計主窗體 385
10.8 具體編碼 400
10.8.1 管理員登錄模組 400
10.8.2 監控管理模組 403
10.8.3 設計廣角自動監控模組 407
10.8.4 視頻回放模組 413
10.9 設計窗體布局 416
10.10 項目調試 423
第11章 網路電話系統
11.1 算法是程式的靈魂 426
11.1.1 什麼是算法 426
11.1.2 贏在技術沉澱——計算機
中的算法 427
11.2 網路電話系統基礎 430
11.2.1 什麼是網路電話 430
11.2.2 網路電話的原理 430
11.2.3 實現方式 431
11.3 設計界面 431
11.3.1 準備素材 432
11.3.2 創建工程 432
11.4 具體編碼 433
11.4.1 定義公共變數 433
11.4.2 創建視窗函式 436
11.4.3 設定音頻設備 438
11.4.4 網路通信 441
11.4.5 套接字回響函式 447
第12章 Foxmail轉發系統
12.1 走向架構師之路 452
12.1.1 什麼是架構師 452
12.1.2 贏在架構——如何成為一名
架構師 452
12.1.3 贏在架構——如何成就一個
美麗的架構 453
12.2 背景介紹——郵件是一種全新的
通信方式 454
12.2.1 電子郵件的原理 455
12.2.2 郵件協定 455
12.3 一個Foxmail項目 456
12.3.1 編寫類 456
12.3.2 設計界面 460
12.4 具體編碼 465
12.4.1 實現CBase64類 465
12.4.2 實現連線類CSMTP 467
12.4.3 實現郵件管理類
CMailMessage 471
12.4.4 實現附屬檔案處理功能 474
12.5 系統調試 479