UML建模原理

2022-05-08 17:21:11 字數 2223 閱讀 4853

各種工程學科都有其豐富的建模運用歷史。這些經驗形成了建模的四項基本原理,現分別敘述如下:

第一,選擇要建立什麼模型,對如何動手解決問題和如何形成解決方案有著意義深遠的影響。

換句話說,就是要好好地選擇模型。正確的模型將清楚地表明最棘手的開發問題,提供不能輕易地從別處獲得的洞察力;錯誤的模型將使人誤入歧途,把精力花在不相關的問題上。暫時先把軟體問題放在一邊,假設現在正試**決量子物理學上的乙個問題。諸如光子在時空中的相互作用問題,其中充滿了令人驚奇的難解的數學問題。選擇乙個不同的模型,所有的複雜問題一下子就變得可行了(雖然不容易解決)。在這個領域中,這恰恰是feynmann圖的價值,它提供了對非常複雜問題的圖形表示。類似地,在乙個完全不同的領域裡,假設正在建造一座新建築,將會關心疾風對它的影響。如果建立了乙個物理模型,並拿到風洞中去實驗,雖然小模型沒有精確地反映出大的實物,但也可以從中找出一些有趣的東西。因此,如果正在建立乙個數學模型,然後去模擬,將知道一些不同的東西;與使用物理模型相比,也可能獲得更多新的場景。通過對模型進行嚴格的持續的實驗,將更信任已經建模的系統,事實上,它在現實世界中將像期望的那樣工作得很好。

對於軟體而言,所選擇的模型將在很大程度上影響對領域的看法。如果以資料庫開發者的觀點建造乙個系統,可能會注意實體—聯絡模型,該模型把行為放入觸發器和儲存過程中。如果以結構化開發者的觀點建造乙個系統,可能得到以演算法為中心的模型,其中包含從處理到處理的資料流。如果以物件導向開發者的觀點建造乙個系統,將可能得到這樣乙個系統:它的體系結構以一組類和互動模式(指出類如何一起工作)為中心。可執行的模型對測試有很大幫助。上述的任何一種方法對於給定的應用系統和開發文化都可能是正確的,經驗表明,在構建有彈力的體系結構中物件導向的方法表現得更為出眾,即使對使用大型資料庫或計算單元的系統也是如此。儘管事實如此,但要強調一點,不同的方法將導致不同種類的系統,並且代價和收益也是不同的。

第二,可以在不同的精度級別上表示每一種模型。

如果正在建造一座大廈,有時需要從巨集觀上讓投資者看到大廈的樣子,感覺到大廈的總體效果。而有時又需要認真考慮細節問題,例如,對複雜棘手的管道的鋪設,或對少見的結構件的安裝等。

對於軟體模型也是如此。有時乙個快速簡潔且是可執行的使用者介面模型正是所需要的,而有時必須耐著性子對付位元,例如,描述跨系統介面或解決網路瓶頸問題就是如此。在任何情況下,最好的模型應該是這樣的:它可以讓你根據誰在進行觀察以及為什麼要觀察選擇它的詳細程度。分析人員或終端使用者主要考慮「做什麼」的問題,開發人員主要考慮「怎樣做」的問題。這些人員都要在不同的時間以不同的詳細程度對系統進行視覺化。

第三,最好的模型是與現實相聯絡的。

如果建築的物理模型不能以與真實的建築相同的方式做出反應,則它的價值是很有限的;飛機的數學模型,如果只是假定了理想條件和完美製造,則可能掩蓋真實飛機的一些潛在的、致命的現實特徵。最好是有能夠清晰地聯絡實際的模型,而當聯絡很薄弱時能夠精確地知道這些模型怎樣與現實脫節。所有的模型都對現實進行了簡化;但有一點要記住,關鍵是簡化不要掩蓋掉任何重要的細節。

軟體領域中結構化分析的致命弱點是在分析模型和系統設計模型之間沒有基本的聯絡。隨著時間的推移,這個不可填充的裂縫會使系統構思階段和實施階段出現不一致。在物件導向的系統中,可以把各個幾乎獨立的系統檢視鏈結成乙個完整的語義整體。

第四,單個模型或檢視是不充分的。對每個重要的系統最好用一小組幾乎獨立的模型從多個視角去逼近。

如果正在建造一所建築物,會發現沒有任何一套單項設計圖能夠描述該建築的所有細節。至少需要樓層平面圖、立面圖、電氣設計圖、採暖設計圖和管道設計圖。並且,在任何種類的模型中都需要從多視角來把握系統的範圍(例如不同樓層的藍圖)。

在這裡的重要短語是「幾乎獨立的」。在這個語境中,它意味著各種模型能夠被分別進行研究和構造,但它們仍然是相互聯絡的。如同建造建築物一樣,既能夠單獨地研究電氣設計圖,但也能看到它如何對映到樓層平面圖中,以及它與管道設計圖中的管子排布的相互影響。

物件導向的軟體系統也如此。為了理解系統的體系結構,需要幾個互補和連鎖的檢視:用況檢視(揭示系統的需求)、設計檢視(捕獲問題空間和解空間裡的詞彙)、互動檢視展示系統各部分之間以及系統與環境之間的聯絡)、實現檢視(描述系統的物理實現)和部署檢視(著眼於系統的工程問題)。每一種檢視都可能有結構方面和行為方面。這些檢視一起從整體上描繪了軟體藍圖。

根據系統的性質,一些模型可能比另一些模型要重要。例如,對於資料密集型系統,表達靜態設計檢視的模型將佔主導地位;對於圖形使用者介面密集型系統,靜態和動態的用況檢視就顯得相當重要;在硬實時系統中,動態程序檢視尤為重要;最後,在分布式系統中,例如web密集型的應用,實現模型和部署模型是最重要的。

mysql uml建模 UML 建模

建模公式 這種精華的東西,一定是值得研讀和實踐的!myself 人,事,物,規則。人,業務主角 業務工人 參與者。如果應用到教務系統中,就是管理員,主任,老師的關係。事,業務用例,系統用例。物,業務實體。有些東西,一次兩次理解不了。要多理解幾次就好了。有些東西,先留個印象,相信隨著不斷思考,一定會逐...

UML 資料建模

一 資料庫模簡介 二 資料建模元素 1 表 table 2 表索引 table index 3 表觸發器 table trigger 4 表約束 table constraint 5 檢視 view 6 儲存過程 stored procedure 三 資料建模例項 四 總結 資料建模不僅可以物件的屬...

UML實現建模

uml中類圖例項 介面 空心圓 直線 唐老鴨類實現了 講人話 依賴 虛線 箭頭 動物和空氣的關係 關聯 實線 箭頭 企鵝需要知道氣候才遷移 聚合 空心四邊形 實線 箭頭 雁群和大雁的關係 合成 組合 實心四邊形 實線 箭頭 鳥和翅膀的關係 泛化 繼承 空心三角形 實線 動物和鳥的繼承關係 實現 空心...