高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)
定 價:55 元
叢書名:高等院校軟件工程專業(yè)規(guī)劃教材
- 作者:丁二玉 ,劉欽 著 駱斌 編
- 出版時間:2013/5/1
- ISBN:9787111407508
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.52
- 頁碼:
- 紙張:膠版紙
- 版次:1
- 開本:16開
《高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》作為國家精品課程“軟件工程與計算”系列課程的第二門課程配套教材,《高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》以經(jīng)典軟件工程方法與技術(shù)為主線,軟件開發(fā)技術(shù)與程序設(shè)計知識為教學重點,培養(yǎng)學生簡單小組級別、中小規(guī)模軟件系統(tǒng)的軟件開發(fā)能力。
全書主要分為六部分。第一部分介紹軟件工程的基本框架。第二部分介紹項目啟動階段的知識。第三部分介紹軟件需求開發(fā)的基礎(chǔ)知識,包括軟件需求工程的概要、軟件需求的內(nèi)涵、常見的需求分析方法、軟件需求文檔。第四部分首先介紹軟件設(shè)計的基礎(chǔ)概念,之后沿著設(shè)計過程和設(shè)計技術(shù)兩條主線,深入描述軟件設(shè)計的相關(guān)知識。第五部分介紹軟件構(gòu)造、測試、移交與維護等軟件開發(fā)的下游工程的基礎(chǔ)知識。第六部分是對第一部分的延續(xù),通過總結(jié)性回顧,進一步加深讀者對軟件工程的理解。
《高等院校軟件工程專業(yè)規(guī)劃教材:軟件工程與計算(卷2):軟件開發(fā)的技術(shù)基礎(chǔ)》可作為高等院校軟件工程、計算機及相關(guān)專業(yè)本科生軟件工程課程的教材,也可作為從事軟件開發(fā)的相關(guān)技術(shù)人員的參考書。
前言
第一部分 軟件工程概論
第1章 軟件工程基礎(chǔ)
1.1 軟件
1.1.1 軟件獨立于硬件
1.1.2 軟件是一種工具
1.1.3 軟件的核心是程序
1.1.4 軟件開發(fā)遠比編程要復(fù)雜
1.1.5 應(yīng)用軟件基于現(xiàn)實又高于現(xiàn)實
1.2 軟件工程
1.2.1 定義
1.2.2 軟件工程是一種工程活動
1.2.3 軟件工程的動機
1.2.4 軟件工程是科學性、實踐性和工藝性并重的
1.2.5 軟件工程追求足夠好,不是最好
1.2.6 軟件工程的產(chǎn)品是基于虛擬計算機的軟件方案
1.2.7 軟件工程的最終目的
1.3 軟件工程概覽
1.3.1 軟件工程知識域
1.3.2 軟件開發(fā)活動
1.3.3 軟件工程的角色分工
1.4 習題
第2章 軟件工程的發(fā)展
2.1 軟件工程的發(fā)展脈絡(luò)
2.2 20世紀50年代的軟件工程
2.3 20世紀60年代的軟件工程
2.4 20世紀70年代的軟件工程
2.5 20世紀80年代的軟件工程
2.6 20世紀90年代的軟件工程
2.7 21世紀00年代的軟件工程
2.8 習題
第二部分 項目啟動
第3章 示例項目描述
3.1 背景
3.2 目標
3.3 系統(tǒng)用戶
3.4 用戶訪談要點
3.5 項目實踐過程
第4章 項目管理基礎(chǔ)
4.1 項目和項目管理
4.2 團隊組織與管理
4.2.1 團隊的特征
4.2.2 團隊結(jié)構(gòu)
4.2.3 團隊建設(shè)
4.3 軟件質(zhì)量保障
4.3.1 軟件質(zhì)量
4.3.2 質(zhì)量保障
4.3.3 評審
4.3.4 質(zhì)量度量
4.4 軟件配置管理
4.4.1 配置管理動機
4.4.2 配置項
4.4.3 基線
4.4.4 配置管理活動
4.4.5 變更控制
4.5 項目實踐
4.6 習題
第三部分 需求開發(fā)階段
第5章 軟件需求基礎(chǔ)
5.1 引言
5.2 需求工程基礎(chǔ)
5.2.1 需求工程簡介
5.2.2 需求工程活動
5.2.3 需求獲取
5.2.4 需求分析
5.2.5 需求規(guī)格說明
5.2.6 需求驗證
5.2.7 需求管理
5.3 需求基礎(chǔ)
5.3.1 需求
5.3.2 需求的層次性
5.3.3 結(jié)合層次性的需求開發(fā)
5.3.4 區(qū)分需求、問題域與規(guī)格說明
5.4 需求分類
5.4.1 需求譜系
5.4.2 軟件需求的分類
5.5 項目實踐
5.6 習題
第6章 需求分析方法
6.1 需求分析基礎(chǔ)
6.1.1 需求分析的原因
6.1.2 需求分析模型
6.2 結(jié)構(gòu)化分析
6.2.1 結(jié)構(gòu)化分析方法
6.2.2 數(shù)據(jù)流圖
6.2.3 實體關(guān)系圖
6.3 面向?qū)ο蠓治?br>6.3.1 面向?qū)ο蠓治龇椒?br>6.3.2 用例
6.3.3 用例圖
6.3.4 用例描述
6.3.5 概念類圖(領(lǐng)域模型)
6.3.6 交互圖(順序圖)
6.3.7 狀態(tài)圖
6.4 使用需求分析方法細化和明確需求
6.4.1 細化和明確需求內(nèi)容
6.4.2 建立系統(tǒng)級需求
6.5 項目實踐
6.6 習題
第7章 需求文檔化與驗證
7.1 文檔化的原因
7.2 需求文檔基礎(chǔ)
7.2.1 需求文檔的交流對象
7.2.2 用例文檔
7.2.3 軟件需求規(guī)格說明文檔
7.3 需求文檔化要點
7.3.1 技術(shù)文檔寫作要點
7.3.2 需求書寫要點
7.3.3 軟件需求規(guī)格說明文檔書寫要點
7.4 評審軟件需求規(guī)格說明文檔
7.4.1 需求驗證與確認
7.4.2 評審需求的注意事項
7.5 以需求為基礎(chǔ)開發(fā)系統(tǒng)測試用例
7.5.1 開發(fā)測試用例套件
7.5.2 開發(fā)測試用例
7.6 度量需求
7.7 將需求制品納入配置管理
7.8 項目實踐
7.9 習題
第四部分 軟件設(shè)計
第8章 軟件設(shè)計基礎(chǔ)
8.1 軟件設(shè)計思想的發(fā)展
8.2 軟件設(shè)計的核心思想
8.3 理解軟件設(shè)計
8.3.1 設(shè)計與軟件設(shè)計
8.3.2 工程設(shè)計與藝術(shù)設(shè)計
8.3.3 理性主義和經(jīng)驗主義
8.3.4 軟件設(shè)計的演化性
8.3.5 軟件設(shè)計的決策性
8.3.6 軟件設(shè)計的約束滿足和多樣性
8.4 軟件設(shè)計的分層
8.5 軟件設(shè)計過程的主要活動
8.6 軟件設(shè)計的方法和模型
8.6.1 軟件設(shè)計的方法
8.6.2 軟件設(shè)計的模型
8.7 軟件設(shè)計描述
8.7.1 設(shè)計視圖和設(shè)計圖
8.7.2 設(shè)計視角和設(shè)計關(guān)注
8.7.3 需求和涉眾
8.7.4 設(shè)計理由
8.7.5 設(shè)計描述的模板
8.7.6 軟件設(shè)計文檔書寫要點
8.8 項目實踐
8.9 習題
第9章 軟件體系結(jié)構(gòu)基礎(chǔ)
9.1 軟件體系結(jié)構(gòu)的發(fā)展
9.2 理解軟件體系結(jié)構(gòu)
9.2.1 定義
9.2.2 區(qū)分軟件體系結(jié)構(gòu)的抽象與實現(xiàn)
9.2.3 部件
9.2.4 連接件
9.2.5 配置
9.3 體系結(jié)構(gòu)風格初步
9.3.1 主程序/子程序
9.3.2 面向?qū)ο笫?br>9.3.3 分層
9.3.4 MVC
9.4 項目實踐
9.5 習題
第10章 軟件體系結(jié)構(gòu)設(shè)計與構(gòu)建
10.1 體系結(jié)構(gòu)設(shè)計過程
10.1.1 分析關(guān)鍵需求和項目約束
10.1.2 選擇體系結(jié)構(gòu)風格
10.1.3 軟件體系結(jié)構(gòu)邏輯設(shè)計
10.1.4 軟件體系結(jié)構(gòu)實現(xiàn)
10.1.5 完善軟件體系結(jié)構(gòu)設(shè)計
10.1.6 定義構(gòu)件接口
10.2 體系結(jié)構(gòu)的原型構(gòu)建
10.2.1 包的創(chuàng)建
10.2.2 重要文件的創(chuàng)建
10.2.3 定義構(gòu)件之間的接口
10.2.4 關(guān)鍵需求的實現(xiàn)
10.3 體系結(jié)構(gòu)集成與測試
10.3.1 集成的策略
10.3.2 樁、驅(qū)動與集成測試用例
10.4 軟件體系結(jié)構(gòu)設(shè)計文檔描述
10.5 體系結(jié)構(gòu)評審
10.6 項目實踐
10.7 習題
第11章 人機交互設(shè)計
11.1 引言
11.2 人機交互設(shè)計的目標
11.3 人機交互設(shè)計的人類因素
11.3.1 精神模型
11.3.2 差異性
11.4 人機交互設(shè)計的計算機因素
11.4.1 可視化設(shè)計
11.4.2 常見界面類型
11.5 人機交互設(shè)計的交互性
11.5.1 導(dǎo)航
11.5.2 反饋
11.5.3 一些人機交互設(shè)計原則
11.6 人機交互設(shè)計過程
11.6.1 基本過程
11.6.2 示例
11.7 項目實踐
11.8 習題
第12章 詳細設(shè)計的基礎(chǔ)
12.1 詳細設(shè)計概述
12.1.1 詳細設(shè)計出發(fā)點
12.1.2 詳細設(shè)計的上下文
12.2 結(jié)構(gòu)化設(shè)計
12.2.1 結(jié)構(gòu)化設(shè)計的思想
12.2.2 結(jié)構(gòu)化設(shè)計的過程
12.3 面向?qū)ο笤O(shè)計
12.3.1 面向?qū)ο笤O(shè)計的思想
12.3.2 面向?qū)ο笤O(shè)計的過程
12.3.3 通過職責建立靜態(tài)模型
12.3.4 通過協(xié)作建立動態(tài)模型
12.4 為類間協(xié)作開發(fā)集成測試用例
12.5 詳細設(shè)計文檔描述
12.6 詳細設(shè)計的評審
12.7 項目實踐
12.8 習題
第13章 詳細設(shè)計中的模塊化與信息隱藏
13.1 模塊化與信息隱藏思想
13.1.1 設(shè)計質(zhì)量
13.1.2 模塊化與信息隱藏思想的動機
13.1.3 模塊化與信息隱藏思想的發(fā)展
13.2 模塊化
13.2.1 分解與模塊化
13.2.2 結(jié)構(gòu)化設(shè)計中的耦合
13.2.3 結(jié)構(gòu)化設(shè)計中的內(nèi)聚
13.2.4 回顧:MSCS系統(tǒng)設(shè)計中的模塊化思想
13.3 信息隱藏
13.3.1 抽象與信息隱藏
13.3.2 信息與隱藏
13.3.3 模塊說明
13.3.4 回顧:MSCS系統(tǒng)設(shè)計中的信息思想
13.4 習題
第14章 詳細設(shè)計中面向?qū)ο蠓椒ㄏ碌哪K化
14.1 面向?qū)ο笾械哪K
14.1.1 類
14.1.2 類之間的聯(lián)系
14.2 訪問耦合
14.2.1 訪問耦合的分析
14.2.2 降低訪問耦合的方法
14.3 繼承耦合
14.3.1 繼承耦合的分析
14.3.2 降低繼承耦合的方法
14.4 內(nèi)聚
14.4.1 面向?qū)ο笾械膬?nèi)聚
14.4.2 提高內(nèi)聚的方法
14.5 耦合與內(nèi)聚的度量
14.5.1 耦合的度量
14.5.2 內(nèi)聚的度量
14.6 項目實踐
14.7 習題
第15章 詳細設(shè)計中面向?qū)ο蠓椒ㄏ碌男畔㈦[藏
15.1 封裝類的職責
15.1.1 類的職責
15.1.2 封裝——分離接口與實現(xiàn)
15.1.3 封裝實現(xiàn)細節(jié)
15.2 為變更而設(shè)計
15.2.1 封裝變更/開閉原則
15.2.2 多態(tài)
15.2.3 依賴倒置原則
15.2.4 總結(jié)
15.3 項目實踐
15.4 習題
第16章 詳細設(shè)計的設(shè)計模式
16.1 設(shè)計模式基礎(chǔ)
16.2 可修改性及其基本實現(xiàn)機制
16.3 策略模式
16.3.1 典型問題
16.3.2 設(shè)計分析
16.3.3 解決方案
16.3.4 模式實例
16.4 抽象工廠模式
16.4.1 典型問題
16.4.2 設(shè)計分析
16.4.3 解決方案
16.4.4 模式實例
16.5 單件模式
16.5.1 典型問題
16.5.2 設(shè)計分析
16.5.3 解決方案
16.5.4 模式實例
16.6 迭代器模式
16.6.1 典型問題
16.6.2 設(shè)計分析
16.6.3 解決方案
16.6.4 模式實例
16.7 項目實踐
16.8 習題
第五部分 軟件構(gòu)造、測試、交付與維護
第17章 軟件構(gòu)造
17.1 概述
17.1.1 軟件構(gòu)造的定義
17.1.2 軟件構(gòu)造是設(shè)計的延續(xù)
17.2 軟件構(gòu)造活動
17.2.1 詳細設(shè)計
17.2.2 編程
17.2.3 測試
17.2.4 調(diào)試
17.2.5 代碼評審
17.2.6 集成與構(gòu)建
17.2.7 構(gòu)造管理
17.3 軟件構(gòu)造實踐方法
17.3.1 重構(gòu)
17.3.2 測試驅(qū)動開發(fā)
17.3.3 結(jié)對編程
17.4 項目實踐
17.5 習題
第18章 代碼設(shè)計
18.1 設(shè)計易讀的代碼
18.1.1 格式
18.1.2 命名
18.1.3 注釋
18.2 設(shè)計易維護的代碼
18.2.1 小型任務(wù)
18.2.2 復(fù)雜決策
18.2.3 數(shù)據(jù)使用
18.2.4 明確依賴關(guān)系
18.3 設(shè)計可靠的代碼
18.3.1 契約式設(shè)計
18.3.2 防御式編程
18.4 使用模型輔助設(shè)計復(fù)雜代碼
18.4.1 決策表
18.4.2 偽代碼
18.4.3 程序流程圖
18.5 為代碼開發(fā)單元測試用例
18.5.1 為方法開發(fā)測試用例
18.5.2 使用Mock Object測試類方法
18.5.3 為類開發(fā)測試用例
18.6 代碼復(fù)雜度度量
18.7 問題代碼
18.8 項目實踐
18.9 習題
第19章 軟件測試
19.1 引言
19.1.1 驗證與確認
19.1.2 軟件測試的目標
19.1.3 測試用例
19.1.4 樁與驅(qū)動
19.1.5 缺陷、錯誤與失敗
19.2 測試層次
19.2.1 測試層次的劃分
19.2.2 單元測試
19.2.3 集成測試
19.2.4 系統(tǒng)測試
19.3 測試技術(shù)
19.3.1 測試用例的選擇
19.3.2 隨機測試
19.3.3 基于規(guī)格的技術(shù)——黑盒測試方法
19.3.4 基于代碼的技術(shù)——白盒測試方法
19.3.5 特定測試技術(shù)
19.4 測試活動
19.5 測試度量
19.6 項目實踐
19.7 習題
第20章 軟件交付
20.1 安裝與部署
20.1.1 安裝
20.1.2 部署
20.2 培訓與文檔支持
20.2.1 培訓
20.2.2 文檔支持
20.3 項目評價
20.3.1 項目評價的原因
20.3.2 項目評價的內(nèi)容
20.3.3 項目評價的方法
20.3.4 注意事項
20.4 項目實踐
20.5 習題
第21章 軟件維護與演化
21.1 軟件維護
21.1.1 軟件可修改性與軟件維護
21.1.2 軟件維護的類型
21.1.3 軟件維護的高代價性
21.1.4 開發(fā)可維護的軟件
21.1.5 軟件維護過程與活動
21.2 軟件演化
21.2.1 演化與維護
21.2.2 軟件演化定律
21.2.3 軟件演化生命周期模型與演化活動
21.3 軟件維護與演化的常見技術(shù)
21.3.1 遺留軟件
21.3.2 逆向工程
21.3.3 再工程
21.4 項目實踐
21.5 習題
第六部分 軟件過程模型與職業(yè)基礎(chǔ)
第22章 軟件開發(fā)過程模型
22.1 軟件開發(fā)的典型階段
22.1.1 軟件需求工程
22.1.2 軟件設(shè)計
22.1.3 軟件構(gòu)造
22.1.4 軟件測試
22.1.5 軟件交付
22.1.6 軟件維護
22.2 軟件生命周期模型
22.3 軟件過程模型
22.4 構(gòu)建-修復(fù)模型
22.5 瀑布模型
22.6 增量迭代模型
22.7 演化模型
22.8 原型模型
22.9 螺旋模型
22.10 Rational統(tǒng)一過程
22.11 敏捷過程
22.12 習題
第23章 軟件工程職業(yè)基礎(chǔ)
23.1 軟件工程職業(yè)
23.1.1 軟件行業(yè)的發(fā)展
23.1.2 軟件工程職業(yè)的出現(xiàn)
23.1.3 軟件工程師職業(yè)素質(zhì)
23.2 軟件工程職業(yè)概況
23.2.1 知識體系
23.2.2 教育體系
23.2.3 職業(yè)道德規(guī)范
23.2.4 認證體系
23.2.5 行業(yè)協(xié)會
23.3 軟件工程的行業(yè)標準
23.4 習題
附錄A 軟件需求規(guī)格說明文檔模板
附錄B 文檔注釋規(guī)范
附錄C _軟件工程道德和職業(yè)實踐規(guī)范(5.2版)的八項原則
附錄D 連鎖商店管理系統(tǒng)(MSCS)
相關(guān)文檔
參考文獻