《高等院校軟件工程專業規劃教材:軟件工程與計算(卷1)·軟件開發的編程基礎》是國家精品課程“軟件工程與計算”系列課程的第一門課程配套教材;以一個典型的軟件開發過程為線索講授基本的軟件工程方法和基于Java語言的中小規模軟件開發,強調個體級軟件開發能力;從培養學生軟件工程理念出發,側重于程序設計教學,培養讀者在個人開發級別的小規模軟件系統構建能力,讓讀者初步體驗軟件工程方法與技術在系統開發中的關鍵作用。
《高等院校軟件工程專業規劃教材:軟件工程與計算(卷1)·軟件開發的編程基礎》可作為高等院校軟件工程、計算機及相關專業本科生學習軟件工程入門課程的教材,也可作為從事軟件開發和應用的有關人員的參考書。
前言
第一部分 緒論
第1章 軟件開發概述
1.1 問題、解決方案、算法與編程
1.1.1 問題
1.1.2 解決方案
1.1.3 算法
1.1.4 編程
1.2 編程
1.2.1 機器語言與匯編語言
1.2.2 面向問題的語言
1.2.3 編譯和解釋
1.3 軟件開發與軟件工程職業
1.4 軟件開發過程模型
1.5 個人軟件過程基礎
1.5.1 基本原則
1.5.2 時間度量
1.5.3 缺陷度量
1.6 習題
第2章 計算系統示例說明
2.1 系統功能說明
2.1.1 系統功能要求
2.1.2 系統功能詳細分析
2.2 開發階段規劃與約束說明
2.2.1 開發階段規劃
2.2.2 迭代一開發需求說明
2.2.3 迭代二開發需求說明
2.2.4 迭代三開發需求說明
2.3 項目實踐示例說明
2.3.1 系統功能要求
2.3.2 開發階段規劃
2.3.3 迭代一開發要求
2.3.4 迭代二開發要求
2.3.5 迭代三開發要求
2.4 項目實踐
第二部分 類職責的設計與實現
第3章 類和對象
3.1 類和對象的概念
3.2 職責的概念
3.3 UML與簡單的類圖
3.4 使用Java語言編寫簡單類
3.4.1 Java簡介
3.4.2 安裝Java開發環境
3.4.3 編寫一個Java程序HelloWorld
3.4.4 編寫一個類Car
3.5 項目實踐
3.6 習題
第4章 類的狀態實現——成員變量
4.1 變量
4.2 成員變量的命名
4.2.1 標識符
4.2.2 關鍵字和保留字
4.2.3 命名規范
4.3 成員變量的類型
4.3.1 數據類型概述
4.3.2 基本數據類型
4.3.3 引用類型
4.3.4 數組
4.3.5 命名常量
4.3.6 枚舉類型
4.4 成員變量的操作
4.4.1 表達式和語句
4.4.2 賦值與初始化
4.4.3 算術運算
4.4.4 關系運算
4.4.5 布爾邏輯運算
4.4.6 類型轉換
4.4.7 優先級和結合性
4.5 作用域與生存期
4.5.1 作用域
4.5.2 生存期
4.5.3 全局變量
4.6 項目實踐
4.7 習題
第5章 類的行為實現——成員方法
5.1 方法
5.2 參數傳遞
5.3 控制語句
5.3.1 順序語句
5.3.2 條件語句
5.3.3 switch語句
5.3.4 循環語句
5.3.5 跳轉語句
5.4 方法重載
5.5 函數副作用
5.6 項目實踐
5.7 習題
第6章 類的封裝
6.1 類的聲明
6.2 成員變量和方法的訪問
6.2.1 通過對象的訪問
6.2.2 靜態變量與靜態方法
6.3 訪問控制Ⅰ
6.3.1 私有權限
6.3.2 默認權限
6.3.3 公開權限
6.4 封裝的作用
6.5 對象初始化和清理Ⅰ
6.5.1 構造器
6.5.2 對象的初始化
6.5.3 垃圾回收器
6.6 項目實踐
6.7 習題
第7章 Java簡單類庫的使用
7.1 數組
7.2 字符串
7.2.1 String類
7.2.2 常用的字符串操作
7.2.3 StringBuffer類和StringBuilder類
7.3 容器
7.3.1 容器的概念
7.3.2 ArrayList類
7.3.3 迭代器
7.4 輸入和輸出
7.4.1 流的概念
7.4.2 字節流和字符流
7.4.3 文件的讀寫
7.4.4 緩沖區的讀寫
7.4.5 對象的序列化讀寫
7.4.6 標準輸入/輸出
7.5 項目實踐
7.6 習題
第8章 軟件工程工具與調試
8.1 集成開發環境
8.2 代碼管理
8.3 版本控制
8.3.1 軟件配置管理概述
8.3.2 版本控制概念
8.3.3 常用版本控制工具
8.4 基本調試技術
8.4.1 概述
8.4.2 調試基本過程
8.4.3 基本調試操作
8.4.4 調試示例
8.5 準備測試
8.6 項目實踐
8.7 習題
第三部分 類協作的設計與實現
第9章 協作行為分析和設計
9.1 類的協作
9.2 用例文本描述
9.3 用例圖
9.4 類圖
9.5 順序圖
9.6 項目實踐
9.7 習題
第10章 協作行為的實現
10.1 類的復用
10.1.1 聚合和組合
10.1.2 內部類
10.1.3 繼承
10.1.4 接口
10.1.5 多態
10.2 對象初始化和清理Ⅱ
10.3 訪問控制Ⅱ
10.4 異常處理
10.4.1 異常的概念
10.4.2 異常的拋出
10.4.3 異常的捕獲和處理
10.4.4 Java標準異常
10.4.5 自定義異常
10.5 項目實踐
10.6 習題
第11章 集成與測試
11.1 自動化集成
11.1.1 集成概念
11.1.2 集成過程
11.1.3 自動化構建工具Ant
11.1.4 集成頻率
11.2 測試的簡單分類
11.3 單元測試
11.3.1 單元測試是什么
11.3.2 如何進行單元測試用例設計
11.4 自動化單元測試(JUnit)
11.4.1 簡單JUnit測試用例
11.4.2 斷言
11.4.3 骨架
11.4.4 套件
11.4.5 測試執行器
11.4.6 JUnit4新特性
11.5 集成測試
11.6 系統測試
11.7 項目實踐
11.8 習題
第四部分 系統的設計與實現
第12章 軟件系統分析與設計
12.1 系統
12.2 系統分析
12.2.1 面向對象分析基礎
12.2.2 軟件需求文檔
12.3 系統設計
12.3.1 CRC卡
12.3.2 圖書借閱系統CRC卡設計
12.3.3 軟件設計文檔
12.4 項目實踐
12.5 習題
第13章 Java部分常用類庫
13.1 圖形用戶界面編程
13.1.1 Swing
13.1.2 常用容器
13.1.3 常用組件
13.1.4 布局管理器
13.1.5 事件處理
13.2 網絡通信編程
13.2.1 網絡通信基本概念
13.2.2 套接字編程
13.3 項目實踐
13.4 習題
第14章 發布與項目總結
14.1 程序部署與發布
14.2 用戶培訓
14.3 文檔
14.4 項目評審與回顧
14.5 項目實踐
14.6 習題
附錄A 軟件工程道德和職業實踐規范(5.2版)的八項規則
附錄B Java程序設計補充閱讀
附錄C 圖書借閱系統設計與實現說明
參考文獻