think in uml學習
面向對象和面向過程是兩種不同描述世界的方法。
面向過程:世界視為過程,世界由一個個相互關聯的小程序構建來的,是精密的。
但是構成一個系統的因素太多,要把所有可能的因素都考慮到,把所有因素的因果分析都分析清楚,再把這個過程模擬出來實在是太困難了。
面向對象:世界視為對象,世界由一個個相互獨立、相互之間沒有因果關系的對象構成,是獨立的。
但是難點在於為什么這樣抽象對象?怎樣組合對象?對象的組合表達了怎樣的含義?(面向對象存在的問題why how what )
例如:把大象裝進冰箱的兩種方式
面向過程-每個過程有一個階段性的目標,依次完成這些過程,就能把大象裝進冰箱:
冰箱開門(打開門的冰箱)
冰箱裝進(冰箱, 大象)
冰箱關門(冰箱)
面向對象-依次做這些動作(動作的執行者就是對象),就能把大象裝進冰箱
冰箱.開門(),
冰箱.裝進(大象.進冰箱),
冰箱.關門()
面向對象是把世界看作是由許多對象組成的,UML是一種是面向對象軟件的標准化建模語言:
- 把現實世界映射到對象世界的方法;
- 從對象世描述現實世界的方法;
- 驗證對象世界行為是否正確反映了現實世界的方法;
UML優點:可視化、統一標准、人和機器皆可理解;
UML建模要素:參與者(actor)、用例(use case)、業務對象模型 、業務場景(現實:人驅動,事體現過程,物記錄結果,規則是控制)
模型為參與者服務,用例體現業務目標,業務場景描述怎么做,用例場景依據的規則
現實世界-》業務模型-》概念模型-》設計模型
業務模型--參與者(actor),用例(usecase)
概要模型(分析模型)--邊界類、實體類、控制類
UML基本概念
建模(Modeling)-構成一種對所觀察的對象的內部結構和工作原理的便於理解的表達
怎么建?做需求的時候,首要目標不是要弄清楚業務是如何一步一步完成的,而是要弄清楚有多少業務的參與者?找出問題領域里包含的抽象角度,每個參與者的目標就是抽象角度,也就是用例
什么是模?靜態的事情(物)+特定的條件(規則)+特定的動作(參與者的驅動)=特定的場景(事件)(人、事、物、規則)。
建模公式
用例驅動
實現用例必須要做的工作,用例實現了,問題領域就解決了;
用例驅動包括:邏輯視圖、進程視圖、實施視圖、部署視圖
抽象

視圖
組織UML元素反映模型的含義,觀察事物的角度;
對每個視圖,不同的視角展示了同樣信息的不同認知角度以便於理解;
一個好的模型,需要為特定的信息選擇正確的視圖,為特定的干系人展示正確的視角;
對象分析方法
一切都是對象、對象都是獨立的、對象都具有原子性、對象都是可抽象的、對象都有層次性