第1章 引言
1.1 面向對象的概念
1. 1. 1 對象的特性
1.2 面向對象開發(fā)的概念
1. 2. 1 面向對象的思維
1. 2. 2 面向對象方法學
1. 2. 3 三種模型
1. 2. 4 功能方法學上的差異
1.3 面向對象技術要點
1. 3. 1 抽象
1. 3. 2 封裝
1. 3. 3 數(shù)據(jù)和行為的聯(lián)合
1. 3. 4 共享
1. 3. 5 重點在對象結構, 不是在過程結構
1. 3. 6 協(xié)同作用
1.4 面向對象開發(fā)的可用性例證
1.5 面向對象方法的要點和主要優(yōu)點
1.6 本書的組織
練習......................................................12
第2章 一種設計技術的建模
2.1 建模
2. 1. 1 使用模型的目的
2. 1. 2 抽象
2.2 對象模型技術
2. 2. 1 對象模型
2. 2. 2 動態(tài)模型
2. 2. 3 功能模型
2. 2. 4 三種模型的聯(lián)系
2.3 小結
練習.......................................................20
第3章 對象模型
3.1 對象和類
3. 1. 1 對象
3. 1. 2 類
3. 1. 3 對象圖
3. 1. 4 屬性
3. 1. 5 操作和方法
3. 1. 6 對象類的表示方法
3. 1. 7 對象和類的OMT表示的改進
3. 1. 8 改進的對象和類的表示小結
3.2 鏈接和關聯(lián)
3. 2. 1 一般概念
3. 2. 2 重數(shù)
3. 2. 3 關聯(lián)的重要性
3.3 高級鏈接和關聯(lián)概念
3. 3. 1 鏈接屬性
3. 3. 2 用關聯(lián)模型化分類
3. 3. 3 角色名
3. 3. 4 排序
3. 3. 5 資格符
3. 3. 6 聚合
3.4 概括和繼承
3. 4. 1 一般概念
3. 4. 2 概括的使用
3. 4. 3 重寫的特征
3.5 構造分組
3. 5. 1 模塊
3. 5. 2 表
3.6 對象模型的一個實例
3.7 OMT 對象模型在鏈接和關聯(lián)方面的改進
3.8 實踐的技巧
3.9 小結
練習......................................................47
第4章 高級對象模型
4.1 對象和類的概念
4. 1. 1 例化
4. 1. 2 類屬性和操作
4. 1. 3 屬性的重數(shù)
4. 1. 4 類的候選關鍵字
4. 1. 5 域
4. 1. 6 數(shù)據(jù)的輔助特征
4.2 鏈接和關聯(lián)的概念
4. 2. 1 重數(shù)
4. 2. 2 三元關聯(lián)
4. 2. 3 關聯(lián)的候選關鍵字
4. 2. 4 異或關聯(lián)
4. 2. 5 資格關聯(lián)
4.3 聚合
4. 3. 1 聚合與關聯(lián)
4. 3. 2 聚合與概括
4. 3. 3 遞歸聚合
4. 3. 4 操作的傳播
4. 3. 5 物理聚合與分類聚合
4. 3. 6 物理聚合的語義擴展
4. 3. 7 分類聚合的語義擴展
4.4 概括
4. 4. 1 抽象類和具體類
4. 4. 2 概括與其他對象建模結構
4.5 多重繼承
4. 5. 1 有不同鑒別器的多重繼承
4. 5. 2 無公共祖先的多重繼承
4. 5. 3 多重繼承的工作環(huán)境
4.6 包
4. 6. 1 水平邏輯
4. 6. 2 包的實例
4.7 導出數(shù)據(jù)和約束
4.8 對象元模型
4. 8. 1 元數(shù)據(jù)和元模型
4. 8. 2 框架
4. 8. 3 模式
4.9 高級實踐技巧
4.10 小結
練習....................................................89
第5章 動態(tài)模型
5.1 事件和狀態(tài)
5. 1. 1 事件
5. 1. 2 腳本和事件軌跡
5. 1. 3 狀態(tài)
5. 1. 4 狀態(tài)圖
5. 1. 5 條件
5.2 操作
5. 2. 1 控制操作
5. 2. 2 操作的狀態(tài)圖小結
5.3 嵌套狀態(tài)圖
5. 3. 1 平狀態(tài)圖問題
5. 3. 2 嵌套狀態(tài)圖
5. 3. 3 狀態(tài)概括
5. 3. 4 事件概括
5.4 并發(fā)性
5. 4. 1 聚合并發(fā)性
5. 4. 2 對象內部并發(fā)性
5.5 高級動態(tài)模型概念
5. 5. 1 進入和退出動作
5. 5. 2 內部動作
5. 5. 3 自動變遷
5. 5. 4 發(fā)送事件
5. 5. 5 并發(fā)活動的同步
5.6 動態(tài)模型的實例
5.7 對象模型和動態(tài)模型的關系
5.8 實踐技巧
5.9 小結
練習.....................................................117
第6章 功能模型
6.1 功能模型
6.2 數(shù)據(jù)流圖
6. 2. 1 處理
6. 2. 2 數(shù)據(jù)流
6. 2. 3 施動者
6. 2. 4 數(shù)據(jù)存儲
6. 2. 5 嵌套數(shù)據(jù)流圖
6. 2. 6 控制流
6.3 指定的操作
6.4 約束
6.5 數(shù)據(jù)庫應用中的功能模型
6. 5. 1 偽碼
6. 5. 2 ONN的偽碼
6. 5. 3 ONN的構造
6. 5. 4 組合ONN構造
6. 5. 5 添加ONN特性
6. 5. 6 其他范疇
6. 5. 7 實踐技巧
6.6 功能模型的實例(飛行模擬機裝置)
6.7 功能模型與對象模型和動態(tài)模型的關系
6.8 小結
練習....................................................151
第7章 方法學簡介
7.1 OMT是一種軟件工程方法學
7.2 OMT方法學
7.3 面向對象方法的深遠影響
7.4 小結
練習....................................................160
第8章 分析
8.1 分析綜述
8.2 需求陳述
8.3 自動取款機例子
8.4 建立對象模型
8. 4. 1 找出對象類
8. 4. 2 篩選出正確的對象類
8. 4. 3 準備數(shù)據(jù)字典
8. 4. 4 確定關聯(lián)
8. 4. 5 劃分主題
8. 4. 6 確定屬性
8. 4. 7 用繼承性改進對象模型
8. 4. 8 反復修改對象模型
8.5 動態(tài)模型
8. 5. 1 編寫腳本
8. 5. 2 用戶界面
8. 5. 3 畫事件軌跡圖
8. 5. 4 畫狀態(tài)圖
8. 5. 5 審查動態(tài)模型
8.6 功能模型
8. 6. 1 找出輸入和輸出值
8. 6. 2 建立數(shù)據(jù)流圖
8. 6. 3 描述功能
8. 6. 4 找出對象之間的約束
8. 6. 5 指定優(yōu)化規(guī)則
8.7 定義服務
8. 7. 1 常規(guī)行為
8. 7. 2 從事件導出的操作
8. 7. 3 與數(shù)據(jù)流圖中處理框對應的操作
8. 7. 4 利用繼承減少冗余操作
8.8 小結
練習.....................................................189
第9章 系統(tǒng)設計
9.1 系統(tǒng)設計綜述
9.2 將系統(tǒng)劃分為子系統(tǒng)
9. 2. 1 分層
9. 2. 2 分塊
9. 2. 3 系統(tǒng)拓撲
9.3 識別并發(fā)性
9. 3. 1 識別固有并發(fā)性
9. 3. 2 定義并發(fā)任務
9.4 給子系統(tǒng)分配處理器和任務
9. 4. 1 估計硬件資源需求
9. 4. 2 硬件與軟件之間的折中
9. 4. 3 為任務指定處理器
9. 4. 4 確定物理連接
9.5 數(shù)據(jù)存儲管理
9. 5. 1 使用數(shù)據(jù)庫的優(yōu)點
9. 5. 2 使用數(shù)據(jù)庫的缺點
9.6 處理全局資源
9.7 選擇軟件控制實現(xiàn)
9. 7. 1 過程驅動系統(tǒng)
9. 7. 2 事件驅動系統(tǒng)
9. 7. 3 并發(fā)系統(tǒng)
9. 7. 4 內部控制
9. 7. 5 其他范型
9.8 處理邊界條件
9.9 設置折中的優(yōu)先權
9.10 公共的體系結構框架
9. 10. 1 批處理變換
9. 10. 2 連續(xù)交換
9. 10. 3 交互式接口
9. 10. 4 動態(tài)模擬
9. 10. 5 實時系統(tǒng)
9. 10. 6 事務處理管理
9.11 ATM系統(tǒng)的結構
9.12 小結
練習....................................................214
第10章 對象設計
10.1 對象設計綜述
10. 1. 1 從分析和系統(tǒng)結構著手
10. 1. 2 對象設計的步驟
10. 1. 3 對象模型工具
10.2 組合三種模型
10.3 設計算法
10. 3. 1 選擇算法
10. 3. 2 選擇數(shù)據(jù)結構
10. 3. 3 定義內部類和操作
10. 3. 4 指定操作的職責
10.4 設計優(yōu)化
10. 4. 1 添加冗余關聯(lián)獲取有效訪問
10. 4. 2 重新安排執(zhí)行次序以獲得效率
10. 4. 3 保存導出屬性避免重復計算
10.5 控制實現(xiàn)
10. 5. 1 在程序內進行狀態(tài)設置
10. 5. 2 狀態(tài)機器引擎
10. 5. 3 控制作為并發(fā)任務
10.6 繼承的調整
10. 6. 1 重新安排類和操作
10. 6. 2 抽象出公共的行為
10. 6. 3 使用授權共享實現(xiàn)
10.7 關聯(lián)設計
10. 7. 1 分析關聯(lián)遍歷
10. 7. 2 單向關聯(lián)
10. 7. 3 雙向關聯(lián)
10. 7. 4 鏈接屬性
10.8 對象的表示
10.9 物理打包
10. 9. 1 信息隱藏
10. 9. 2 實體的相關性
10. 9. 3 構造模塊
10.10 設計決策文檔
10.11 小結
練習.......................................................240
第11章 方法學總結
11.1 分析
11.2 系統(tǒng)設計
11.3 對象設計
11.4 小結
練習.......................................................248
第12章 方法學比較
12.1 結構化分析/結構化設計(SA/SD)
12. 1. 1 SA/SD方法概述
12. 1. 2 與OMT方法學的比較
12.2 Jackson結構化開發(fā)方法