【建模】基础概念
目錄
建模
抽象層次
視圖
對象分析方法
建模
通過客觀事物建立一種抽象的方法用以表征事物并獲得對事物本身的理解,同時把這種理解概念化,將這些邏輯概念組織起來,構成一種所觀察的對象的內部結構和工作原理。
- 決定抽象的角度,據此得出相同點和不同點。
- 面對問題域,首先不要決定通盤考慮,而是找出問題領域里包含的抽象角度
如何建模?
- 弄清楚業務的參與者
- 每個參與者的目標 (抽象的角度) = 用例
模什么?
- 一個由抽象角度確定目標需要有靜態的事物加上特定條件下產生的一個特定場景來完成
特定的場景 = 靜態的事物(物) + 特定的條件(規則) + 特定的動作 (參與者的驅動)
用例驅動 (用例實現=問題領域解決)
- 邏輯視圖:關鍵用例實現,子系統,包,類(人,事,物,規則 如何分類組織)
- 進程視圖(分析設計視圖):類,子系統到進程,線程的映射?(人,事,物,規則 如何分類交互)
- 部署視圖:進程,線程物理分布
- 實施視圖
- 列舉實施模型中所有子系統
- 子系統如何組織為層次和分層結構的構件圖
- 描述子系統間的導入依賴關系的圖解
抽象層次
用例選擇的困難主要是由于沒有找準抽象層次而產生
- 自頂向下:從頭開始認識一個事物
- 自底向上:在實踐中改進和提高認識
實踐:在軟件開發過程中,主體應當采用自頂向下,用少量概念覆蓋系統需求,再逐步降低抽象層次,直到代碼編寫;同時輔以自底向上方法,通過總結在較低層次的實踐經驗來改進較高層次的概念以提升軟件質量。
視圖
視角是人們觀察事物的角度,恰當視角可以讓觀察者更容易抓住信息的本質,觀察者只會關心信息中他感興趣的那部分視角。
- 用例圖,對象圖,類圖,包圖,活動圖等不同的視圖從不同的方面描述一個軟件的結構和組成,哪些軟件信息繪制哪些視圖?
- 軟件干系人對同樣的信息的審視角度是不同的,哪些干系人展示哪些視圖?
對象分析方法
分析多個對象的實例所參與的場景,獲得多個側面信息并歸納整理出一般特性。
- 一切都是對象
- 獨立性:對象來源于場景分析(抽象,封裝,共性的東西公共化 -- 對象抽象的原動力)
- 原子性:在同一抽象層次上,將對象視為一個不可分割的,哪怕這個對象規模很大。不要打破對象邊界去窺探對象的內部。(在實現對象之前不理會其內部細節--面向接口編程)
- 可抽象:對象參與的場景越多,對象越有抽象價值。
- 層次性:層次越高,描述越粗略但適應能力越廣。
?
總結
- 上一篇: 【建模】可视化描绘现实世界-三种模型转换
- 下一篇: 【项目管理】敏捷原则