內容簡介
為了滿足廣大讀者對軟體工程套用技術的學習需求,特別是為了提高高職高專軟體技術專業學生的UML建模能力,本書在介紹軟體開發各階段所涉及的基本理論的基礎上,以實際的開發項目重點介紹了用例模型、分析模型、設計模型等UML全程建模過程,並介紹了套用項目管理工具Microsoft Project對開發項目進行時間、資源和成本計畫的編制與監控管理,使用PowerDesigner建模工具構建數據模型,以及使用LoadRunner等測試工具對軟體進行自動或手工測試的過程。本書注重理論與實際相結合,內容選取適當,按“問題引入-解答問題-分析問題”的方式設計情景,符合人們的認知過程。全書結構嚴謹、布局合理、重點突出,具有很強的實用性。本書適合作為高職高專院校軟體技術專業“軟體工程”課程的教材或教學參考書,也可作為軟體開發人員的自學用書。
圖書前言
隨著計算機科學與網路技術的不斷發展,計算機的套用範圍越來越廣,軟體的規模及社會需求量在迅猛增大,軟體工程化方法的重要性也日益突出,這從客觀上迫切需要眾多既具有軟體工程理論知識,又掌握軟體工程實際套用技能的人才。特別是對於高職高專院校的軟體技術專業學生,更需要一本注重軟體工程實際套用技術的教材。本書正是在“理論夠用、實戰為本”的思想指導下,特為高職高專院校軟體技術專業學生學習和掌握軟體工程套用技術而編寫的。為培養軟體開發實用型專門人才,本書在介紹軟體工程理論知識的基礎上,以實際的軟體項目“客戶服務系統”的建模過程為主線,按照軟體開發的實際工作過程及流程,以任務驅動的方式,重點闡述面向對象的軟體開發技術以及UML全程建模。注重對學生實際套用技能和動手能力的培養。書中內容按“問題引入—解答問題—分析問題”的方式設計情境,打破了傳統的“提出問題—分析問題—解決問題”的問題解決模式,更符合人們的認知過程。本書正文共分9章,主要內容包括:第1章概述,主要介紹軟體工程及軟體工程的目標、過程和原則、UML等方面的問題和基本概念,並對作為全書案例的軟體項目作了簡要描述;第2章軟體項目管理,主要介紹項目管理的概念、組成部分以及工期的計算公式、WBS等基本知識,項目的時間、資源和成本計畫的編制與監控管理,以及用Microsoft Project項目管理軟體來管理與跟蹤這些計畫;第3章軟體系統開發方法,主要介紹軟體生命周期及傳統的生命周期模型、傳統軟體開發方法與面向對象軟體開發技術、RUP統一軟體開發過程、敏捷軟體開發技術等方面的問題及基本概念;第4章建立用例模型,主要介紹建立用例模型的過程及相關知識,包括需求獲取、分析需求、用例在需求分析中的使用、識別參與者、確定用例、用例的粒度、用例間的關係、用例描述和用例建模等方面的內容;第5章建立分析模型,主要介紹建立分析模型的過程及相關知識,包括對象、類和對象、類的UML表示,確定關鍵抽象,類之間的關係及其UML表示,建立領域模型,分布模式的選擇與套用,構建分析類,職責分配,定義類屬性,分析模型等方面的知識;第6章資料庫建模,主要介紹建立資料庫模型的過程及相關知識,包括從業務需求創建數據模型的流程,定義數據需求,定義概念模型,設計邏輯數據模型,設計物理數據模型,數據模型的最佳化與發布等方面的內容;第7章建立設計模型,主要介紹建立系統設計模型的過程及相關知識,包括設計模式的選擇與套用,定義設計類,設計類,設計類間的關係,活動圖,狀態圖,設計模型順序圖,設計模型的分包,邏輯視圖到構件視圖的映射等方面的內容;第8章系統架構設計,主要介紹系統架構的設計過程及相關知識,包括業務架構及業務架構的分析,軟體架構及軟體架構的設計,軟體架構與框架的區別,軟體架構的“4+1”視圖模型,組件圖,部署圖等方面的內容;第9章軟體測試,主要介紹軟體測試的基本概念、測試方法和測試過程等方面的知識。本書注重理論與實際套用相結合,具有很強的實用性。本書由何曉蓉主編,參加編寫的有何曉蓉(第1章、第3章、第5章的第9節,第7章、第8章的第6節、附錄A、附錄C),張嬋和羅佳(第4章、第5章的第1~8節及第10節、第6章、附錄B),車書(第2章、第8章的第1~5節及第7~8節),陳建潮(第9章)。李洛教授擔任本書的主審。本書由何曉蓉擬定大綱,並進行統稿和定稿。
圖書目錄
第1章 概述
1.1 軟體工程
1.1.1 軟體工程的定義
1.1.2 軟體工程的目標
1.1.3 軟體工程過程
1.1.4 軟體工程的原則
1.2 UML簡介
1.3 案例描述
總結
思考與練習
第2章 軟體項目管理
2.1 項目管理概述
2.1.1 項目管理定義
2.1.2 項目管理的組成部分
2.1.3 工期的計算公式
2.1.4 WBS
2.2 Microsoft Project項目管理軟體的使用
2.2.1 編制項目計畫
2.2.2 編制項目的時間計畫
2.2.3 編制項目的資源計畫
2.2.4 編制項目的成本計畫
2.2.5 項目監控管理
總結
思考與練習
第3章 軟體系統開發方法
3.1 軟體開發生命周期
3.2 軟體開發模型
3.2.1 瀑布模型
3.2.2 演化模型
3.2.3 螺旋模型
3.2.4 增量模型
3.3 傳統軟體開發方法
3.4 面向對象軟體開發技術
3.4.1 面向對象的基本概念
3.4.2 面向對象的開發
3.5 RUP統一軟體開發過程
3.5.1 RUP的生命周期
3.5.2 RUP的核心工作流程
3.6 敏捷軟體開發技術
3.6.1 敏捷開發技術基本概念
3.6.2 極限編程
總結
思考與練習
第4章 建立用例模型
4.1 需求獲取
4.2 分析需求
4.3 用例在需求分析中的使用
4.4 識別參與者
4.5 確定用例
4.6 用例的粒度
4.7 用例間的關係
4.8 用例描述
4.9 用例建模
總結
思考與練習
第5章 建立分析模型
5.1 對象、類和對象、類的UML表示
5.2 確定關鍵抽象
5.3 類之間的關係及其UML表示
5.3.1 關聯
5.3.2 依賴
5.3.3 泛化
5.3.4 聚合
5.3.5 組合
5.4 建立領域模型
5.5 分布模式的選擇與套用
5.6 構建分析類
5.7 互動圖
5.7.1 順序圖
5.7.2協作圖
5.8 職責分配
5.9 定義類的屬性
5.10 分析模型
總結
思考與練習
第6章 資料庫建模
6.1 從業務需求創建數據模型的流程
6.2 定義數據需求
6.3 定義概念模型
6.4 設計邏輯數據模型
6.5 設計物理數據模型
6.6 數據模型的最佳化與發布
總結
思考與練習
第7章 建立設計模型
7.1 設計模式的選擇與套用
7.1.1 Facade(門面)模式
7.1.2 Adapter(適配器)模式
7.1.3 Factory(工廠)模式
7.2構建設計類
7.2.1 從分析類生成設計類
7.2.2 確定類的大小
7.3 詳細設計類
7.3.1 設計公用類
7.3.2 設計類接口
7.3.3 設計屬性和操作
7.4 設計類間關係
7.4.1 設計繼承
7.4.2 設計聚合/組合
7.4.3 設計關聯
7.5 活動圖
7.6 狀態圖
7.7 設計模型順序圖
7.8 設計模型的分包
7.9 邏輯視圖到構件視圖的映射
總結
思考與練習
第8章 系統架構設計
8.1 業務架構
8.2 業務架構分析
8.2.1 客戶服務系統業務架構分析
8.2.2 客戶服務系統子模組劃分
8.3 軟體架構
8.4 軟體架構設計
8.5 軟體架構與框架
8.6 軟體架構的“4+1”視圖模型
8.7 組件圖
8.8 部署圖
總結
思考與練習
第9章 軟體測試
9.1 基本概念
9.1.1 軟體測試的必要性
9.1.2 軟體測試的目的
9.1.3 軟體缺陷定義
9.1.4 測試用例
9.1.5 軟體測試的原則
9.2 測試方法
9.2.1 白盒測試
9.2.2 黑盒測試
9.3 測試過程
9.3.1 軟體測試過程模型介紹
9.3.2 單元測試
9.3.3 集成測試
9.3.4 確認測試
9.3.5 系統測試
9.3.6 驗收測試
總結
思考與練習
附錄A 用戶界面設計
A.1 UI設計師的工作
A.2 用戶界面的設計原則
A.3 用戶界面的設計流程
A.4 客戶服務系統界面設計
附錄B Java語言的編碼規範
B.1 導言
B.2 格式
B.3 命名規則
B.4 變數
B.5 注釋
B.6 編碼
附錄C 軟體工程文檔
c.1 用戶需求說明書模板
c.2 軟體需求規格說明書模板
C.3概要設計說明書模板
C.4 軟體設計說明書模板
參考文獻