(2)什么是模型
- 模型是對現實世界的簡化和抽象
現實世界中的系統是紛繁復雜的,直接去認識現實世界并且解決其中的問題是非常困難的。所以人們往往會構造一個模型來對現實世界中的復雜系統進行簡化和抽象,通過這種簡化和抽象來幫助設計人員加深對于系統的認知,在進行簡化和抽象時我們抓住的是問題的本質,而過濾掉很多其他非本質的因素,從而幫助我們來簡化問題的復雜性,有利于問題的解決。
模型在現實世界中大量存在,無論是研制飛機還是制造汽車,設計師們都會利用模型來研究目標課題的某一個側面,如汽車的風阻系數、飛機機身的空氣動力布局等等。在研發過程的大部分階段中,設計師都不會去構造一個真實的系統來進行研究,因為這樣的話成本太高了(或甚至是不可能的),同時問題本身沒有得到足夠的簡化,很難找到問題的正確答案。 - 模型是溝通的手段
我們平時所見的模型有的是一種概念上的模型,如剛才提到的數學模型;有的是對實際系統外觀的一個縮小,如輪船、飛機模型;還有的是對設計思想的一種展示,如建筑物的設計圖紙等等。無論是哪一種模型,它的另外一個主要目的是幫助人們進行思想上的溝通,數學模型使別人了解你的邏輯思路,飛機模型向觀眾展示飛機的外觀,設計圖紙將設計師的設計思想傳遞給建筑工人。 - 模型可以精確地描述系統
語言和文字是人們進行溝通的主要手段,但語言和文字往往有二義性存在,較難保證人們的理解完全一致。所以在工程技術中,我們更多地是使用各種各樣的模型來進行思想的溝通,模型可以精確地描述系統,同時保證整個系統開發過程的語義的一致性。
(3)可視化建模技術的好處
- 有效管理系統復雜度
面向對象方法最基本的原則就是抽象,把一類具有相同屬性和行為的實體抽象成為一個類(Class),再通過把類實例化成對象(Object)來映射現實世界中的某一個具體實體。對象通過操作(Operation)來對外對供相應的服務,在對象模型中我們只需要描述對象所實現的功能,而封裝了操作實現的細節。
與軟件代碼相比,對象模型描述的也是同一個系統,但它展示的是系統結構中最關鍵的元素以及它們之間的關系,所有的編碼細節都已經被忽略掉了,從而有利于開發人員把握理解整個系統。 - 增強團隊的溝通
對象模型同時也作為軟件設計的藍圖,記錄了開發人員的設計思想。對于設計者而言,對象模型提供了一個工具來幫助他來整理設計思路,整個的設計過程都可以被記錄下來;同時,也避免開發者在整個系統架構明確之前就陷入編碼的細節之中,對于模型的調整修改相對于代碼的改動要簡單得多。
另一方面,對象模型也使得設計的結果很容易被其他人所理解,設計者的設計意圖可以被完整的傳遞而不發生信息的失真?梢暬2捎玫氖菢藴实慕y一建模語言UML,所有的開發人員都應該采用這種統一建模語言來進行系統的設計,從而保證大家工作的結果是所有人都可以理解的。這也是UML 語言的設計目的之一,即使用UML 來統一整個開發團隊的溝通手段。 - 提高系統設計的可重用性
面向對象技術最基本的原則就是抽象,即把整個系統的功能盡可能地分配到多個類中去,每個類應該只做并且做好一件事情。因為每個類實現的功能比較單一,所以可以有更多的機會被重用。同時盡量利用構件化的思想把關系比較緊密的類組合成構件,構件具有定義明確的功能并且以接口的形式對外提供服務;跇嫾募軜嬀哂凶畲蟮目芍赜眯,一方面可以重用現有的商業構件來搭建系統,另一方面當前系統中的構件也可以被其他的系統所重用。
(4)可視化建模方法
設計一座建筑需要從多個不同的角度(結構、外觀、水電等)來設計很多張設計圖紙,開發一個軟件系統同樣需要從多個角度來對系統架構進行完整的設計。
在UML中采用了“4+1 View”模型來進行可視化建模工作,“4+1 View”指的是:用例視圖、邏輯視圖、進程視圖、實施視圖、部署視圖。這幾種視圖從不同的角度來對系統進行完整的描述。
它們在RUP 中被稱為“架構視圖(Architecture View)”,即通過這樣幾種視圖可以完整地展示系統的架構。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/