軟體工程:原理方法和工具

圖書信息

出版社: 機械工業出版社; 第1版 (2009年1月1日)
叢書名: 面向21世紀高等院校計算機系列教材
平裝: 291頁
正文語種: 簡體中文
開本: 16
ISBN: 9787111257400
條形碼: 9787111257400
尺寸: 25.8 x 18.2 x 1.6 cm
重量: 458 g

內容簡介

《軟體工程:原理方法和工具》全面系統地介紹了軟體工程的概念、原理和技術。全書分3篇,第1篇(第1~8章)“面向過程的軟體工程”,以傳統的軟體生存周期為主線,介紹軟體工程的原理和方法,講述了軟體生存周期各階段的任務、過程和方法。第2篇(第9~16章)“面向對象的軟體工程”,以UML語言為主線,結合當前流行的軟體工程工具Rational Rose,介紹面向對象軟體工程的原理和方法。第3篇(第17章)“軟體工程實驗”,是在前兩篇的理論知識基礎上,介紹圖書館圖書管理系統和瀏覽器系統實驗。

目錄


前言
第1篇 面向過程的軟體工程
第1章 軟體危機、軟體工程
1.1 軟體工程的發展史
1.1.1 程式設計時代
1.1.2 程式系統時代
1.1.3 軟體工程時代
1.2 軟體危機主要表現形式
1.3 產生軟體危機的原因及解決途徑
1.3.1 產生軟體危機的原因
1.3.2 解決軟體危機的途徑
1.4 軟體和軟體工程
1.4.1 軟體
1.4.2 軟體工程
1.5 軟體質量
1.6 軟體的生存周期及開發模型
1.6.1 軟體生存周期
1.6.2 軟體開發模型
1.7 習題
第2章 可行性研究
2.1 可行性研究的目的與任務
2.2 可行性研究的步驟
2.3 系統流程圖
2.3.1 系統流程圖的符號
2.3.2 系統流程圖示例
2.4 成本一效益分析
2.4.1 貨幣的時間價值
2.4.2 投資回收期
2.4.3 純收入
2.5 可行性研究報告的主要內容
2.6 習題
第3章 軟體需求分析
3.1 需求分析的任務和步驟
3.1.1 需求分析的任務
3.1.2 需求分析的步驟
3.2 需求獲取的常用方法
3.2.1 常規的需求獲取方法
3.2.2 快速建立軟體原型來獲取需求
3.3 需求分析的方法
3.3.1 功能分解方法
3.3.2 結構化分析方法
3.3.3 信息建模方法
3.3.4 面向對象的分析
3.4 結構化分析方法
3.4.1 自頂向下逐層分解的分析策略
3.4.2 結構化分析描述工具
3.4.3 數據流圖
3.4.4 數據字典
3.4.5 加工邏輯的描述
3.5 需求分析圖形工具
3.5.1 層次方框圖
3.5.2 Wamier圖
3.5.3 IPO圖
3.6 SA方法的套用
3.7 習題
第4章 軟體總體設計
4.1 軟體總體設計的目標和任務
4.2 軟體設計的概念和原理
4.2.1 模組和模組化
4.2.2 抽象
4.2.3 信息隱蔽和局部化
4.2.4 模組獨立性及其度量
4.3 軟體結構設計準則
4.4 軟體結構設計的圖形工具
4.4.1 軟體結構圖
4.4.2 層次圖
4.4.3 hipo
4.5 結構化設計方法
4.5.1 數據流圖的類型
4.5.2 結構化設計方法的步驟
4.5.3 變換型分析設計
4.5.4 事務型分析設計
4.6 習題
第5章 軟體詳細設計
5.1 詳細設計的目的與任務
5.2 結構化程式設計
5.3 詳細設計工具
5.3.1 程式流程圖
5.3.2 N-S圖
5.3.3 PAD圖
5.3.4 過程設計語言
5.4 習題
第6章 軟體編碼
6.1 程式設計語言的分類
6.1.1 基礎語言
6.1.2 結構化語言
6.1.3 面向對象的語言
6.2 程式設計語言的選擇
6.3 程式設計風格
6.3.1 程式內部文檔
6.3.2 數據說明
6.3.3 語句構造
6.3.4 輸入/輸出
6.3.5 效率
6.4 習題
第7章 軟體測試
7.1 軟體測試的目標
7.2 軟體測試的原則
7.3 軟體測試方法
7.3.1 靜態測試與動態測試
7.3.2 黑盒測試法與白盒測試法
7.4 軟體測試用例的設計
7.4.1 白盒技術
7.4.2 黑盒技術
7.5 軟體測試過程
7.5.1 單元測試
7.5.2 集成測試
7.5.3 確認測試
7.5.4 系統測試
7.6 調試
7.6.1 調試的目的
7.6.2 調試技術
7.7 習題
第8章 軟體維護
8.1 軟體維護的分類
8.2 軟體維護的特點
8.2.1 結構化維護與非結構化維護
8.2.2 維護的代價
8.2.3 軟體維護中存在的問題
8.3 軟體可維護性
8.3.1 軟體可維護性的定義
8.3.2 軟體可維護性的度量
8.3.3 提高軟體可維護性的方法
8.4 維護的副作用
8.5 軟體再工程
8.5.1 軟體再工程與逆向工程的概念
8.5.2 實施軟體再工程的原因
8.5.3 軟體再工程技術
8.6 習題
第2篇 UML與面向對象的軟體工程
第9章 UML簡介
9.1 UML概述
9.1.1 UML的組成
9.1.2 UML的特點和用途
9.1.3 UML的模型視圖簡介
9.2 UML軟體開發工具簡介
9.2.1 RationalRose
9.2.2 Visio簡介
9.3 習題
第10章 面向對象的概念
10.1 面向對象的方法學
10.1.1 面向對象建模
10.1.2 面向對象的方法與傳統軟體方法的比較
10.2 對象與類及其UML表示
10.2.1 對象
10.2.2 類與實例
10.2.3 對象屬性與操作
10.2.4 對象類的關聯
10.3 聚集、組合、繼承和多態
10.3.1 聚集與組合
10.3.2 抽象與繼承
10.3.3 多態
10.4 習題
第11章 對象設計模式
11.1 對象設計模式概念
11.1.1 歷史背景
11.1.2 對象設計模式
11.1.3 設計模式的分類
11.2 幾種典型的對象設計模式及套用
11.2.1 行為型模式中的職責鍵模式及套用
11.2.2 結構型模式中的外觀模式及套用
11.2.3 創建型模式中的抽象工廠模式及套用
11.3 對象類的高級概念
11.3.1 抽象類、參數對象類、型與實現對象類
11.3.2 接口
11.3.3 版型
11.4 組件、包和結點
11.4.1 組件
11.4.2 包和包圖
11.4.3 結點
11.5 習題
第12章 面向對象的軟體開發過程
12.1 RUP概述
12.1.1 RUP的歷史
12.1.2 RUP的特色
12.2 RUP軟體開發生命周期和建模
12.2.1 RUP軟體開發的生命周期
12.2.2 RUP的動態結構
12.2.3 RUP的靜態結構
12.2.4 RUP的建模
12.3 面向對象軟體開發過程的案例分析
12.3.1 系統需求
12.3.2 系統的靜態結構模型
12.3.3 順序圖和協作圖
12.3.4 狀態圖和活動圖
12.3.5 組件圖和部署圖
12.4 習題
第13章 軟體開發工具Rose
13.1 Rose的用例圖與類圖
13.1.1 用例圖
13.1.2 類圖
13.2 Rose的互動圖與狀態機圖
13.2.1 互動圖
13.2.2 狀態機圖
13.3 包、組件圖與部署圖
13.3.1 包
13.3.2 組件圖
13.3.3 部署圖
13.4 Rose的代碼生成和逆向工程
13.4.1 代碼生成
13.4.2 逆向工程
13.5 Rose套用舉例
13.6 習題
第14章 Rose及其套用
14.1 Rose的主要功能
14.2 Rose的使用
14.2.1 Rose主選單視窗
14.2.2 模型與工作方式的組織
14.3 教學管理系統的分析與設計
14.3.1 系統需求分析
14.3.2 系統問題領域分析
14.3.3 靜態結構模型的建立
14.3.4 動態行為模型的建立
14.3.5 物理模型的建立
14.4 UML類圖與VB代碼的轉換
14.4.1 VB代碼生成屬性
14.4.2 Rose模型-VB代碼的生成
14.4.3 VB代碼的逆向工程
14.5 UML類圖與Java代碼的轉換
14.5.1 UML類圖-Java代碼的生成
14.5.2 Java代碼的逆向工程
14.6 習題
第15章 面向對象的軟體體系結構
15.1 軟體體系結構概述
15.2 流程處理與客戶機/伺服器體系結構
15.2.1 流程處理
15.2.2 客戶機/伺服器體系結構
15.3 三層和多層體系結構
15.3.1 三層體系結構
15.3.2 瀏覽器/伺服器體系結構風格
15.3.3 多層體系結構
15.3.4 團聚與串列
15.4 公共對象請求代理體系結構
15.5 基於層次訊息匯流排的體系結構風格
15.6 異構結構風格
15.7 習題
第16章 軟體工程新技術
16.1 軟體復用技術
16.1.1 軟體復用概念及分類
16.1.2 軟體復用的關鍵技術和復用粒度
16.2 中間件技術
16.2.1 中間件概念及特點
16.2.2 中間件的分類
16.3 組件技術
16.3.1 組件與組件化
16.3.2 組件模型及描述語言
16.3.3 組件的檢索與組裝
16.4 計算機輔助軟體工程技術
16.4.1 CASE的基本概念
16.4.2 CASE工具與集成CASE環境
16.5 軟體產品線技術
16.5.1 軟體產品線基本概念
16.5.2 軟體產品線方法
16.5.3 北大青鳥工程
16.6 軟體過程與標準化
16.6.1 軟體過程及其改進
16.6.2 ISO9000標準
16.6.3 軟體能力成熟度模型
16.7 習題
第3篇 軟體工程實驗
第17章 軟體工程實驗大綱
17.1 面向過程的軟體工程實驗
17.1.1 實驗1 圖書館圖書管理系統的可行性分析
17.1.2 實驗2 圖書館圖書管理系統的項目開發計畫
17.1.3 實驗3 圖書館圖書管理系統的需求分析
17.1.4 實驗4 圖書館圖書管理系統的總體設計
17.1.5 實驗5 圖書館圖書管理系統的詳細設計及編碼實現
17.1.6 實驗6 圖書館圖書管理系統的系統測試
17.1.7 實驗7 圖書館圖書管理系統用戶手冊的撰寫
17.1.8 實驗8 圖書館圖書管理系統項目開發總結報告的撰寫
17.2 面向對象的軟體工程實驗
17.2.1 實驗1 瀏覽器系統的可行性分析
17.2.2 實驗2 瀏覽器系統的項目開發計畫
17.2.3 實驗3 瀏覽器系統的需求分析
17.2.4 實驗4 瀏覽器系統的體系結構設計
17.2.5 實驗5 採用面向對象方法進行瀏覽器系統的詳細設計
17.2.6 實驗6 利用RationalRose正向工程功能完成編碼的實驗
17.2.7 實驗7 利用RationalRose逆向工程完成修改設計的實驗
17.2.8 實驗8 瀏覽器系統的測試
17.2.9 實驗9 瀏覽器系統用戶手冊的撰寫
17.2.10 實驗10 瀏覽器系統項目開發總結報告的撰寫
附錄
附錄A UML圖總結
附錄B UML中定義的常用版型、約束和標記
附錄C GOF給出的軟體設計模式
參考文獻

熱門詞條

聯絡我們