主要內容
本書是論述面向對象分析(OOA)方法的專著。全書共分十章。前三章系統地介紹面向對象方法的基本知識,論述OOA的主要優點,概要地介紹本書的OOA方法之主要特點。第四章至第九章詳細介紹OOA的全過程,圍繞OOA的基本模型(類圖)、補充模型(主題圖、usecase與互動圖)和詳細說明,對每個開發活動所涉及的概念進行深入討論,並給出詳細的過程指導。第十章集中地論述軟體復用及其與OOA的關係,給出按軟體復用的要求組織OOA過程的策略。
作者長期從事對象技術領域的科研、教學和工程實踐。本書是他們參閱國內外大量文獻,結合自己多年研究的精心之作。書中內容詳實、立論嚴謹、實例豐富、圖文並茂,論述深入淺出,適合作為教學參考書和工程技術用書。計算機軟體專業的教師、研究生、本科生、培訓班的師生、研究人員和工程技術人員。
圖書目錄
第一章 面向對象方法概論
1.1 什麼是面向對象
1.2 從認識論看面向對象方法的形成
1.2.1 軟體開發——對事物的認識和描述
1.2.2 語言的鴻溝
1.2.3 程式語言的發展使鴻溝變窄
1.2.4 軟體工程學的作用
1.2.5 面向對象是軟體方法學的返璞歸真
1.3 面向對象方法的主要概念
1.3.1 對象
1.3.2 類
1.3.3 封裝
1.3.4 繼承
1.3.5 訊息
1.3.6 結構與連線
1.3.7 多態性
1.3.8 永久對象
1.3.9 主動對象
1.3.10 術語對照
1.4 面向對象方法的歷史及現狀
1.4.1 歷史
1.4.2 OO方法發展到軟體工程的前期階段
1.4.3 當前的研究及實踐領域
第二章 為什麼需要OOA
2.1 什麼是OOA
2.2 分析面臨的主要問題
2.3 分析方法綜述
2.3.1 功能分解法
2.3.2 數據流法
2.3.3 信息建模法
2.3.4 面向對象的分析
2.3.5 分析方法的比較
2.3.6 OOA的主要優點
2.4 各種OOA方法
第三章 本書的OOA方法概貌
3.1 引言
3.2 主要概念及表示法
3.3 OOA的主要原則
3.4 OOA模型及詳細說明
3.4.1 基本模型——類圖
3.4.2 補充模型——主題圖. use case和互動圖
3.4.3 詳細說明
3.4.4 完整的OOA文檔及詳簡程度的控制
3.5 OOA過程
3.6 OOA與OOD的關係
3.7 技術支持
第四章 發現對象. 建立對象類
4.1 對象. 主動對象以及它們的類
4.2 表示法
4.3 研究問題域和用戶需求
4.3.1 研究用戶需求. 明確係統責任
4.3.2 研究問題域
4.3.3 確定系統邊界
4.4 發現對象
4.4.1 出發點——問題域和系統責任
4.4.2 正確地運用抽象原則
4.4.3 策略與啟發
4.4.4 審查和篩選
4.4.5 識別主動對象
4.5 對象分類. 建立類圖的對象層
4.5.1 異常情況的檢查和調整
4.5.2 類的命名
4.5.3 建立類圖的對象層
4.6 例子
第五章 定義屬性與服務
5.1 對象的屬性和服務
5.2 表示法
5.3 定義屬性
5.3.1 策略與啟發
5.3.2 審查與篩選
5.3.3 推遲到OOD考慮的問題
5.3.4 屬性的命名和定位
5.3.5 屬性的詳細說明
5.4 定義服務
5.4.1 對象的狀態與狀態轉換圖
5.4.2 行為分類
5.4.3 發現服務的策略與啟發
5.4.4 審查與調整
5.4.5 認識對象的主動行為
5.4.6 服務的命名和定位
5.4.7 服務的詳細說明
5.5 建立類圖的特徵層
5.6 例子
第六章 定義結構與連線
6.1 一般-特殊結構
6.1.1 一般-特殊結構及其用途
6.1.2 表示法
6.1.3 如何發現一般-特殊結構
6.1.4 審查與調整
6.1.5 一般-特殊結構的簡化
6.1.6 多繼承及多態性問題
6.1.7 調整對象層和特徵層
6.2 整體-部分結構
6.2.1 整體-部分結構及其用途
6.2.2 表示法
6.2.3 如何發現整體-部分結構
6.2.4 審查與篩選
6.2.5 整體-部分結構的進一步運用
6.2.5.1 簡化對象的定義
6.2.5.2 支持軟體復用
6.2.5.3 表示數量不定的組成部分
6.2.5.4 表示動態變化的對象特徵
6.2.6 調整對象層和屬性層
6.3 實例連線
6.3.1 簡單的實例連線
6.3.2 複雜的實例連線
6.3.2.1 採用複雜的實例連線概念
6.3.2.2 用對象表示實例連線的複雜性
6.3.3 三元(及多元)關聯問題
6.3.4 如何建立實例連線
6.3.5 對象層. 特徵層的增補及實例連線說明
6.4 訊息連線
6.4.1 什麼是訊息
6.4.1.1 順序系統中的訊息
6.4.1.2 並發系統中的訊息
6.4.1.3 訊息對OOA的意義
6.4.2 OOA對訊息的表示——訊息連線
6.4.3 如何建立訊息連線
6.4.3.1 建立控制執行緒內部的訊息連線
6.4.3.2 建立控制執行緒之間的訊息連線
6.4.3.3 對象分布問題及其對訊息的影響
6.4.4 訊息的詳細說明
6.5 例子
第七章 劃分主題
7.1 主題概念的引入及其用途
7.2 主題的表示方法
7.3 如何劃分主題
7.3.1 低層主題的劃分
7.3.2 主題合併
7.3.3 主題層次的控制
7.3.4 異常問題的處理
7.4 主題圖的形成
7.5 例子
第八章 use case和互動圖
8.1 系統邊界與活動者
8.1.1 什麼是系統邊界
8.1.2 什麼是活動者
8.1.3 系統邊界與活動者對OOA的意義
8.1.4 如何發現活動者
8.1.5 例子——超級市場銷售管理系統
8.2 use case
8.2.1 什麼是use case
8.2.2 use case對OOA的意義
8.2.3 表示形式和例子
8.2.4 如何定義use case
8.2.5 關於use case概念的若干問題討論
8.3 互動圖
8.3.1 互動圖及其表示方法
8.3.2 互動圖的用途
8.3.3 如何建立互動圖
8.3.4 一些複雜問題的處理
8.3.5 關於互動圖描述策略的討論
8.4 開發過程和文檔組織
第九章 詳細說明
9.1 詳細說明的組織層次
9.2 類描述模板
9.2.1 模板:一種支持機器理解的詳細說明方式
9.2.2 類描述模板的內容
9.2.3 關係的說明策略
9.2.4 類描述模板的基本格式
9.2.5 類描述模板的建立過程及CASE工具支持
9.4 完整的OOA文檔
第十章 OOA與軟體復用
10.1 軟體復用
10.1.1 概述
10.1.2 可復用構件
10.1.3 構件庫
10.1.4 軟體復用的根本困難
10.2 專向領域的復用及領域分析
10.2.1 可復用的軟體構架
10.2.2 領域分析
10.2.3 基於構件/構架的軟體開發
10.3 OOA對軟體復用的支持
10.3.1 支持軟體復用的OO概念與原則
10.3.2 支持軟體復用的OOA方法
10.4 復用技術對OOA的支持
參考文獻
索引