圖書簡介
《PHP+MySQL開發實戰》從初學者的角度講述使用
PHP語言結合MySQL資料庫進行程式開發應該掌握的各項技術,內容突出“基礎”、“全面”、“深入”的特點,同時強調“實戰”效果。書中在介紹技術的同時提供實例,同時在各章的結尾安排有實戰,通過實戰來綜合套用本章所講解的知識,做到理論聯繫實際;每篇的最後一章有一個綜合實例,通過一個模組綜合講解本篇所講解的知識內容;在本書的最後兩章中提供了兩個完整的項目實例,講述從前期規劃、設計流程到項目最終實施的整個實現過程。
章節
全書共分28章,主要內容包括初識PHP環境搭建、PHP語言基礎、PHP流程控制語句、字元串操作與正則表達式、初探數組、日期和時間的管理、程式調試與異常處理、綜合實例(一)——線上論壇、MySQL資料庫、MySQL存儲引擎與運算符、MySQL函式之選、MySQL基本操作、MySQL數據查詢、綜合實例(二)——留言本、MySQL存儲過程和函式、MySQL事務、觸發器、綜合實例(三)——物流管理系統、ADODB類庫、資料庫編程技術、PDO資料庫抽象層、綜合實例(四)——BCTY365網上社區、Smarty模板技術、ThinkPHP框架、ZendFramework框架、綜合實例(五)——電子商務網站、易查供求信息網和圖書館管理系統。所有知識都結合具體實例進行介紹,對涉及的程式代碼給出了詳細的注釋,讀者可以輕鬆領會PHP+MySQL程式開發的精髓,快速提高開發技能。
學習資源包
黃金學習搭配、專業學習視頻、重難點精確打擊、學習經驗分享、學習測試診斷、有趣實踐任務、專業資源庫、學習排憂解難、獲取源程式、提供習題答案、贈送開發案例。
適合人群
本書適合有志於從事軟體開發的初學者、高校計算機相關專業學生和畢業生,也可作為軟體開發人員的參考手冊,或者高校的教學參考書。
目錄
第1篇新手入門
第1章初識PHP環境搭建 2
視頻講解:66分鐘
1.1PHP開發環境的搭建 3
1.1.1在Windows下搭建PHP開發環境 3
1.1.2在Linux下搭建PHP開發環境 3
1.2Apache伺服器的安裝和配置 3
1.2.1在Windows下安裝Apache伺服器 3
1.2.2在Linux下安裝Apache伺服器 6
1.3PHP的安裝和配置 7
1.3.1在Windows下安裝PHP 7
1.3.2在Linux下安裝PHP 8
1.4套用組合包快速搭建PHP環境 9
1.5第一個PHP程式 11
1.5.1使用AdobeDreamweaver編寫源程式 12
1.5.2發布和運行PHP程式 13
1.6環境安裝常見問題 13
1.6.1Apache安裝常見問題 13
1.6.2PHP安裝常見問題 13
1.6.3MySQL安裝常見問題 14
1.7實戰 15
1.8小結 17
1.9學習成果檢驗 17
第2章PHP語言基礎 18
視頻講解:172分鐘
2.1PHP語法基礎 19
2.1.1PHP標記風格 19
2.1.2PHP注釋套用 19
2.2PHP的數據類型 20
2.2.1標量數據類型 20
2.2.2複合數據類型 24
2.2.3特殊數據類型 25
2.2.4轉換數據類型 26
2.2.5檢測數據類型 27
2.3PHP的常量套用 27
2.3.1聲明和使用常量 28
2.3.2預定義常量 28
2.4PHP的變數套用 29
2.4.1變數聲明及使用 30
2.4.2變數作用域 31
2.4.3可變變數 33
2.4.4預定義變數 33
2.4.5變數的生存周期 34
2.5PHP運算符 34
2.5.1算術運算符 34
2.5.2字元串運算符 35
2.5.3賦值運算符 36
2.5.4遞增或遞減運算符 36
2.5.5位運算符 37
2.5.6邏輯運算符 38
2.5.7比較運算符 39
2.5.8條件運算符 40
2.5.9運算符的優先順序和結合規則 40
2.6PHP函式 41
2.6.1定義和調用函式 41
2.6.2在函式間傳遞參數 41
2.6.3從函式中返回值 43
2.6.4變數函式 43
2.6.5對函式的引用 44
2.6.6取消引用 44
2.7輸出語句 45
2.7.1套用print語句輸出字元 45
2.7.2套用echo語句輸出字元 46
2.7.3套用printf語句格式化輸出字元 47
2.7.4套用sprintf語句格式化輸出字元 48
2.8引用檔案 49
2.8.1套用include語句引用檔案 49
2.8.2套用require語句引用檔案 49
2.8.3套用include_once語句引用檔案 50
2.8.4套用require_once語句引用檔案 51
2.8.5include語句和require語句的區別 51
2.8.6include_once語句和require_once語句的
區別 52
2.9實戰 52
2.9.1判斷閏年的方法 52
2.9.2通過自定義函式防止新聞主題信息出現
中文亂碼 53
2.9.3套用include語句構建線上音樂網站
主頁 54
2.9.4隨機組合生日祝福語 56
2.9.5加法計算器 56
2.10小結 57
2.11學習成果檢驗 57
第3章PHP流程控制語句 58
視頻講解:54分鐘
3.1控制結構 59
3.2條件控制語句 60
3.2.1if條件控制語句 60
3.2.2switch...case分支控制語句 63
3.3循環控制語句 64
3.3.1while循環語句 64
3.3.2do...while循環語句 65
3.3.3for循環語句 66
3.3.4foreach循環 67
3.4跳轉控制語句 68
3.4.1使用break語句跳出循環 68
3.4.2使用continue語句跳出循環 70
3.5實戰 71
3.5.1執行指定次數的循環 71
3.5.2跳過數據輸出中指定的記錄 72
3.5.3控制頁面中數據的輸出數量 73
3.5.4動態改變頁面中單元格的背景顏色 73
3.5.5使用for循環動態創建表格 74
3.6小結 74
3.7學習成果檢驗 75
第4章字元串操作與正則表達式 76
視頻講解:92分鐘
4.1了解字元串 77
4.2單引號與雙引號 77
4.3定界符 78
4.4連線字元串 80
4.5轉義、還原字元串 80
4.5.1手動轉義、還原字元串 80
4.5.2自動轉義、還原字元串 81
4.6獲取字元串長度 82
4.7截取字元串 84
4.8比較字元串 85
4.8.1按位元組比較 85
4.8.2按自然排序法比較 86
4.8.3指定從源字元串的位置比較 87
4.9檢索字元串 87
4.9.1使用strstr()函式檢索指定的關鍵字 87
4.9.2套用substr_count()函式檢索子串出現的
次數 88
4.10替換字元串 89
4.11什麼是正則表達式 91
4.12正則表達式語法規則 91
4.12.1行定位符(^和$) 91
4.12.2字元類([]) 92
4.12.3選擇字元(|) 92
4.12.4連字元(-) 92
4.12.5排除字元([^]) 93
4.12.6限定符(?*+{n,m}) 93
4.12.7點字元(.) 93
4.12.8反斜槓(\) 94
4.12.9反向引用 95
4.13POSIX擴展正則表達式函式 95
4.13.1替換字元串 95
4.13.2分割字元串 95
4.14PCRE兼容正則表達式函式 96
4.14.1查找字元串 96
4.14.2替換字元串 96
4.15實戰 97
4.15.1超長文本的分頁顯示 97
4.15.2控制頁面中輸出字元串的長度 99
4.15.3正則無刷新用戶註冊 100
4.15.4計算密碼長度 102
4.15.5去除用戶填寫註冊信息中的空格 103
4.16小結 104
4.17學習成果檢驗 104
第5章初探數組 105
視頻講解:146分鐘
5.1什麼是數組 106
5.2聲明數組 106
5.2.1數組命名規則 106
5.2.2通過PHP函式創建數組 107
5.2.3通過數組標識符"[]"創建數組 108
5.3數組的類型 108
5.3.1數字索引數組 109
5.3.2關聯數組 109
5.4輸出數組 109
5.5數組的構造 110
5.5.1創建一維數組 110
5.5.2創建二維數組 111
5.6遍歷數組 111
5.6.1foreach結構遍歷數組 112
5.6.2list()函式遍歷數組 112
5.6.3for語句遍歷數組 113
5.7PHP全局數組 114
5.7.1$_SERVER[]全局數組 114
5.7.2$_GET[]和$_POST[]全局數組 115
5.7.3$_COOKIE全局數組 115
5.7.4$_ENV[]全局數組 116
5.7.5$_REQUEST[]全局數組 116
5.7.6$_SESSION[]全局數組 116
5.7.7$_FILES[]全局數組 116
5.8PHP的數組函式 117
5.8.1統計數組元素個數 117
5.8.2向數組中添加元素 117
5.8.3獲取數組中最後一個元素 118
5.8.4刪除數組中重複元素 118
5.8.5獲取數組中指定元素的鍵名 119
5.9實戰 120
5.9.1獲取上傳檔案的數據 120
5.9.2投票管理系統 120
5.9.3獲取用戶註冊信息 121
5.9.4車牌搖號 122
5.9.5向數組中添加元素 122
5.10小結 122
5.11學習成果檢驗 123
第6章日期和時間的管理 124
視頻講解:43分鐘
6.1PHP的時間概念 125
6.1.1在php.ini檔案中設定時區 125
6.1.2通過date_default_timezone_set函式設定
時區 125
6.2時間戳 126
6.2.1什麼是時間戳 126
6.2.2UNIX時間戳 126
6.2.3獲取指定日期的時間戳 127
6.2.4獲取當前時間戳 127
6.2.5將英文文本的日期時間描述解析為UNIX
時間戳 128
6.3PHP日期和時間的處理 129
6.3.1格式化日期和時間 129
6.3.2獲取日期和時間信息 130
6.3.3獲取本地化的日期和時間 131
6.3.4檢驗日期和時間的有效性 133
6.4實戰 134
6.4.1實現倒計時的功能 134
6.4.2計算線上考試用時和剩餘時間 135
6.4.3網頁鬧鐘 138
6.4.4檢驗日期和時間的有效性 138
6.4.5獲取指定時間的UNIX時間戳 139
6.5小結 139
6.6學習成果檢驗 139
第7章程式調試與異常處理 140
視頻講解:72分鐘
7.1程式基本調試流程 141
7.2PHP中的錯誤類型 141
7.2.1語法錯誤 142
7.2.2語義錯誤 143
7.2.3邏輯錯誤 143
7.2.4注釋錯誤 144
7.2.5運行錯誤 144
7.3PHP錯誤的調試 145
7.3.1PHP的錯誤報告 145
7.3.2啟動錯誤報告 145
7.3.3使用print語句調試程式 145
7.3.4套用@前綴字元禁止PHP腳本錯誤
提示 146
7.3.5使用錯誤處理器記錄日誌 147
7.4SQL錯誤的調試 148
7.4.1PHP與MySQL連線錯誤 148
7.4.2SQL語句錯誤 148
7.5實戰 150
7.5.1運行缺少第三方組件的程式 150
7.5.2通過readfile()函式訪問遠程檔案 150
7.5.3解決資料庫亂碼問題 151
7.5.4封裝異常處理類 152
7.5.5解決程式的語法錯誤 153
7.6小結 153
7.7學習成果檢驗 154
第8章綜合實例(一)--線上論壇 155
視頻講解:25分鐘
8.1系統設計思路 156
8.1.1程式業務流程 156
8.1.2系統預覽 156
8.2資料庫設計 157
8.2.1資料庫概要說明 157
8.2.2資料庫概念設計 157
8.2.3資料庫邏輯設計 158
8.3用戶註冊模組設計 159
8.3.1用戶註冊模組概述 159
8.3.2JavaScript腳本和include()包含語句 160
8.3.3用戶註冊模組的實現過程 161
8.4用戶登錄模組設計 163
8.4.1用戶登錄模組概述 163
8.4.2通過JavaScript腳本判斷用戶名和密碼
是否為空 163
8.4.3用戶登錄模組的實現過程 164
8.5帖子分類管理模組設計 165
8.5.1帖子分類管理模組概述 165
8.5.2使用SQL語句查詢數據技術 165
8.5.3帖子分類管理模組的實現過程 166
8.6發帖模組設計 168
8.6.1發帖模組概述 168
8.6.2while循環語句技術 168
8.6.3發帖模組的實現過程 169
8.7回帖模組設計 170
8.7.1回帖模組概述 170
8.7.2mysql函式處理技術 170
8.7.3回帖模組的實現過程 170
8.8後台管理模組設計 172
8.8.1後台管理模組概述 172
8.8.2URL編碼和SWITCH框架技術 172
8.8.3後台主頁的實現過程 172
8.8.4欄目管理模組的實現過程 174
8.9小結 176
第2篇初級開發
第9章MySQL資料庫 178
視頻講解:37分鐘
9.1MySQL簡介 179
9.1.1什麼是MySQL 179
9.1.2MySQL的特點 179
9.1.3MySQL5支持的特性 180
9.2MySQL下載 180
9.3MySQL的環境安裝 182
9.4啟動、連線、斷開和停止MySQL
伺服器 186
9.4.1啟動MySQL伺服器 186
9.4.2連線和斷開MySQL伺服器 186
9.4.3停止MySQL伺服器 187
9.5phpMyAdmin圖形化管理工具 188
9.5.1資料庫操作管理 188
9.5.2管理數據表 189
9.5.3管理數據記錄 190
9.5.4導入導出數據 193
9.5.5phpMyAdmin設定編碼格式 194
9.5.6phpMyAdmin添加伺服器新用戶 194
9.5.7phpMyAdmin中重置MySQL伺服器登錄
密碼 195
9.6小結 196
9.7學習成果檢驗 196
第10章MySQL存儲引擎與運算符 197
視頻講解:33分鐘
10.1MySQL存儲引擎 198
10.1.1什麼是MySQL存儲引擎 198
10.1.2查詢MySQL中支持的存儲引擎 198
10.1.3InnoDB存儲引擎 199
10.1.4MyISAM存儲引擎 200
10.1.5MEMORY存儲引擎 200
10.1.6如何選擇存儲引擎 201
10.1.7設定數據表的存儲引擎 202
10.2MySQL數據類型 203
10.2.1數字類型 203
10.2.2字元串類型 204
10.2.3日期和時間數據類型 205
10.3MySQL運算符 205
10.3.1算術運算符 206
10.3.2比較運算符 206
10.3.3邏輯運算符 209
10.3.4位運算符 211
10.3.5運算符的優先權 211
10.4實戰 212
10.4.1查看存儲引擎和創建資料庫 212
10.4.2位運算的比較 212
10.4.3邏輯運算的使用 213
10.4.4浮點數類型 213
10.5小結 213
10.6學習成果檢驗 213
第11章MySQL函式之選 214
視頻講解:26分鐘
11.1MySQL函式 215
11.2數學函式 215
11.2.1ABS(x)函式 216
11.2.2FLOOR(x)函式 216
11.2.3RAND()函式 217
11.2.4PI()函式 217
11.2.5TRUNCATE(x,y)函式 217
11.2.6ROUND(x)函式和ROUND(x,y)函式 217
11.2.7SQRT(x)函式 218
11.3字元串函式 218
11.3.1INSERT(s1,x,len,s2)函式 219
11.3.2UPPER(s)、UCASE(s)函式 219
11.3.3LEFT(s,n)函式 220
11.3.4RTRIM(s)函式 220
11.3.5SUBSTRING(s,n,len)函式 220
11.3.6REVERSE(s)函式 220
11.3.7FIELD(s,s1,s2,...)函式 221
11.4日期和時間函式 221
11.4.1CURDATE()函式和CURRENT_DATE()
函式 222
11.4.2CURTIME()函式和CURRENT_TIME()
函式 222
11.4.3NOW()函式 223
11.4.4DATEDIFF(d1,d2)函式 223
11.4.5ADDDATE(d,n)函式 223
11.4.6ADDDATE(d,INTERVALexprtype)
函式 224
11.4.7SUBDATE(d,n)函式 224
11.5條件判斷函式 224
11.6系統信息函式 225
11.6.1獲取MySQL版本號、連線數和資料庫名
的函式 225
11.6.2獲取用戶名的函式 225
11.6.3獲取字元串的字元集和排序方式的
函式 226
11.7加密函式 226
11.7.1加密函式PASSWORD(str) 227
11.7.2加密函式MD5(str) 227
11.8其他函式 227
11.8.1格式化函式FORMAT(x,n) 228
11.8.2改變字元集的函式 228
11.8.3改變欄位數據類型的函式 229
11.9實戰 229
11.9.1字元串函式的使用 229
11.9.2查看當前資料庫版本號 229
11.9.3生成3個1~100之間的隨機整數 230
11.9.4數字函式的使用 230
11.9.5加密函式的使用 230
11.10小結 230
11.11學習成果檢驗 231
第12章MySQL基本操作 232
視頻講解:37分鐘
12.1MySQL資料庫操作 233
12.1.1創建資料庫CREATEDATABASE 233
12.1.2查看資料庫SHOWDATABASES 233
12.1.3選擇資料庫USEDATABASE 233
12.1.4刪除資料庫DROPDATABASE 234
12.2MySQL數據表操作 234
12.2.1創建數據表CREATETABLE 234
12.2.2查看錶結構SHOWCOLUMNS
或DESCRIBE 235
12.2.3修改表結構ALTERTABLE 236
12.2.4重命名表RENAMETABLE 237
12.2.5刪除表DROPTABLE 237
12.3MySQL語句操作 237
12.3.1插入記錄INSERT 238
12.3.2查詢資料庫記錄SELECT 238
12.3.3修改記錄UPDATE 241
12.3.4刪除記錄DELETE 241
12.4實戰 242
12.4.1操作teacher表 242
12.4.2登錄資料庫系統 242
12.4.3讀取MySQL資料庫中數據
(PHP語言) 243
12.4.4備份和恢復MySQL資料庫
(Java語言) 244
12.4.5查看錶詳細結構語句SHOWCREATE
TABLE 245
12.5小結 245
12.6學習成果檢驗 246
第13章MySQL數據查詢 247
視頻講解:60分鐘
13.1基本查詢語句 248
13.2單表查詢 248
13.2.1查詢所有欄位 249
13.2.2查詢指定欄位 249
13.2.3查詢指定數據 249
13.2.4帶IN關鍵字的查詢 250
13.2.5帶BETWEENAND的範圍查詢 250
13.2.6帶LIKE的字元匹配查詢 250
13.2.7用ISNULL關鍵字查詢空值 251
13.2.8帶AND的多條件查詢 251
13.2.9帶OR的多條件查詢 252
13.2.10用DISTINCT關鍵字去除結果中的
重複行 252
13.2.11用ORDERBY關鍵字對查詢結果
排序 252
13.2.12用GROUPBY關鍵字分組查詢 253
13.2.13用LIMIT限制查詢結果的數量 254
13.3聚合函式查詢 254
13.3.1COUNT()函式 255
13.3.2SUM()函式 255
13.3.3AVG()函式 255
13.3.4MAX()函式 255
13.3.5MIN()函式 256
13.4連線查詢 256
13.4.1內連線查詢 256
13.4.2外連線查詢 257
13.4.3複合條件連線查詢 258
13.5子查詢 258
13.5.1帶IN關鍵字的子查詢 258
13.5.2帶比較運算符的子查詢 259
13.5.3帶EXISTS關鍵字的子查詢 260
13.5.4帶ANY關鍵字的子查詢 260
13.5.5帶ALL關鍵字的子查詢 261
13.6合併查詢結果 262
13.7定義表和欄位的別名 263
13.7.1為表取別名 263
13.7.2為欄位取別名 263
13.8使用正則表達式查詢 263
13.8.1匹配指定字元中的任意一個 264
13.8.2使用"*"和"+"來匹配多個字元 265
13.9實戰 265
13.9.1使用聚合函式SUM對學生成績進行
匯總 265
13.9.2查詢大於指定條件的記錄 266
13.9.3使用比較運算符進行子查詢 267
13.9.4GROUPBY與HAVING關鍵字 267
13.9.5用符號"."來替代字元串中的任意一個
字元 267
13.10小結 268
13.11學習成果檢驗 268
第14章綜合實例(二)--留言本 269
視頻講解:35分鐘
14.1留言本概述 270
14.2系統分析流程 270
14.2.1程式業務流程 270
14.2.2系統預覽 270
14.3資料庫設計 271
14.3.1資料庫概要說明 271
14.3.2資料庫概念設計 272
14.3.3資料庫邏輯設計 272
14.4公共模組設計 274
14.4.1資料庫連線檔案 274
14.4.2將文本中的字元轉換為HTML
標識符 274
14.4.3JavaScript腳本 275
14.5首頁模組設計 276
14.5.1首頁設計概述 276
14.5.2switch和include語句 277
14.5.3首頁實現過程 278
14.6用戶註冊模組設計 279
14.6.1用戶註冊模組概述 279
14.6.2JavaScript腳本驗證表單元素 279
14.6.3用戶註冊模組實現過程 281
14.7添加留言模組設計 282
14.7.1添加留言模組概述 282
14.7.2mysql_query()函式執行SQL語句 282
14.7.3添加留言模組實現過程 282
14.8查看留言模組設計 283
14.8.1查看留言模組概述 283
14.8.2驗證數據類型與取整 283
14.8.3查看留言模組實現過程 284
14.9編輯留言模組設計 286
14.9.1編輯留言模組概述 286
14.9.2JavaScript腳本控制彈出對話框 286
14.9.3編輯留言模組實現過程 287
14.10查詢留言模組設計 287
14.10.1查詢留言模組概述 287
14.10.2通過mysql_fetch_array()函式返回
結果集 288
14.10.3查詢留言模組實現過程 288
14.11版主模組設計 289
14.11.1版主模組概述 289
14.11.2驗證登錄用戶是否是版主 289
14.11.3版主管理模組實現過程 290
14.12小結 291
第3篇中級開發
第15章MySQL存儲過程和函式 294
視頻講解:32分鐘
15.1創建存儲過程和存儲函式 295
15.1.1創建存儲過程 295
15.1.2創建存儲函式 296
15.1.3變數的套用 297
15.1.4游標的運用 299
15.2流程控制語句 300
15.2.1IF語句 300
15.2.2CASE語句 301
15.2.3WHILE循環語句 302
15.2.4LOOP循環語句 303
15.2.5REPEAT循環語句 304
15.3調用存儲過程和存儲函式 305
15.3.1調用存儲過程 305
15.3.2調用存儲函式 305
15.4查看存儲過程和函式 305
15.4.1SHOWSTATUS語句 305
15.4.2SHOWCREATE語句 306
15.5修改存儲過程和函式 306
15.6刪除存儲過程和函式 307
15.7捕獲存儲過程中的錯誤 308
15.7.1定義條件 308
15.7.2定義處理程式 308
15.8實戰 309
15.8.1使用存儲過程實現用戶註冊(PHP) 309
15.8.2修改存儲函式 310
15.8.3從information_schema.Routines表中
查看存儲過程 310
15.9小結 311
15.10學習成果檢驗 311
第16章MySQL事務 312
視頻講解:14分鐘
16.1MySQL事務概述 313
16.1.1原子性 313
16.1.2一致性 314
16.1.3孤立性 314
16.1.4持久性 314
16.2MySQL事務的創建與存在周期 314
16.2.1初始化事務 315
16.2.2創建事務 315
16.2.3套用SELECT語句查看數據是否被
正確輸入 316
16.2.4提交事務 316
16.2.5撤銷事務(事務回滾) 316
16.2.6事務的存在周期 317
16.3MySQL行為 317
16.3.1自動提交 317
16.3.2事務的孤立級 318
16.3.3修改事務的孤立級 319
16.4事務和性能 319
16.4.1套用小事務 319
16.4.2選擇合適的孤立級 319
16.4.3死鎖的概念與避免 320
16.5MySQL偽事務 320
16.5.1用表鎖定代替事務 320
16.5.2套用表鎖實現偽事務 322
16.6實戰 322
16.6.1使用事務處理技術實現銀行的安全
轉賬(PHP) 322
16.6.2批處理中使用事務(Java) 323
16.7小結 324
16.8學習成果檢驗 324
第17章觸發器 325
視頻講解:21分鐘
17.1MySQL觸發器 326
17.1.1創建MySQL觸發器 326
17.1.2創建具有多個執行語句的觸發器 327
17.2查看觸發器 328
17.2.1SHOWTRIGGERS 328
17.2.2查看triggers表中觸發器信息 328
17.3套用觸發器 329
17.4刪除觸發器 330
17.5實戰 330
17.5.1創建一個由INSERT觸發的觸發器 330
17.5.2獲取資料庫中的觸發器 331
17.5.3使用DROPTIRGGER刪除觸發器 332
17.6小結 332
17.7學習成果檢驗 332
第18章綜合實例(三)--物流管理
系統 333
視頻講解:83分鐘
18.1物流管理系統概述 334
18.2系統分析流程 334
18.2.1需求分析 334
18.2.2可行性分析 334
18.3系統設計流程 335