本書首先從數(shù)、信息談到計(jì)算基礎(chǔ)、計(jì)算工具、計(jì)算思維,這部分內(nèi)容其他軟件工程導(dǎo)論書一般不涉及,卻是軟件開發(fā)的基礎(chǔ)知識(shí)、基本理論,是軟件工程本質(zhì)性知識(shí),從根源上理解軟件工程很重要;其次是從程序、軟件到軟件工程,循序漸進(jìn)講解軟件工程的發(fā)生、發(fā)展、作用,是全書的核心;第三是從軟件知識(shí)體系和軟件行業(yè)對軟件人才的需求,定位到軟件人才的培養(yǎng)教育,為大家今后學(xué)習(xí)、工作指明方向。
更多科學(xué)出版社服務(wù),請掃碼獲取。
目錄
第1章 啟蒙 1
1.1 數(shù)的起源與發(fā)展 2
1.1.1 數(shù)的觀念的產(chǎn)生 2
1.1.2 數(shù)的歷史 3
1.1.3 數(shù)與量 5
1.2 計(jì)算與計(jì)算工具 7
1.2.1 計(jì)算場景 7
1.2.2 計(jì)算規(guī)則 7
1.2.3 古代計(jì)算工具 8
1.2.4 現(xiàn)代計(jì)算機(jī) 13
1.3 信息 15
1.3.1 信息的概念 16
1.3.2 信息的特征 16
1.3.3 對信息的認(rèn)知 17
1.3.4 信息論 18
1.4 信息技術(shù) 19
1.4.1 信息技術(shù)的概念 19
1.4.2 信息技術(shù)的產(chǎn)生 19
1.4.3 信息技術(shù)的分類 20
1.4.4 現(xiàn)代信息技術(shù)分代 21
1.4.5 信息技術(shù)的發(fā)展 24
1.5 本章小結(jié) 25
思考練習(xí)題 25
第2章 計(jì)算基礎(chǔ) 27
2.1 計(jì)算的本質(zhì) 27
2.1.1 抽象模型 27
2.1.2 計(jì)算機(jī)的計(jì)算 28
2.1.3 計(jì)算特征 28
2.2 數(shù)的進(jìn)制 29
2.2.1 數(shù)與數(shù)制 29
2.2.2 數(shù)制的表示 30
2.2.3 數(shù)制間的轉(zhuǎn)換 30
2.2.4 常用進(jìn)制的轉(zhuǎn)換 32
2.3 數(shù)據(jù)的表示 34
2.3.1 萬物皆數(shù) 35
2.3.2 位與字節(jié) 35
2.3.3 數(shù)的表示原則 36
2.4 整數(shù)的表示 36
2.4.1 機(jī)器數(shù)的表示 36
2.4.2 二進(jìn)制運(yùn)算 38
2.4.3 整數(shù)的算術(shù)運(yùn)算 39
2.4.4 補(bǔ)碼原理 43
2.5 實(shí)數(shù)的表示 46
2.5.1 浮點(diǎn)數(shù)概述 46
2.5.2 浮點(diǎn)數(shù)存儲(chǔ)格式 47
2.5.3 浮點(diǎn)數(shù)的取值范圍 50
2.5.4 浮點(diǎn)數(shù)的有效位數(shù) 50
2.5.5 浮點(diǎn)數(shù)的運(yùn)算 51
2.6 信息的表示 52
2.6.1 信息表示概述 52
2.6.2 字符的表示 53
2.6.3 漢字的表示 54
2.6.4 聲音的表示 56
2.6.5 圖像和視覺表示 57
2.6.6 信息表示的三種狀態(tài) 57
2.7 本章小結(jié) 58
思考練習(xí)題 58
第3章 計(jì)算思維 60
3.1 思維與工具的相互作用 60
3.1.1 人類思維的發(fā)展 60
3.1.2 工具對思維的影響 61
3.2 計(jì)算思維的起源與發(fā)展 61
3.2.1 計(jì)算工具的影響 61
3.2.2 計(jì)算思維的概念 62
3.2.3 計(jì)算思維的核心 62
3.2.4 計(jì)算思維的特征 63
3.2.5 計(jì)算思維的發(fā)展 64
3.3 計(jì)算思維的問題求解 65
3.3.1 問題的求解 65
3.3.2 面向計(jì)算的抽象 65
3.3.3 求解方案算法化 66
3.3.4 算法設(shè)計(jì)策略 66
3.3.5 算法執(zhí)行工程化 73
3.4 計(jì)算思維應(yīng)用案例 74
3.4.1 案例問題描述 74
3.4.2 非計(jì)算思維問題的求解 75
3.4.3 計(jì)算思維問題的求解 75
3.5 本章小結(jié) 76
思考練習(xí)題 76
第4章 程序設(shè)計(jì) 78
4.1 機(jī)器語言 78
4.1.1 機(jī)器指令 78
4.1.2 指令系統(tǒng) 79
4.1.3 機(jī)器語言程序 80
4.2 匯編語言 80
4.2.1 匯編語言介紹 80
4.2.2 匯編程序 81
4.2.3 匯編語言編程 81
4.3 高級(jí)語言 85
4.3.1 高級(jí)語言基本概念 85
4.3.2 高級(jí)語言分類 85
4.3.3 主流語言簡介 88
4.3.4 最新語言介紹 92
4.4 程序設(shè)計(jì)介紹 94
4.4.1 程序設(shè)計(jì)簡介 94
4.4.2 程序基本結(jié)構(gòu) 94
4.4.3 程序設(shè)計(jì)思想 96
4.5 程序設(shè)計(jì)的發(fā)展 98
4.5.1 編程語言發(fā)展 98
4.5.2 編程的工程化發(fā)展 100
4.5.3 編程的其他發(fā)展 100
4.6 編程學(xué)習(xí)之路 102
4.6.1 將想法變?yōu)樗惴ǖ哪芰?102
4.6.2 自我學(xué)習(xí)能力 103
4.6.3 提升邏輯思維能力 103
4.6.4 應(yīng)用程序?qū)崿F(xiàn)目標(biāo) 103
4.6.5 培養(yǎng)有趣的業(yè)余愛好 103
4.7 本章小結(jié) 104
思考練習(xí)題 104
第5章 軟件工程 105
5.1 軟件概述與發(fā)展 105
5.1.1 軟件的概念 105
5.1.2 軟件發(fā)展歷史 106
5.1.3 軟件生命周期 106
5.2 軟件危機(jī)與工程 107
5.2.1 軟件危機(jī)的原因與表現(xiàn) 107
5.2.2 軟件危機(jī)案例 108
5.2.3 軟件工程的由來 109
5.2.4 軟件工程的含義 109
5.2.5 軟件工程的發(fā)展 110
5.3 軟件開發(fā)過程 113
5.3.1 需求分析 113
5.3.2 軟件設(shè)計(jì) 113
5.3.3 軟件構(gòu)造 114
5.3.4 軟件測試 115
5.4 軟件過程模型 115
5.4.1 瀑布模型 115
5.4.2 快速原型模型 116
5.4.3 增量模型 117
5.4.4 螺旋模型 118
5.4.5 統(tǒng)一軟件開發(fā)過程 119
5.4.6 敏捷軟件開發(fā) 120
5.5 軟件開發(fā)方法 121
5.5.1 開發(fā)方法的變化 121
5.5.2 結(jié)構(gòu)化系統(tǒng)分析和設(shè)計(jì)方法 122
5.5.3 面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法 122
5.5.4 基于構(gòu)件的方法 123
5.5.5 面向服務(wù)的軟件開發(fā)方法 123
5.6 軟件工程管理 124
5.6.1 軟件項(xiàng)目規(guī)劃 124
5.6.2 項(xiàng)目團(tuán)隊(duì)管理 125
5.6.3 項(xiàng)目溝通管理 126
5.6.4 能力成熟度模型 127
5.6.5 能力成熟度模型集成 127
5.7 本章小結(jié) 128
思考練習(xí)題 129
第6章 軟件人才與教育 130
6.1 軟件產(chǎn)業(yè) 130
6.1.1 軟件類型與領(lǐng)域 130
6.1.2 軟件產(chǎn)業(yè)發(fā)展歷史 133
6.1.3 中國軟件產(chǎn)業(yè) 135
6.2 軟件人才 136
6.2.1 軟件職業(yè)的發(fā)展 136
6.2.2 軟件人才評(píng)價(jià) 137
6.2.3 軟件人才的技能 138
6.2.4 軟件人才需求 139
6.3 軟件工程教育 140
6.3.1 軟件工程知識(shí)體系 140
6.3.2 軟件工程教育發(fā)展歷程 144
6.3.3 軟件工程與計(jì)算機(jī)科學(xué)教育 144
6.3.4 軟件工程教育的特點(diǎn) 144
6.4 本章小結(jié) 145
思考練習(xí)題 145
參考文獻(xiàn) 147