Visual Studio 2010 塑模化應用程式設計(三)[為什麼要使用Model來設計系統?]

  • 5028
  • 0
  • UML
  • 2012-04-02

什麼是Model呢?簡單地說就是Model其實就是一種現實的一個情境將它簡單化,具體化而成的一種圖形的表示法。也就是使用一種標轉準共通的繪圖的方法,比如說:『在建築或是工程界,常會使用模型圖來模擬一個實際的狀況

 

什麼是Model呢?簡單地說就是Model其實就是一種現實的一個情境將它簡單化,具體化而成的一種圖形的表示法。也就是使用一種標轉準共通的繪圖的方法,比如說:『在建築或是工程界,常會使用模型圖來模擬一個實際的狀況,而且是各種不同的情況使用各種不同的模型』。常見的如 房子內部格局有基本的平面圖水電的佈線要有佈線圖來表示,以避免有漏掉的情況。


所以軟體開發當然也需要發展一種適用於軟體開發的一種(模型)MODEL的圖形,以圖形的方式來表達軟體各種不同的View,並且不同的View用不同的圖形來表示。對於軟體系統的開發與分析,模型的觀念也日益重要. 它可以幫助我們更加了解所發展的系統。

使用模型(Model)來分析系統有什麼好處?

  1. 模型可以幫助我們發現一個系統的可能性或是驗證是不是符合需求。
  2. 模型幫助我們訂定系統的結構與行為模式。
  3. 模型可以在發展系統的過程中,提供我們一個發展的架構,或說是描述一個架構的方法。
  4. 模型成為決策的標準。

一般來說,UML圖形中不外乎由下列三種所組成的:

  • THINGS (事物)
  • RELATIONSHIPS (關係)
  • DIAGRAM (圖形)

 

THINGS (事物)

而一般來說,THINGS包含的範圍很廣,又分為以下四種事物
1. STRUCTURE THINGS
      即為UML中所含的靜態的事物,包含概念性及實際的物事。如CLASS、INTERFACE、COLLABORATION、USE CASE、ACTIVE CLASS、COMPONENTS、NODE等等。

2. BEHAVIORAL THINGS
    UML中所含的動態事物,代表了行為或訊息,主要為MESSAGES、STATE MACHINES(STATES、TRANSITIONS、EVENTS、ACTIVITIES)。

 

3. GROUPING THINGS
    表示UML中的系統化、分組的事物,他是一種將有組織的元素分組的機制。?結構事物、動作事物甚至其他的分組事物都有可能放在一個包(PACKAGES)中意即其為許多不同物事的代稱,通常直接稱為PACKAGES。

4.ANNOTATIONAL THINGS
    屬於註解類型的事物。

 

RELATIONSHIPS (關係)

所謂的RELATIONSHIPS是指事物間的關係,用來表示各種事物(THINGS)之間所存在的依存的固定關係。通常可以分為四種:

  1. DEPENDENCY          (相依關係)
  2. ASSOCIATION          (結合關係)
  3. GENERALIZATION     (一般化關係)
  4. REALIZATION         (實現化關係)

 

1.DEPENDENCY (相依關係)

image

代表了事物間的一種依賴關係,一個事物的狀態會由另一個事物來操縱改變,但是僅僅只是一個單向的關係。舉例來說就好比是消防隊與民眾的關係,民眾會在發生火災時通知消防隊出動,但是通常並不會由消防隊來控制民眾的行為。

2.ASSOCIATION (結合關係)

image

屬於事物間的結構關係,即用Association來表示。例如顧客與商家、信用卡與使用者間的LINK,即是一種Association。 它有許多的變化來表現各種事物間的關係,可以說是最常使用的一種關係Relationship。
『箭頭』表示這條實線是可以有方向性的,若沒有『箭頭』則表示這是一個雙向的關係。

還有兩種關係延自Association的關係,Aggregation及Composite,Aggregation表示聚合,表示一種群體的關係,比如學生與老師,學生一定最少有一個老師在教才能說是這間教室的學生,但是他們的關係可能不是很強烈,可能有例外,這是Aggregation,而Composite的關係就強烈了,比如說飛機與機場,飛機一定要在飛機場,總不可能出現在馬路上,這是絕對的,這是Composite。

圖例:Aggregation

image

圖例:Composite

image

3.GENERALIZATION (一般化關係)

image

表示事物間的衍生與繼承關係時,GENERALIZATION就是一種最佳的表現方式。例如父與子,顧客與會員都是一種衍生關係的表現,在這種關係中,當然,子元素可以擁有父元素的行為。

4.REALIZATION (實現化關係)

 

 

 

image

最後所較少使用的一種關係,稱為REALIZATION,也就是界面的實現關係。這種關係多用於後期分析時,表現事物與界面的實現。例如有一個元件對外的界面為Ibank,而元件其中的物件bank實作了這個界面,這個時候它們的關係就必頇用REALIZATION來表現。

 

DIAGRAM (圖形)

圖形的部分不外乎為上一篇所介紹的14種圖形表示方式,集成這三種與各種Diagram內的Notation便構成UML相關之圖形。


 

簽名:

學習是一趟奇妙的旅程

這當中,有辛苦、有心酸、也有成果。有時也會有瓶頸。要能夠繼續勇往直前就必須保有一顆最熱誠的心。

軟體開發之路(FB 社團)https://www.facebook.com/groups/361804473860062/

Gelis 程式設計訓練營(粉絲團)https://www.facebook.com/gelis.dev.learning/


 

如果文章對您有用,幫我點一下讚,或是點一下『我要推薦,這會讓我更有動力的為各位讀者撰寫下一篇文章。

非常謝謝各位的支持與愛護,小弟在此位各位說聲謝謝!!! ^_^