計算機程序員教程

-
【作 者】主編 李學(xué)國 任小平
【I S B N 】978-7-5226-3451-7
【責(zé)任編輯】鞠向超
【適用讀者群】本專通用
【出版時間】2025-09-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】324
【千字?jǐn)?shù)】584
【印 張】20.25
【定 價】¥59
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書依據(jù)《計算機程序設(shè)計員國家職業(yè)技能標(biāo)準(zhǔn)》(2022年版),結(jié)合最新的行業(yè)技術(shù)編寫而成。根據(jù)軟件開發(fā)的項目周期及其需要掌握的基礎(chǔ)知識,本書共分為4部分:第1部分為軟件工程,包括軟件工程基礎(chǔ)知識、軟件系統(tǒng)需求分析和開發(fā)文檔的識讀與編寫;第2部分為必須掌握的計算機基礎(chǔ)知識,包括計算機基礎(chǔ)與體系結(jié)構(gòu)、操作系統(tǒng)原理與技術(shù)和計算機網(wǎng)絡(luò);第3部分為實際的軟件設(shè)計,包括基本應(yīng)用程序開發(fā)、算法設(shè)計基礎(chǔ)、數(shù)據(jù)庫設(shè)計、桌面程序設(shè)計、網(wǎng)頁程序設(shè)計和網(wǎng)絡(luò)應(yīng)用程序開發(fā);第4部分為軟件測試,包括軟件測試基礎(chǔ)、集成測試與系統(tǒng)測試、軟件測試用例設(shè)計方法。
本書可作為計算機程序設(shè)計員職業(yè)技能鑒定考試的參考教材,也可作為軟件編程從業(yè)人員學(xué)習(xí)編程技術(shù)的教材或開展日常工作的參考用書。
貼合職業(yè)標(biāo)準(zhǔn):依據(jù)最新計算機程序設(shè)計員國家職業(yè)技能標(biāo)準(zhǔn)編寫
編排科學(xué)合理:章節(jié)安排遵循計算機知識體系,方便讀者系統(tǒng)學(xué)習(xí)
內(nèi)容覆蓋廣泛:涵蓋從基礎(chǔ)知識到高級應(yīng)用,遵循軟件開發(fā)全流程
在數(shù)字時代,計算機技術(shù)已經(jīng)滲透到人們生活的每一個角落。從日常的通信交流到復(fù)雜的科學(xué)研究,計算機程序無處不在,它們在提高效率、創(chuàng)造價值方面發(fā)揮著不可替代的作用。隨著技術(shù)的不斷進步,社會對計算機程序員的需求也日益增長。無論是大型企業(yè)還是初創(chuàng)公司,都需要具備編程技能的人才來推動項目發(fā)展。然而,成為一名合格的程序員并非易事,需要進行系統(tǒng)的學(xué)習(xí)和大量的實踐。
根據(jù)職業(yè)發(fā)展需求,我國于2022年更新了《計算機程序設(shè)計員國家職業(yè)技能標(biāo)準(zhǔn)》,該標(biāo)準(zhǔn)以“職業(yè)活動為導(dǎo)向、職業(yè)技能為核心”作為指導(dǎo)思想,對計算機程序設(shè)計從業(yè)人員的職業(yè)活動內(nèi)容進行了規(guī)范細(xì)致的描述,對各等級從業(yè)者的技能水平和理論知識水平進行了明確規(guī)定。
本書旨在為初學(xué)者提供一條清晰的學(xué)習(xí)路徑,幫助其從零開始掌握編程基礎(chǔ),逐步成長為一名能夠獨立完成項目的程序員。本書不僅關(guān)注教授具體的編程語言和技術(shù),更重視培養(yǎng)解決問題的能力和良好的編程習(xí)慣。通過一系列精心設(shè)計的實例和練習(xí),讀者將能夠在實踐中學(xué)習(xí)和成長。
本書覆蓋了從基礎(chǔ)到高級的廣泛主題,編寫方式遵從軟件開發(fā)前、軟件開發(fā)中和軟件開發(fā)后的實際開發(fā)流程。軟件開發(fā)前需要掌握軟件工程相關(guān)知識,如軟件開發(fā)生命周期、敏捷開發(fā)等理念,幫助讀者了解專業(yè)軟件開發(fā)流程。軟件開發(fā)中需要掌握計算機基礎(chǔ)知識,包括計算機及其組成原理、操作系統(tǒng)、計算機網(wǎng)絡(luò);軟件開發(fā)基礎(chǔ)知識,包括編程入門、數(shù)據(jù)結(jié)構(gòu)和算法及數(shù)據(jù)庫等。同時,根據(jù)軟件使用場景的不同,將被開發(fā)程序分為桌面程序設(shè)計、網(wǎng)頁程序設(shè)計、網(wǎng)絡(luò)程序開發(fā)。軟件開發(fā)后,主要是進行軟件測試。本書在章節(jié)的安排上,遵從了計算機知識體系,如下圖所示。
無論是新手小白,還是有一定經(jīng)驗希望進一步提升自我的程序開發(fā)者,本書都將為您提供寶貴的知識和技能支持。我們相信,通過對本書的學(xué)習(xí),您將能夠開啟一段充滿挑戰(zhàn)和機遇的編程之旅,最終成為技術(shù)領(lǐng)域的佼佼者。
本書由重慶化工職業(yè)學(xué)院李學(xué)國和任小平任主編,黑龍江外國語學(xué)院高欣宇、重慶翰海睿智大數(shù)據(jù)科技服務(wù)有限公司陳繼、重慶樹德科技有限公司李軍凱任副主編,夏家文、陳浩陽、宋三泰、羅謐、劉小勇參與編寫。全書由李學(xué)國統(tǒng)稿,李廷真、程辰審稿。
由于編者水平有限,書中難免存在疏漏之處,歡迎廣大讀者批評指正。
第1部分 軟 件 工 程
第1章 軟件工程基礎(chǔ)知識 1
1.1 軟件工程基礎(chǔ)概念 2
1.1.1 軟件的定義與特點 2
1.1.2 軟件危機與軟件工程 2
1.1.3 軟件開發(fā)方法 3
1.1.4 軟件過程與生命周期 4
1.1.5 軟件工程的目標(biāo) 8
1.2 軟件開發(fā)基礎(chǔ)知識 8
1.2.1 軟件開發(fā)工具 8
1.2.2 軟件開發(fā)工具的功能要求和性能要求 8
1.2.3 軟件開發(fā)環(huán)境 10
1.3 軟件開發(fā)規(guī)范基礎(chǔ) 10
1.3.1 軟件開發(fā)規(guī)范的重要性 10
1.3.2 軟件開發(fā)規(guī)范的主要內(nèi)容 10
1.4 軟件項目管理基礎(chǔ) 11
1.4.1 軟件項目管理的過程 11
1.4.2 軟件項目管理的內(nèi)容 12
1.4.3 軟件項目估算與進度管理 12
1.4.4 軟件項目的實施階段 13
1.5 系統(tǒng)運行和維護基礎(chǔ) 13
1.5.1 系統(tǒng)運行和維護基礎(chǔ)的重要性 13
1.5.2 系統(tǒng)運行管理基礎(chǔ) 14
1.5.3 系統(tǒng)維護基礎(chǔ) 15
1.6 程序設(shè)計說明文檔的識讀 15
1.6.1 程序設(shè)計說明文檔的目的 15
1.6.2 程序設(shè)計說明文檔的內(nèi)容 15
第2章 軟件系統(tǒng)需求分析 17
2.1 需求分類 18
2.1.1 功能性需求與非功能性需求 18
2.1.2 用戶需求與系統(tǒng)需求 18
2.2 需求收集 19
2.2.1 收集需求的方法 19
2.2.2 需求規(guī)格說明書 20
2.3 原型系統(tǒng) 20
2.3.1 原型系統(tǒng)簡介 20
2.3.2 原型模型的主要思想 21
2.3.3 原型系統(tǒng)的開發(fā)過程 21
2.3.4 軟件原型系統(tǒng)的分類 21
2.4 提出需求分析建議 22
2.4.1 軟件需求分析的方法 22
2.4.2 軟件需求分析流程 24
2.4.3 軟件需求分析常用工具 25
第3章 開發(fā)文檔的識讀與編寫 26
3.1 認(rèn)知軟件設(shè)計文檔 27
3.1.1 總體設(shè)計過程 27
3.1.2 總體設(shè)計的圖形工具 28
3.1.3 軟件總體說明書 30
3.2 軟件設(shè)計的原則 32
3.2.1 開閉原則 32
3.2.2 里氏替換原則 32
3.2.3 依賴倒置原則 32
3.2.4 單一職責(zé)原則 33
3.2.5 接口隔離原則 33
3.2.6 迪米特法則 33
3.2.7 合成復(fù)用原則 34
3.3 詳細(xì)設(shè)計的工具 34
3.3.1 程序流程圖 34
3.3.2 N-S圖 35
3.3.3 詳細(xì)設(shè)計工具的選擇 37
3.3.4 軟件詳細(xì)設(shè)計說明書的典型內(nèi)容 37
3.3.5 編寫軟件詳細(xì)設(shè)計說明書的注意
事項 38
3.4 軟件設(shè)計代碼規(guī)范 38
3.4.1 軟件程序步驟 38
3.4.2 軟件代碼規(guī)范 39
3.4.3 代碼相關(guān)因素 39
3.5 開發(fā)文檔的編寫 41
3.5.1 UML的應(yīng)用及case工具 41
3.5.2 UML軟件設(shè)計 43
第2部分 計算機基礎(chǔ)知識
第4章 計算機基礎(chǔ)與體系結(jié)構(gòu) 50
4.1 計算機科學(xué)基礎(chǔ) 50
4.1.1 數(shù)制及其轉(zhuǎn)換 50
4.1.2 數(shù)據(jù)的表示 52
4.1.3 邏輯運算和算術(shù)運算 56
4.2 計算機體系結(jié)構(gòu) 57
4.2.1 計算機系統(tǒng)結(jié)構(gòu)概述 57
4.2.2 存儲系統(tǒng) 57
4.2.3 指令系統(tǒng) 60
4.2.4 中央處理器 64
4.2.5 輸入/輸出系統(tǒng) 66
第5章 操作系統(tǒng)原理與技術(shù) 68
5.1 操作系統(tǒng)概述 69
5.2 進程管理 69
5.2.1 基本概念 69
5.2.2 進程的死鎖 72
5.2.3 進程的同步與互斥 73
5.3 存儲器管理 74
5.3.1 基本概念 74
5.3.2 連續(xù)分配存儲管理 75
5.3.3 分頁存儲管理 75
5.3.4 分段存儲管理 77
5.3.5 段頁式存儲管理 78
5.4 I/O設(shè)備管理 78
5.4.1 I/O設(shè)備的類型 79
5.4.2 I/O系統(tǒng)的設(shè)備控制器 79
5.4.3 設(shè)備獨立性 80
5.4.4 設(shè)備驅(qū)動程序 80
5.5 文件系統(tǒng) 81
5.5.1 文件與文件系統(tǒng)的基本概念 81
5.5.2 文件的物理結(jié)構(gòu) 82
5.5.3 文件目錄 83
5.5.4 文件的共享 85
5.5.5 文件系統(tǒng)的安全與可靠性 86
第6章 計算機網(wǎng)絡(luò) 87
6.1 分層體系結(jié)構(gòu)及網(wǎng)絡(luò)協(xié)議 88
6.1.1 分層體系結(jié)構(gòu) 88
6.1.2 網(wǎng)絡(luò)分層模型及協(xié)議 89
6.2 傳輸媒介 91
6.3 網(wǎng)絡(luò)設(shè)備 93
6.3.1 按體系結(jié)構(gòu)劃分的網(wǎng)絡(luò)設(shè)備 93
6.3.2 交換方式 95
6.3.3 網(wǎng)絡(luò)的分類 96
6.4 IP地址 98
6.4.1 網(wǎng)絡(luò)互聯(lián)模型 98
6.4.2 IP地址的分類 98
6.4.3 IP數(shù)據(jù)報的構(gòu)成及轉(zhuǎn)發(fā)過程 100
6.4.4 子網(wǎng)的劃分 103
6.4.5 超網(wǎng)的構(gòu)成 104
6.5 TCP/IP協(xié)議族 105
6.5.1 網(wǎng)絡(luò)接口層協(xié)議 105
6.5.2 網(wǎng)絡(luò)層協(xié)議 106
6.5.3 傳輸層協(xié)議 107
6.5.4 應(yīng)用層協(xié)議 110
第3部分 軟 件 設(shè) 計
第7章 基本應(yīng)用程序開發(fā) 116
7.1 代碼風(fēng)格與編程規(guī)范 116
7.1.1 代碼風(fēng)格 117
7.1.2 編程規(guī)范 117
7.2 C#應(yīng)用程序開發(fā)環(huán)境的搭建 120
7.2.1 .NET平臺 120
7.2.2 C#開發(fā)環(huán)境的安裝和搭建 121
7.3 C#的第一個基本應(yīng)用程序 124
7.4 C#的數(shù)據(jù)類型 126
7.4.1 值類型和引用類型 126
7.4.2 數(shù)組、結(jié)構(gòu)和枚舉 130
7.5 C#運算符和表達式 132
7.5.1 算術(shù)運算符 132
7.5.2 比較運算符 133
7.5.3 布爾邏輯運算符 133
7.5.4 表達式 135
7.6 C#的結(jié)構(gòu)化程序設(shè)計 136
7.6.1 順序結(jié)構(gòu)程序設(shè)計 136
7.6.2 選擇結(jié)構(gòu)程序設(shè)計 136
7.6.3 循環(huán)結(jié)構(gòu)程序設(shè)計 141
7.7 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ) 144
7.7.1 基本概念 144
7.7.2 類和對象 146
7.7.3 類的屬性和方法 147
7.7.4 繼承、多態(tài)、接口、委托和事件 149
第8章 算法設(shè)計基礎(chǔ) 154
8.1 計算機算法概述 154
8.1.1 算法的5個特性 154
8.1.2 算法設(shè)計的要求 155
8.1.3 算法效率的度量 155
8.2 常見算法 156
8.2.1 迭代法 156
8.2.2 窮舉搜索法 157
8.2.3 遞推法 157
8.2.4 遞歸法 157
8.2.5 分治法 158
8.2.6 動態(tài)規(guī)劃法 159
8.2.7 回溯法 160
8.2.8 貪心法 161
8.2.9 分支限界法 161
8.2.10 概率算法 162
第9章 數(shù)據(jù)庫設(shè)計 163
9.1 MySQL概述 163
9.1.1 數(shù)據(jù)庫的相關(guān)概念 164
9.1.2 MySQL數(shù)據(jù)庫 165
9.1.3 集成化的服務(wù)器和數(shù)據(jù)庫軟件 171
9.2 SQL 173
9.2.1 SQL通用語法 173
9.2.2 SQL的分類 173
9.2.3 DDL 174
9.2.4 DML 178
9.2.5 DQL 181
9.2.6 DCL 198
9.3 函數(shù) 200
9.3.1 數(shù)學(xué)函數(shù) 200
9.3.2 字符串函數(shù) 202
9.3.3 日期和時間函數(shù) 203
9.3.4 聚合函數(shù) 205
9.3.5 條件函數(shù) 205
第10章 桌面程序設(shè)計 206
10.1 Windows編程的基礎(chǔ)知識 207
10.1.1 窗口 207
10.1.2 Windows的消息系統(tǒng) 207
10.1.3 Windows編程接口和類庫 207
10.1.4 Windows應(yīng)用程序的基本結(jié)構(gòu) 208
10.2 常用控件和類的使用 213
10.2.1 控件通用屬性 213
10.2.2 Form類 214
10.2.3 標(biāo)簽(Label)控件 214
10.2.4 按鈕(Button)控件 216
10.2.5 事件處理函數(shù)的參數(shù) 217
10.2.6 文本框(TextBox)控件 217
10.2.7 Convert類 218
10.2.8 單選按鈕(RadioButton)和GroupBox
控件 218
10.2.9 Font類 219
10.2.10 多選框(CheckBox)控件 220
10.2.11 列表選擇(ListBox)控件 220
10.2.12 下拉列表框(ComboBox)控件 222
10.2.13 ToolTip控件 222
10.2.14 超鏈接(LinkLable)控件 223
10.2.15 定時(Timer)控件 223
10.2.16 DateTime類 224
10.2.17 菜單 225
10.2.18 工具條 226
10.2.19 狀態(tài)欄(StatusBar)控件 228
10.2.20 鼠標(biāo)事件 229
第11章 網(wǎng)頁程序設(shè)計 231
11.1 網(wǎng)頁程序設(shè)計簡介 232
11.1.1 什么是Web開發(fā) 232
11.1.2 HTML的基本結(jié)構(gòu) 233
11.1.3 HTML注釋 233
11.2 開發(fā)環(huán)境的搭建 234
12.2.1 下載 HBuilder X 234
11.2.2 安裝 HBuilder X 234
11.2.3 基本配置 235
11.3 HTML基礎(chǔ) 238
11.3.1 基礎(chǔ)標(biāo)簽 238
11.3.2 高級標(biāo)簽 239
11.3.3 HTML布局 242
11.4 CSS基礎(chǔ) 244
11.4.1 CSS簡介 244
11.4.2 CSS的編寫位置 244
11.4.3 樣式表的優(yōu)先級 245
11.4.4 CSS語法規(guī)范 247
11.4.5 CSS代碼風(fēng)格 249
11.5 JavaScript基礎(chǔ) 250
11.5.1 JavaScript簡介 251
11.5.2 引入方式 251
11.5.3 基礎(chǔ)語法 252
11.5.4 JavaScript對象 257
第12章 網(wǎng)絡(luò)應(yīng)用程序開發(fā) 268
12.1 Socket的編程及應(yīng)用 268
12.1.1 Socket套接字介紹 268
12.1.2 C#中的Socket類 271
12.1.3 Socket應(yīng)用程序的實現(xiàn) 273
12.2 TCP/IP編程應(yīng)用 276
12.2.1 TCP程序設(shè)計和應(yīng)用 276
12.2.2 UDP程序設(shè)計和應(yīng)用 279
12.2.3 TCP/IP 異步處理方法 281
12.2.4 TCP/IP出錯處理方法 291
第4部分 軟 件 測 試
第13章 軟件測試基礎(chǔ) 294
13.1 軟件測試的目的和原則 294
13.1.1 軟件測試的目的 294
13.1.2 軟件測試的原則 295
13.2 軟件測試的分類 295
13.3 軟件測試的一般流程 296
第14章 集成測試與系統(tǒng)測試 298
14.1 集成測試 298
14.1.1 集成測試的注意事項 298
14.1.2 集成測試的集成方式 298
14.1.3 集成測試的一般流程 299
14.2 系統(tǒng)測試 302
14.2.1 系統(tǒng)測試的目標(biāo) 302
14.2.2 系統(tǒng)測試的流程與內(nèi)容 302
第15章 軟件測試用例設(shè)計方法 304
15.1 黑盒測試的測試用例設(shè)計方法 304
15.1.1 黑盒測試概述 304
15.1.2 設(shè)計方法 305
15.2 白盒測試的測試用例設(shè)計方法 307
15.2.1 白盒測試概述 308
15.2.2 設(shè)計方法 308
參考文獻 315
- 新時代人工智能素養(yǎng) [主編 徐永冰 張帥]
- 電子商務(wù)文案策劃與寫作 [主編 盧海濤 夏穎 黃璐云]
- 信息技術(shù)與人工智能 [主編 王錦]
- 信息技術(shù)基礎(chǔ)(活頁式) [主編 趙金考 禹晨 張尼奇 王宏斌]
- 水利水電工程施工組織設(shè)計 [主編 胡建春 錢波 何茜]
- 信息技術(shù) [主編 任洪亮 邢海燕]
- 高職美育 [王敦]
- 系統(tǒng)分析師考前沖刺100題(適配第2版考綱) [施游 鄒月平 朱小平 編著]
- 用英語介紹中國名城古鎮(zhèn) [王寶川 張元婧 編著]
- Spark大數(shù)據(jù)技術(shù)基礎(chǔ)與應(yīng)用(Scala+Python版) [林徐 潘立瓊 楊建柏]
- 世界文化遺產(chǎn)精選:看人文經(jīng)典學(xué)英文 [何媛 編譯]
- 網(wǎng)絡(luò)安全系統(tǒng)集成 [魯先志 何倩]
- Python統(tǒng)計分析項目化教程 [章小華 孫偉男 于虹博 李文龍]
- 交換路由技術(shù)(微課版) [喻林 卞孝麗]
- 新一代網(wǎng)絡(luò)技術(shù)與應(yīng)用 [路立勛 周寶]
- Python程序設(shè)計 [李宇]
- 機械設(shè)計基礎(chǔ)作業(yè)集 [田亞平 李愛姣]
- 用英語講中國金句(微課版) [白陽明 編著]
- 大學(xué)計算機基礎(chǔ)上機實踐教程(第八版) [主編 羅奕 錢前]
- 線性代數(shù)(第三版) [主編 江志超]
- 大學(xué)計算機基礎(chǔ) (第八版) [主編 羅 奕 胡綠慧]
- 大學(xué)計算機與人工智能基礎(chǔ) [主編 崔巖]
- 長江經(jīng)濟帶上游白酒文化旅游數(shù)字化融合創(chuàng)新研究 [李杰 著]
- 大學(xué)計算機基礎(chǔ)案例教程(第五版) [主編 張小雨 吳瀚霖]
- 體育與健康 [主編 劉傳棟 ]
- 人工智能物聯(lián)網(wǎng)應(yīng)用(基于樹莓派) [主編 陳少鋒 馮健明 郭曉花]
- 大學(xué)生勞動教育 [蹇興超 陳秀泉]
- 村鎮(zhèn)生活污水處理適用技術(shù)及工程示范 [劉秉濤 李發(fā)站 陳偉勝 著]
- 網(wǎng)絡(luò)管理員5天修煉 (適配第6版考綱) [朱小平 施游 編著]
- 全球科技新知精選:看前沿科技學(xué)英文 [王瓊 曹陽 編譯]
- 新時代人工智能素養(yǎng)
- 電子商務(wù)文案策劃與寫作
- 計算機程序員教程
- 水利水電工程施工組織設(shè)計
- 系統(tǒng)分析師考前沖刺100題(適配第2版考
- 世界文化遺產(chǎn)精選:看人文經(jīng)典學(xué)英文
- 人工智能物聯(lián)網(wǎng)應(yīng)用(基于樹莓派)
- 村鎮(zhèn)生活污水處理適用技術(shù)及工程示范
- 全球科技新知精選:看前沿科技學(xué)英文
- 基于人文教育的大學(xué)英語創(chuàng)新教育實踐研
- 軟件設(shè)計師真題及模考卷精析(適用機考
- 數(shù)字技能基礎(chǔ)
- 黃河海勃灣水利樞紐防凌安全運行
- 大學(xué)生心理健康教育
- 信息系統(tǒng)管理工程師章節(jié)習(xí)題與考點特訓(xùn)
- 網(wǎng)絡(luò)工程師真題及沖刺卷精析(適用機考