本書較系統(tǒng)地介紹了軟件技術(shù)的基礎(chǔ)知識和基本理論,內(nèi)容包括軟件技術(shù)的概念及發(fā)展歷史、軟件行業(yè)的發(fā)展現(xiàn)狀及發(fā)展前景等;軟件工程的概念及誕生背景、軟件生命周期、需求工程、軟件開發(fā)模型、軟件測試等;統(tǒng)一建模語言(UML)的介紹及發(fā)展歷程、UML模型、UML圖、UML關(guān)系及UML應(yīng)用等;數(shù)據(jù)結(jié)構(gòu)的概念、常見的數(shù)據(jù)結(jié)構(gòu)、算法、線性表、棧和隊列、樹與二叉樹、圖、查找、排序等;目前主流開發(fā)語言的介紹、發(fā)展歷史、特點、環(huán)境配置、代碼展示等;數(shù)據(jù)庫技術(shù)的起源與發(fā)展及特點、SQL語言簡介、常用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)、常用非關(guān)系型數(shù)據(jù)庫管理系統(tǒng)及國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)等;新信息技術(shù)概述及新信息技術(shù)編程語言等。
劉曉洪(1978.7—),男,教授,2002年7月重慶師范大學(xué)本科畢業(yè),2008年12月在職研究生畢業(yè)。2002年7月參加工作,長期從事教育信息化建設(shè)與管理以及教學(xué)工作。
第1章 緒論 1
1.1 軟件技術(shù)概述 2
1.1.1 軟件技術(shù)的概念 2
1.1.2 軟件技術(shù)的發(fā)展歷史 2
1.2 軟件行業(yè)的發(fā)展現(xiàn)狀及發(fā)展前景 3
1.2.1 軟件行業(yè)的發(fā)展現(xiàn)狀 3
1.2.2 軟件行業(yè)的發(fā)展前景 4
1.3 軟件技術(shù)人員主要面向崗位的工作場景 5
第2章 軟件工程 10
2.1 軟件工程概述 11
2.1.1 軟件工程的概念 11
2.1.2 軟件工程的誕生背景 12
2.2 軟件生命周期 12
2.2.1 系統(tǒng)規(guī)劃階段 13
2.2.2 系統(tǒng)開發(fā)階段 13
2.2.3 系統(tǒng)運維階段 14
2.2.4 系統(tǒng)更新階段 15
2.3 需求工程 15
2.3.1 需求工程概述 15
2.3.2 需求分析概述 17
2.3.3 需求分析方法 18
2.3.4 需求分析工具 19
2.4 軟件開發(fā)模型 24
2.4.1 瀑布模型 24
2.4.2 原型模型 25
2.4.3 螺旋模型 27
2.4.4 演化模型 28
2.4.5 噴泉模型 29
2.4.6 V模型 30
2.4.7 敏捷開發(fā) 31
2.5 軟件測試 32
2.5.1 Bug的由來 32
2.5.2 軟件測試概述 32
2.5.3 軟件測試方法 33
2.5.4 軟件測試分類 34
2.5.5 軟件測試流程 35
2.5.6 軟件測試工具 36
第3章 統(tǒng)一建模語言 48
3.1 UML概述 49
3.2 UML模型 50
3.3 UML圖 50
3.4 UML關(guān)系 52
3.5 UML與軟件工程 52
3.6 UML應(yīng)用領(lǐng)域 53
第4章 數(shù)據(jù)結(jié)構(gòu)與算法 57
4.1 數(shù)據(jù)結(jié)構(gòu)的概念 58
4.2 常見的數(shù)據(jù)結(jié)構(gòu) 58
4.2.1 數(shù)據(jù)的邏輯結(jié)構(gòu) 59
4.2.2 數(shù)據(jù)的存儲結(jié)構(gòu) 59
4.3 算法 60
4.3.1 算法的定義 60
4.3.2 算法的表示 60
4.3.3 算法的性能分析與度量 60
4.4 線性表 61
4.4.1 線性表的定義 61
4.4.2 線性表的存儲與實現(xiàn) 62
4.5 棧和隊列 65
4.5.1 棧 65
4.5.2 隊列 67
4.6 樹與二叉樹 68
4.6.1 樹 68
4.6.2 二叉樹 70
4.7 圖 75
4.7.1 圖的基本概念 75
4.7.2 圖的遍歷 77
4.7.3 圖的應(yīng)用 78
?
4.8 查找 81
4.8.1 查找的定義 81
4.8.2 常用查找方法 81
4.9 排序 83
4.9.1 排序的定義 83
4.9.2 常用排序方法 84
第5章 軟件開發(fā)語言 90
5.1 Java語言 91
5.1.1 Java語言簡介 91
5.1.2 Java語言的發(fā)展歷史 91
5.1.3 Java語言的特點 92
5.1.4 Java環(huán)境配置 94
5.1.5 Java代碼展示 103
5.2 C語言 103
5.2.1 C語言介紹 104
5.2.2 C語言的發(fā)展歷史 105
5.2.3 C語言的特點 105
5.2.4 C環(huán)境配置 106
5.2.5 C代碼展示 110
5.3 C++語言 111
5.3.1 C++語言介紹 111
5.3.2 C++語言的發(fā)展歷史 112
5.3.3 C++語言的特點 113
5.3.4 C++環(huán)境配置 114
5.3.5 C++代碼展示 119
5.4 C#語言 120
5.4.1 C#語言介紹 120
5.4.2 C#語言的發(fā)展歷史 121
5.4.3 C#語言的特點 122
5.4.4 C#環(huán)境配置 122
5.4.5 C#代碼展示 125
5.5 Python語言 127
5.5.1 Python語言介紹 127
5.5.2 Python語言的發(fā)展歷史 128
5.5.3 Python語言的特點 129
5.5.4 Python環(huán)境配置 129
5.5.5 Python代碼展示 136
5.6 PHP語言 137
5.6.1 PHP語言簡介 137
5.6.2 PHP語言的發(fā)展歷史 138
5.6.3 PHP語言的特點 138
5.6.4 PHP環(huán)境配置 139
5.6.5 PHP代碼展示 144
5.7 HTML、JavaScript、CSS語言 144
5.7.1 HTML、JavaScript、CSS語言介紹 144
5.7.2 HTML、JavaScript、CSS語言的發(fā)展歷史 146
5.7.3 HTML、JavaScript、CSS語言的特點 148
5.7.4 HTML、JavaScript、CSS環(huán)境配置 149
5.7.5 HTML、JavaScript、CSS代碼展示 154
第6章 數(shù)據(jù)庫技術(shù) 161
6.1 數(shù)據(jù)庫技術(shù)概述 162
6.1.1 數(shù)據(jù)庫技術(shù)的起源與發(fā)展 162
6.1.2 數(shù)據(jù)庫技術(shù)的特點 164
6.2 SQL語言簡介 165
6.3 常用關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 165
6.3.1 SQL Server數(shù)據(jù)庫 166
6.3.2 MySQL數(shù)據(jù)庫 178
6.3.3 Oracle數(shù)據(jù)庫 181
6.4 常用非關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 192
6.4.1 MongoDB數(shù)據(jù)庫 192
6.4.2 Redis數(shù)據(jù)庫 195
6.5 國產(chǎn)數(shù)據(jù)庫管理系統(tǒng) 198
6.5.1 達夢數(shù)據(jù)庫 198
6.5.2 OpenBASE數(shù)據(jù)庫 199
6.5.3 openGauss數(shù)據(jù)庫 199
6.5.4 KingbaseES數(shù)據(jù)庫 199
第7章 新信息技術(shù) 203
7.1 大數(shù)據(jù) 204
7.1.1 大數(shù)據(jù)概述 204
7.1.2 大數(shù)據(jù)編程語言 206
7.2 人工智能 207
7.2.1 人工智能概述 207
7.2.2 人工智能編程語言 209
?
7.3 云計算 211
7.3.1 云計算概述 211
7.3.2 云計算編程語言 214
7.4 物聯(lián)網(wǎng) 214
7.4.1 物聯(lián)網(wǎng)概述 214
7.4.2 物聯(lián)網(wǎng)編程語言 216
7.5 區(qū)塊鏈 217
7.5.1 區(qū)塊鏈概述 217
7.5.2 區(qū)塊鏈編程語言 219
附錄A 習(xí)題參考答案 225